:root{color:#1b2a41;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--text:#1b2a41;--muted:#67758a;--line:#dfe5ed;--surface:#fff;--canvas:#f3f6fa;--accent:#245bdd;--accent-soft:#edf3ff;--success:#187453;--danger:#b93849;--warning:#97630d;--radius:9px;background:#f3f6fa;font-family:Segoe UI Variable Text,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent)}button,input,textarea,select,a{outline-offset:3px}:focus-visible{outline:3px solid #84a9ff}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.65px;margin-bottom:5px;font-size:27px;font-weight:680;line-height:1.2}h2{letter-spacing:-.3px;margin-bottom:5px;font-size:20px;font-weight:650;line-height:1.35}h3{margin-bottom:10px;font-size:15px;font-weight:650}p{margin-bottom:12px}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-height:39px;color:var(--text);background:#fff;border:1px solid #cfd8e4;border-radius:6px;padding:8px 11px;transition:border-color .12s}input::placeholder,textarea::placeholder{color:#8b96a5}input:hover,select:hover,textarea:hover{border-color:#aebdd1}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{color:#738095;background:#f4f6f9}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;vertical-align:middle;flex-shrink:0}input[type=file]{max-width:100%;color:var(--muted)}input[type=file]::file-selector-button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:5px;margin-right:10px;padding:7px 10px}textarea{resize:vertical;min-height:90px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}svg{flex-shrink:0}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{color:#d5deeb;z-index:30;background:#15263f;flex-direction:column;height:100dvh;padding:28px 14px 0;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:11px;margin:0 12px 35px;text-decoration:none;display:flex}.brand-mark{color:#fff;letter-spacing:-1px;background:#3470fa;border-radius:9px 9px 12px 12px;flex-shrink:0;place-items:center;width:39px;height:42px;font-size:27px;font-weight:750;display:grid}.brand-name,.login-brand>span:last-child{letter-spacing:-.6px;font-size:24px;font-weight:680;line-height:1.1}.brand-caption{color:#9fb0c9;letter-spacing:.1px;margin-top:5px;font-size:12px;font-weight:400;display:block}.nav-section{color:#91a4bf;margin:0 0 10px;padding:0 14px;font-size:11px;font-weight:550}.nav-section-admin{margin-top:30px}.nav-item{text-align:left;color:#b9c8dc;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;min-height:43px;margin:3px 0;padding:10px 13px;font-weight:500;display:flex}.nav-item:hover{color:#fff;background:#203550}.nav-item.is-active{color:#fff;background:#2b5cc4;box-shadow:inset 3px 0 #8cb4ff}.sidebar-bottom{margin-top:auto;padding-top:38px}.sidebar-utility{color:#9fb0c9;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:12px;display:flex}.sidebar-utility:hover{color:#fff}.employee-card{border-top:1px solid #304058;align-items:center;gap:9px;margin:9px -14px 0;padding:19px 15px;display:flex}.employee-avatar{color:#d3e0f6;background:#2a405e;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:650;display:grid}.employee-card>div{flex:1;min-width:0}.employee-card strong{text-overflow:ellipsis;white-space:nowrap;color:#e7eef9;font-size:12px;font-weight:550;display:block;overflow:hidden}.employee-card div>span{color:#91a4bf;margin-top:2px;font-size:10px;display:block}.sidebar-logout{color:#9aabc4;background:0 0;border:0;border-radius:5px;padding:6px}.sidebar-logout:hover{color:#fff;background:#293d58}.workspace{min-width:0}.workspace-bar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;height:61px;padding:0 31px;display:flex}.workspace-breadcrumb,.workspace-context{align-items:center;gap:12px;min-width:0;display:flex}.workspace-breadcrumb{color:var(--muted);font-size:12px}.workspace-breadcrumb strong{color:#46566e;font-weight:550}.breadcrumb-divider{color:#c0c9d5}.timezone-label{color:var(--muted);white-space:nowrap;font-size:11px}.unsaved-indicator{color:var(--warning);white-space:nowrap;background:#fff5dd;border-radius:4px;padding:3px 8px;font-size:11px}.workspace-main{max-width:1920px;margin-inline:auto;padding:30px 31px 40px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:25px;display:flex}.page-description{color:var(--muted);max-width:76ch;margin:8px 0 0;font-size:13px}.page-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.page-actions{justify-content:flex-end;padding-top:2px}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:8px 13px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.button-primary{color:#fff;background:var(--accent);border-color:var(--accent)}.button-primary:not(:disabled):hover{background:#1e4fca;border-color:#1e4fca}.button-secondary{color:#42536b;background:#fff;border-color:#d4dce7}.button-secondary:not(:disabled):hover{background:#f6f8fc;border-color:#b6c5da}.button-danger{color:var(--danger);background:#fff3f4;border-color:#f0cfd4}.button-danger:not(:disabled):hover{background:#ffe8ec}.button-ghost{color:#60728b;background:0 0}.button-ghost:not(:disabled):hover{color:var(--accent);background:#edf3ff}.icon-button{color:#78869a;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:7px;display:inline-flex}.icon-button:hover{color:var(--accent);background:#edf2fa}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;display:flex}.panel-head h2,.panel-head h3{margin:0}.panel-body{padding:20px}.toolbar{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:10px;padding:15px 18px;display:flex}.toolbar>input,.toolbar .search-input{flex:1;min-width:180px;max-width:340px}.toolbar select,.filter-select{width:auto;min-width:130px;max-width:230px;font-size:12px}.search-field{flex:1;min-width:180px;max-width:360px;position:relative}.search-field>svg{color:#8998ad;position:absolute;top:12px;left:11px}.search-field>input{padding-left:35px!important}.filter-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.filter-row>select{width:auto;max-width:230px;font-size:12px}.table-wrap{width:100%;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th{color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;text-transform:none;background:#f8fafd;padding:11px 15px;font-size:11px;font-weight:600}.data-table td{vertical-align:middle;border-bottom:1px solid #edf0f5;padding:13px 15px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8faff}.data-table tr.is-selected,.data-table tr.is-active{background:#f0f5ff}.data-table td strong{font-weight:600}.data-table .checkbox-cell{width:43px;padding-inline:15px 5px}.data-table .actions-cell{white-space:nowrap;width:1%}.table-subline{color:var(--muted);margin-top:3px;font-size:11px;display:block}.row-action{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.row-action:hover{color:var(--accent)}.pill{color:#69798d;white-space:nowrap;background:#edf1f6;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-size:11px;font-weight:550;line-height:1.5;display:inline-flex}.pill-success{color:#217754;background:#e9f6ef}.pill-error{color:#b93849;background:#fff0f2}.pill-warning{color:#97630d;background:#fff4db}.pill-info{color:#3466bf;background:#eaf1ff}.pill-neutral{color:#69798d;background:#edf1f6}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-label{color:#4b5d75;font-size:12px;font-weight:600}.field-hint,.form-hint{color:var(--muted);font-size:11px;font-weight:400}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.form-grid .full-width{grid-column:1/-1}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:22px;padding-top:18px}.check-label{color:#52647c;cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.inline-error{color:var(--danger);overflow-wrap:anywhere;background:#fff2f4;border:1px solid #f2d5da;border-radius:6px;margin:12px 0 0;padding:10px 12px;font-size:12px}.info-note{color:#597095;background:#f4f8ff;border:1px solid #dce6f8;border-radius:7px;padding:12px 15px;font-size:12px}.loading-state{color:var(--muted);justify-content:center;align-items:center;gap:11px;padding:65px 20px;font-size:13px;display:flex}.empty-state{text-align:center;color:#96a2b4;padding:58px 24px}.empty-state>svg{margin-bottom:12px}.empty-state h3{color:#52647d;margin-bottom:7px;font-size:15px}.empty-state p{max-width:48ch;color:var(--muted);margin-inline:auto;font-size:12px}.error-state{color:#9b3b4b;background:#fff7f8;border:1px solid #eed8dd;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:22px;display:flex}.error-state strong{font-size:13px;display:block}.error-state p{color:#9b6a75;margin:5px 0 12px;font-size:12px}.error-state>svg{margin-top:1px}.selection-bar{color:#345fbb;background:#edf3ff;border-bottom:1px solid #d7e4fd;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 17px;font-size:12px;display:flex}.selection-bar strong{margin-right:auto;font-weight:600}.pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;font-size:11px;display:flex}.pagination>div{align-items:center;gap:10px;display:flex}.split-view{grid-template-columns:minmax(300px,.95fr) minmax(340px,1.2fr);align-items:start;gap:19px;display:grid}.list-panel,.detail-panel{min-width:0}.detail-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.detail-head{border-bottom:1px solid var(--line);padding:23px 23px 18px}.detail-head p{color:var(--muted);margin:5px 0 0;font-size:12px}.detail-body{padding:22px}.tabs{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:3px;padding:0 16px;display:flex}.tab{color:#7a879a;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 14px;font-size:12px}.tab.is-active,.tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.dialog{border:1px solid var(--line);width:min(620px,100vw - 32px);max-height:calc(100dvh - 36px);color:var(--text);background:#fff;border-radius:13px;padding:0;box-shadow:0 24px 80px #15263f38}.dialog-wide{width:min(1050px,100vw - 32px)}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14243d75}.dialog-head{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.dialog-head h2{font-size:20px}.dialog-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.dialog-body{padding:23px 24px}.dialog-footer{border-top:1px solid var(--line);background:#fafbfe;justify-content:flex-end;align-items:center;gap:9px;padding:16px 24px;display:flex}.batch-results{color:var(--success);background:#f2faf6;border:1px solid #cae4d9;border-radius:7px;margin:16px 0;font-size:12px;overflow:hidden}.batch-results.has-errors{color:var(--warning);background:#fffbf3;border-color:#efdcbd}.batch-results-head{align-items:center;gap:9px;padding:11px 14px;display:flex}.batch-results-head strong{flex:1;font-weight:550}.batch-results ul{max-height:220px;margin:0;padding:0 15px 12px 41px;list-style:none;overflow-y:auto}.batch-results li{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:7px;font-size:11px;display:flex}.batch-results li strong{font-weight:600}.toast{z-index:90;color:#236c50;background:#f3fbf7;border:1px solid #cce5da;border-radius:9px;align-items:center;gap:16px;max-width:min(520px,100vw - 32px);padding:13px 16px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 35px #14243d1a}.toast-error{color:#a13c4b;background:#fff5f6;border-color:#ecc9d0}.toast-info{color:#426598;background:#f1f6ff;border-color:#ccdafa}.muted{color:var(--muted)}.small{font-size:11px}.mono{font-family:Cascadia Code,Consolas,monospace;font-size:11px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.spin{animation:1.1s linear infinite spin}.mobile-menu,.nav-backdrop{display:none}.login-page{background:#edf2f9;place-items:center;min-height:100dvh;padding:40px 20px 70px;display:grid}.login-panel{background:#fff;border:1px solid #dbe3ef;border-radius:16px;width:min(440px,100%);padding:36px 38px 25px;box-shadow:0 12px 50px #14305d0a}.login-brand{color:#213b61;align-items:center;gap:12px;margin-bottom:37px;display:flex}.login-brand .brand-caption{color:#8594aa}.login-heading h1{margin-bottom:12px;font-size:25px}.login-heading p{color:#7a8aa0;margin-bottom:26px;font-size:13px;line-height:1.65}.login-submit{justify-content:space-between;width:100%;min-height:42px;margin-top:4px;padding-inline:16px}.login-permissions{color:#929fb1;align-items:flex-start;gap:7px;margin:0;padding-top:22px;font-size:10px;display:flex}.connection-details{color:#9aa6b6;border-top:1px solid #eef1f6;margin-top:22px;padding-top:14px;font-size:10px}.connection-details summary{cursor:pointer}.connection-details code{overflow-wrap:anywhere;margin-top:9px;font-size:10px;display:block}.login-footer{color:#9aa8bb;font-size:10px;position:absolute;bottom:21px}.session-screen{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:100dvh;padding:24px;display:flex}.session-panel{max-width:550px}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1800px){.workspace-main{padding-inline:42px}}@media (width<=1200px){.app-shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding-inline:10px}.employee-card{margin-inline:-10px;padding-inline:11px}.workspace-main{padding:25px 22px}.workspace-bar{padding-inline:22px}.split-view{grid-template-columns:minmax(270px,1fr) minmax(300px,1fr)}.data-table td,.data-table th{padding-inline:11px}}@media (width<=960px){.split-view{grid-template-columns:minmax(0,1fr)}.page-head{gap:14px}.page-actions{justify-content:flex-start}h1{font-size:25px}}@media (width<=760px){.app-shell{display:block}.sidebar{width:250px;height:100dvh;transition:transform .16s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.nav-backdrop{z-index:25;background:#14243d70;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:inline-flex}.workspace-bar{height:56px;padding-inline:13px}.workspace-breadcrumb{gap:8px}.workspace-breadcrumb>span:first-of-type,.breadcrumb-divider{display:none}.timezone-label{font-size:9px}.workspace-context{gap:5px}.workspace-main{padding:23px 14px 28px}.page-head{flex-direction:column;margin-bottom:19px}.page-head h1{font-size:25px}.page-description{font-size:12px}.toolbar{gap:8px;padding:12px}.toolbar>input,.toolbar .search-input,.search-field{width:100%;max-width:none}.toolbar select,.filter-select{flex:1;min-width:120px}.form-grid{grid-template-columns:1fr;gap:14px}.dialog{border-radius:10px;width:calc(100vw - 18px);max-height:calc(100dvh - 20px)}.dialog-head,.dialog-body,.dialog-footer{padding:18px}.data-table{min-width:600px}.pagination{padding:12px}.toast{bottom:14px;right:14px}.login-panel{padding:30px 26px 23px}.login-footer{margin-top:25px;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
