:root{--color-primary:#1c244b;--color-secondary:#f3f5f8;--color-text:#324a6d;--color-accent:#247da8;--color-accent-light:#20b9e1;--color-white:#fff;--color-light-gray:#f9fafd;--color-border:#c8d5dc;--font-family:"Calibri", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif}[data-theme=dark]{--color-primary:#e2e8f0;--color-secondary:#000;--color-text:#a0aec0;--color-accent:#4fc3f7;--color-accent-light:#81d4fa;--color-white:#050508;--color-light-gray:#0a0a10;--color-border:#252530}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none;height:100vh;overflow:hidden}body{font-family:var(--font-family);background-color:var(--color-secondary);color:var(--color-text);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.5}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{background:var(--color-white);color:var(--color-primary);z-index:100;flex-shrink:0;justify-content:space-between;padding:24px 4%;box-shadow:0 3px 9px #0000001a}.app-header,.header-left,.site-logo{align-items:center;display:flex}.header-left{gap:60px}.site-logo img{width:auto;height:54px}.app-title{color:var(--color-primary);font-size:30px;font-weight:600}.main-nav{align-self:flex-end;gap:0;margin-bottom:-24px;display:flex}.nav-link{color:var(--color-text);opacity:.5;border-bottom:4px solid #0000;padding:0 20px 12px;font-size:26px;font-weight:500;text-decoration:none;transition:color .2s,opacity .2s}.nav-link:hover{color:#1090c0;opacity:1}.nav-link.active{color:var(--color-primary);opacity:1;border-bottom-color:var(--color-accent)}.nav-link.nav-link-special{margin-left:60px}.nav-badge{color:#fff;vertical-align:middle;background:#dc3545;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;font-size:14px;font-weight:600;display:inline-flex}.action-buttons{align-items:center;gap:6px;min-width:84px;display:flex}.actions-wrap{min-width:84px}.sub-nav{background:var(--color-white);border-bottom:1px solid var(--color-border);z-index:70;flex-shrink:0;box-shadow:0 3px 9px #0000001a}.sub-nav-inner{justify-content:space-between;align-items:center;padding:0 36px;display:flex}.sub-nav-links{gap:0;display:flex}.sub-nav-link{color:var(--color-text);opacity:.6;cursor:pointer;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:16px 24px 8px;font-size:21px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sub-nav-link:hover{opacity:1;color:var(--color-accent)}.sub-nav-link.active{opacity:1;color:var(--color-primary);border-bottom-color:var(--color-accent)}.header-actions{align-items:center;gap:12px;display:flex}.user-info{gap:8px;font-size:21px;font-weight:400}.refresh-button,.user-info{color:var(--color-text);align-items:center;display:flex}.refresh-button{cursor:pointer;opacity:.6;justify-content:center;transition:opacity .2s,color .2s;background:0 0!important;border:none!important;padding:8px!important}.refresh-button:hover{opacity:1;color:var(--color-accent)!important}.app-main{flex-direction:column;width:100%;min-height:0;overflow:hidden}.app-main,.loading{flex:1;display:flex}.loading{text-align:center;min-height:60vh;color:var(--color-text);justify-content:center;align-items:center;padding:24px 48px}.loading-spinner{border:5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:60px;height:60px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.access-denied h2{color:var(--color-primary);margin-bottom:12px;font-size:28px}.access-denied p{margin-bottom:24px}.access-denied p,.empty-state{color:var(--color-text);font-size:21px}.empty-state{text-align:center;background:var(--color-white);border-radius:15px;padding:72px;box-shadow:0 3px 15px #0000000d}.empty-state.small{box-shadow:none;background:0 0;border-radius:0;padding:24px;font-size:15px}.login-prompt{justify-content:center;align-items:center;min-height:60vh;display:flex}.login-card{background:var(--color-white);text-align:center;border-radius:15px;padding:72px 96px;box-shadow:0 3px 15px #0000000d}.login-card h2{color:var(--color-primary);margin-bottom:12px;font-size:32px;font-weight:600}.login-card p{color:var(--color-text);margin-bottom:36px;font-size:21px}.btn{cursor:pointer;font-family:var(--font-family);border:none;border-radius:100px;padding:15px 36px;font-size:23px;font-weight:400;text-decoration:none;transition:all .3s}.btn-sm{padding:8px 20px;font-size:18px}.btn-primary{background:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary)}.btn-secondary{color:var(--color-accent);border:1px solid var(--color-accent);background:0 0}.btn-secondary:hover{background:var(--color-accent);color:var(--color-white)}.btn-danger{color:#fff;background:#dc3545}.btn-danger:hover{background:#c82333}.btn-success{color:#fff;background:#28a745}.btn-success:hover{background:#218838}button:not(.btn){background:var(--color-white);border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-family);color:var(--color-text);border-radius:9px;padding:12px 24px;font-size:21px;transition:all .2s}button:not(.btn):hover{border-color:var(--color-accent);color:var(--color-accent)}button.icon-btn,button.inline-cancel-btn,button.inline-submit-btn{vertical-align:middle;cursor:pointer;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;font-size:15px;font-weight:600;line-height:1;transition:background .15s;display:inline-flex}button.icon-btn svg,button.inline-cancel-btn svg,button.inline-submit-btn svg{width:14px;height:14px}button.icon-btn svg:not([fill=none]),button.inline-cancel-btn svg:not([fill=none]),button.inline-submit-btn svg:not([fill=none]){fill:currentColor}button.icon-btn:disabled,button.inline-cancel-btn:disabled,button.inline-submit-btn:disabled{opacity:.5;cursor:not-allowed}button.expand-btn{width:30px;min-width:30px;height:30px;color:var(--color-text);opacity:.7;background:0 0;border:none;padding:0;font-size:30px;line-height:1;transition:opacity .15s;display:block}button.expand-btn:hover{opacity:1}button.inline-submit-btn{background:var(--color-accent);color:#fff}button.inline-submit-btn:hover:not(:disabled){background:var(--color-primary)}button.inline-cancel-btn{background:var(--color-border);color:var(--color-text);font-size:13px}button.inline-cancel-btn:hover:not(:disabled){color:#fff;background:#555}button.action-btn{background:var(--color-border);color:var(--color-text)}button.action-btn:hover:not(:disabled){color:#fff;background:#555}button.action-btn.success{color:#fff;background:#28a745}button.action-btn.success:hover:not(:disabled){background:#1e7e34}button.action-btn.danger{color:#fff;background:#dc3545}button.action-btn.danger:hover:not(:disabled){background:#a71d2a}td.date-cell{position:relative}table.data-table>*>tr>td.date-cell,table.data-table>*>tr>th.date-cell,table.detail-table>*>tr>td.date-cell,table.detail-table>*>tr>th.date-cell{padding-left:36px}td.date-cell .date-input-wrap{width:calc(100% + 36px);margin-left:-36px}td.date-cell .date-input{z-index:1;width:120px;margin:0 0 0 30px}td .text-input,td .time-input,td.date-cell .date-input{background:var(--color-white);color:var(--color-text);font-family:var(--font-family);box-sizing:border-box;border:none;border-radius:0;padding:0 6px;font-size:21px;font-weight:300}td .text-input,td .time-input{margin:0 -6px}td .date-input,td .text-input,td .time-input{height:var(--inline-field-height,32px);line-height:var(--inline-field-height,32px)}div.filter-controls{--inline-field-height:29px}div.filter-controls .filter-date-input,div.filter-controls .text-input{background:var(--color-white);height:29px;color:var(--color-text);box-sizing:border-box;border:none;border-radius:0;padding:0 6px;font-size:21px;line-height:29px}div.filter-controls .filter-date-input{text-overflow:ellipsis;white-space:nowrap;width:120px;margin:0 0 0 26px;overflow:hidden}div.filter-controls .date-input-wrap{width:146px}div.filter-controls .combobox{width:185px}div.filter-controls .date-picker-btn{width:22px;height:22px}.budgets-manage-table .name-input:focus,.edit-input:focus,.order-input:focus,div.filter-controls .filter-date-input:focus{z-index:10;outline:none;position:relative;box-shadow:0 0 0 3px #247da84d}[data-theme=dark] div.filter-controls .filter-date-input:focus{box-shadow:0 0 0 3px #80d8f866}div.filter-controls .combobox.is-focused,div.filter-controls .combobox.is-open{z-index:10;position:relative}.combobox.is-invalid,input.is-invalid,select.is-invalid{box-shadow:0 0 0 3px #dc354580}.combobox.is-invalid:focus-within,input.is-invalid:focus,select.is-invalid:focus{box-shadow:0 0 0 3px #dc3545b3}.table-scroll{flex:1;min-height:0;overflow-y:scroll}input,select,textarea{border:1px solid var(--color-border);font-family:var(--font-family);color:var(--color-text);background:var(--color-white);border-radius:9px;padding:15px 21px;font-size:21px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none}[data-theme=dark] .sub-nav{background:#0a0a10;border-bottom-color:#252530;box-shadow:0 4px 16px #96aac84d}[data-theme=dark] .sub-nav-link.active{border-bottom-color:var(--color-accent)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:#80d8f8!important}input::-moz-placeholder{color:var(--color-border)}textarea::-moz-placeholder{color:var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-border)}.user-menu{position:relative}.user-menu-toggle{cursor:pointer;color:var(--color-text);align-items:center;gap:16px;line-height:1;display:flex;background:0 0!important;border:none!important;padding:8px 12px!important}.user-menu-toggle:hover{color:var(--color-accent)!important}.user-name{font-size:24px;font-weight:400}.user-menu-dots{font-size:28px;font-weight:900}.user-menu-dropdown{background:var(--color-white);border:1px solid var(--color-border);z-index:200;border-radius:12px;min-width:200px;margin-top:8px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 3px 12px #00000026}.user-menu-item{text-align:left;cursor:pointer;width:100%;font-family:var(--font-family);color:var(--color-text);white-space:nowrap;font-size:13px;text-decoration:none;display:block;background:0 0!important;border:none!important;padding:8px 16px!important}.user-menu-item:hover{background:var(--color-light-gray)!important;color:var(--color-text)!important}.menu-icon{vertical-align:middle;opacity:.7;width:16px;height:16px;margin-right:6px}.dialog-overlay{z-index:1000;background:#1c244b80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;min-width:420px;max-width:90%;padding:24px;box-shadow:0 12px 80px #0006}.dialog h3{color:var(--color-primary);margin-bottom:12px;font-size:28px}.dialog p{color:var(--color-text);margin-bottom:16px;font-size:20px}.dialog-calendar{width:600px}.calendar-url-container{gap:12px;margin-bottom:12px;display:flex}.calendar-url-input{flex:1;padding:12px 16px!important;font-size:18px!important}.btn-checked{position:relative;color:#0000!important}.btn-checked:after{content:"✓";color:#fff;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialog-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.dialog-actions .btn{border-radius:6px;padding:10px 24px;font-size:17px}.dialog-actions .btn-text{border-radius:6px;padding:10px 20px;font-size:17px}.btn-text{color:var(--color-text);cursor:pointer;font-family:var(--font-family);background:0 0;border:none;padding:12px 16px;font-size:16px}.btn-text:hover{color:var(--color-accent)}.btn-danger-text{color:#dc3545}.btn-danger-text:hover{color:#c82333}[data-theme=dark] .app-header{background:#0f2540;border-bottom:1px solid #606060;box-shadow:0 4px 16px #96aac84d}[data-theme=dark] .user-menu-dropdown{border-color:#505070;box-shadow:0 6px 20px #96aac840}[data-theme=dark] .dialog{background:#181820;border:1px solid #505070;box-shadow:0 12px 80px #96aac899}[data-theme=dark] .dialog label,[data-theme=dark] .dialog p{color:#c0c8d0}[data-theme=dark] .dialog-overlay{background:#0009}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--color-light-gray)!important;color:var(--color-primary)!important;border-color:var(--color-border)!important}[data-theme=dark] input::-moz-placeholder{color:#8080a0!important}[data-theme=dark] textarea::-moz-placeholder{color:#8080a0!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#8080a0!important}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:silver;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}[data-theme=dark] ::-webkit-scrollbar-track{background:#101018}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#404050}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#505060}[data-theme=dark] ::-webkit-scrollbar-corner{background:#101018}.error-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.error-dialog{background:var(--color-white);text-align:center;border:2px solid #dc3545;border-radius:12px;max-width:400px;padding:24px 32px;box-shadow:0 12px 48px #dc35454d}.error-dialog h3{color:#dc3545;margin-bottom:12px;font-size:24px}.error-dialog p{color:var(--color-text);margin-bottom:20px;font-size:18px;line-height:1.5}.error-actions{justify-content:center;gap:12px;display:flex}[data-theme=dark] .error-dialog{background:#181820;border-color:#ff6b6b;box-shadow:0 12px 48px #ff6b6b40}[data-theme=dark] .error-dialog h3{color:#ff6b6b}.not-activated{flex:1;justify-content:center;align-items:center;min-height:0;padding:32px;display:flex}.not-activated-card{background:var(--color-white);text-align:center;border-radius:16px;max-width:500px;padding:48px 64px;box-shadow:0 4px 20px #00000014}.not-activated-icon{color:#f59e0b;width:72px;height:72px;margin-bottom:24px}.not-activated-card h2{color:var(--color-primary);margin-bottom:12px;font-size:28px;font-weight:600}.not-activated-card p{color:var(--color-text);font-size:20px;line-height:1.6}[data-theme=dark] .not-activated-card{background:#181820;box-shadow:0 4px 20px #96aac826}.actions-cell,.error-tooltip{white-space:nowrap}.balance-item{align-items:baseline;gap:8px;display:flex}.categories-table .col-name{width:auto}.date-cell{overflow:visible!important}.date-separator{color:var(--color-text);font-size:21px}.dialog .form-group{margin-bottom:16px}.dialog .form-group input,.dialog .form-group select{border:1px solid var(--color-border);border-radius:9px;width:100%;padding:12px 16px;font-size:18px}.dialog .form-group label{color:var(--color-text);margin-bottom:6px;font-size:20px;font-weight:500;display:block}.error-tooltip{color:#fff;z-index:10;background:#dc3545;border-radius:6px;max-height:29px;margin-right:12px;padding:3px 12px;font-size:17px;line-height:23px;position:absolute;top:50%;right:100%;transform:translateY(-50%);box-shadow:0 3px 9px #dc35454d}.half-day-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;opacity:1}.half-day-btn:hover{border-color:var(--color-accent);opacity:.8}.inline-form-row .inline-input,.inline-form-row .inline-select{font-size:21px;font-family:var(--font-family);background:var(--color-white);color:#000;box-sizing:border-box;border:none;border-radius:0;width:calc(100% + 12px);height:32px;margin:0 -6px;padding:0 6px;font-weight:300;line-height:32px}.inline-form-row .inline-input:focus,.inline-form-row .inline-select:focus,div.filter-controls .text-input:focus,td .edit-input:focus,td .inline-input:focus,td .name-input:focus,td .order-input:focus,td .text-input:focus,td .time-input:focus,td .wh-input:focus,td.date-cell .date-input:focus{outline:none;box-shadow:0 0 0 3px #247da84d}.inline-form-row .inline-input::placeholder{font-size:17px}.inline-form-row.top-form{z-index:55;height:38px;position:sticky;top:50px}.inline-form-row.top-form td{background:#d9f4fa}.inline-form-row:not(.top-form) td{background:#20b9e11a}.overview-header{background:var(--color-secondary);flex-shrink:0;justify-content:flex-end;align-items:center;padding:12px 36px 10px;display:flex;box-shadow:0 4px 12px #0000001f}.budgets-container,.entries-container,.requests-section,.tickets-container{background:var(--color-white);min-width:fit-content;position:relative}.filter-controls{align-items:center;gap:12px;display:flex}.categories-page,.holidays-page,.invoices-page,.overview-page,.users-page,.vacation-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.toggle,table.overview-table .clickable{cursor:pointer}table.overview-table .clickable:hover{color:var(--color-accent)}table.overview-table .col-hover{background:#247da80d}table.overview-table .data-row:hover .col-hover{background:#247da81f}table.overview-table .data-row:hover td{background:#247da80d}table.detail-table>*>tr>th,table.overview-table .totals-row td{border-top:1px solid var(--color-border)}table.overview-table .totals-row td,tr.year-separator td{background:linear-gradient(#e5ebf0,#fff)}table.overview-table .user-col{min-width:80px}table.overview-table th.col-hover{background:#e8eff3}tr.expanded-row>td{background:linear-gradient(#f0f3f6,#fff)}tr.expanded-row:hover:not(.editing-row)>td{background:linear-gradient(#247da80d,#247da80d),linear-gradient(#f0f3f6,#fff)}td.budgets-detail-cell,td.detail-cell,td.positions-detail-cell{white-space:normal;background:var(--color-white);height:auto;overflow:visible;padding:19px 48px!important}table.detail-table{border-collapse:collapse;table-layout:fixed;border-bottom:1px solid var(--color-border);width:100%}table.detail-table>*>tr>td,table.detail-table>*>tr>th{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;height:32px;padding:3px 12px 3px 18px;font-size:21px;line-height:32px;overflow:hidden}table.detail-table>*>tr>th{color:var(--color-text);background:var(--color-light-gray);text-transform:uppercase;letter-spacing:.5px;box-shadow:inset 0 -1px 0 0 var(--color-border);padding:10px 12px 8px 18px;font-size:20px;font-weight:600}table.detail-table>*>tr>td.text-right,table.detail-table>*>tr>th.text-right{text-align:right}table.data-table>tbody>tr,table.detail-table>tbody>tr{box-sizing:border-box;height:38px;max-height:38px;transition:background-color .1s}table.data-table>*>tr>th,table.detail-table>tbody>tr:hover{background:var(--color-light-gray)}.detail-title{text-align:left;color:var(--color-primary);padding:0 0 10px 18px;font-size:21px;font-weight:600}table.data-table,table.overview-table{border-collapse:collapse;width:100%}table.data-table>*>tr>td,table.data-table>*>tr>th{text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:3px 12px 3px 18px;font-size:21px;line-height:32px;overflow:hidden}table.data-table>*>tr>th{color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;z-index:60;box-shadow:inset 0 -1px 0 var(--color-border);border-bottom:none;padding:10px 12px 8px 18px;font-size:20px;font-weight:600;position:sticky;top:0}table.data-table>*>tr>td:first-child,table.data-table>*>tr>th:first-child{padding-left:36px}table.overview-table{background:var(--color-white);margin-top:-1px}table.overview-table>*>tr>td,table.overview-table>*>tr>th{text-align:right;white-space:nowrap;text-overflow:ellipsis;padding:3px 12px;font-size:21px;line-height:32px;overflow:hidden}table.overview-table>*>tr>th{background:var(--color-light-gray);color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;z-index:5;padding:10px 12px 8px;font-size:20px;font-weight:600;position:sticky;top:0}table.overview-table>*>tr>td:first-child,table.overview-table>*>tr>th:first-child{padding-left:36px}table.overview-table>*>tr>td:last-child,table.overview-table>*>tr>th:last-child{padding-right:36px}.progress-pending{background:#ff9800;transition:width .3s,left .3s}.progress-pending,.progress-used{height:100%;position:absolute;top:0}.progress-used{background:#4caf50;transition:width .3s;left:0}.table-footer{background:var(--color-secondary);text-align:center;padding:36px 18px}.text-center{text-align:center!important}.text-right{text-align:right!important;padding-left:12px!important;padding-right:18px!important}.time-sep{text-align:center;padding:0!important}.toggle{width:48px;height:26px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle input:checked+.toggle-slider{background-color:var(--color-accent)}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-slider{background-color:var(--color-border);border-radius:26px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;bottom:3px;left:3px}[data-theme=dark] .categories-table td{color:#c0c8d0}[data-theme=dark] .filter-combobox :deep(.combobox){border-color:#252530}[data-theme=dark] .half-day-btn{border-color:#505070}[data-theme=dark] .half-day-btn:hover{border-color:var(--color-accent)}[data-theme=dark] tr.expanded-row>td{background:linear-gradient(#181828,#12121c)}[data-theme=dark] tr.expanded-row:hover:not(.editing-row)>td{background:linear-gradient(#4fc3f714,#4fc3f714),linear-gradient(#181828,#12121c)}[data-theme=dark] .inline-form-row.top-form td{background:#1a2a3a}[data-theme=dark] .inline-form-row:not(.top-form) td{background:#20b9e126}[data-theme=dark] .overview-header{background:#101018}[data-theme=dark] .overview-table .col-hover{background:#4fc3f70f}[data-theme=dark] .overview-table .data-row:hover .col-hover{background:#4fc3f71a}[data-theme=dark] .overview-table .data-row:hover td{background:#4fc3f70f}[data-theme=dark] .overview-table .totals-row td{background:linear-gradient(#1a1a2a,#12121c)}[data-theme=dark] .overview-table th.col-hover{background:#181828}[data-theme=dark] tr.year-separator td{background:linear-gradient(#2a2a40,#181828)}.settings-card{background:var(--color-white);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.settings-card--wide{grid-column:1/-1}.settings-card h2{color:var(--color-primary);border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:12px;font-size:21px;font-weight:600}.setting-description{color:var(--color-text);opacity:.7;font-size:21px}[data-theme=dark] .settings-card{background:#181820;border:1px solid #353540}
