:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f4f7f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:#f4f7f9}button,input,select{font:inherit}button,label.button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px 18px;background:#0d1729;color:#dbe6f2;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 27px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#27c7a7,#0f8d7d);color:#fff;box-shadow:0 8px 24px #0a806850}.brand strong{display:block;color:#fff;font-size:14px;letter-spacing:-.1px}.brand span{display:block;margin-top:2px;font-size:11px;color:#7f91a9}.nav-caption{padding:0 12px 9px;color:#586b83;font-size:9px;font-weight:800;letter-spacing:.13em}nav{display:grid;gap:4px}.nav-item{width:100%;border:0;background:transparent;color:#91a2b7;min-height:43px;padding:0 12px;border-radius:10px;display:flex;align-items:center;gap:11px;text-align:left;font-size:13px;font-weight:650}.nav-item:hover{background:#142239;color:#dce7f3}.nav-item.active{color:#ecfffb;background:#17343a}.nav-item.active svg{color:#38d7b7}.nav-item b{margin-left:auto;min-width:22px;height:20px;display:grid;place-items:center;border-radius:7px;color:#a8bbcc;background:#1d2c42;font-size:10px}.nav-item.active b{background:#245a59;color:#bdfff2}.sidebar-bottom{margin-top:auto}.storage-card{display:flex;align-items:flex-start;gap:10px;margin:0 5px 10px;padding:12px;border:1px solid #22344c;border-radius:11px;background:#111f34;color:#5ee1c5}.storage-card strong{display:block;color:#b9c7d6;font-size:11px}.storage-card span{display:block;margin-top:3px;color:#657a93;font-size:9px;line-height:1.4}.main{min-width:0}.topbar{min-height:84px;padding:17px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e9ee;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumbs{display:flex;align-items:center;gap:4px;color:#94a3b8;font-size:10px;font-weight:600}.topbar h1{margin:6px 0 0;font-size:22px;letter-spacing:-.45px}.top-actions{display:flex;align-items:center;gap:10px}.top-actions select{min-width:250px;height:39px;padding:0 34px 0 12px;border:1px solid #dce4ea;border-radius:10px;background:#fff;color:#475569;font-size:12px}.workspace-switcher{min-width:220px;min-height:51px;padding:5px 9px;border:1px solid #dfe7eb;border-radius:11px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:5px;background:#fff;color:#0e8a78}.workspace-switcher label{min-width:0;display:grid;gap:1px;color:#8391a1;font-size:8px;font-weight:750}.workspace-switcher label span{line-height:1}.workspace-switcher select{width:100%;min-width:0;height:23px;padding:0 22px 0 0;border:0;border-radius:0;outline:0;background:#fff;color:#334155;font-size:10px;font-weight:750}.workspace-switcher select:disabled{opacity:1;cursor:default}.workspace-switcher small{grid-column:2;min-height:12px;margin-top:-2px;display:flex;align-items:center;gap:4px;color:#8b99a8;font-size:7px}.workspace-switcher small.saved{color:#0b826c}.workspace-switcher small.saving{color:#3979bb}.workspace-switcher small.conflict,.workspace-switcher small.error{color:#c24141}.button{border:0;min-height:39px;padding:0 15px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:750;white-space:nowrap}.button.primary{background:#0f8f7e;color:#fff;box-shadow:0 6px 16px #0f8f7e24}.button.primary:hover{background:#0b7d6f}.button.ghost{background:#eef2f5;color:#526173}.button.danger-ghost{border:1px solid #f0d4d4;background:#fff7f7;color:#bd4646;box-shadow:none}.button.danger-ghost:hover{background:#ffeded}.button.compact{min-height:34px;padding:0 12px}.notice{margin:14px 28px -3px;min-height:42px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #bce7dd;border-radius:11px;background:#effcf8;color:#0e796b;font-size:12px;font-weight:600}.notice button{margin-left:auto;border:0;background:transparent;color:inherit;display:grid;place-items:center}.workspace-alert{margin:14px 28px -3px;min-height:58px;padding:9px 11px 9px 13px;border:1px solid #efcece;border-radius:11px;display:flex;align-items:center;gap:10px;background:#fff5f5;color:#bd4646}.workspace-alert>div{min-width:0;flex:1}.workspace-alert strong,.workspace-alert span{display:block}.workspace-alert strong{font-size:11px}.workspace-alert span{margin-top:3px;color:#9a5e5e;font-size:9px;line-height:1.4}.workspace-alert .button{flex:0 0 auto;border:1px solid #efd5d5;background:#fff;color:#a84343}.workspace-alert.error{border-color:#ecd5b3;background:#fff8ec;color:#a5680d}.workspace-alert.error span{color:#957044}.workspace-alert.error .button{border-color:#ecd9bd;color:#9a650f}.page-body{padding:24px 28px 36px}.empty-state-card{min-height:calc(100vh - 150px);padding:48px 5vw;border:1px solid #e0e7ec;border-radius:20px;background:#fff;display:grid;grid-template-columns:1fr 430px;align-items:center;gap:7vw;box-shadow:0 12px 40px #0f172a08}.empty-copy h2{max-width:640px;margin:15px 0 13px;font-size:38px;line-height:1.12;letter-spacing:-1.25px}.empty-copy>p{max-width:570px;margin:0;color:#64748b;font-size:15px;line-height:1.7}.eyebrow{display:flex;align-items:center;gap:7px;color:#0e8a78;font-size:11px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.steps-inline{margin-top:27px;display:flex;align-items:center;gap:10px;color:#64748b;font-size:12px}.steps-inline span{display:flex;align-items:center;gap:7px}.steps-inline b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e8f8f4;color:#0f8f7e}.steps-inline svg{color:#cbd5e1}.dropzone{min-height:290px;border:1.5px dashed #a9cfc7;border-radius:18px;background:#f5fbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.18s ease}.dropzone:hover,.dropzone.dragging{border-color:#14a48e;background:#ecfaf6;transform:translateY(-2px)}.drop-icon{width:58px;height:58px;margin-bottom:16px;display:grid;place-items:center;border-radius:17px;background:#daf5ed;color:#0f8f7e}.dropzone strong{font-size:15px}.dropzone span{margin-top:6px;color:#738295;font-size:12px}.dropzone small{margin-top:22px;color:#9aa7b5;font-size:10px}.period-head,.section-intro{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.period-head h2,.section-intro h2{margin:8px 0 4px;font-size:22px;letter-spacing:-.45px}.period-head p,.section-intro p{margin:0;color:#718095;font-size:12px}.period-actions,.budget-toolbar{display:flex;align-items:center;gap:8px}.registry-head{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.registry-head h2{margin:0 0 5px;font-size:22px;letter-spacing:-.45px}.registry-head p{margin:0;color:#718095;font-size:12px}.timesheet-filters{display:flex;align-items:flex-end;gap:8px}.timesheet-filters label{display:grid;gap:5px;color:#7b899a;font-size:9px;font-weight:750}.timesheet-filters select,.timesheet-filters input{height:37px;min-width:145px;padding:0 10px;border:1px solid #dce4ea;border-radius:9px;background:#fff;color:#475569;font-size:10px;outline:0}.timesheet-filters select{min-width:210px}.timesheet-filters select:focus,.timesheet-filters input:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c16}.registry-metrics{margin-bottom:13px}.registry-table{margin-top:0}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f5fbf9}.row-actions{width:84px;white-space:nowrap;text-align:right}.row-actions .icon-button+.icon-button{margin-left:4px}.row-status.over{background:#fff0f0;color:#c24141}.filtered-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#91a0af}.filtered-empty strong{margin-top:8px;color:#566679;font-size:12px}.filtered-empty span{margin-top:4px;font-size:10px}.back-link{margin:0 0 12px;padding:0;border:0;background:transparent;color:#0e8a78;display:flex;align-items:center;gap:4px;font-size:10px;font-weight:750}.back-link svg{transform:rotate(180deg)}.period-main{min-width:0;flex:1}.timesheet-meta-edit{margin-top:14px;display:grid;grid-template-columns:110px 160px minmax(220px,1fr) minmax(220px,1fr);gap:9px}.timesheet-meta-edit label{display:grid;gap:5px;color:#7b899a;font-size:9px;font-weight:750}.timesheet-meta-edit input,.timesheet-meta-edit select{height:37px;min-width:0;padding:0 9px;border:1px solid #dce4ea;border-radius:8px;background:#fff;color:#475569;outline:0;font-size:10px}.edit-timesheet-panel{overflow:visible}.edit-timesheet-panel .table-wrap{max-height:520px;overflow:auto}.edit-timesheet-table{min-width:1380px}.edit-timesheet-table th{position:sticky;top:0;z-index:1}.edit-timesheet-table input,.edit-timesheet-table select{width:100%;min-width:105px;height:32px;padding:0 8px;border:1px solid #dce4ea;border-radius:7px;background:#fff;color:#475569;outline:0;font-size:9px}.edit-timesheet-table td:first-child input{min-width:180px}.edit-timesheet-table td:nth-child(2) input,.edit-timesheet-table td:nth-child(3) input{min-width:145px}.edit-timesheet-table td:nth-child(9) input{min-width:180px}.edit-timesheet-table input:focus,.edit-timesheet-table select:focus,.timesheet-meta-edit input:focus,.timesheet-meta-edit select:focus{border-color:#18a28c;box-shadow:0 0 0 2px #18a28c16}.metrics-grid.analytics-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.analytics-metrics .metric-value{font-size:20px}.analytics-panels{margin-top:13px;display:grid;grid-template-columns:1.2fr 1fr;gap:13px}.analytics-panels .table-panel{margin-top:0}.status-pill{min-height:36px;padding:0 12px;border-radius:10px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.status-pill.success{background:#e8f8f2;color:#0f806b}.status-pill.warning{background:#fff6e5;color:#b16b05}.status-pill.danger{background:#fff0f0;color:#c24141}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metrics-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{min-height:130px;padding:16px;border:1px solid #e1e8ed;border-radius:14px;background:#fff;box-shadow:0 7px 24px #0f172a06}.metric-icon{width:34px;height:34px;margin-bottom:12px;display:grid;place-items:center;border-radius:10px}.metric-icon.teal{background:#e2f8f2;color:#0d8b77}.metric-icon.blue{background:#eaf2ff;color:#3775c8}.metric-icon.violet{background:#f0edff;color:#7662cc}.metric-icon.green{background:#eaf8ec;color:#388a50}.metric-icon.red{background:#fff0f0;color:#cf4a4a}.metric-label{color:#758397;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.metric-value{margin-top:4px;font-size:23px;font-weight:780;letter-spacing:-.65px;white-space:nowrap}.metric-hint{margin-top:4px;color:#9aa6b4;font-size:10px}.split-grid{margin-top:13px;display:grid;grid-template-columns:1.45fr 1fr;gap:13px}.panel{border:1px solid #e1e8ed;border-radius:14px;background:#fff;box-shadow:0 7px 24px #0f172a05;overflow:hidden}.panel-title{min-height:57px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f4}.panel-title>div>span{display:block;font-size:13px;font-weight:800}.panel-title small{display:block;margin-top:3px;color:#91a0af;font-size:9px}.panel-title>svg{color:#91a1b3}.budget-lines{padding:15px 16px 11px;display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:9px}.budget-lines>div{padding:10px 12px;border-radius:9px;background:#f7f9fb}.budget-lines span{display:block;color:#8795a6;font-size:9px}.budget-lines strong{display:block;margin-top:5px;font-size:12px;white-space:nowrap}.budget-lines .positive{background:#eaf8f2;color:#0d806a}.budget-lines .negative{background:#fff0f0;color:#c53d3d}.progress{height:7px;margin:4px 16px 0;overflow:hidden;border-radius:99px;background:#edf1f4}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22b99b,#0f8f7e)}.progress i.over{background:#e05252}.progress-caption{padding:5px 16px 14px;display:flex;justify-content:space-between;color:#a2adba;font-size:8px}.progress-caption b{color:#546477}.issues-list{padding:7px 14px 11px}.issue{min-height:35px;display:flex;gap:8px;align-items:flex-start;border-bottom:1px solid #f0f3f5}.issue:last-child{border-bottom:0}.issue span{padding-top:9px}.issue p{margin:9px 0 8px;color:#566679;font-size:10px;line-height:1.45}.issue.info span{color:#0b9b80}.issue.warning span{color:#d58b18}.issue.error span{color:#d64b4b}.empty-mini{min-height:145px;padding:20px;display:flex;align-items:center;gap:13px;color:#b47b17}.empty-mini div{flex:1}.empty-mini strong,.empty-mini span{display:block}.empty-mini strong{color:#4a5565;font-size:12px}.empty-mini span{margin-top:5px;color:#7d8b9c;font-size:10px;line-height:1.45}.empty-mini button{border:0;padding:9px 12px;border-radius:9px;background:#fff2d8;color:#a36709;font-size:10px;font-weight:800}.table-panel{margin-top:13px}.table-title{min-height:62px}.table-tools{display:flex;align-items:center;gap:9px}.search{width:220px;height:34px;padding:0 10px;border:1px solid #e0e6eb;border-radius:9px;display:flex;align-items:center;gap:7px;color:#94a3b8}.search input{width:100%;border:0;outline:0;color:#475569;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{height:36px;padding:0 13px;background:#f7f9fb;color:#7a899b;text-align:left;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}td{min-height:43px;padding:9px 13px;border-top:1px solid #edf1f4;color:#526174;vertical-align:middle}tbody tr:hover{background:#fafcfb}td strong{color:#27364a;font-weight:750}td small{display:block;margin-top:2px;color:#9aa6b4;font-size:8px}.num{text-align:right;white-space:nowrap}.strong{color:#1d2b3e;font-weight:800}.tag{padding:4px 7px;border-radius:6px;background:#eef3f6;color:#607085;font-size:9px;white-space:nowrap}.row-status{padding:4px 7px;border-radius:6px;font-size:8px;font-weight:800}.row-status.ready{background:#e8f7f2;color:#0b826c}.row-status.attention{background:#fff2e1;color:#b06f0f}.action-cell{width:50px;text-align:right}.icon-button{width:32px;height:32px;padding:0;border:0;border-radius:8px;display:inline-grid;place-items:center;background:#f1f4f6;color:#718096}.icon-button.danger:hover{background:#fff0f0;color:#c74545}.modal-backdrop{position:fixed;inset:0;z-index:50;padding:30px;display:grid;place-items:center;background:#07101dc7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:560px;border-radius:16px;background:#fff;box-shadow:0 24px 80px #0005;overflow:hidden}.modal-head{min-height:67px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf1}.modal-head span{display:block;font-size:15px;font-weight:800}.modal-head small{display:block;margin-top:3px;color:#8d9aa9;font-size:10px}.form-grid{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{display:grid;gap:6px;color:#657488;font-size:10px;font-weight:750}.form-grid label.wide{grid-column:1 / -1}.form-grid input,.form-grid select{height:40px;padding:0 11px;border:1px solid #dce4ea;border-radius:9px;outline:none;color:#334155}.form-grid input:focus,.form-grid select:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c18}.modal-actions{padding:13px 18px 18px;display:flex;justify-content:flex-end;gap:9px}.budget-modal{width:min(920px,calc(100vw - 60px))}.budget-form-scroll{max-height:calc(100vh - 190px);overflow:auto}.budget-main-fields{grid-template-columns:1.4fr 1.4fr .7fr .9fr;padding-bottom:14px}.budget-main-fields label.wide{grid-column:auto}.budget-mode-block{padding:0 18px 16px;border-bottom:1px solid #edf1f4}.budget-mode-block>span{display:block;margin-bottom:7px;color:#657488;font-size:10px;font-weight:750}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-switch button{height:42px;border:1px solid #dce4ea;border-radius:10px;background:#fff;color:#607085;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:750}.mode-switch button.active{border-color:#16a089;background:#eaf8f4;color:#0b7f6d;box-shadow:inset 0 0 0 1px #16a089}.department-editor{padding:14px 18px;border-bottom:1px solid #edf1f4;background:#fafcfb}.department-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:9px}.department-tabs button{min-height:31px;padding:0 10px;border:1px solid #dfe6eb;border-radius:8px;background:#fff;color:#718095;font-size:9px;font-weight:750;white-space:nowrap}.department-tabs button.active{border-color:#9fded1;background:#eaf8f4;color:#0b7f6d}.department-tabs .add-department{display:flex;align-items:center;gap:4px;border-style:dashed}.department-name{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:10px;color:#657488;font-size:10px;font-weight:750}.department-name input{height:36px;padding:0 10px;border:1px solid #dce4ea;border-radius:8px;outline:0}.department-name-row{display:flex;align-items:center;gap:10px}.department-name-row .department-name{flex:1}.department-name-row button:disabled{cursor:not-allowed;opacity:.45}.month-plan-head{padding:15px 18px 10px;display:flex;align-items:flex-end;justify-content:space-between}.month-plan-head strong{display:block;font-size:12px}.month-plan-head span,.month-plan-head small{display:block;margin-top:3px;color:#8d9aa9;font-size:9px}.month-plan-table{margin:0 18px 18px;border:1px solid #e1e8ed;border-radius:11px;overflow:hidden}.month-row{min-height:43px;padding:5px 10px;display:grid;grid-template-columns:1.1fr 1fr .8fr .8fr;align-items:center;gap:8px;border-top:1px solid #edf1f4}.month-row:first-child{border-top:0}.month-row strong{color:#435267;font-size:10px}.month-row input{width:100%;height:31px;padding:0 8px;border:1px solid #dfe6eb;border-radius:7px;outline:0;text-align:right;color:#334155;font-size:10px}.month-row input:focus{border-color:#18a28c;box-shadow:0 0 0 2px #18a28c16}.month-header{min-height:34px;border:0;background:#f6f8fa;color:#7f8ea0;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.month-header span:not(:first-child){text-align:right}.budget-actions{align-items:center;border-top:1px solid #e8edf1;padding-top:12px}.annual-preview{margin-right:auto}.annual-preview span{display:block;color:#8d9aa9;font-size:9px}.annual-preview strong{display:block;margin-top:2px;font-size:16px}.department-check{margin-top:13px}.text-danger{color:#c53d3d}.text-success{color:#0d806a}.button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.payment-registry-head{align-items:flex-end}.payment-metrics{margin-bottom:13px}.payment-builder{margin-top:0;overflow:visible}.payment-builder-main{min-height:132px;padding:18px;display:grid;grid-template-columns:minmax(310px,1fr) auto;align-items:center;gap:30px}.payment-builder-copy h3{margin:8px 0 5px;color:#243449;font-size:17px;letter-spacing:-.25px}.payment-builder-copy p{max-width:560px;margin:0;color:#7b899a;font-size:10px;line-height:1.55}.payment-builder-controls{display:grid;grid-template-columns:138px 340px auto;align-items:end;gap:10px}.payment-date,.payment-grouping{display:grid;gap:6px;color:#657488;font-size:9px;font-weight:750}.payment-date input{width:138px;height:42px;padding:0 10px;border:1px solid #dce4ea;border-radius:10px;background:#fff;color:#475569;outline:0}.payment-date input:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c16}.payment-mode-switch{width:340px;gap:6px}.payment-mode-switch button{height:42px;padding:0 12px;font-size:10px;white-space:nowrap}.payment-download{min-height:42px}.payment-builder-note{min-height:41px;padding:0 18px;border-top:1px solid #edf1f4;display:flex;align-items:center;background:#f8fafb;color:#7d8b9c;font-size:10px;line-height:1.45}.payment-builder-note.ready{background:#effaf6;color:#0d806a}.payment-builder-note.warning{background:#fff7e9;color:#a5680d}.payment-register-panel{margin-top:13px}.payment-register-table{min-width:1080px}.check-column{width:44px;text-align:center}.check-column input{width:15px;height:15px;accent-color:#0f8f7e;cursor:pointer}.check-column input:disabled{cursor:not-allowed;opacity:.38}.payment-row-selected{background:#f0faf7}.payment-row-selected:hover{background:#eaf8f4}.expanded-payment-row,.expanded-payment-row:hover{background:#f7fafb}.expanded-payment-row>td{padding:0;border-top-color:#dce8e5}.payment-expanded{margin:10px 13px 14px 56px;overflow:hidden;border:1px solid #dfe8e8;border-radius:11px;background:#fff;box-shadow:0 5px 18px #0f172a05}.payment-expanded-head{min-height:53px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf1f4}.payment-expanded-head strong{display:block;color:#2d3c50;font-size:11px}.payment-expanded-head span{display:block;margin-top:3px;color:#91a0af;font-size:9px}.payment-employees-scroll{max-height:330px;overflow:auto}.payment-employees-table{min-width:1000px}.payment-employees-table th{position:sticky;top:0;z-index:1}.payment-employees-table td{padding-top:8px;padding-bottom:8px}@media(max-width:1300px){.app-shell{grid-template-columns:220px 1fr}.metrics-grid{gap:9px}.metric-value{font-size:20px}.empty-state-card{grid-template-columns:1fr 380px;padding:40px}.empty-copy h2{font-size:32px}}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.session-loading{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 20%,#e7f8f4 0,#f4f7f9 42%)}.session-loading-card{width:390px;min-height:220px;padding:35px;border:1px solid #dfe8e8;border-radius:20px;background:#fff;box-shadow:0 20px 55px #0f172a12;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0f8f7e;text-align:center}.session-loading-card strong{margin-top:17px;color:#243449;font-size:16px}.session-loading-card span{max-width:310px;margin-top:7px;color:#7b899a;font-size:11px;line-height:1.55}.session-loading-card .button{margin-top:20px}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(480px,.9fr) minmax(570px,1.1fr);background:#fff}.login-showcase{min-height:100vh;padding:34px 52px 38px;display:flex;flex-direction:column;overflow:hidden;position:relative;color:#fff;background:radial-gradient(circle at 18% 24%,#1d655e 0,transparent 36%),linear-gradient(145deg,#0d1729 10%,#102338 58%,#0e3d3c 120%)}.login-showcase:after{content:"";width:430px;height:430px;position:absolute;right:-180px;bottom:-170px;border:1px solid #5ee1c52e;border-radius:50%;box-shadow:0 0 0 72px #5ee1c50b,0 0 0 145px #5ee1c508}.login-showcase .brand{padding:0;position:relative;z-index:1}.login-showcase .brand span{color:#839bb1}.login-showcase-copy{max-width:620px;margin:auto 0;position:relative;z-index:1}.login-showcase .eyebrow{color:#62e2c8}.login-showcase h1{max-width:590px;margin:19px 0 16px;font-size:clamp(38px,4vw,58px);line-height:1.04;letter-spacing:-2.2px}.login-showcase p{max-width:530px;margin:0;color:#aab9c8;font-size:14px;line-height:1.7}.login-benefits{margin-top:30px;display:flex;flex-wrap:wrap;gap:9px}.login-benefits span{min-height:37px;padding:0 12px;border:1px solid #ffffff17;border-radius:10px;display:flex;align-items:center;gap:7px;background:#ffffff09;color:#cbd7e1;font-size:10px;font-weight:700}.login-benefits svg{color:#42d2b5}.login-showcase>small{position:relative;z-index:1;color:#63778c;font-size:9px}.login-form-side{min-height:100vh;padding:50px;display:grid;place-items:center;background:linear-gradient(135deg,#fbfcfd,#f2f7f6)}.login-card{width:430px;padding:38px;border:1px solid #e0e8eb;border-radius:22px;background:#fff;box-shadow:0 22px 65px #0f172a10}.login-key{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e5f8f3;color:#0d8b77}.login-card h2{margin:19px 0 6px;font-size:25px;letter-spacing:-.7px}.login-card>p{margin:0 0 24px;color:#7b899a;font-size:11px;line-height:1.55}.login-card label{margin-top:13px;display:grid;gap:7px;color:#657488;font-size:10px;font-weight:750}.login-card input{height:44px;padding:0 12px;border:1px solid #dce4ea;border-radius:10px;outline:0;color:#334155;background:#fff}.login-card input:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c18}.login-submit{width:100%;min-height:44px;margin-top:21px}.login-card>small{margin-top:15px;display:block;color:#9aa7b5;text-align:center;font-size:9px}.auth-error{min-height:42px;margin-bottom:8px;padding:9px 11px;border:1px solid #f1cece;border-radius:9px;display:flex;align-items:center;gap:8px;background:#fff4f4;color:#b83f3f;font-size:10px;line-height:1.35}.auth-success{min-height:42px;margin-bottom:8px;padding:9px 11px;border:1px solid #bce7dd;border-radius:9px;display:flex;align-items:center;gap:8px;background:#effcf8;color:#0e796b;font-size:10px;line-height:1.35}.account-card{min-height:58px;margin:0 5px 9px;padding:9px 8px;border:1px solid #22344c;border-radius:11px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;background:#111f34}.account-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#1d5d58;color:#c7fff4;font-size:12px;font-weight:850}.account-card strong,.account-card span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-card strong{color:#d4dee8;font-size:10px}.account-card span{margin-top:3px;color:#6e8299;font-size:8px}.account-card button{width:28px;height:28px;padding:0;border:0;border-radius:7px;display:grid;place-items:center;background:transparent;color:#6c8198}.account-card button:hover{background:#1e3048;color:#d9e5ef}.account-actions{display:flex;align-items:center;gap:1px}.dropzone.read-only{cursor:default;border-style:solid;border-color:#dce5e8;background:#f8fafb}.dropzone.read-only:hover{border-color:#dce5e8;background:#f8fafb;transform:none}.dropzone.read-only .drop-icon{background:#eef3f5;color:#7d8b9c}.role-viewer .registry-table .icon-button.danger,.role-viewer .period-actions>button,.role-viewer .empty-mini button,.role-viewer .edit-timesheet-panel,.role-viewer .budget-toolbar label.button,.role-viewer .budget-toolbar button,.role-viewer .budget-page .row-actions{display:none}.admin-page{max-width:1520px}.admin-intro{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.admin-intro h2{margin:8px 0 5px;font-size:23px;letter-spacing:-.55px}.admin-intro p{margin:0;color:#718095;font-size:12px}.admin-message{min-height:42px;margin-bottom:13px;padding:0 13px;border:1px solid;border-radius:11px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650}.admin-message.error{border-color:#efcece;background:#fff4f4;color:#b83f3f}.admin-message.success{border-color:#bce7dd;background:#effcf8;color:#0e796b}.admin-message button{margin-left:auto;padding:0;border:0;background:transparent;color:inherit;display:grid;place-items:center}.admin-metrics{margin-bottom:13px}.admin-users-panel{overflow:visible}.admin-users-head{min-height:68px;padding:10px 16px;border-bottom:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-users-head>div>span{display:block;font-size:13px;font-weight:800}.admin-users-head small{display:block;margin-top:3px;color:#91a0af;font-size:9px}.admin-users-head label{display:grid;gap:4px;color:#7b899a;font-size:8px;font-weight:750}.admin-users-head select{min-width:240px;height:37px;padding:0 32px 0 10px;border:1px solid #dce4ea;border-radius:9px;background:#fff;color:#475569;outline:0;font-size:10px}.admin-users-head select:focus,.admin-users-table select:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c16}.admin-loading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:9px;color:#8190a2;font-size:10px}.admin-users-table{min-width:880px}.admin-users-table td{height:58px}.admin-users-table td:first-child{min-width:230px}.admin-users-table select{min-width:165px;height:34px;padding:0 29px 0 9px;border:1px solid #dce4ea;border-radius:8px;background:#fff;color:#475569;outline:0;font-size:9px}.admin-users-table select:disabled{cursor:not-allowed;background:#f4f6f7;color:#8d9aa9}.admin-user-disabled{opacity:.62;background:#fafbfc}.access-status{min-width:73px;padding:5px 8px;border-radius:7px;display:inline-flex;justify-content:center;font-size:8px;font-weight:850}.access-status.active{background:#e8f7f2;color:#0b826c}.access-status.disabled{background:#eef1f4;color:#768597}.admin-user-actions{min-width:158px;text-align:right;white-space:nowrap}.admin-user-actions button:disabled{cursor:not-allowed;opacity:.42}.role-guide{margin-top:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.role-guide>div{min-height:85px;padding:15px;border:1px solid #e1e8ed;border-radius:13px;display:flex;align-items:flex-start;gap:11px;background:#fff;color:#0e8a78;box-shadow:0 7px 24px #0f172a04}.role-guide span{color:#7b899a;font-size:9px;line-height:1.45}.role-guide strong{margin-bottom:4px;display:block;color:#3e4d61;font-size:10px}.user-modal{width:590px}.password-modal{width:470px}.password-form{padding:18px;display:grid;gap:12px}.password-form label{display:grid;gap:6px;color:#657488;font-size:10px;font-weight:750}.password-form input{height:40px;padding:0 11px;border:1px solid #dce4ea;border-radius:9px;outline:0;color:#334155}.password-form input:focus{border-color:#18a28c;box-shadow:0 0 0 3px #18a28c18}.password-modal .modal-actions{border-top:1px solid #edf1f4}@media(max-width:1300px){.login-showcase{padding-left:38px;padding-right:38px}.login-showcase h1{font-size:42px}.login-form-side{padding:35px}.admin-users-head select{min-width:205px}}
