body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{overflow:hidden}#root{align-items:center;height:100%;justify-content:center}.login-container{height:100vh;width:100vw}.login-form{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;justify-content:center;max-width:400px;padding:2rem;width:90%}.login-form h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.input-group label{color:#555;font-size:1rem;margin-bottom:.3rem;width:100%}.input-group input{border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.input-group input:focus{border-color:#0056b3;outline:none}.login-button{background-color:#0056b3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:background-color .3s ease;width:100%}.login-button:hover{background-color:#004494}.login-logo-container{align-items:center;animation:fadeIn 1.5s ease-in-out;background-color:#000;border-radius:12px;box-shadow:0 4px 8px #0003;display:flex;height:80px;justify-content:center;margin-bottom:1rem;padding:1rem;width:220px}.login-logo{height:auto;width:100%}@media (max-width:480px){.login-container{padding:1rem}.login-form{padding:1.5rem;width:100%}.login-form h2{font-size:1.6rem}.input-group input,.login-button{font-size:1rem;padding:.6rem}}.dashboard-container{margin:0 auto!important}.dashboard-welcome{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;justify-content:center;margin-bottom:16px;padding:16px}.welcome-content{align-items:center;display:flex;flex-direction:column;text-align:center}.welcome-content h1{color:#1f2937;font-size:20px;font-weight:500;margin:0}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:16px;width:100%}.stat-card{align-items:flex-start;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:12px;padding:16px}.stat-icon{background:#f1f5f9;border-radius:8px;font-size:20px;padding:8px}.stat-content{flex:1 1}.stat-content h3{color:#64748b;font-size:14px;font-weight:500;margin:0 0 4px}.stat-value{color:#1e293b;font-size:24px;font-weight:600;line-height:1}.stat-label{color:#94a3b8;font-size:12px;margin-top:4px}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}.hours-list{display:flex;flex-direction:column;gap:8px}.hours-entry{background:#007bf500;border-radius:4px;display:grid;font-size:14px;grid-template-columns:85px 3fr 140px;padding:4px}.hours-time{color:#1e293b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hours-info{margin-left:20px}.hours-info,.hours-werk{color:#64748b;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hours-werk{padding-left:5px}.grid-card{background:#fff;border-radius:12px!important;box-shadow:0 2px 4px #0000000d;margin:0 auto!important;padding:16px;width:100%}.hours-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.hours-modal-content{background:#fff;border-radius:8px;max-height:80vh;max-width:400px;overflow-y:auto;padding:16px;width:100%}.hours-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.hours-modal-title{color:#1e293b;font-size:16px;font-weight:600}.hours-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:20px;padding:4px}.grid-card h2{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.month-calendar{background:#fff;border-radius:8px;box-sizing:border-box;padding:12px 8px;width:100%}.calendar-header{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.calendar-header div{color:#64748b;font-size:12px;font-weight:500;padding:4px;text-align:center}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);width:100%}.calendar-day{aspect-ratio:1;border-radius:12px;cursor:pointer;font-size:calc(10px + .2vw);min-width:0}.calendar-day:hover{transform:scale(1.02);transition:transform .2s ease}.more-entries{color:#4a5568;cursor:pointer;font-size:11px;margin-top:2px}.modal-info-row{margin-bottom:16px}.team-list{list-style-type:disc;margin-top:8px;padding-left:20px}.team-member{color:#64748b;font-size:14px;margin-bottom:4px;padding-left:4px}.more-entries:hover{color:#2d3748}.calendar-day.empty{background:none}.calendar-day.weekend{background-color:#f1f5f9}.calendar-day.no-hours{background-color:#fee2e2}.calendar-day.incomplete{background-color:#fef3c7}.calendar-day.complete{background-color:#dbeafe}.day-number{font-size:14px;font-weight:500;margin-bottom:2px}.day-content{display:flex;flex-direction:column;gap:2px}.day-hours{font-size:12px;font-weight:500;margin-bottom:2px}.day-entries{display:flex;flex-direction:column;gap:2px}.time-entry{background:#fff0;border-radius:2px;font-size:11px;padding:2px 4px}.more-entries{color:#666;font-size:10px;padding:2px 4px}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:200px;justify-content:center}.loader{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:32px;width:32px}.dashboard-error{background:#fee2e2;border-radius:8px;color:#dc2626;margin:16px 0;padding:16px}.dashboard-error h3{font-size:16px;margin:0 0 8px}.dashboard-error p{color:#ef4444;font-size:14px;margin:0}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{background:#f8fafc;border-left:3px solid #2563eb;border-radius:6px;gap:12px;padding:12px}.event-time{background:#2563eb;font-size:12px;font-weight:500;padding:6px 8px}.event-info h4{color:#1e293b;font-size:14px;font-weight:500;margin:0 0 2px}.event-info p{color:#64748b;font-size:12px;margin:0}.no-events{color:#64748b;font-size:14px;padding:24px}@media (max-width:768px){.dashboard-container{padding:12px}.calendar-grid{gap:2px}.calendar-day{padding:4px}.day-entries{display:none}.day-number{font-size:11px;text-align:center}.day-hours{font-size:12px;text-align:center}}@media (min-width:430px){.calendar-day{padding:8px}.day-hours,.day-number{font-size:14px}}@media (max-width:430px){.dashboard-container{padding:8px}.calendar-day{padding:4px}.day-hours,.day-number{font-size:11px}}@media (width:390px){.dashboard-container{padding:8px}.calendar-day{align-items:center;aspect-ratio:1;border-radius:4px;display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:2px}.calendar-grid{gap:2px;width:100%}.grid-card{border-radius:12px;margin:0;padding:12px;width:100%}.month-calendar{margin:0;padding:8px;width:100%}.day-hours,.day-number{font-size:10px}.stats-grid{margin:0 0 16px;width:100%}}@media (min-width:391px){.calendar-day{min-height:50px}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}body,html{background-color:#f5f7fa;font-family:Arial,sans-serif;height:auto;margin:0;overflow-y:auto;padding:0;width:100vw}.app-container{align-items:center;display:flex;flex-direction:column;min-height:100vh;overflow-y:auto;width:100%}.offerte-dropdown-container{position:relative;width:100%}.offerte-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.loading-spinner{align-items:center;display:flex;justify-content:center}.selected-date{background-color:#000!important;color:#fff!important;font-weight:700!important}.recent-options-header{background-color:#f5f5f5;color:#555;font-size:.9em;font-weight:700;padding:8px 10px}.recent-option{background-color:#f9f9f9;position:relative}.recent-icon{color:#777;font-size:.8em;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.separator{background-color:#ddd;height:1px;margin:5px 0}.offerte-number{display:inline-block;padding-right:10px;width:30%}.highlighted-date.selected-date{background-color:#000!important;border:2px solid #2684ff!important;color:#fff!important;font-weight:700!important}.loading-spinner:after{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3b82f6;content:"";height:30px;width:30px}.input-disabled{background-color:#f2f2f2;cursor:not-allowed;opacity:.7}.planned-date{background-color:#fbd38d!important}.notification{align-items:center;animation:slideIn .3s ease-out;border-radius:6px;display:flex;gap:1rem;max-width:400px;padding:1rem 1.5rem;position:fixed;right:1rem;top:1rem;z-index:1000}.notification.success{background-color:#10b981;color:#fff}.notification.error{background-color:#ef4444;color:#fff}.notification button{background:none;border:none;color:currentColor;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.offerte-option{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px}.offerte-option:hover{background-color:#f5f5f5}.offerte-number{color:#2c3e50;font-weight:500}.offerte-klant{color:#666;font-size:.9em}.register-container{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;display:flex;flex-direction:column;margin:0 auto;max-width:800px;padding:1.5rem;width:100%}h2{color:#2c3e50;font-size:1.75rem;margin-bottom:1.5rem;text-align:center}.calendar-container{display:flex;justify-content:center;margin:1.5rem 0;max-width:450px;overflow:hidden;width:100%}.react-calendar{border:1px solid #e2e8f0!important;border-radius:8px;box-shadow:0 2px 4px #0000000d;max-width:450px;width:100%!important}.registered-hours-container .hours-table{min-width:100%;table-layout:auto}.registered-hours-container .hours-table td,.registered-hours-container .hours-table th{padding:8px 10px}.scrollable:after{animation:fadeInOut 2s infinite;bottom:-15px;color:#666;content:"⟷";font-size:16px;position:absolute;right:10px}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}.highlighted-date{background-color:#3b82f6!important;border-radius:6px!important;color:#fff!important;font-weight:700!important}.offerte-klant{color:#555;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:60%}.offerte-location{color:#777;font-style:italic}.register-form{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:12px;max-width:450px;padding:1.5rem;width:100%}.input-group{margin-bottom:1rem;text-align:center;width:100%}.input-group label{color:#4a5568;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem;text-align:center}.input-group input,.input-group select{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:.95rem;padding:.75rem;text-align:center;transition:all .2s ease;width:100%}.input-group input:focus,.input-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.register-button,.toggle-calendar-button{align-items:center;background-color:initial;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;margin-bottom:1rem;margin-left:auto;margin-right:auto;padding:.5rem 1rem;transition:all .2s ease}.toggle-calendar-button:hover{background-color:#f7fafc;border-color:#cbd5e0}.planned-hours-container,.registered-hours-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;box-sizing:border-box;margin-top:1.5rem;max-width:600px;overflow:hidden;padding:1rem;text-align:center;width:100%}.planned-hours-container{background-color:#f8fafc}.hours-table-container{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:8px;margin:.5rem 0;max-width:100%;overflow-x:auto;position:relative;width:100%}.hours-table{border-collapse:collapse;color:#2c3e50;font-size:.95rem;width:100%}.hours-table th{background-color:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#334155;font-weight:600;padding:10px;text-align:center;white-space:nowrap}.hours-table td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:center}.delete-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:5px 8px;transition:background-color .2s ease}.highlighted-date.incomplete{background-color:#3b83f6b1!important}.highlighted-date.selected-date.incomplete{background-color:#2b6cb0!important}.delete-button:hover{background-color:#ffa6a6}.hours-table td:first-child,.hours-table th:first-child{max-width:90px;min-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90px}.samenvatting-container{margin:15px 0;position:relative;text-align:center;width:100%}.samenvatting-container:before{background-color:#e2e8f0;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.samenvatting-text{background-color:#fff;display:inline-block;font-weight:700;padding:0 10px;position:relative;z-index:1}@media (max-width:500px){table.hours-table{font-size:.6rem!important;min-width:100%!important;table-layout:fixed!important;width:100%}.hours-table-container,table.hours-table{margin:0!important;max-width:100%!important;padding:0!important}.hours-table-container{overflow-x:visible!important;width:100%!important}.hours-table td,.hours-table th{font-size:.6rem!important;overflow:hidden!important;padding:4px 1px!important;text-align:center!important;text-overflow:ellipsis!important;white-space:nowrap!important;width:auto!important}.hours-table td:first-child,.hours-table th:first-child{font-size:.55rem!important;max-width:40px!important;min-width:40px!important;width:40px!important}.hours-table td:nth-child(2),.hours-table td:nth-child(3),.hours-table th:nth-child(2),.hours-table th:nth-child(3){max-width:45px!important;min-width:45px!important;width:45px!important}.hours-table td:nth-child(4),.hours-table th:nth-child(4){max-width:35px!important;min-width:35px!important;width:35px!important}.hours-table td:nth-child(5),.hours-table td:nth-child(6),.hours-table th:nth-child(5),.hours-table th:nth-child(6){max-width:40px!important;min-width:40px!important;width:40px!important}.hours-table td:last-child,.hours-table th:last-child{max-width:30px!important;min-width:30px!important;width:30px!important}.hours-table tr td:nth-child(2),.hours-table tr td:nth-child(3){font-size:.5rem!important}.delete-button{font-size:.7rem!important;padding:2px 4px!important}.hours-table th{font-size:.55rem!important;font-weight:700!important;padding:4px 1px!important}.hours-table tr td:first-child{font-size:.55rem!important;overflow:hidden;text-overflow:ellipsis}.planned-hours-container,.registered-hours-container{margin-top:1rem!important;max-width:100%!important;padding:.5rem!important;width:100%!important}h3{font-size:1rem!important;margin:.5rem 0!important}.register-container{padding:.5rem!important}.summary-container .hours-table{min-width:0!important;min-width:auto!important;width:100%!important}.summary-container .hours-table td,.summary-container .hours-table th{width:50%!important}.hours-table tr td:first-child,.hours-table tr td[data-date="17-03-2025"]{font-size:.5rem!important}.samenvatting-header,.samenvatting-text{font-size:.9rem!important;padding:5px 0!important}th[data-header=DATUM],th[data-header=EINDTIJD],th[data-header=STARTTIJD]{max-width:45px!important;min-width:45px!important;width:45px!important}th[data-header=PAUZE],th[data-header=UREN]{max-width:35px!important;min-width:35px!important;width:35px!important}th[data-header="GEWERKTE UREN"],th[data-header="SOORT UUR"]{width:50%!important}@media (max-width:375px){.hours-table td:first-child,.hours-table th:first-child{font-size:.5rem!important;max-width:35px!important;min-width:35px!important;width:35px!important}.hours-table td,.hours-table th{font-size:.55rem!important;padding:3px 1px!important}.hours-table td:nth-child(2),.hours-table td:nth-child(3),.hours-table th:nth-child(2),.hours-table th:nth-child(3){max-width:40px!important;min-width:40px!important;width:40px!important}.hours-table td:nth-child(4),.hours-table td:nth-child(5),.hours-table th:nth-child(4),.hours-table th:nth-child(5){max-width:30px!important;min-width:30px!important;width:30px!important}}}@media (min-width:1024px){.register-container{max-width:800px}.register-form{max-width:500px}}.hours-table-container::-webkit-scrollbar{height:4px}.hours-table-container::-webkit-scrollbar-track{background:#f1f5f9}.hours-table-container::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:2px}.planning-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin:0 auto;max-width:1200px;padding:2rem}.events-timeline{display:flex;flex-direction:column;gap:1rem;scrollbar-color:#dedede #f5f5f5;scrollbar-width:thin}.events-timeline::-webkit-scrollbar{width:8px}.events-timeline::-webkit-scrollbar-track{background:#f5f5f5}.events-timeline::-webkit-scrollbar-thumb{background-color:#dedede;border-radius:4px}.event-card{align-items:center;background-color:#fff;border-left-style:solid;border-left-width:4px;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;min-height:72px;padding:1rem;transition:all .2s ease}.upcoming-event{background-color:#f9fafd;border-left-width:6px!important;box-shadow:0 3px 10px #00000014!important;position:relative;transform:translateX(2px)}.upcoming-event:before{display:none!important}.upcoming-event:after{background-color:#3b82f6;border-radius:0 8px 0 8px;color:#fff;content:"VOLGENDE";font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 8px;position:absolute;right:0;text-transform:uppercase;top:0;z-index:10}.planning-header{margin-bottom:2rem}.planning-header h1{color:#1a1a1a;font-size:1.75rem;margin-bottom:1rem}.planning-title{margin-bottom:1.5rem;text-align:center;width:100%}.event-card:hover,.event-card:hover:not(.upcoming-event){box-shadow:0 4px 6px #0000001a;transform:translateX(4px)}.upcoming-event:hover{transform:translateX(6px)!important}.event-reason{color:#666;font-size:.85rem;margin-top:.25rem}.event-grid{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:140px 120px minmax(300px,1fr) 150px;width:100%}.event-date{color:#718096;font-size:.9rem;font-weight:500}.event-time{background-color:#3b82f6;border-radius:4px;color:#4a5568;color:#fff;font-size:.85rem;padding:.25rem .5rem;text-align:center;white-space:nowrap}.event-title{color:#2d3748;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-description{color:#718096;font-size:.9rem}.loading-spinner{color:#4a5568;padding:2rem;text-align:center}.event-subitems{border-left:2px solid #e2e8f0;min-width:150px;padding-left:1rem;text-align:right}.event-subitem{color:#4a5568;font-size:.9rem;padding:.1rem 0;white-space:nowrap}.event-subitem:last-child{margin-bottom:0}.subitem-title{color:#4a5568;font-size:.9rem;font-weight:500}.subitem-id{color:#718096;font-size:.8rem;margin-top:.25rem}.no-events{color:#718096;font-style:italic;padding:2rem;text-align:center}.month-navigation{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;width:100%}.month-navigation h2{color:#4a5568;font-size:1.25rem;margin:0;min-width:200px;text-align:center;text-transform:capitalize}.nav-button{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:1.1rem;justify-content:center;padding:.5rem 1rem;transition:all .2s ease;width:40px}.nav-button:hover{background-color:#f7fafc;border-color:#cbd5e0}.modal-overlay{background-color:#00000080;padding:1rem}.modal-content{background-color:#fff;box-shadow:0 4px 6px #0000001a;max-width:500px;overflow-y:auto;position:relative;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem}.modal-header h3{color:#2d3748;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;color:#718096;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem}.modal-close:hover{color:#4a5568}.modal-body{padding:1rem}.modal-info-row{border-bottom:1px solid #f0f0f0;margin-bottom:1rem;padding:.5rem 0}.modal-info-row:last-child{border-bottom:none}.modal-info-row strong{color:#4a5568;display:inline-block;width:120px}.team-list{margin-bottom:0;margin-top:.5rem;padding-left:1.5rem}.team-member{margin-bottom:.25rem}@media (max-width:640px){.planning-container{padding:1rem}.event-grid{gap:.5rem;grid-template-columns:1fr}.event-time{justify-self:start;text-align:left}.event-title{white-space:normal}.event-subitems{border-left:none;margin-top:.5rem;min-width:auto;padding-left:1rem;text-align:left}.event-subitem{white-space:normal}.planning-header h1{font-size:1.5rem}.month-navigation h2{font-size:1.1rem;min-width:150px}.nav-button{padding:.4rem;width:35px}.event-card{padding:.75rem}.modal-content{margin:1rem;max-height:80vh}.modal-header h3{font-size:1.1rem}.modal-info-row{display:flex;flex-direction:column;gap:.25rem}.modal-info-row strong{width:100%}}.quickfind-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding-top:10vh;position:fixed;right:0;top:0;z-index:9999}.quickfind-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:700px;width:90%}.quickfind-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.quickfind-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.quickfind-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px;transition:all .2s}.quickfind-close:hover{background:#f3f4f6;color:#1f2937}.quickfind-search{border-bottom:1px solid #e5e7eb;padding:16px 20px;position:relative}.search-icon{color:#9ca3af;left:32px;position:absolute;top:50%;transform:translateY(-50%)}.quickfind-input{border:1px solid #d1d5db;border-radius:8px;font-size:15px;outline:none;padding:10px 12px 10px 40px;transition:border-color .2s;width:100%}.quickfind-input:focus{border-color:#2563eb}.quickfind-results{flex:1 1;max-height:500px;min-height:200px;overflow-y:auto}.quickfind-empty,.quickfind-hint,.quickfind-loading{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:center;padding:40px 20px}.quickfind-loading{gap:12px}.spinner{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:20px;width:20px}.quickfind-list{padding:8px}.quickfind-item{border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:4px;padding:12px 16px;transition:background-color .2s}.quickfind-item:hover{background:#f9fafb;border-color:#e5e7eb}.offerte-result{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:100px 1fr 120px 80px}.offerte-number{color:#2563eb;font-size:14px;font-weight:600}.offerte-info{display:flex;flex-direction:column;gap:2px}.offerte-title{color:#1f2937;font-size:14px;font-weight:500}.offerte-client{color:#6b7280;font-size:12px}.offerte-amount{color:#059669;font-size:14px;font-weight:600;text-align:right}.offerte-status{align-items:center;display:flex;justify-content:center}.status-badge{border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-promoted{background:#d1fae5;color:#065f46}.status-draft{background:#e5e7eb;color:#374151}.product-result{grid-gap:12px;display:grid;gap:12px;grid-template-columns:100px 1fr 100px}.product-code{font-size:13px;font-weight:600}.product-info{display:flex;flex-direction:column;gap:2px}.product-name{color:#1f2937;font-size:14px}.product-description{color:#6b7280;font-size:12px}.product-category{margin-top:2px}.product-price{align-items:flex-end;display:flex;flex-direction:column}.price-amount{color:#1f2937;font-size:14px;font-weight:600}.price-unit{color:#6b7280;font-size:11px}.floating-cart-button{z-index:9999}.floating-cart-button .offertes-container{font-family:system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1400px;padding:16px}.offertes-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px}.offertes-header h1{color:#1f2937;font-size:20px;font-weight:500;margin:0}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#64748b;color:#fff}.btn-danger{background:#ef4444;color:#fff}.btn-ghost{background:none;color:#64748b;padding:4px}.btn-sm{font-size:12px;padding:6px 12px}.btn-lg{font-size:16px;padding:12px 24px}.offertes-tabs{background:#fff;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;box-shadow:0 2px 4px #0000000d;margin-bottom:0;padding:0}.tabs-container{display:flex;overflow-x:auto;padding:16px 16px 0}.tab{align-items:center;background:#0000;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;display:flex;margin-right:4px;min-width:fit-content;padding:8px 12px;transition:all .2s ease}.tab.active{background:#f1f5f9;border:1px solid #e2e8f0;border-bottom:none}.tab-title{color:#1e293b;font-size:14px;font-weight:400;margin-right:8px}.tab.active .tab-title{font-weight:500}.tab-actions{display:flex;gap:4px}.tab-btn{background:none;border:none;border-radius:2px;color:#64748b;cursor:pointer;padding:2px;transition:color .2s ease}.tab-btn:hover{color:#1e293b}.offerte-content{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 4px #0000000d;padding:24px}.temp-drop-box{background:#f3f4f6;border:1px dashed #9ca3af;border-radius:6px;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;min-height:100px;padding:1rem}.temp-item{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#111827;cursor:move;flex:0 0 auto;font-size:.875rem;max-width:180px;padding:.75rem 1rem;word-break:break-word}.offerte-header-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr 1fr;margin-bottom:24px}.form-section h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.form-group{margin-bottom:12px}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-group label{color:#64748b;display:block;font-size:12px;margin-bottom:4px}.form-input,.form-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#2563eb;outline:none}.form-textarea{min-height:60px;resize:vertical}.items-section{margin-bottom:24px}.items-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.items-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.items-actions{flex-wrap:wrap}.items-actions,.selection-info{align-items:center;display:flex;gap:8px}.selection-info{background:#f1f5f9;border-radius:6px;font-size:12px;padding:6px 12px}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;margin-top:4px;min-width:200px;position:absolute;right:0;z-index:10}.dropdown-header{border-bottom:1px solid #f3f4f6;font-size:12px;font-weight:500;padding:8px}.dropdown-item{background:none;border:none;border-bottom:1px solid #f9fafb;cursor:pointer;font-size:12px;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background:#f9fafb}.dropdown-empty{color:#64748b;font-size:12px;padding:12px}.product-search-container{position:relative}.product-search-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin-top:4px;max-height:500px;min-width:450px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.search-header{border-bottom:1px solid #f3f4f6;padding:12px}.search-input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.search-results{max-height:300px;overflow-y:auto}.product-item{align-items:flex-start;background:none;border:none;border-bottom:1px solid #f9fafb;cursor:pointer;display:flex;font-size:12px;justify-content:space-between;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.product-item:hover{background:#f9fafb}.product-info{flex:1 1}.product-code{color:#2563eb}.product-code,.product-name{font-weight:500;margin-bottom:2px}.product-description{color:#64748b;font-size:11px;margin-bottom:2px}.product-category{color:#059669;font-size:11px}.product-price{margin-left:12px;text-align:right}.price{font-weight:500}.unit{color:#64748b;font-size:11px}.add-empty-item{background:none;border:none;border-top:1px solid #f3f4f6;color:#2563eb;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.add-empty-item:hover{background:#f9fafb}.no-results{color:#64748b;font-size:12px;padding:12px}.items-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600}.table-header,.table-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:40px 90px 150px 1fr 70px 80px 90px 80px 110px 50px;padding:12px}.table-row{align-items:center;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.table-row.selected{background:#eff6ff}.table-checkbox{align-items:center;display:flex;justify-content:center}.table-checkbox input{cursor:pointer}.table-col{align-items:center;display:flex}.text-center{justify-content:center;text-align:center}.text-right{justify-content:flex-end;text-align:right}.table-input,.table-select,.table-textarea{border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:12px;padding:6px 8px;resize:none;width:100%}.table-textarea{max-height:32px;min-height:32px;overflow:hidden;resize:none}.discount-input{align-items:center;display:flex;gap:4px;justify-content:center}.discount-field{width:50px}.item-total{color:#1e293b;font-size:14px;font-weight:500}.table-actions{display:flex;justify-content:center}.table-empty-state{background:#f9fafb;border-radius:8px;color:#64748b;margin:20px;padding:60px 32px;text-align:center}.table-empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.4}.table-empty-state h3{color:#334155;font-size:18px;font-weight:600;margin:0 0 8px}.table-empty-state p{color:#64748b;font-size:14px;margin:0 0 16px}.totals-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 350px;margin-bottom:24px}.category-totals h3,.main-totals h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.totals-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.category-total-row{border-bottom:1px solid #f1f5f9;display:flex;font-size:14px;justify-content:space-between;padding:12px 16px}.category-name{font-weight:500}.category-amount{color:#1e293b;font-weight:600}.no-categories{color:#64748b;font-size:14px;padding:16px;text-align:center}.main-totals .totals-card{padding:16px}.total-row{font-size:14px;justify-content:space-between;margin-bottom:8px}.total-input,.total-row{align-items:center;display:flex}.total-input{gap:8px}.discount-input-field,.tax-input-field{border:1px solid #d1d5db;border-radius:4px;font-size:12px;padding:4px 6px;text-align:center;width:60px}.total-final{border-top:1px solid #e2e8f0;color:#1e293b;font-size:16px;font-weight:600;margin-bottom:0;margin-top:4px;padding-top:12px}.notes-section{margin-bottom:24px}.notes-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.notes-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;width:100%}.json-output{background:#f8fafc;border-radius:8px;margin-bottom:24px;padding:16px}.json-output summary{cursor:pointer;font-weight:500;margin-bottom:8px}.json-content{background:#1f2937;border-radius:6px;color:#f9fafb;font-size:12px;max-height:400px;overflow:auto;padding:12px}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:48px;text-align:center}.empty-icon{color:#e5e7eb;font-size:48px;margin-bottom:16px}.empty-state h3{color:#374151;font-size:18px;margin-bottom:8px}.empty-state p{color:#64748b;margin-bottom:24px}.type-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.type-opbouw{background:#dbeafe;color:#1e40af}.type-afbouw{background:#fef3c7;color:#92400e}.subtabs{background:#f3f4f6;border-radius:10px;display:inline-flex;gap:6px;margin:6px 0 16px;padding:4px}.subtab{background:#0000;border:none;border-radius:8px;color:#334155;cursor:pointer;font-size:13px;padding:8px 14px}.subtab.active{background:#fff;box-shadow:0 1px 2px #0000000f}.hours-panel .card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:12px}.card-title{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:10px}.hours-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}@media (max-width:900px){.hours-grid{grid-template-columns:1fr}}.grid-3{grid-gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3,.grid-4{display:grid;gap:10px}.grid-4{grid-gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.grid-6{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.inline{align-items:center;display:flex;gap:8px}.divider{border-top:1px solid #eef2f7;margin:10px 0}.hint{grid-gap:4px;color:#64748b;display:grid;font-size:12px;gap:4px;margin-top:8px}.hours-table table{border-collapse:initial;border-spacing:0;width:100%}.hours-table td,.hours-table th{border-bottom:1px solid #eef2f7;font-size:12px;padding:8px 10px;text-align:left}.hours-table thead tr{background:#f9fafb;color:#374151}.hours-table td.muted{color:#94a3b8;text-align:center}.offerte-loading-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.offerte-loading-container{align-items:center;animation:slideUp .4s ease;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;gap:24px;padding:48px 64px}.offerte-loading-spinner{height:80px;position:relative;width:80px}.spinner-ring{animation:spin 2s cubic-bezier(.68,-.55,.265,1.55) infinite;border:3px solid #0000;border-radius:50%;height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:0s;border-top-color:#3b82f6}.spinner-ring:nth-child(2){animation-delay:.3s;border-right-color:#8b5cf6;height:85%;left:7.5%;top:7.5%;width:85%}.spinner-ring:nth-child(3){animation-delay:.6s;border-bottom-color:#ec4899;height:70%;left:15%;top:15%;width:70%}.spinner-checkmark{height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.spinner-checkmark svg{height:100%;width:100%}.spinner-checkmark circle{stroke:#10b981;stroke-width:3;stroke-dasharray:166;stroke-dashoffset:166;animation:checkmark .8s ease-in-out 1.5s forwards}@keyframes checkmark{to{stroke-dashoffset:0}}.offerte-loading-text{text-align:center}.offerte-loading-text h3{animation:pulse 2s ease-in-out infinite;color:#111827;font-size:20px;font-weight:600;margin:0 0 8px}.offerte-loading-text p{color:#6b7280;font-size:14px;margin:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:1200px){.offerte-header-grid,.totals-section{gap:16px;grid-template-columns:1fr}.product-search-dropdown{left:0;min-width:350px;right:auto}}@media (max-width:768px){.offertes-container{padding:12px}.items-header{align-items:stretch;flex-direction:column}.items-actions{flex-direction:column;gap:8px}.table-header,.table-row{gap:4px;grid-template-columns:1fr}.table-col{border-bottom:1px solid #f3f4f6;padding:4px 0}.table-col:before{color:#64748b;content:attr(data-label) ": ";font-size:11px;font-weight:500}.product-search-dropdown{left:5%;margin-top:0;max-width:none;min-width:auto;position:fixed;right:5%;top:10%;transform:none;width:auto}.dropdown-menu{left:50%;margin-top:0;max-width:300px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw}}.product-result{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:16px;padding:12px 16px;transition:background-color .2s ease}.product-result:hover{background-color:#f9fafb}.product-result:last-child{border-bottom:none}.product-result .product-code{color:#2563eb;flex-shrink:0;font-size:13px;font-weight:600;min-width:80px}.product-result .product-info{flex:1 1;min-width:0}.product-result .product-name{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px}.product-result .product-description{color:#6b7280;font-size:12px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-result .product-category{color:#059669;font-size:11px;font-weight:500}.product-result .product-price{flex-shrink:0;text-align:right}.product-result .price-amount{color:#111827;font-size:15px;font-weight:600;margin-bottom:2px}.product-result .price-unit{color:#6b7280;font-size:11px}.floating-cart-button{align-items:center;background:#3b82f6;border:none;border-radius:50%;bottom:24px;box-shadow:0 10px 25px #3b82f666;color:#fff;cursor:pointer;display:flex;height:64px;justify-content:center;position:fixed;right:24px;transition:all .3s ease;width:64px;z-index:1000}.floating-cart-button:hover{background:#2563eb;box-shadow:0 15px 30px #3b82f680;transform:scale(1.1)}.floating-cart-count{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;position:absolute;right:-4px;top:-4px;width:24px}.cart-backdrop{animation:fadeIn .2s ease;background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.product-cart-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;flex-shrink:0;padding:8px;transition:all .2s ease}.product-cart-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.product-cart-btn.in-cart{background:#d1fae5;border-color:#10b981;color:#10b981;cursor:default}.product-cart-btn.just-added{animation:successPulse .5s ease}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.product-cart-overlay{animation:slideInRight .3s ease;background:#fff;bottom:0;box-shadow:-4px 0 12px #00000026;display:flex;flex-direction:column;pointer-events:auto;position:fixed;right:0;top:0;width:350px;z-index:1002}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.product-cart{background:#fff;display:flex;flex-direction:column;height:100%}.cart-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.cart-header h3{color:#111827;flex:1 1;font-size:18px;font-weight:600;margin:0}.cart-count{background:#3b82f6;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:2px 8px}.cart-close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:8px;transition:all .2s ease}.cart-close:hover{background:#f3f4f6;color:#111827}.cart-items{background:#fff;flex:1 1;overflow-y:auto;padding:16px}.cart-item{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s ease}.cart-item:hover{background:#f3f4f6}.cart-item-info{flex:1 1;min-width:0}.cart-item-code{color:#2563eb;font-size:11px;font-weight:600;margin-bottom:4px}.cart-item-name{color:#111827;font-size:13px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item-price{color:#059669;font-size:14px;font-weight:600}.cart-item-remove{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.cart-item-remove:hover{background:#fee2e2;color:#ef4444}.cart-footer{background:#fff;border-top:1px solid #e5e7eb;padding:16px 24px}.cart-add-all{font-size:15px;font-weight:600;padding:14px;width:100%}.product-toast{align-items:center;animation:toastSlideIn .3s ease,toastFadeOut .3s ease 1.7s forwards;background:#10b981;border-radius:12px;bottom:24px;box-shadow:0 10px 25px #10b9814d;color:#fff;display:flex;font-size:15px;font-weight:500;gap:12px;padding:16px 24px;position:fixed;right:24px;z-index:10000}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{to{opacity:0;transform:translateY(20px)}}.confirm-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.confirm-dialog{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0003;max-width:400px;padding:32px;text-align:center;width:90%}.confirm-icon{align-items:center;background:#fef3c7;border-radius:50%;color:#f59e0b;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.confirm-dialog h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 12px}.confirm-dialog p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .btn{flex:1 1;max-width:150px}.cart-clear{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:8px}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.preview-row{animation:slideUp .3s ease-out backwards}.preview-row:first-child{animation-delay:.05s}.preview-row:nth-child(2){animation-delay:.1s}.preview-row:nth-child(3){animation-delay:.15s}.preview-row:nth-child(4){animation-delay:.2s}.preview-row:nth-child(5){animation-delay:.25s}.preview-row:nth-child(6){animation-delay:.3s}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1200px;overflow:hidden;padding:0;width:95%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 32px}.modal-body{max-height:calc(90vh - 180px);overflow:auto;padding:24px 0}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.preview-table{border-collapse:initial;border-spacing:0;width:100%}.preview-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.preview-table th{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.05em;padding:12px;text-align:left;text-transform:uppercase}.preview-table td{color:#334155;font-size:13px;padding:10px}.preview-row{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.preview-row:hover{background:#f8fafc}.event-separator{background:linear-gradient(90deg,#fef3c7,#fde68a)}.event-separator-content{align-items:center;display:flex;gap:12px;justify-content:center}.event-separator-line{flex:1 1;height:2px;max-width:200px}.event-separator-line-left{background:linear-gradient(90deg,#0000,#f59e0b,#0000)}.event-separator-line-right{background:linear-gradient(90deg,#f59e0b,#0000)}.event-separator-text{align-items:center;color:#92400e;display:flex;font-size:14px;font-weight:600;gap:8px}.vacation-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0 auto!important;max-width:1000px;padding:16px;width:100%}.page-title{align-items:center;border-bottom:1px solid #e5e7eb;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:8px;justify-content:center;letter-spacing:-.01em;margin:0 0 24px;padding-bottom:16px;text-align:center}.title-icon{color:#3b82f6}.filter-controls{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px 20px}.select-container{display:flex;flex-direction:column;gap:4px}.select-container label{color:#64748b;font-size:14px;font-weight:500}.select-container select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d1d5db;border-radius:4px;color:#1e293b;font-size:14px;min-width:140px;padding:8px 12px;transition:border-color .15s ease-in-out}.select-container select:focus{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61a;outline:none}.select-container select:hover{border-color:#9ca3af}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;transform:translateY(-1px)}.card-icon{background:#e0f2fe;border-radius:8px;color:#3b82f6;padding:8px}.card-content{flex:1 1}.card-content h3{color:#64748b;font-size:13px;font-weight:500;letter-spacing:.03em;margin:0 0 8px;text-transform:uppercase}.card-value{color:#1e293b;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1}.card-value.positive{color:#2563eb}.card-value.negative{color:#dc2626}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.table-title{border-bottom:1px solid #f3f4f6;color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.responsive-table{-webkit-overflow-scrolling:touch;left:-20px;margin:0 -20px;overflow-x:auto;padding:0 20px;position:relative;width:calc(100% + 40px)}table{border-collapse:initial;border-spacing:0;font-size:14px;min-width:340px;table-layout:fixed;width:100%}td:first-child,th:first-child{width:40%}td:nth-child(2),td:nth-child(3),td:nth-child(4),th:nth-child(2),th:nth-child(3),th:nth-child(4){text-align:center;width:20%}th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}td{border-bottom:1px solid #f3f4f6;color:#1e293b;font-size:14px;padding:14px 16px}tr:last-child td{border-bottom:none}tr:hover{background-color:#f8fafc}td.positive{color:#1d4ed8}td.negative{color:#dc2626}tr.active-row{background-color:#f0f9ff}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.chart-title{border-bottom:1px solid #f3f4f6;color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.placeholder-chart{background:#f8fafc;border-radius:8px;margin-bottom:16px;padding:16px}.chart-placeholder{align-items:center;background:#f1f5f9;border-radius:8px;color:#64748b;display:flex;flex-direction:column;font-size:14px;justify-content:center;padding:32px}.chart-placeholder code{background:#e2e8f0;border-radius:4px;font-family:monospace;margin-top:8px;padding:4px 8px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:32px;margin-bottom:16px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vacation-container.error,.vacation-container.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.retry-button{background-color:#2563eb;border:none;border-radius:4px;box-shadow:0 1px 2px #0000000d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:20px;padding:10px 18px;transition:all .2s ease}.retry-button:hover{background-color:#1d4ed8;box-shadow:0 2px 4px #0000001a}.retry-button:focus{box-shadow:0 0 0 3px #2563eb4d;outline:none}.retry-button:active{background-color:#1e40af;transform:translateY(1px)}.vacation-container.error{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:24px;text-align:center}.vacation-container.error svg{color:#64748b;margin-bottom:16px}.vacation-container.error h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.vacation-container.error p{color:#64748b;font-size:14px;margin:0 0 20px;max-width:80%}@media (max-width:768px){.vacation-container{padding:12px}.summary-cards{grid-template-columns:1fr}.filter-controls{flex-direction:column;gap:12px}.table-title{font-size:15px}th{font-size:11px;padding:10px 8px}td{font-size:13px;padding:12px 8px}.responsive-table{left:-16px;margin:0 -16px;padding:0 16px;width:calc(100% + 32px)}.chart-container,.table-container{padding:16px}}@media (max-width:480px){.vacation-container{padding:10px}.chart-container,.table-container{margin-bottom:16px;padding:12px}.chart-title,.table-title{font-size:14px;margin-bottom:12px}table{min-width:320px}th{font-size:10px;padding:8px 4px}td{font-size:12px;padding:10px 4px}.responsive-table{left:-12px;margin:0 -12px;padding:0 12px;width:calc(100% + 24px)}.card-value{font-size:24px}th:first-child{text-align:left}}body{background-color:#f4f4f4;font-family:Inter,Segoe UI,Arial,sans-serif}.content{max-width:100%;overflow-y:auto}.login-container{align-items:center;background-color:#f0f8ff;display:flex;justify-content:center;min-height:100vh;width:100%}.sidebar{background:linear-gradient(180deg,#1a1a1a,#2d2d2d);box-shadow:4px 0 25px #00000026;color:#e1e1e1;display:flex;flex-direction:column;height:100%;left:-280px;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1100}.login-container{position:relative;z-index:1200}.sidebar.open{left:0}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:24px}.sidebar-logo{height:40px;width:auto}.sidebar-menu{flex:1 1;list-style:none;margin:0;padding:20px 0}.sidebar li{margin:8px 12px;padding:4px 16px}.sidebar-link{align-items:center;border-radius:8px;color:#e1e1e1;display:flex;font-size:16px;gap:12px;overflow:hidden;padding:12px 16px;position:relative;text-decoration:none;transition:all .2s ease}.sidebar-link:before{background:#ffffff0d;content:"";height:100%;left:0;position:absolute;top:0;transition:width .2s ease;width:0}.sidebar-link:hover:before{width:100%}.sidebar-icon{align-items:center;color:#e1e1e1;display:flex;height:24px;justify-content:center;width:24px}.sidebar-label{font-size:15px;font-weight:500}.logout-button{align-items:center;background-color:#ef44441a;border:1px solid #ffffff1a;border-radius:8px;color:#e1e1e1;cursor:pointer;display:flex;font-size:15px;gap:8px;margin:20px 16px;padding:12px 20px;text-align:left;transition:all .2s ease;width:calc(100% - 32px)}.logout-button:hover{background-color:#ef444433;border-color:#ffffff26}.sidebar-link.active{background:#ffffff1a;color:#fff;font-weight:500}.sidebar-link:hover{background:#ffffff0d}.menu-icon{align-items:center;background:#1a1a1af2;border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 2px 10px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:24px;justify-content:center;left:20px;padding:12px 14px;position:fixed;top:20px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1101}.menu-icon:hover{background:#2d2d2df2}.menu-icon.rotating{transform:rotate(90deg)}.sidebar.open+.menu-icon{left:290px}body,html{background-color:#f4f4f4;height:100%;overflow-x:hidden;width:100%}#root{min-height:100%}.content{flex:1 1;margin:0 auto;padding:16px}.dashboard-container{background-color:#f8fafc;margin:0 auto;max-width:1000px;min-height:100vh;overflow-x:hidden;padding:16px;width:100%}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow-x:hidden;position:relative;width:100%}#root{display:flex;flex-direction:column}.content{background:#fff;max-width:100vw;min-height:100vh;overflow-x:hidden;padding:20px;position:relative;transition:margin-left .3s cubic-bezier(.4,0,.2,1);width:100%}.content.shift{margin-left:280px}@media (max-width:768px){.sidebar{left:-100vw;max-width:100%;width:100vw}.content{overflow-x:hidden;padding:16px;width:100%}.content,.content.shift{margin-left:0}}@media (max-width:390px){.content{padding:8px}}@media (max-width:768px){.content{margin-left:0;padding:12px}.content.shift{margin-left:0;opacity:.5}.sidebar{left:-100vw;max-width:100%;width:100vw}.dashboard-container{max-width:100%;padding:12px;width:100%}}@media (max-width:390px){.content,.dashboard-container{padding:8px}.grid-card{border-radius:0;margin:0 -8px}}.sidebar.open+.content{transform:none}.content.shift{margin-left:0}.content.shift:after{background:#0003}@media (max-width:768px){.sidebar{max-width:100%;position:fixed;width:100vw}.content.shift{margin-left:0;transform:none}.content{margin-left:0;padding:16px;width:100%}.content.shift{margin-left:0;opacity:.5}.sidebar{left:-100%;width:100%}.sidebar.open{left:0}.sidebar.open+.menu-icon{left:calc(100% - 60px)}.sidebar-header{padding:16px}.menu-icon{left:12px;padding:10px;top:12px}.logout-button{margin:16px;padding:12px 16px}.content.shift:after{background:#0003}}
/*# sourceMappingURL=main.57e6b432.css.map*/