:root{--ink: #101828;--muted: #667085;--line: #eef1f6;--paper: #f5f7fb;--panel: #ffffff;--accent: #2f6bff;--accent-soft: #eef4ff;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--green: #16a34a;--red: #ef4444;--font: Inter, "General Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;max-width:100%}html{overflow-x:hidden;background:var(--paper)}body{font-family:var(--font);background:var(--paper);color:var(--ink);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font);font-weight:700;letter-spacing:-.03em;color:var(--ink)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.cap{text-transform:capitalize}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:58px minmax(0,1fr) auto;height:100vh;min-height:100vh;width:100%;max-width:100%;overflow:hidden;transition:grid-template-columns .28s ease}.shell.nav-collapsed{grid-template-columns:0px minmax(0,1fr)}.sidebar{grid-column:1;grid-row:2;background:#fff;border-right:1px solid var(--line);padding:18px 16px;align-self:stretch;z-index:6;min-height:0;height:auto;overflow-x:hidden;overflow-y:auto}.shell.nav-collapsed .sidebar{visibility:hidden;overflow:hidden;padding:0;border-right:0;pointer-events:none}.top-brand,.brand{display:flex;gap:10px;align-items:center;min-width:0}.brand{margin:0 8px 22px}.brand strong,.brand-name strong{display:block;font-size:15px;line-height:1.1}.brand small,.brand-name small{display:block;color:var(--muted);letter-spacing:.08em;font-size:11px}.mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#2f5fe0;color:#fff;font-weight:700}.bcs-mark{width:auto;height:36px;max-width:148px;border-radius:8px;background:#fff;object-fit:contain;object-position:left center}.nav-label{margin:18px 12px 8px;color:#94a3b8;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.sidebar nav a,.sidebar nav button.nav-parent{display:flex;align-items:center;gap:10px;width:100%;color:var(--muted);padding:8px 10px;border:0;border-radius:10px;margin:0 0 2px;background:transparent;font-family:var(--font);font-size:14px;font-weight:500;line-height:20px;letter-spacing:0;text-align:left;cursor:pointer}.sidebar nav a:hover,.sidebar nav button.nav-parent:hover{background:var(--accent-soft);color:var(--accent)}.sidebar nav a.active,.sidebar nav button.nav-parent.active{background:var(--accent);color:#fff}.sidebar .icon{width:18px;height:18px;flex:none}.sidebar .nav-text{font-size:14px;font-weight:500;line-height:20px}.nav-caret{margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .28s ease}.nav-parent.open .nav-caret{transform:rotate(45deg)}.nav-children{height:0;overflow:hidden;transition:height .32s ease}.sidebar nav a.nav-sub{margin:0 0 2px;padding:8px 10px 8px 28px;font-size:14px;font-weight:500;line-height:20px;border-radius:8px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .22s ease .08s,transform .22s ease .08s,background .2s ease,color .2s ease}.nav-children.open a.nav-sub,.nav-children.open button.nav-sub{opacity:1;transform:none;pointer-events:auto}.nav-group.nested{margin-left:12px}.sidebar nav a.nav-deep{padding-left:44px}.nav-group.nested .nav-sub{padding-left:16px}.form-section{grid-column:1 / -1;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.doc-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;background:#fff}.doc-card h4{margin:0}.doc-card input[type=file]{width:100%}.doc-file{display:flex;align-items:center;justify-content:space-between;gap:8px}.doc-file a,.doc-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-photo{width:72px;height:72px;object-fit:cover;border-radius:12px;background:#f4f6fa}.combo{position:relative;max-width:420px;margin:12px 0}.combo-input{width:100%;height:40px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.combo-panel{position:absolute;z-index:6;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 8px 24px #10182814}.combo-panel ul{list-style:none;margin:8px 0 0;padding:0;max-height:240px;overflow:auto}.combo-panel li label{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer}.combo-panel li label input{width:auto}.combo-panel li button{width:100%;text-align:left;border:0;background:transparent;padding:8px 4px;cursor:pointer;font-weight:600;border-radius:8px}.combo-panel li button.on,.combo-panel li button:hover{background:#eef3ff;color:var(--accent)}.template-editor .combo{margin:0;max-width:none}.template-picks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.combo-caption{display:block;margin-bottom:6px;font-weight:600}.combo-panel li button{display:flex;justify-content:space-between;align-items:center;gap:12px}.combo-input:disabled{opacity:.6;cursor:default}.int-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:12px 0;overflow-x:auto}.int-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 16px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap}.int-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.int-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.int-subtabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer}.int-subtabs button.on{border-color:var(--accent);background:#eef3ff;color:var(--accent)}.notify-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.req-label{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap}.req{color:#dc2626;font-weight:700}.is-editing{padding:12px;border:1px solid #f59e0b;border-radius:12px;background:#fffbeb;scroll-margin-top:80px}.notify-groups{display:grid;gap:14px}.notify-group{padding:12px 14px;border:1px solid var(--line);border-radius:12px}.notify-group h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #64748b)}.reminder-timing{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.reminder-timing p{margin:0 0 10px;font-size:13px}.combo-group{padding:8px 12px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #64748b);pointer-events:none}.template-editor{display:grid;gap:12px}.integration-tabs .check-line,.notify-grid .check-line{display:flex;align-items:center;gap:8px}.integration-tabs .check-line input,.notify-grid .check-line input{width:auto}.integration-tabs textarea{min-height:120px}@media(max-width:800px){.notify-grid,.template-picks{grid-template-columns:1fr}}.form-section h3{margin-bottom:10px}.template-shelf{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.fine-rule{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.fine-rule .form-grid{margin-top:8px}.template-shelf .data-grid{margin-top:12px}.org-identity{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.org-identity label{flex:0 1 180px}.org-identity .org-name,.leave-create .org-name{flex:1 1 420px;min-width:min(100%,360px)}.org-identity input{width:100%;height:36px;padding:0 12px}.org-types{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:14px}.org-types>span{font-size:13px;color:var(--muted)}.org-star{color:#e0a100;font-size:16px;line-height:1}.org-locked{display:flex;align-items:center;gap:8px}.org-locked input{flex:1}.leave-create{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px}.leave-create label:not(.check-row){flex:1 1 140px;min-width:120px}.leave-create .check-row{flex:0 0 auto;height:36px;white-space:nowrap}.leave-create input:not([type=checkbox]),.leave-create select{height:36px;padding:0 12px}.leave-create-actions{display:flex;gap:8px;flex:none}.template-save{display:flex;align-items:flex-end;gap:10px;max-width:520px}.template-save label{flex:1;min-width:0}.template-save input{height:36px;padding:0 12px}.template-save .btn{flex:none}.template-actions{display:flex;gap:8px;flex-wrap:nowrap}.template-list{display:grid;gap:8px;margin-top:10px}.template-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.icon{width:18px;height:18px;flex:none}.nav-badge{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;font-style:normal;font-size:11px;padding:1px 6px}.workspace{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:auto}.topbar{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;height:58px;padding:0 16px;z-index:8;background:#fff;border-bottom:1px solid var(--line)}.top-company{position:static;transform:none;justify-self:center;max-width:420px;color:var(--ink);font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{position:relative;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#334155}.icon-btn:hover,.nav-toggle:hover{background:#f1f5f9}.icon-btn .nav-badge{position:absolute;top:-4px;right:-4px;margin:0;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;line-height:1}.welcome{flex:1;min-width:0}.welcome h1{font-size:16px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.welcome p{color:var(--muted);margin-top:1px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-tabs{display:flex;flex:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px;gap:2px}.scope-tabs a{color:#64748b;padding:7px 14px;border-radius:999px;font-weight:600;font-size:14px}.scope-tabs a.active{background:var(--accent);color:#fff}.top-tools{display:flex;min-width:0;justify-self:end;justify-content:flex-end;align-items:center;gap:8px;position:relative}.search{position:relative;width:220px}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 12px 10px 36px}.search .icon{position:absolute;left:12px;top:11px;color:#94a3b8}.search-pop,.account-pop{position:absolute;top:46px;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:5;min-width:240px;padding:6px}.search-pop{left:0;right:auto}.search-pop button,.account-pop button{width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:10px;cursor:pointer}.search-pop button:hover,.account-pop button:hover{background:#f8fafc}.search-pop span,.account-pop span{display:block;color:var(--muted);font-size:12px}.date-pill,.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#475569;font-size:13px;white-space:nowrap}.avatar{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:#2f5fe0;color:#fff;font-weight:700}.account-pop{top:50px;display:grid;gap:4px;padding:12px}.content{padding:16px 20px 28px;background:var(--paper)}.page-head{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-bottom:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px}.card+.card,.note+.note,.stack+.card,.card+.data-grid,.data-grid+.data-grid,.mini-kpis+.data-grid,.filters+.data-grid,.banner+form{margin-top:14px}.card h2{font-size:15px;font-weight:700}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.card-head p,.series-key{color:var(--muted);font-size:13px;margin-top:4px}.skeleton{min-height:110px;background:linear-gradient(90deg,#fff,#f1f5f9,#fff)}.kpi-row,.mini-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:14px}.kpi-row.admin,.mini-kpis{grid-template-columns:repeat(3,1fr)}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);min-height:108px}.kpi p{color:var(--muted);font-size:13px}.kpi-value{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.kpi strong{display:block;font-size:28px;letter-spacing:-.04em;margin:8px 0 6px}.kpi-link{font-size:13px;font-weight:700}.report-tree,.report-tree ul{list-style:none;margin:0;padding:0}.report-tree ul{margin-left:22px;border-left:2px solid #dbe7f5}.report-person{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;margin:8px 0 8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.report-person strong{display:block}.report-person small{color:var(--muted)}.kpi-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:700;margin-bottom:10px}.kpi-icon.blue{background:#ecf1fd;color:#2f5fe0}.kpi-icon.green{background:#e6f4ec;color:#2f9c6a}.kpi-icon.violet{background:#f4f3fb;color:#4a54c8}.kpi-icon.amber{background:#fbf1dc;color:#c26f1c}.kpi-icon.rose{background:#fbe9ec;color:#d1506a}.delta{font-size:12px;font-weight:600}.delta em{font-style:normal;font-weight:500;color:var(--muted)}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.delta.flat{color:var(--muted);font-weight:500}.chart-row{display:grid;grid-template-columns:1.05fr 1.25fr;gap:14px;margin-bottom:14px;align-items:stretch}.chart-row.single{grid-template-columns:1fr}.bottom-row{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:14px;align-items:stretch}.bottom-row.no-leave{grid-template-columns:1.2fr .8fr}.bottom-row.personal{grid-template-columns:1.1fr 1fr .9fr}.chart-row>.card,.bottom-row>.card{margin-top:0;height:100%;display:flex;flex-direction:column}.chart-row>.card>.donut-wrap,.chart-row>.card>.line-chart,.bottom-row>.card>.funnel,.bottom-row>.card>.perf-layout,.bottom-row>.card>.quick-grid{flex:1}.line-chart{width:100%;height:100%;min-height:210px}.checkin-strip{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:14px}.checkin-strip span{color:var(--muted)}.reporting-to{display:flex;gap:6px;align-items:center;justify-content:center;flex:1;font-weight:700}.reporting-to button{border:0;background:none;color:var(--accent);font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.tip{position:relative;display:inline-flex}.tip-box{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:30;min-width:196px;padding:10px 12px;border-radius:12px;background:#fff;color:#1e293b;border:1px solid #e2e8f0;box-shadow:0 10px 28px #0f172a1f;font-size:12px;font-weight:600;line-height:1.45}.tip-box:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;background:#fff;border-left:1px solid #e2e8f0;border-top:1px solid #e2e8f0;transform:translate(-50%) rotate(45deg)}.reporting-to .tip-box span{color:#475569;font-weight:600}.tip:hover .tip-box,.tip:focus-within .tip-box{display:grid}.area-picks{display:grid;gap:8px;margin-top:12px}.area-pick{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}.area-pick strong,.area-pick small{display:block}.area-pick small{color:var(--muted);font-size:12px}.area-dot{width:16px;height:16px;border-radius:50%;border:2px solid #ef4444;flex:none;background:#fff}.area-pick:hover .area-dot,.area-pick:focus-visible .area-dot{background:#ef4444}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:20px;background:#0f172a73}.modal-card{width:min(680px,100%);max-height:min(80vh,760px);overflow:auto;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow)}.confirm-card{width:min(440px,100%);display:grid;gap:12px}.confirm-card h2,.confirm-card p{margin:0}.modal-card.payroll-days{width:min(980px,100%)}.cell-link{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.cell-link:hover{text-decoration:underline}.modal-card.profile-modal{width:min(1180px,100%);max-height:92vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.profile-head{display:flex;align-items:center;gap:16px;padding:18px 20px 6px}.profile-avatar{width:72px;height:72px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef3ff;color:var(--accent);font-size:24px;font-weight:800}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-id{flex:1;min-width:0}.profile-id h2{margin:0 0 8px}.profile-contacts{display:flex;flex-wrap:wrap;gap:6px 28px;color:var(--muted);font-size:13px}.profile-contacts b{display:block;color:#1f2937;font-size:12px}.profile-tools{display:flex;gap:6px;align-self:flex-start}.profile-tools .btn{min-width:38px;justify-content:center}.profile-tabs{margin:8px 0 0;padding:0 20px;flex:none}.profile-body{overflow:auto;padding:16px 20px 20px;background:#f8fafc;flex:1}.profile-about{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;align-items:stretch}.profile-about>.card{display:flex;flex-direction:column;min-width:0;margin:0}.profile-about .card h3,.profile-body>.stack>h3{margin:0 0 12px;min-height:36px;display:flex;align-items:center}.profile-about .card>h3:first-child,.profile-about .card>.int-subtabs:first-child{height:36px;margin:0 0 12px}.profile-about .card>.int-subtabs{flex-wrap:nowrap;overflow-x:auto;align-items:center}.profile-wide{grid-column:1 / -1}.profile-facts{width:100%;border-collapse:collapse;table-layout:fixed}.profile-facts tr{height:58px}.profile-facts tr{border-bottom:1px solid var(--line)}.profile-facts tr:last-child{border-bottom:0}.profile-facts th,.profile-facts td{padding:8px 10px;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.profile-facts th{width:24%;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;background:#f8fafc}.profile-facts td{width:26%;font-weight:600;font-size:14px}.profile-facts tr:last-child th,.profile-facts tr:last-child td{border-bottom:0}.profile-balances{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;align-items:stretch}.profile-balances>.card{display:flex;flex-direction:column;gap:4px;margin:0}.profile-balances>.card small{margin-top:auto}.profile-balances strong{font-size:24px}.profile-empty{padding:32px 0;text-align:center}.profile-body table td.num,.profile-body table th.num{text-align:right}@media(max-width:720px){.profile-head{flex-wrap:wrap}.profile-tools{width:100%;justify-content:flex-end}}.donut-wrap{display:grid;grid-template-columns:190px 1fr;gap:8px;align-items:center}.donut{width:180px;height:180px}.donut-label{fill:#94a3b8;font-size:12px}.donut-value{fill:#0f172a;font-size:22px;font-weight:700}.legend-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.legend-list li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:14px}.legend-list i{width:10px;height:10px;border-radius:50%}.line-chart{width:100%;height:220px}.grid-line{stroke:#eef2f7}.axis{fill:#94a3b8;font-size:11px}.series{fill:none;stroke-width:2.5}.series.present,.swatch.present,.dot.present{stroke:#22c55e}.series.absent,.swatch.absent{stroke:#f97316}.series.late,.swatch.late{stroke:#ef4444}.dot.present{fill:#22c55e;stroke:#fff;stroke-width:1}.swatch{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;background:currentColor}.swatch.absent{background:#f97316}.swatch.late{background:#ef4444}.series-key{display:flex;gap:12px}.funnel{list-style:none;margin:0;padding:0;display:grid;gap:10px}.funnel li{display:grid;grid-template-columns:88px 1fr 36px;gap:8px;align-items:center;font-size:13px}.funnel .progress{min-width:0}.funnel.wide li{grid-template-columns:110px 1fr 48px}.bar{height:8px;background:#f1f5f9;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#818cf8,#6366f1);border-radius:99px}.conversion{margin-top:14px;color:var(--muted)}.conversion b{color:var(--green)}.holiday-board{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;flex:1}.holiday-board li{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:#f8fafc}.holiday-board span{color:var(--muted)}.card-note{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.note-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.note-head h3{font-size:13px}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:132px;overflow:auto}.note-list li{display:flex;justify-content:space-between;gap:8px;font-size:13px}.note-list span{color:var(--muted);white-space:nowrap}.mini-toggle{border:1px solid var(--line);background:#fff;color:#475569;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer}.mini-toggle.on{background:var(--accent);border-color:var(--accent);color:#fff}.payroll-total{font-size:30px;font-weight:700;letter-spacing:-.04em;margin-top:4px}.split-figures{display:flex;gap:16px;margin:8px 0 12px;color:#334155;font-weight:600}.split-figures em{display:block;font-style:normal;color:var(--muted);font-weight:500;font-size:12px}table.compact th,table.compact td{padding:6px 4px;font-size:12px}.perf-layout{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}.score-ring{width:120px;height:120px}.ring-value{font-size:18px;font-weight:700;fill:#0f172a}.bands{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}.bands li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center}.bands i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.bands i.exceptional{background:#6366f1}.bands i.exceeds{background:#22c55e}.bands i.meets{background:#3b82f6}.bands i.below{background:#f59e0b}.bands i.poor{background:#ef4444}.bands.inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.bands.inline li{display:flex;gap:6px}.perf-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted);font-size:12px}.perf-foot b{color:var(--ink)}.perf-banner{display:flex;gap:16px;align-items:center;margin-bottom:14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick{display:grid;justify-items:center;gap:6px;border-radius:14px;padding:12px 8px;text-align:center;color:var(--ink);font-size:12px;font-weight:600;background:#f8fafc}.quick span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:700}.quick.violet span{background:#8b5cf6}.quick.green span{background:#22c55e}.quick.blue span{background:#3b82f6}.quick.amber span{background:#f59e0b}.quick.rose span{background:#f43f5e}.quick.slate span{background:#64748b}.btn{border:1px solid #e6eaf0;background:#fff;color:var(--ink);border-radius:999px;height:36px;padding:0 18px;box-sizing:border-box;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.btn:hover{background:#f8fafc;border-color:#d0d5dd;box-shadow:0 1px 2px #10182814}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 10px #2f6bff47}.btn.primary:active{background:#1e40af}.btn.violet{background:#6d4aff;border-color:#6d4aff;color:#fff}.btn.violet:hover{background:#5836e0}.loan-stats{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:14px}.loan-stat,.loan-stats .btn{height:36px;box-sizing:border-box;margin:0}.loan-stat{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;border:1px solid transparent;font-size:13px;line-height:1;white-space:nowrap}.loan-stats .btn{margin-left:auto;padding:0 18px;white-space:nowrap}.loan-stat strong{font-size:15px;font-weight:700;letter-spacing:0}.loan-stat.blue{background:#e8efff;color:#1d4ed8;border-color:#c5d4fb}.loan-stat.amber{background:#fff4e0;color:#b45309;border-color:#f3d7a4}.loan-stat.green{background:#e7f7ee;color:#157a45;border-color:#b7e4c9}.pay-stats{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:14px;overflow-x:auto}.pay-stat{display:inline-flex;align-items:center;gap:8px;flex:none;height:36px;padding:0 12px;box-sizing:border-box;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1;white-space:nowrap}.pay-stat strong{font-size:15px;font-weight:700;letter-spacing:0}.pay-stat.blue{background:#e8efff;color:#1d4ed8;border-color:#c5d4fb}.pay-stat.green{background:#e7f7ee;color:#157a45;border-color:#b7e4c9}.pay-stat.red{background:#fdecec;color:#b91c1c;border-color:#f5c2c2}.pay-stat.violet{background:#f3e8ff;color:#6d28d9;border-color:#e0cffc}.pay-stat.amber{background:#fff4e0;color:#b45309;border-color:#f3d7a4}.pay-stat .hint-mark{border-color:currentColor;color:inherit}.pay-stat .tip-box{min-width:220px;max-width:320px;color:#1e293b;text-align:left;font-weight:500;white-space:normal}.btn.ghost{background:transparent}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn:disabled{opacity:.65;cursor:wait}.btn.btn-off:disabled{opacity:.45;cursor:not-allowed}.special-input{width:110px;min-width:90px;text-align:right}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}label{display:grid;gap:6px;font-weight:500;font-size:13px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #dadde4;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid #a7bdf3;border-color:var(--accent)}.stack{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-split{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:18px;align-items:start}.span{grid-column:1 / -1}.table-wrap{overflow-x:auto}.data-grid th.tight,.data-grid td.tight{width:1%;white-space:nowrap}.data-grid td input,.data-grid td select{width:auto;max-width:11rem}.data-grid td input[type=number]{width:6.5rem}.data-grid td input[type=date]{width:9.2rem}.data-grid td input[type=time]{width:7.5rem}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.filters label{min-width:160px}.place-block{flex:1 0 100%;order:-1;display:grid;gap:8px;width:100%;margin:0 0 4px;padding:10px 14px 12px;border:1px solid #dbe3ee;border-left:4px solid var(--accent, #2563eb);border-radius:12px;background:#f8fafc}.place-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px}.place-block-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted, #64748b)}.place-block .place-clear{height:26px;padding:0 10px;font-size:12px}.org-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.org-filters label,.report-bar .org-filters label{display:grid;gap:4px;min-width:0;width:auto;white-space:normal;font-size:12px;font-weight:600;color:var(--ink)}.org-filters select,.report-bar .org-filters select{width:100%;min-width:0;height:36px;background:#fff}.filters:has(.place-block),.report-bar:has(.place-block){flex-wrap:wrap}.report-bar{flex-wrap:nowrap;align-items:center;gap:10px}.report-bar label{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;font-weight:600;color:var(--ink)}.report-bar input,.report-bar select{width:auto;height:36px;padding:0 10px;border-radius:10px;border-color:#e6eaf0}.report-bar input[type=date]{width:9.2rem}.report-bar select{min-width:10rem}.report-bar .btn{white-space:nowrap}.report-bar a.btn,.report-bar .push-end{margin-left:auto}.report-bar input[type=month]{width:11rem}.hint-mark{display:inline-grid;place-items:center;width:14px;height:14px;margin-left:4px;border:1px solid #c5d0e0;border-radius:50%;color:#667085;font-size:10px;font-weight:700;line-height:1}.tip-box.tip-fixed{display:grid;position:fixed;z-index:80;width:max-content;max-width:320px;text-align:left;font-weight:500;white-space:normal}.kpi .tip-box{min-width:220px;max-width:320px;text-align:left;font-weight:500;white-space:normal}.pad-top{margin-top:6px}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px}th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#63687b;background:#f7f8fa;font-weight:600}.data-grid{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.data-grid.bare{border:1px solid var(--line);box-shadow:none;border-radius:12px;background:#fff;margin-top:12px}.grid-title{margin:0;font-size:14px;padding:0;white-space:nowrap;flex:none}.grid-toolbar{display:flex;justify-content:flex-start;gap:8px;align-items:center;padding:8px 12px;flex-wrap:nowrap}.grid-search{position:relative;width:220px;min-width:0;flex:0 1 220px;font-weight:400}.grid-search span{position:absolute;left:12px;top:6px;color:#94a3b8}.grid-search input{height:32px;border-radius:999px;padding:0 10px 0 32px;background:#f8fafc}.grid-tools{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin-left:auto}.grid-pop-wrap{position:relative}.grid-pop{position:absolute;top:42px;right:0;z-index:4;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px;min-width:200px;display:grid;gap:8px}.check-row{display:flex;align-items:center;gap:8px;font-weight:500}.check-row input{width:auto}.loan-setup{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;margin-top:12px}.loan-list select{height:280px;padding:6px}.loan-list .actions{margin-top:10px}.loan-editor{display:grid;gap:14px}.choice-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.choice{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid #dadde4;border-radius:999px;background:#fff;font-weight:600;cursor:pointer}.choice input{width:auto;margin:0}.choice.on{border-color:var(--accent);background:#eef3ff}.field-off{opacity:.55}.day-picker{display:grid;gap:8px}.day-picker-label{font-size:13px;font-weight:500;color:var(--muted)}.day-pills{display:flex;flex-wrap:wrap;gap:8px}.day-pill{border:1px solid #dadde4;background:#fff;color:var(--ink);border-radius:999px;min-width:52px;padding:8px 12px;cursor:pointer;font-weight:500}.day-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.org-fit{width:100%;overflow:hidden;border-radius:12px;background:radial-gradient(circle at 12% 20%,rgba(255,182,214,.28),transparent 32%),radial-gradient(circle at 88% 10%,rgba(126,214,232,.28),transparent 28%),linear-gradient(180deg,#fffaf6,#f4fbf8)}.org-tree{width:max-content;margin:0 auto;padding:16px 8px 18px;transform-origin:top center}.org-tree ul{display:flex;justify-content:center;position:relative;margin:0;padding:20px 0 0;list-style:none}.org-tree>ul{padding-top:0}.org-tree li{display:flex;flex-direction:column;align-items:center;position:relative;padding:20px 6px 0}.org-tree li:before,.org-tree li:after{content:"";position:absolute;top:0;width:50%;height:20px;border-top:2px solid #d5d8de}.org-tree li:before{right:50%}.org-tree li:after{left:50%;border-left:2px solid #d5d8de}.org-tree li:only-child:before,.org-tree li:only-child:after{display:none}.org-tree li:only-child{padding-top:0}.org-tree li:first-child:before,.org-tree li:last-child:after{border:0 none}.org-tree li:last-child:before{border-right:2px solid #d5d8de}.org-tree ul ul:before{content:"";position:absolute;top:0;left:50%;width:0;height:20px;border-left:2px solid #d5d8de}.org-tree>ul>li{padding-top:0}.org-tree>ul>li:before,.org-tree>ul>li:after{display:none}.org-card{position:relative;z-index:1;min-width:132px;max-width:180px;background:#fff;border-radius:3px;text-align:center;box-shadow:0 1px 3px #141e321f;overflow:hidden}.org-card>span{display:block;padding:5px 12px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.org-card strong{display:block;padding:8px 12px 10px;color:#243044;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.3}.org-card em,.org-people{display:block;width:100%;margin-top:-6px;padding:0 12px 8px;color:#2563eb;font-style:normal;font-size:11px;font-weight:700}.org-people{border:0;background:transparent;cursor:pointer;text-decoration:underline}.org-card em{color:#7b8798;font-weight:600;text-decoration:none}.modal-card.org-people-modal{width:min(1100px,100%)}.org-card.company>span{background:#3b6dff}.org-card.location>span{background:#ee4b9c}.org-card.branch>span{background:#f48fb8}.org-card.department>span{background:#3dcedf}.org-stack{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative}.org-stack:before{content:"";position:absolute;top:8px;bottom:8px;left:50%;border-left:2px solid #d5d8de}.branch-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.org-setup{gap:8px}.org-setup .card{padding:12px}.org-setup .card+.card{margin-top:0}.org-setup h2{margin:0 0 8px}.org-setup .form-grid{gap:8px}.org-setup .form-grid+.form-grid{margin-top:8px}.org-setup .muted{margin:0}.org-setup .split{gap:8px;padding:0 0 8px}.org-setup .branch-block{margin-top:8px;padding-top:8px}.org-setup .dept-list{margin-top:6px;gap:4px}.dept-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.dept-list li{display:flex;justify-content:space-between;gap:12px;align-items:center}.dept-list select{width:auto;min-width:180px}.card h3{font-size:15px;margin:16px 0 6px}.sort-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:700;cursor:pointer;padding:0}.sort-btn i{font-style:normal;color:#cbd5e1}.data-grid tbody tr:hover td{background:#f8fbff}.data-grid tbody tr.selected td{background:#eef6ff}.data-grid td.sticky,.data-grid th.sticky{position:sticky;left:0;z-index:1;background:#fff}.data-grid th.sticky{background:#f8fafc;z-index:2}.data-grid tr.selected td.sticky{box-shadow:inset 3px 0 #3b82f6;background:#eef6ff;color:#2563eb;font-weight:700}.pill{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;color:#475569;border-radius:999px;padding:3px 8px;font-size:12px}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#94a3b8}.grid-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;color:var(--muted);font-size:13px}.pager{display:flex;gap:6px;align-items:center}.pager .btn{min-width:36px;padding:0 14px}.page-size{display:flex;align-items:center;gap:8px;font-weight:500}.page-size select{width:auto;border-radius:10px;padding:6px 8px}.data-grid td .btn{height:36px;padding:0 16px}.data-grid .empty{text-align:center;color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e8eef5;font-size:12px;text-transform:capitalize}.badge.yet_to_punch{background:#f1f5f9;color:#475569}.badge.present,.badge.approved,.badge.active,.badge.hired,.badge.exceptional,.badge.earned{background:#e6f4ec;color:#1f7a52}.badge.late,.badge.pending,.badge.below,.badge.sick,.badge.applied{background:#fbf1dc;color:#8a5a10}.badge.absent,.badge.rejected,.badge.cancelled,.badge.inactive,.badge.poor{background:#fbe9ec;color:#9d3048}.badge.withdrawn{background:#eef2f6;color:#475569}.leave-actions{display:flex;flex-wrap:wrap;gap:6px}.leave-actions .btn{height:32px;padding:0 10px;width:auto;flex:none}.badge.half_day,.badge.meets,.badge.screened,.badge.casual{background:#ecf1fd;color:#2246c0}.badge.on_leave,.badge.interview,.badge.exceeds{background:#f3e8ff;color:#6b21a8}.badge.offer{background:#dbeafe;color:#1d4ed8}.badge.on_duty{background:#ccfbf1;color:#0f766e}.status-select{font-weight:600}.status-select.on_duty,.status-select option.on_duty{background:#ccfbf1;color:#0f766e;border-color:#5eead4}.status-select.yet_to_punch,.status-select option.yet_to_punch{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.status-select.present,.status-select.hired,.status-select option.present,.status-select option.hired{background:#dcfce7;color:#166534;border-color:#86efac}.status-select.late,.status-select.applied,.status-select option.late,.status-select option.applied{background:#ffedd5;color:#9a3412;border-color:#fdba74}.status-select.absent,.status-select.rejected,.status-select option.absent,.status-select option.rejected{background:#ffe4e6;color:#9f1239;border-color:#fda4af}.status-select.half_day,.status-select.screened,.status-select option.half_day,.status-select option.screened{background:#e0e7ff;color:#3730a3;border-color:#a5b4fc}.status-select.on_leave,.status-select.interview,.status-select option.on_leave,.status-select option.interview{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}.status-select.offer,.status-select option.offer{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.status-select option{font-weight:600}.status-select option:checked{box-shadow:inset 4px 0 0 currentColor}.split{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.option-example{display:block;margin-top:2px;font-weight:400}.expense-claim>div:first-child{flex:1;min-width:0}.expense-claim.over-limit{border-left:4px solid var(--red);padding-left:12px;background:#fff7f7}.limit-flag{display:inline-block;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;font-size:12px;font-weight:700;white-space:nowrap}.limit-flag:before{content:"⚑ "}.limit-text{color:#b91c1c;font-weight:700}.limit-warning{border:1px solid #fca5a5;background:#fef2f2;color:#991b1b;border-radius:12px;padding:10px 12px}.limit-warning label{margin-top:8px;color:#991b1b}.btn.over-btn{background:#fff;border-color:var(--red);color:#b91c1c}.btn.over-btn:hover{background:#fef2f2}.expense-type-list{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.expense-type-list td input[type=text],.expense-type-list td input:not([type]){max-width:none;width:100%}.expense-claim .route-map{margin-top:10px;height:260px}.place-search{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0}.place-search .place-current{align-self:flex-start;font-size:13px}.place-field{position:relative}.place-field>label{display:grid}.place-list{position:absolute;z-index:1200;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 12px 28px #10182824;max-height:280px;overflow-y:auto}.place-list li{padding:8px 10px;border-radius:8px;font-size:13px;line-height:1.35;cursor:pointer}.place-list li.on,.place-list li:hover{background:var(--accent-soft);color:var(--accent)}.route-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcfe}.route-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.route-figures>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.route-figures strong{font-size:18px}.route-map{height:340px;width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--line);z-index:0}.ocr-box{border:1px solid #c7d7fe;background:var(--accent-soft);border-radius:12px;padding:10px 12px}.ocr-box p{margin:6px 0 0}.ocr-box pre{white-space:pre-wrap;max-height:220px;overflow-y:auto;font-size:12px;background:var(--panel);padding:8px;border-radius:8px;margin:6px 0 0}@media(max-width:720px){.route-figures{grid-template-columns:1fr}.route-map{height:260px}}.banner{background:#fbf1dc;color:#8a5a10;border:1px solid #f3e0b5;border-radius:14px;padding:10px 12px}.qr svg{width:220px;height:220px}.note{display:flex;justify-content:space-between;gap:12px;align-items:center}.notice-detail th{width:11rem;text-transform:none;letter-spacing:0;font-size:13px}.notice-detail td{white-space:pre-wrap}.note.read{opacity:.7}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-tile h2{margin-bottom:6px}.admin-tile p{color:var(--muted)}.admin-tile:hover{border-color:#c7d2fe}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:6}.toast{background:#0f766e;color:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--shadow);max-width:320px}.toast.bad{background:#be123c}.boot{min-height:100vh;display:flex;gap:10px;align-items:center;justify-content:center;color:var(--muted);background:var(--paper)}.mobile-nav{display:none}.nav-toggle{display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;border-radius:10px;color:#1e293b;cursor:pointer;flex:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a66;z-index:25}.loadbar-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#ffffffc7}.ring-progress{position:relative;width:148px;height:148px}.ring-progress svg{transform:rotate(-90deg)}.ring-track,.ring-value{fill:none;stroke-width:18;stroke-linecap:round}.ring-track{stroke:#e7f7ff}.ring-value{stroke:url(#ring-cyan);transition:stroke-dasharray .2s ease}.ring-progress strong{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:22px;color:#0891b2}.progress-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:6px}.progress-meta span{color:var(--muted);font-weight:600}.progress-track{height:10px;background:#e8eef6;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d5efc,#3b82f6);transition:width .2s ease}.progress.good .progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a)}.progress.warn .progress-fill{background:linear-gradient(90deg,#f59e0b,#ea580c)}.progress-card{margin-bottom:14px}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;margin-right:8px;flex:none;animation:spin .7s linear infinite;vertical-align:-2px}.boot .spinner{margin:0}button.is-busy,a.is-busy,select.is-busy,html.is-loading{cursor:progress}select.is-busy{outline:2px solid var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.site-footer{grid-column:1 / -1;grid-row:3;display:flex;align-items:center;justify-content:center;height:40px;background:#fff;border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:0 16px;overflow:hidden}.site-footer p{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:14px;margin:0;white-space:nowrap;overflow:hidden}.site-footer a{color:var(--ink);font-weight:600;white-space:nowrap}.login-brand-logo{height:46px;width:auto;max-width:220px;object-fit:contain;margin:0 0 6px;background:#fff}.login-brand-name{margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0}.content{flex:1}.card:has(table){overflow-x:auto}@keyframes spin{to{transform:rotate(360deg)}}.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle at top left,#e0e7ff,#f4f7fb 42%);padding:24px 24px 64px}.auth .site-footer{position:fixed;left:0;right:0;bottom:0}.auth-card{background:#fff;width:min(440px,100%);padding:28px;border-radius:24px;display:grid;gap:12px;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-aside{display:none}.login-stage{height:100vh;min-height:0;overflow:hidden;gap:10px;justify-content:center;background:radial-gradient(circle at 18% 20%,rgba(47,95,224,.16),transparent 28%),radial-gradient(circle at 82% 78%,rgba(47,95,224,.1),transparent 32%),var(--paper);padding:16px 20px 52px}.login-shell{width:min(820px,100%);height:min(460px,calc(100vh - 108px));min-height:0;display:grid;grid-template-columns:minmax(240px,.9fr) 1.1fr;background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.login-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:18px 28px 14px;background-color:var(--panel);background-image:radial-gradient(#e8eaef 1px,transparent 1px);background-size:14px 14px;overflow:auto}.login-brand{margin:0 0 8px;color:var(--accent);font-size:26px;font-weight:700;letter-spacing:.08em}.login-avatar-art{width:64px;height:64px;margin-bottom:8px}.login-heading{width:min(280px,100%);margin-bottom:10px}.login-heading h2{margin:0;font-size:22px;color:var(--ink)}.login-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px}.login-heading p.login-caption{display:block;line-height:1.4}.signup-shell{height:min(560px,calc(100vh - 88px))}.signup-shell .login-avatar-art{width:52px;height:52px;margin-bottom:4px}.signup-shell .login-brand{margin-bottom:4px;font-size:24px}.signup-shell .login-heading{margin-bottom:8px}.signup-shell .login-field{height:36px;margin-bottom:6px}.login-heading button{border:0;background:none;padding:0;color:var(--muted);font:inherit;cursor:pointer}.login-heading button.is-on{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.login-field{width:min(280px,100%);display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0 14px;height:40px;border:1.5px solid #b9caf5;border-radius:999px;background:#fff;color:var(--accent)}.login-field svg{width:16px;height:16px;flex:none}.login-field input{width:100%;border:0;outline:none;background:transparent;font:inherit;color:var(--ink)}.login-field input::placeholder{color:#a3a8b8}.login-note{width:min(280px,100%);margin:0 0 6px;color:var(--muted);font-size:12px}.login-text{border:0;background:none;color:var(--accent);font:inherit;cursor:pointer;margin-bottom:6px}.login-submit{width:min(280px,100%);height:40px;margin-top:4px;border:0;border-radius:999px;color:#fff;font:inherit;font-weight:700;cursor:pointer;background:var(--accent);box-shadow:0 8px 16px #2f5fe038}.login-submit:disabled{cursor:wait;opacity:.8}.login-trial{margin-top:10px;color:var(--accent);font-size:14px;font-weight:700;text-align:center}.login-art{background:linear-gradient(180deg,#f7f9fe 0%,var(--accent-soft) 100%);display:grid;place-items:center;min-height:0;padding:12px}.login-scene{width:min(100%,420px);max-height:100%;height:auto}.login-forgot{flex:none;height:36px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;box-shadow:var(--shadow)}@media(max-width:800px){.login-shell{grid-template-columns:1fr;height:auto;max-height:calc(100vh - 108px)}.login-art{display:none}.login-panel{padding:20px 16px}}.demo{display:grid;gap:8px}.demo div{background:#f8fafc;border-radius:12px;padding:8px 10px}.demo span{display:block;color:var(--muted);font-weight:400;font-size:13px}@media(max-width:1280px){.kpi-row{grid-template-columns:repeat(3,1fr)}.bottom-row,.bottom-row.personal,.chart-row{grid-template-columns:1fr 1fr}.donut-wrap{grid-template-columns:160px 1fr}}@media(max-width:1080px){.shell,.shell.nav-collapsed{grid-template-columns:minmax(0,1fr)}.workspace{grid-column:1}.top-company{max-width:100%}.sidebar,.shell.nav-collapsed .sidebar{position:fixed;top:58px;left:0;z-index:30;width:min(280px,88vw);height:calc(100vh - 98px);visibility:visible;overflow:auto;padding:18px 16px;border-right:1px solid var(--line);pointer-events:none;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:none;pointer-events:auto}.welcome h1{font-size:16px}.search{width:auto;min-width:0;flex:1}.top-tools{min-width:0}}.salary-sheet{margin:14px 0 8px;overflow-x:auto}.salary-titles,.salary-line{display:grid;grid-template-columns:minmax(140px,1.15fr) 132px minmax(210px,1.45fr) minmax(150px,1fr) 108px 64px 88px;gap:8px;align-items:center;min-width:920px}.salary-titles{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--muted)}.salary-line{margin-bottom:8px}.salary-line label{display:block;font-weight:400}.salary-line .cell-label{display:none}.salary-line .value-field{position:relative;display:block}.salary-line .value-field input{padding-right:26px}.salary-line .value-field input::-webkit-outer-spin-button,.salary-line .value-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.salary-line .value-mark{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none}.salary-line .on-top{display:flex;justify-content:center}.salary-line .on-top input{width:16px;height:16px;margin:0}.salary-line .btn{justify-self:end}.pt-sheet{margin:12px 0}.pt-titles,.pt-line{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) 88px;gap:8px;align-items:center}.pt-titles{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--muted)}.pt-line{margin-bottom:8px}.pt-line label{display:block;font-weight:400}.pt-line .cell-label{display:none}.pt-line .btn{justify-self:end}@media(max-width:800px){.loan-setup{grid-template-columns:1fr}.loan-list select{height:160px}.topbar{flex-wrap:nowrap}.search,.top-company,.date-pill{display:none}.kpi-row,.mini-kpis,.chart-row,.bottom-row,.bottom-row.personal,.admin-grid,.form-grid,.setup-split,.role-tabs,.access-row{grid-template-columns:1fr}.salary-titles{display:none}.salary-line{grid-template-columns:1fr 1fr;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px}.salary-line .cell-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--muted)}.salary-line .span-2{grid-column:1 / -1}.salary-line .on-top{justify-content:flex-start}.pt-titles{display:none}.pt-line{grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;padding:12px}.pt-line .cell-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--muted)}.donut-wrap,.perf-layout,.perf-banner,.checkin-strip,.note,.split{grid-template-columns:1fr;display:grid}.checkin-strip,.note,.split,.perf-banner{display:flex;flex-direction:column;align-items:flex-start}.perf-foot{flex-wrap:wrap}.funnel li,.funnel.wide li{grid-template-columns:78px 1fr 32px}.mobile-nav{display:flex;gap:8px;overflow-x:auto;padding:0 16px 8px}.mobile-nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--ink)}.mobile-nav a.active{background:var(--accent);color:#fff}.content,.topbar{padding-left:16px;padding-right:16px}.filters label{min-width:0;width:100%}.report-bar{flex-wrap:wrap}.filters.report-bar{flex-wrap:nowrap;overflow-x:auto}.filters.report-bar:has(.place-block){flex-wrap:wrap;overflow-x:visible}.org-filters{grid-template-columns:1fr}.filters.report-bar label,.report-bar label{width:auto}.report-bar a.btn{margin-left:0}.grid-toolbar{flex-wrap:wrap}.page-head,.card-head{flex-direction:column;align-items:flex-start}.actions .btn,.checkin-strip .btn{width:100%;justify-content:center}.template-save{flex-wrap:wrap;max-width:none}.template-save .btn{width:auto}}.access{display:grid;gap:14px}.access-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.access-head h2{margin-bottom:6px}.access-head p,.access-row p{color:var(--muted);max-width:720px}.access-score{min-width:140px;text-align:right}.access-score strong{display:block;font-size:28px;color:var(--ink)}.access-score span{color:var(--muted);font-size:13px}.role-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role-tabs button{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:4px}.role-tabs button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.role-tabs strong{color:var(--ink)}.role-tabs span{color:var(--muted);font-size:12px;line-height:1.4}.access-group .card-head{align-items:center}.access-table{display:grid}.access-row{display:grid;grid-template-columns:minmax(220px,.9fr) 1.4fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.access-actions{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;align-items:center}.access-actions label,.right-lock{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#f7f8fa;font-size:13px;color:var(--ink);white-space:nowrap;flex:none}.access-actions input{width:16px;height:16px;margin:0;padding:0;border:0;border-radius:4px;accent-color:var(--accent);flex:none}.right-lock{background:#ecf1fd;color:#2246c0}.right-lock em{font-style:normal;font-size:11px}.access-bar{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:12px;background:#f7f8faf0;padding:10px 0}@media(max-width:520px){.welcome h1{font-size:16px}.welcome p{font-size:12px}.kpi strong,.payroll-total{font-size:24px}.scope-tabs{width:100%;overflow-x:auto}.scope-tabs a{flex:none}.quick-grid{grid-template-columns:1fr 1fr}}.shell.hrpay{grid-template-rows:minmax(0,1fr) auto;background:#f5f7fb;font-family:Inter,General Sans,system-ui,sans-serif}.shell.hrpay .topbar,.hr-menu{display:none}.shell.hrpay .sidebar{grid-row:1;background:#0c2340;border-right:0;color:#d7e0ec;padding:18px 12px 14px;display:flex;flex-direction:column;overflow:hidden}.shell.hrpay .hr-brand{display:flex;align-items:center;justify-content:center;flex:none;padding:0 0 14px;background:#0c2340}.shell.hrpay .hr-logo{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:760 / 176;object-fit:contain;border-radius:8px}.shell.hrpay .hr-brand strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.shell.hrpay .hr-brand small{display:block;color:#8ea0b8;font-size:11px;font-weight:500;margin-top:2px}.shell.hrpay .sidebar nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.shell.hrpay .sidebar .icon{width:18px;height:18px}.shell.hrpay .sidebar nav a,.shell.hrpay .sidebar nav button.nav-parent,.shell.hrpay .sidebar nav button.nav-soon{color:#d5deea;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:500;gap:12px}.shell.hrpay .sidebar nav a:hover,.shell.hrpay .sidebar nav button.nav-parent:hover,.shell.hrpay .sidebar nav button.nav-soon:hover{background:#ffffff14;color:#fff}.shell.hrpay .sidebar nav a.active,.shell.hrpay .sidebar nav button.nav-parent.active{background:#2f6bff;color:#fff}.shell.hrpay .nav-children{margin:2px 0 6px 16px;padding-left:8px;border-left:1px solid rgba(255,255,255,.14)}.shell.hrpay .sidebar nav a.nav-sub,.shell.hrpay .sidebar nav button.nav-parent.nav-sub{padding:5px 8px;font-size:12.5px;font-weight:500;color:#a9b8cc;border-radius:8px;gap:8px}.shell.hrpay .sidebar nav a.nav-sub .icon,.shell.hrpay .sidebar nav button.nav-sub .icon{width:14px;height:14px;opacity:.8}.shell.hrpay .sidebar nav a.nav-sub .nav-text,.shell.hrpay .sidebar nav button.nav-sub .nav-text{font-size:12.5px;font-weight:500;line-height:18px}.shell.hrpay .sidebar nav a.nav-sub:hover,.shell.hrpay .sidebar nav button.nav-parent.nav-sub:hover{background:#ffffff0f;color:#fff}.shell.hrpay .sidebar nav a.nav-sub.active,.shell.hrpay .sidebar nav button.nav-parent.nav-sub.active{background:#2f6bff2e;color:#fff;box-shadow:inset 2px 0 #7aa2ff}.shell.hrpay .nav-caret{border-color:currentColor}.shell.hrpay .hr-side-foot{display:grid;gap:8px;flex:none;padding-top:12px;background:#0c2340}.shell.hrpay .hr-side-foot label{display:grid;gap:6px;color:#9fb0c6;font-size:12px}.shell.hrpay .hr-org{display:grid;gap:6px}.shell.hrpay .hr-org-title{color:#9fb0c6;font-size:12px}.shell.hrpay .hr-org-card{display:grid;gap:2px;border-radius:10px;background:#163259;padding:10px 12px}.shell.hrpay .hr-org-card strong{color:#fff;font-size:14px;font-weight:600;overflow-wrap:anywhere}.shell.hrpay .hr-org-card small{color:#9fb0c6;font-size:12px}.shell.hrpay .hr-side-foot select,.shell.hrpay .hr-side-foot button{width:100%;border:0;border-radius:10px;background:#163259;color:#fff;padding:10px 12px;text-align:left}.shell.hrpay .workspace{grid-column:2;grid-row:1;background:#f3f6fb;min-width:0;overflow:auto}.shell.hrpay .content{padding:14px 14px 20px;min-width:0;max-width:100%}.shell.hrpay .site-footer{display:flex;grid-column:1 / -1;grid-row:2}.shell.hrpay .nav-soon{display:flex;align-items:center;width:100%;background:transparent;border:0;text-align:left;cursor:default}.workforce{display:grid;gap:12px;min-width:0;max-width:100%;font-family:Inter,General Sans,system-ui,sans-serif;color:#101828}.workforce>*{min-width:0}.workforce h1,.workforce h2,.workforce h3{font-family:Inter,General Sans,system-ui,sans-serif;font-weight:800;letter-spacing:-.03em;color:#101828}.wf-head,.wf-roll-head,.wf-page{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.wf-head>div:first-child,.wf-roll-head h2{min-width:0;flex:1 1 180px}.wf-head h1{font-size:20px;line-height:1.2}.wf-head p{margin-top:2px;color:#98a2b3;font-size:13px;font-weight:400}.wf-scope{color:#2f6bff!important;font-size:12px!important}.wf-tools,.wf-roll-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto}.wf-roll-head{margin-bottom:12px}.wf-roll-tools{gap:12px}.wf-pill,.wf-search{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px;box-sizing:border-box;background:#fff;border:1px solid #e6eaf0;border-radius:10px;color:#344054;font-size:13px;font-weight:500}.workforce .wf-pill select,.workforce .wf-pill input,.workforce .wf-search input{width:auto;height:34px;margin:0;padding:0 2px;border:0;border-radius:0;background:transparent;color:#344054;font:inherit;line-height:34px;outline:none;box-shadow:none}.wf-pill.tiny{height:28px;padding:0 10px;font-size:12px;color:#667085}.wf-date input{width:9.2rem;color-scheme:light;cursor:pointer}.wf-search{width:240px}.wf-search svg{width:16px;height:16px;color:#98a2b3;flex:none}.wf-search input{flex:1;min-width:0;width:100%}.wf-bell,.wf-avatar{width:36px;height:36px;flex:none}.wf-bell{position:relative;border-radius:999px;display:grid;place-items:center;background:#fff;border:1px solid #e6eaf0;color:#344054}.wf-bell svg{width:18px;height:18px}.bell-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;background:#ef4444;color:#fff;border:2px solid #fff;border-radius:999px;font-style:normal;font-size:10px;font-weight:800;line-height:1}.wf-user{display:flex;align-items:center;gap:8px;height:36px;font-weight:600;font-size:14px;white-space:nowrap}.wf-profile{position:relative}.wf-profile .wf-user{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer}.wf-profile-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:200px;display:grid;gap:4px;background:#fff;border:1px solid #e6eaf0;border-radius:12px;padding:12px;box-shadow:0 12px 24px #1018281f}.wf-profile-menu strong{font-size:14px;color:#101828}.wf-profile-menu small{font-size:12px;color:#667085;overflow-wrap:anywhere}.wf-profile-menu button{margin-top:8px;border:1px solid #fecdca;border-radius:999px;background:#fff;color:#d92d20;font-weight:600;padding:8px 12px;cursor:pointer}.wf-profile-menu button:hover{background:#fef3f2}.wf-avatar{border-radius:999px;display:grid;place-items:center;background:#2f6bff;color:#fff;font-weight:700}.wf-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}.wf-kpi{background:#fff;border:1px solid #eef1f6;border-radius:12px;padding:10px 8px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 2px #1018280a;min-width:0;min-height:72px}.wf-kpi>span:last-child{min-width:0}.wf-kpi p{color:#98a2b3;font-size:11px;font-weight:700;line-height:1.2}.wf-kpi strong{display:block;font-size:18px;line-height:1.15;font-weight:700;letter-spacing:-.03em}.wf-kpi small{display:block;color:#98a2b3;font-size:11px;line-height:1.2}.wf-kpi-icon{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;flex:none}.wf-kpi-icon svg{width:18px;height:18px}.wf-kpi.blue .wf-kpi-icon{background:#e8f0ff;color:#2f6bff}.wf-kpi.green .wf-kpi-icon{background:#e7f8ee;color:#16a34a}.wf-kpi.red .wf-kpi-icon{background:#fdecec;color:#ef4444}.wf-kpi.amber .wf-kpi-icon{background:#fff1e6;color:#f59e0b}.wf-kpi.yellow .wf-kpi-icon{background:#fff6d8;color:#eab308}.wf-kpi.violet .wf-kpi-icon{background:#f3e8ff;color:#a855f7}.wf-kpi.sky .wf-kpi-icon{background:#e7f5ff;color:#0ea5e9}.workforce .card{border:1px solid #eef1f6;border-radius:14px;box-shadow:0 1px 2px #1018280a;padding:12px}.wf-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:12px}.wf-card-head h2,.wf-roll-head h2{font-size:14px;line-height:1.3;margin:0}.wf-mid{display:block;min-width:0}.wf-mid-table{width:calc(100% + 24px);margin-left:-12px;border-collapse:separate;border-spacing:12px 0;table-layout:fixed}.wf-mid-table td{width:33.33%;vertical-align:top;background:#fff;border:1px solid #eef1f6;border-radius:14px;box-shadow:0 1px 2px #1018280a;padding:12px;overflow:visible;text-align:left}.wf-donut{display:flex;align-items:center;justify-content:flex-start;gap:16px}.wf-donut svg{width:132px;height:132px;flex:none}.wf-donut svg text:first-of-type{font-size:22px;font-weight:700;fill:#101828;font-family:Inter,sans-serif}.wf-donut svg text:last-of-type{font-size:11px;fill:#98a2b3;font-family:Inter,sans-serif}.wf-donut ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.wf-donut li{display:grid;grid-template-columns:8px 72px max-content;gap:8px;align-items:center;font-size:13px;color:#344054;white-space:nowrap}.wf-donut li i{width:8px;height:8px;border-radius:99px}.wf-donut li strong{font-weight:700;color:#101828}.wf-mid .wf-card-head{align-items:center;min-height:32px;margin-bottom:14px;gap:8px;flex-wrap:nowrap}.wf-mid .wf-card-head h2{flex:1 1 auto;min-width:0;font-size:13px;white-space:nowrap;overflow:visible;text-overflow:unset}.wf-today{position:relative;display:inline-flex;align-items:center;height:28px;padding:0 22px 0 10px;border:1px solid #e6eaf0;border-radius:8px;background:#fff;color:#344054;font-size:12px;font-weight:600;flex:none}.wf-today:after{content:"";position:absolute;right:8px;top:11px;border:4px solid transparent;border-top-color:#667085}.wf-today input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.wf-legend{display:flex;gap:12px;align-items:center;justify-content:flex-start;white-space:nowrap;color:#667085;font-size:12px;font-weight:500}.swatch{width:8px;height:8px;border-radius:99px;display:inline-block}.swatch.present{background:#22c55e}.swatch.absent{background:#ef4444}.wf-dept-head,.wf-depts li{display:grid;grid-template-columns:minmax(64px,1fr) minmax(36px,1fr) 76px 72px;gap:8px;align-items:center}.wf-dept-head{margin-bottom:10px;color:#98a2b3;font-size:12px;font-weight:600}.wf-dept-head span{white-space:nowrap}.wf-dept-head span:nth-child(3),.wf-dept-head span:nth-child(4),.wf-depts strong{text-align:right;white-space:nowrap}.wf-depts{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:start}.wf-depts li{font-size:13px;color:#344054;font-weight:600}.wf-depts li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:#eef2f6}.wf-bar b,.wf-bar em{display:block;height:8px}.wf-bar b{background:#22c55e}.wf-depts strong{font-size:12px;text-align:right;color:#16a34a;font-weight:700}.wf-depts strong.absent{color:#ef4444}.wf-approvals{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.wf-approval{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:0;padding:12px;border-radius:14px;color:inherit;border:0}.wf-approval.blue{background:#eef4ff}.wf-approval.amber{background:#fff6eb}.wf-approval.green{background:#eefbf3}.wf-approval.rose{background:#fdeff4}.wf-approval strong{display:block;font-size:13px;font-weight:800}.wf-approval small{display:block;color:#667085;font-size:12px;line-height:1.35}.wf-approval em{font-style:normal;color:#98a2b3;font-size:18px}.wf-approval-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff}.wf-approval-icon svg{width:18px;height:18px}.wf-approval-icon.blue{color:#2f6bff}.wf-approval-icon.amber{color:#f59e0b}.wf-approval-icon.green{color:#16a34a}.wf-approval-icon.rose{color:#e11d48}.workforce .table-wrap{max-width:100%;overflow-x:auto}.muster{width:max-content;min-width:100%;font-size:13px;border-collapse:separate}.muster th,.muster td{text-align:center;white-space:nowrap;vertical-align:middle}.muster th{background:#f8fafc;color:#667085;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}.muster th:nth-child(-n+4),.muster td:nth-child(-n+4){text-align:left}.muster th:nth-child(n+5),.muster td:nth-child(n+5){padding-left:16px;padding-right:16px}.muster td{color:#344054}.muster .pill{display:inline-flex;min-width:36px;justify-content:center;padding:4px 8px;border-radius:8px;font-weight:650}.muster .pill.present{background:#e7f8ee;color:#15803d}.muster .pill.absent{background:#fdecec;color:#dc2626}.muster .pill.half{background:#fff4e5;color:#d97706}.muster .pill.leave{background:#fff6d8;color:#a16207}.muster .pill.unmarked{background:#f3e8ff;color:#9333ea}.muster .pill.ot{background:#e7f5ff;color:#0369a1}.muster .pill.fine{background:#f1f5f9;color:#64748b}.wf-page{margin-top:12px;color:#98a2b3;font-size:13px}.wf-page button{min-width:36px;height:36px;border-radius:999px;border:1px solid #e6eaf0;background:#fff;margin-left:4px;padding:0 14px;color:#344054;font-size:14px;font-weight:600}.wf-page button.on{background:#2f6bff;color:#fff;border-color:#2f6bff}.wf-page button:disabled{opacity:.4}@media(max-width:900px){.wf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-approvals{grid-template-columns:1fr}}@media(max-width:800px){.doc-grid,.wf-kpis,.wf-approvals{grid-template-columns:1fr}.wf-mid-table,.wf-mid-table tbody,.wf-mid-table tr,.wf-mid-table td{display:block;width:100%}.wf-mid-table{border-spacing:0;margin:0}.wf-mid-table td+td{margin-top:12px}.shell.hrpay{grid-template-columns:minmax(0,1fr)}.shell.hrpay .sidebar{position:fixed;inset:0 auto 0 0;width:248px;transform:translate(-105%)}.shell.hrpay .sidebar.open{transform:none}.shell.hrpay .workspace,.shell.hrpay .site-footer{grid-column:1}.hr-menu{display:inline-flex;margin-bottom:12px;border:0;border-radius:8px;background:#0c2340;color:#fff;padding:8px 12px}}.app-tabbar{display:none}@media(max-width:1080px){.shell.hrpay .sidebar{top:0;height:100dvh;width:min(320px,88vw);z-index:50;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.shell.hrpay .sidebar.open{transform:none;pointer-events:auto}}@media(max-width:800px){.shell,.shell.hrpay{height:100dvh;min-height:100dvh}.topbar{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.search{display:block;width:auto;min-width:0}.search input{font-size:16px}.mobile-nav,.hr-menu{display:none}.app-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(62px + env(safe-area-inset-bottom));padding:6px 6px env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px #1018280f}.app-tabbar a,.app-tabbar button{flex:1;min-width:0;border:0;background:transparent;color:#667085;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;border-radius:12px;cursor:pointer}.app-tabbar .icon{width:20px;height:20px}.app-tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tabbar a.active,.app-tabbar a.on,.app-tabbar button.on{color:var(--accent);background:var(--accent-soft)}.workspace,.shell.hrpay .workspace{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.shell.hrpay .content{padding-top:calc(12px + env(safe-area-inset-top))}.site-footer{height:auto;min-height:40px;padding:8px 12px calc(70px + env(safe-area-inset-bottom))}.site-footer p{white-space:normal;flex-wrap:wrap;gap:6px 12px;font-size:12px}.backdrop{z-index:45}.sidebar,.shell.hrpay .sidebar{z-index:50;bottom:0}.wf-search,.wf-tools,.wf-roll-tools{width:100%;max-width:100%}.wf-search{width:100%}.table-wrap,.card:has(table),.salary-sheet{-webkit-overflow-scrolling:touch}input,select,textarea{font-size:16px}.modal-back{padding:12px;align-items:end}.modal-card{width:100%;max-height:min(88dvh,760px);border-radius:16px 16px 0 0}.toasts{left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom))}.toast{max-width:none}.access-bar{bottom:calc(70px + env(safe-area-inset-bottom))}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions .btn{width:auto;flex:1 1 140px}body.nexus-app .topbar,body.nexus-app .site-footer{display:none}body.nexus-app .shell,body.nexus-app .shell.hrpay{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:#f5f7fb}body.nexus-app .workspace,body.nexus-app .shell.hrpay .workspace{grid-column:1;grid-row:1;padding:0 0 calc(78px + env(safe-area-inset-bottom));background:#f5f7fb}body.nexus-app .content{padding:18px 20px 8px;background:#f5f7fb}.app-tabbar{height:calc(74px + env(safe-area-inset-bottom));padding:8px 8px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #eef1f6;box-shadow:none}.app-tabbar a,.app-tabbar button{color:#98a2b3;background:transparent;gap:4px;font-size:11px;font-weight:600;border-radius:0}.app-tabbar a.active,.app-tabbar a.on,.app-tabbar button.on{color:#4f46e5;background:transparent}.app-tabbar .phone-icon{width:22px;height:22px}}.nexus{display:grid;gap:18px;color:#0f172a;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}.phone-icon{width:22px;height:22px;display:block}.nexus-head{display:grid;grid-template-columns:44px minmax(0,1fr) 40px 44px;align-items:center;gap:12px}.nexus-logo{width:44px;height:44px;border-radius:14px;background:#111827;color:#7dd3fc;display:grid;place-items:center}.nexus-logo svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nexus-brand strong{display:block;font-size:16px;line-height:1.15;font-weight:800;letter-spacing:-.03em}.nexus-brand small{display:block;margin-top:1px;color:#98a2b3;font-size:12px;font-weight:500}.nexus-bell{position:relative;width:40px;height:40px;display:grid;place-items:center;color:#111827}.nexus-bell i{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:99px;background:#4f46e5;box-shadow:0 0 0 2px #f5f7fb}.nexus-avatar{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#f8d7c4,#c4b5fd 72%);color:#312e81;font-weight:800;font-size:14px;box-shadow:0 0 0 3px #fff,0 0 0 4px #e5e7eb}.nexus-hello{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nexus-hello h1{margin:0;font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.045em;color:#0f172a}.nexus-hello p{margin:6px 0 0;max-width:230px;color:#94a3b8;font-size:13px;line-height:1.35;font-weight:500}.nexus-remote{flex:0 0 auto;margin-top:4px;background:#eef2ff;color:#4f46e5;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;line-height:1}.nexus-shift{background:linear-gradient(180deg,#fff,#fff 68%,#e7fff4);border-radius:28px;padding:18px 16px 16px;box-shadow:0 10px 28px #0f172a0f}.nexus-status{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#16a34a;font-size:13px;font-weight:700}.nexus-status span{display:inline-flex;align-items:center;gap:6px;min-width:0}.nexus-status i{width:8px;height:8px;border-radius:99px;background:#cbd5e1;flex:0 0 auto}.nexus-status i.live{background:#22c55e;box-shadow:0 0 0 4px #22c55e29}.nexus-status .where{color:#16a34a;font-weight:600;font-size:12px}.nexus-status .phone-icon{width:14px;height:14px}.nexus-kicker{margin:22px 0 0;text-align:center;letter-spacing:.16em;font-size:11px;color:#9aa3b2;font-weight:700}.nexus-timer{margin:2px 0 14px;display:flex;justify-content:center;align-items:baseline;color:#4f46e5;letter-spacing:-.04em}.nexus-timer b{font-size:40px;line-height:1;font-weight:800}.nexus-timer i{font-style:normal;font-size:22px;font-weight:700;margin:0 8px 0 1px}.nexus-timer i:last-child{margin-right:0}.nexus-window{display:flex;width:fit-content;margin:0 auto;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#f3f4f6;color:#64748b;font-size:12px;font-weight:600}.nexus-window .phone-icon{width:14px;height:14px}.nexus-actions{display:grid;grid-template-columns:1fr 1.05fr;gap:10px;margin-top:18px}.nexus-actions button{height:52px;border:0;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;font-family:inherit}.nexus-actions .phone-icon{width:18px;height:18px}.nexus-actions .break{background:#eceff3;color:#334155}.nexus-actions .punch{background:#4f46e5;color:#fff}.nexus-actions button:disabled{opacity:.65}.nexus-block-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.nexus-block-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.03em;color:#0f172a}.nexus-block-head span{color:#98a2b3;font-size:13px;font-weight:500}.nexus-block-head a{color:#4f46e5;font-size:13px;font-weight:700;text-decoration:none}.nexus-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nexus-grid a,.nexus-grid button{position:relative;text-align:left;background:#fff;border:0;border-radius:22px;padding:14px 14px 16px;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:inherit;text-decoration:none;box-shadow:0 8px 22px #0f172a0d;font-family:inherit}.nexus-grid .well{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px}.nexus-grid .well .phone-icon{width:18px;height:18px}.nexus-grid .well.leave{background:#ece9ff;color:#4f46e5}.nexus-grid .well.pay{background:#14d9a1;color:#fff}.nexus-grid .well.claim{background:#e7f0ff;color:#3b82f6}.nexus-grid .well.people{background:#eef1f5;color:#64748b}.nexus-grid strong{font-size:15px;font-weight:800;letter-spacing:-.02em}.nexus-grid small{color:#94a3b8;font-size:12px;font-weight:500}.nexus-grid b{position:absolute;top:14px;right:12px;background:#ece9ff;color:#4f46e5;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.nexus-grid b.ok{background:#d1fae5;color:#059669}.nexus-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nexus-metrics article{background:#fff;border-radius:18px;padding:12px 10px 14px;box-shadow:0 8px 22px #0f172a0d}.nexus-metrics span{display:flex;align-items:center;justify-content:space-between;gap:4px;color:#94a3b8;font-size:12px;font-weight:600}.nexus-metrics .phone-icon{width:14px;height:14px}.nexus-metrics article:nth-child(1) .phone-icon{color:#6366f1}.nexus-metrics article:nth-child(2) .phone-icon{color:#f59e0b}.nexus-metrics article:nth-child(3) .phone-icon{color:#10b981}.nexus-metrics strong{display:block;margin-top:8px;font-size:22px;font-weight:800;letter-spacing:-.04em;color:#0f172a}.app-tabbar{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}:root{--card-edge: var(--accent);--card-line: #dbe3ee;--card-fill: #f8fafc}.card,.kpi,.data-grid,.data-grid.bare{border:1px solid var(--card-line);border-left:4px solid var(--card-edge);border-radius:12px}.card.skeleton{border-left-color:var(--card-line)}.card .notify-group,.card .fine-rule,.card .doc-card,.card .reminder-timing,.card .template-save.is-editing{border:1px solid var(--card-line);border-left:4px solid var(--card-edge);border-radius:12px;background:var(--card-fill)}.card .reminder-timing{margin-top:12px;padding:12px 14px}.card .doc-card{padding:12px 14px}.card .is-editing{border-left-width:4px;border-left-color:#f59e0b}.card>h2,.card>.card-head h2,.grid-title,.notify-group h3{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#475569}.card>h2{margin-bottom:10px}
