:root{--ink:#101016;--ink-2:#5e5e6e;--ink-3:#94949f;--bg:#f4f4f6;--card:#ffffff;--line:#e6e6eb;--line-soft:#f0f0f3;--accent:#5b53f2;--accent-soft:#eeedfe;--pos:#0e9f6e;--neg:#dc2b3a;--warn:#c17a1f;--info:#2563eb;--holiday:#0e7490;--sick:#a855f7;--earned:#db2777;--r-card:10px;--r-ctl:7px;--side-grad-1:#0b2f6b;--side-grad-2:#2f2470;--side-grad-3:#5a2d7a;--side-grad-4:#a1521f;--side-ink: rgba(255,255,255,.96);--side-ink-2: rgba(255,255,255,.72);--side-ink-3: rgba(255,255,255,.55);--side-line: rgba(255,255,255,.14);--side-hover-bg: rgba(255,255,255,.08);--side-active-bg: rgba(255,255,255,.14);--side-active-accent:#ded6ff;--top-grad-1:#eef3fc;--top-grad-2:#f1edfa;--top-grad-3:#fbf0e6;--auth-ring-line:rgba(255,255,255,.13);--auth-ring-line-faint:rgba(255,255,255,.07);--auth-ring-sweep:rgba(233,227,255,.85);--auth-glass-hi:rgba(255,255,255,.56);--auth-glass-lo:rgba(255,255,255,.32);--auth-glass-solid:rgba(255,255,255,.92);--auth-glass-line:rgba(255,255,255,.5);--auth-glass-spec:rgba(255,255,255,.7);--auth-glass-sheen:rgba(255,255,255,.28);--auth-glass-shadow:rgba(11,47,107,.28);--auth-ctl-bg:rgba(255,255,255,.4);--auth-ctl-line:rgba(255,255,255,.55);--auth-ink-2:#3a3a46;--auth-neg:#a3131f}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}svg{display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.eyebrow{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.figure{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1}.figure-sm{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:500;flex-shrink:0;white-space:nowrap}.delta svg{width:11px;height:11px;stroke:currentColor;stroke-width:2.2;fill:none}.up{color:var(--pos)}.down{color:var(--neg)}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{background:linear-gradient(135deg,var(--side-grad-1) 0%,var(--side-grad-2) 40%,var(--side-grad-3) 75%,var(--side-grad-4) 100%);color:var(--side-ink-2);border-right:1px solid var(--side-line);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:2px 8px 26px}.nav-close{display:none;color:var(--side-ink-2)}.nav-close:hover{background:var(--side-hover-bg);color:var(--side-ink)}.nav-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.nav-backdrop{display:none}.brand-name{font-size:14px;font-weight:600;letter-spacing:.14em}.brand img{filter:brightness(0) invert(1)}.side .eyebrow{padding:0 8px 8px;color:var(--side-ink-3)}.nav{display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-ctl);color:var(--side-ink-2);font-weight:500;position:relative;transition:background .12s ease,color .12s ease}.nav a:hover{background:var(--side-hover-bg);color:var(--side-ink)}.nav a[aria-current]{background:var(--side-active-bg);color:var(--side-ink)}.nav a[aria-current]:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:2px;background:var(--side-active-accent);border-radius:0 2px 2px 0}.nav svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none;flex:none}.nav .chev{margin-left:auto;width:13px;height:13px;color:var(--side-ink-3);transition:transform .16s ease}.nav-scroll{flex:1;overflow-y:auto;margin:0 -14px;padding:0 14px;scrollbar-width:thin}.grp{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;border-radius:var(--r-ctl);color:var(--side-ink-2);font-weight:500;transition:background .12s ease,color .12s ease}.grp:hover{background:var(--side-hover-bg);color:var(--side-ink)}.grp[aria-expanded=true]{color:var(--side-ink)}.grp[aria-expanded=true] .chev{transform:rotate(90deg);color:var(--side-ink-2)}.side .sub{list-style:none;overflow:hidden;margin:0 0 0 17px;border-left:1px solid var(--side-line);max-height:0;transition:max-height .2s ease}.side .group.open>.sub{max-height:320px}.nav .sub a{display:block;padding:7px 8px 7px 14px;font-size:12.5px;font-weight:400;color:var(--side-ink-2);border-radius:0 var(--r-ctl) var(--r-ctl) 0;position:relative}.nav .sub a:hover{background:var(--side-hover-bg);color:var(--side-ink)}.nav .sub a[aria-current]{background:var(--side-active-bg);color:var(--side-ink);font-weight:600;border-radius:var(--r-ctl)}.nav .sub a[aria-current]:before{content:"";position:absolute;left:-15px;top:6px;bottom:6px;width:3px;background:var(--side-active-accent);border-radius:2px}.side-foot{margin-top:auto;border-top:1px solid var(--side-line);padding-top:14px;position:relative}.who{display:flex;align-items:center;gap:9px;padding:4px 8px;width:100%;text-align:left}.side .who .name{color:var(--side-ink);font-weight:500;letter-spacing:-.01em}.side .who .role{font-size:11px;color:var(--side-ink-3)}.avatar{width:28px;height:28px;border-radius:50%;flex:none;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:600;letter-spacing:.02em;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-lg{font-size:20px}.detail-header{display:flex;align-items:center;gap:16px}.detail-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.detail-sub{color:var(--ink-3);font-size:12.5px;margin-top:2px}.badge{display:inline-flex;align-items:center;align-self:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.4}.badge-pos{background:#0e9f6e1f;color:var(--pos)}.badge-neg{background:#dc2b3a1f;color:var(--neg)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;margin-top:4px}.detail-field{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-value{font-size:13.5px;font-weight:500;color:var(--ink);word-break:break-word}.top{height:60px;background:linear-gradient(90deg,var(--top-grad-1),var(--top-grad-2),var(--top-grad-3));border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:5}.top h1{font-size:15px;font-weight:600;letter-spacing:-.015em}.top .sep{color:var(--line);font-weight:400}.top .crumb{color:var(--ink-3);font-size:12px}.top .mobile-toggle{display:none}.top-action{margin-left:auto}.icon-btn{width:32px;height:32px;border-radius:var(--r-ctl);display:grid;place-items:center;color:var(--ink-2);transition:background .12s ease;flex:none}.icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.icon-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;z-index:20;background:#1c1533;border:1px solid var(--side-line);border-radius:var(--r-card);padding:6px;display:flex;flex-direction:column;gap:2px}.user-dropdown.up{top:auto;bottom:calc(100% + 8px);left:0;right:auto}.user-dropdown .who{padding:6px 8px 10px}.user-dropdown hr{border:0;border-top:1px solid var(--side-line);margin:4px 0}.user-dropdown a,.user-dropdown button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-ctl);color:var(--side-ink-2);font-weight:500;text-align:left;transition:background .12s ease,color .12s ease}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--side-hover-bg);color:var(--side-ink)}.user-dropdown svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.6;fill:none}.user-dropdown .logout{color:var(--neg)}.user-dropdown .logout:hover{background:#dc2b3a29;color:var(--neg)}.main{padding:24px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr);align-content:start}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px;display:flex;flex-direction:column;min-width:0}.card-alert{border-color:var(--neg)}.row-payment-failed{background-color:#f8d7d7!important}.row-blocked{background-color:#f5dba6!important}.card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.card-head h2{font-size:13.5px;font-weight:600;letter-spacing:-.01em}.card-head p{font-size:12px;color:var(--ink-2);margin-top:2px}.kebab{margin-left:auto;color:var(--ink-3);width:22px;height:22px;border-radius:5px;display:grid;place-items:center;flex:none}.kebab:hover{background:var(--accent-soft);color:var(--accent)}.kebab svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;fill:none}.span3{grid-column:span 3}.span4{grid-column:span 4}.span5{grid-column:span 5}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:span 12}.target{margin-top:14px}.rail{height:3px;background:var(--line-soft);border-radius:2px;overflow:hidden}.rail span{display:block;height:100%;background:var(--accent);border-radius:2px}.rail-row{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:500;padding:8px 16px;border-radius:999px;transition:opacity .12s ease}.btn:hover{opacity:.86}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-quiet{background:none;color:var(--ink);border:1px solid var(--line)}.btn-quiet:hover{background:var(--bg);opacity:1}.btn-accent{background:var(--accent);color:#fff}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-holiday{background:#fbdb86;color:#7a4a06}.btn-holiday svg{stroke:#7a4a06}.btn-holiday.is-active{background:#f5c447}.segmented{display:inline-flex;align-self:flex-start;border:1px solid var(--line);border-radius:999px;overflow:hidden}.segmented .btn,.segmented .btn-quiet{border-radius:0;border:none}.segmented>*:not(:last-child){border-right:1px solid var(--line)}.table-cards{display:none}.table-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;position:relative;display:flex;flex-direction:column;gap:8px}.table-card-row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}.table-card-label{color:var(--ink-3);font-weight:500}.table-card-value{color:var(--ink);text-align:right;min-width:0}.table-card-kebab{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-ctl);color:var(--ink-3)}.table-card-kebab:hover{background:var(--accent-soft);color:var(--accent)}.table-card.clickable{cursor:pointer}.table-card.clickable:hover{border-color:var(--accent)}.table-cards-empty{color:var(--ink-3);font-size:12.5px;text-align:center;padding:24px 0}.table-cards.flat{gap:0}.table-cards.flat .table-card{background:none;border:0;border-radius:0;box-shadow:none;padding:16px 0;border-bottom:1px solid var(--line-soft)}.table-cards.flat .table-card:last-child{border-bottom:0}.table-cards.flat .table-card-kebab{top:22px;right:0}.plain-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card)}.plain-table{width:100%;border-collapse:collapse;font-size:12.5px}.plain-table th{height:44px;padding:0 12px;text-align:left;white-space:nowrap;background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--accent)}.plain-table td{height:52px;padding:0 12px;color:var(--ink);border-bottom:1px solid var(--line-soft)}.plain-table tbody tr:nth-of-type(2n){background:var(--bg)}.plain-table tbody tr:hover{background:var(--line-soft)}.plain-table tbody tr:last-child td{border-bottom:0}.plain-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.plain-table-scroll{max-height:300px;overflow-y:auto}.plain-table-scroll .plain-table th{position:sticky;top:0;z-index:1}.sal-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:30px}.sal-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sal-card-id{display:flex;align-items:center;gap:10px;min-width:0}.sal-card-name{font-size:13.5px;font-weight:600;color:var(--ink)}.sal-card-sub{font-size:12px;color:var(--ink-3);margin-top:1px}.sal-card-figure-row{display:flex;align-items:baseline;gap:8px}.sal-card-figure{font-size:20px;font-weight:600;letter-spacing:-.02em}.sal-card-figure-label{font-size:12px;font-weight:500;color:var(--ink-3)}.sal-card-empty{font-size:12.5px;font-weight:500;color:var(--ink-3)}.sal-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg);border-radius:var(--r-ctl);padding:10px 14px}.sal-card-stats.single{grid-template-columns:1fr}.sal-card-stat-label{font-size:11px;color:var(--ink-3)}.sal-card-stat-value{font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}.sal-card-footer{font-size:11.5px;color:var(--ink-3)}.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-soft);margin-top:auto}.strip div{padding:14px 16px 0;border-left:1px solid var(--line-soft)}.strip div:first-child{border-left:0;padding-left:0}.strip .lbl{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:11.5px;font-weight:500}.strip svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;fill:none;color:var(--ink-3)}.strip .val{font-size:19px;font-weight:600;letter-spacing:-.025em;margin-top:5px}.bars{display:flex;align-items:flex-end;gap:5px;height:88px;margin:4px 0 18px}.bars i{flex:1;background:var(--line);border-radius:2px 2px 0 0;transition:background .12s ease}.bars i.on{background:var(--accent)}.bars:hover i{background:var(--line)}.bars i:hover{background:var(--accent)}.axis{display:flex;gap:5px;font-size:10px;color:var(--ink-3);margin-top:-12px;margin-bottom:4px}.axis span{flex:1;text-align:center}.rows{display:flex;flex-direction:column;margin-top:6px}.row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line-soft)}.row:first-child{border-top:0}.glyph{width:26px;height:26px;border-radius:6px;background:var(--bg);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--ink-2)}.row .nm{font-weight:500;letter-spacing:-.01em}.row .stack{font-size:11px;color:var(--ink-3);margin-top:1px}.row .amt{text-align:right;font-weight:500;font-size:13px}.row .rail{width:74px;margin-top:5px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:16px 18px;min-width:0}.tile .eyebrow{margin-bottom:10px}.tile .foot{font-size:11px;color:var(--ink-3);margin-top:6px}.tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile.accent{background:var(--accent);border-color:var(--accent)}.tile.accent .eyebrow,.tile.accent .foot{color:#ffffffbf}.tile.accent .figure-sm{color:#fff}.tile-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile-row-4{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stack-col{grid-column:span 3;display:grid;gap:16px;align-content:start}.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}.switch-list{display:flex;flex-direction:column;gap:4px;margin-top:14px}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:12px}.switch-label{font-size:12.5px;color:var(--ink-2);font-weight:500}.switch{position:relative;display:inline-block;width:36px;height:20px;flex:none}.switch input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}.switch-track{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:background .15s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 2px #10101640}.switch input:checked+.switch-track{background:var(--pos)}.switch input:checked+.switch-track .switch-thumb{transform:translate(16px)}.emp-lookup-result{display:flex;align-items:center;gap:10px;margin-top:14px}.field.emp-code-row{flex-direction:row;align-items:center;gap:8px}.emp-code-row label{margin:0}.emp-code-static{font-size:13.5px;font-weight:600;color:var(--ink);margin:0}.emp-picker-list{display:flex;flex-direction:column;gap:4px;margin-top:14px;max-height:360px;overflow-y:auto}.emp-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;border:none;border-radius:var(--r-card);background:transparent;cursor:pointer;text-align:left;font:inherit}.emp-picker-row:hover{background:var(--bg)}.autocomplete-anchor{position:relative}.autocomplete-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 12px 32px #10101629;max-height:280px;overflow-y:auto;padding:4px}.autocomplete-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:none;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font:inherit}.autocomplete-row:hover,.autocomplete-row.active{background:var(--bg)}.autocomplete-name{font-size:12.5px;font-weight:600;color:var(--ink)}.autocomplete-sub{font-size:11px;color:var(--ink-3);margin-top:1px}.autocomplete-empty{padding:14px 10px;font-size:12.5px;color:var(--ink-3);text-align:center}.scope-list{display:flex;flex-direction:column;gap:2px;margin-top:14px;max-height:440px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-card)}.scope-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line-soft)}.scope-row:last-child{border-bottom:none}.scope-row:hover{background:var(--bg)}.scope-row.excluded{opacity:.5}.scope-row .field-check{height:auto}.scope-row-meta{margin-left:auto;font-size:11.5px;color:var(--ink-3);white-space:nowrap}.prev-structure{margin-top:14px}.prev-structure-value{font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}.prev-structure-empty{font-size:12.5px;color:var(--ink-3);margin-top:14px}.history-item{display:flex;gap:10px;align-items:flex-start}.history-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:5px;flex:none}.history-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.history-row{display:grid;grid-template-columns:110px 1fr 150px 110px;gap:14px;align-items:center;width:100%;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:inherit}.history-row:hover{border-color:var(--accent)}.history-row.active{border-color:var(--accent);background:var(--accent-soft)}.history-row-code{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700}.history-row-note,.history-row-eff{font-size:12.5px;color:var(--ink-2)}.history-row-ctc{text-align:right;font-size:13px;font-weight:600}.struct-card{padding:20px 22px}.struct-header{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.struct-header-row{display:flex;gap:24px;flex-wrap:wrap}.struct-header-field{flex:1;min-width:220px;flex-direction:row!important;align-items:center;gap:10px}.struct-header-field label{white-space:nowrap;width:120px;flex:none}.struct-header-field .emp-code-static,.struct-header-field .field-control{flex:1}.struct-date-field .field-control{flex:0 0 auto;width:160px}.struct-table-wrap{overflow-x:auto}.struct-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12.5px}.struct-table th{height:38px;padding:0 10px;text-align:right;white-space:nowrap;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--accent)}.struct-table thead tr:first-child th:first-child{text-align:left}.struct-table th.struct-group-head{text-align:center;border-left:1px solid var(--line)}.struct-table td:nth-child(4){border-left:1px solid var(--line)}.struct-table thead tr:last-child th:nth-child(3){border-left:1px solid var(--line)}.struct-table td{height:40px;padding:0 10px;color:var(--ink);text-align:right;border-bottom:1px solid var(--line-soft)}.struct-table td:first-child{text-align:left}.struct-cell-readonly{color:var(--ink-3)}.struct-cell-center{text-align:center}.struct-cell-danger{background:#fdecea!important;color:#c0392b}.struct-cell.editable input{height:32px;border:1px solid rgba(16,16,22,.16);border-radius:var(--r-ctl);background:var(--card);outline:0;width:100%;text-align:right;font-size:12.5px;color:var(--ink);padding:0 8px;box-sizing:border-box}.struct-cell.editable input:focus{border-color:var(--accent);background:var(--card)}.struct-cell.editable input::-webkit-outer-spin-button,.struct-cell.editable input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.struct-cell.editable input[type=number]{-moz-appearance:textfield;appearance:textfield}.struct-row-strong td{font-weight:700}.struct-row-green td{background:var(--accent-soft)}.struct-row-gray td{background:var(--bg)}.struct-row-blue td{background:#2563eb12}.struct-row-lblue td{background:#c17a1f12}.struct-row-navy td{background:var(--accent);color:#fff;font-weight:700}.struct-row-boxed td{border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}.struct-row-section td{height:30px;padding:0 10px;color:var(--ink);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}.struct-row-section.struct-row-blue td{background:#2563eb12}.struct-row-section.struct-row-lblue td{background:#c17a1f12}.struct-inline-toggle{display:inline-flex;padding:0}.struct-inline-toggle .switch-label{display:none}.struct-mobile-summary{display:none;flex-direction:column;gap:16px;padding:18px;border-radius:var(--r-card);background:linear-gradient(135deg,var(--side-grad-1) 0%,var(--side-grad-2) 40%,var(--side-grad-3) 75%,var(--side-grad-4) 100%);color:var(--side-ink)}.struct-mobile-summary-top{display:flex;align-items:center;gap:12px}.struct-mobile-avatar{width:48px;height:48px;border-radius:14px;flex:none;background:linear-gradient(135deg,#ffb08a,var(--side-grad-4));color:#241208;font-size:17px;font-weight:800}.struct-mobile-summary-id{flex:1;min-width:0}.struct-mobile-summary-name{font-size:16px;font-weight:700;color:var(--side-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.struct-mobile-summary-role{font-size:12.5px;color:var(--side-ink-2);margin-top:2px}.struct-mobile-summary-badge{background:var(--side-hover-bg);border:1px solid var(--side-line);color:var(--side-ink);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;flex:none}.struct-mobile-summary-code-input{background:var(--side-hover-bg);border:1px solid var(--side-line);color:var(--side-ink);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;width:110px;text-align:center;flex:none}.struct-mobile-summary-code-input::placeholder{color:var(--side-ink-3)}.struct-mobile-summary-divider{border-top:1px dashed var(--side-line)}.struct-mobile-summary-bottom{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;column-gap:12px;row-gap:6px;align-items:center}.struct-mobile-summary-old-col{grid-column:1;grid-row:1}.struct-mobile-summary-new-col{grid-column:3;grid-row:1}.struct-mobile-summary-old-label{grid-column:1;grid-row:2}.struct-mobile-summary-new-label{grid-column:3;grid-row:2}.struct-mobile-summary-old-value{grid-column:1;grid-row:3;font-size:14px;font-weight:700;color:var(--side-ink)}.struct-mobile-summary-new-value{grid-column:3;grid-row:3}.struct-mobile-summary-old-code{color:var(--side-ink-3);background:var(--side-hover-bg);padding:5px 10px;border-radius:999px;font-size:13px;font-weight:700}.struct-mobile-summary-arrow{grid-column:2;grid-row:1;align-self:center;color:var(--side-ink-3)}.struct-mobile-summary-new-code{background:var(--side-grad-4);color:#2b1408;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700}.struct-mobile-summary-eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--side-ink-3)}.struct-mobile-summary-date{background:transparent;border:0;outline:0;color:var(--side-ink);font-size:14px;font-weight:700;text-align:left;padding:0;color-scheme:dark}.struct-mobile-summary-date:placeholder-shown{color:var(--side-ink-3);font-weight:500}.struct-mobile{display:none}.struct-mobile-section{display:flex;flex-direction:column;gap:10px}.struct-mobile-heading{display:flex;align-items:center;gap:8px}.struct-mobile-heading .bar{width:3px;height:14px;border-radius:2px;background:var(--accent);flex:none}.struct-mobile-heading span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.struct-mobile-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:0 16px}.struct-mobile-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--line-soft)}.struct-mobile-row:last-child{border-bottom:0}.struct-mobile-label{font-size:14.5px;font-weight:600;color:var(--ink)}.struct-mobile-was{font-size:11.5px;color:var(--ink-3);margin-top:3px;font-variant-numeric:tabular-nums}.struct-mobile-value{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.struct-mobile-input{height:38px;width:140px;border:1px solid var(--line);border-radius:10px;background:var(--accent-soft);outline:0;text-align:right;font-size:16px;font-weight:700;color:var(--ink);padding:0 12px;box-sizing:border-box}.struct-mobile-input:focus{border-color:var(--accent);background:var(--card)}.struct-mobile-input::-webkit-outer-spin-button,.struct-mobile-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.struct-mobile-input[type=number]{-moz-appearance:textfield;appearance:textfield}.struct-mobile-readonly{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.struct-mobile-annual{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.struct-mobile-tiles{display:flex;flex-direction:column;gap:10px}.struct-mobile-pct{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 0}.struct-mobile-pct .struct-mobile-label{font-size:13px}.struct-mobile-readonly-danger{background:#fdecea;color:#c0392b;border-radius:4px;padding:2px 6px}.earn-table{width:100%;border-collapse:collapse;font-size:12.5px}.earn-table th{height:38px;padding:0 10px;text-align:right;white-space:nowrap;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--accent)}.earn-table th:first-child{text-align:left}.earn-table td{height:42px;padding:0 10px;color:var(--ink);text-align:right;border-bottom:1px solid var(--line-soft)}.earn-table td:first-child{text-align:left}.earn-cell-readonly{color:var(--ink-3)}.earn-total-row td{font-weight:700;border-top:1px solid var(--line);border-bottom:0;background:var(--bg)}.earn-table .struct-row-navy td{color:#fff}.ledger-section{margin-top:16px;border-top:1px solid var(--line-soft)}.ledger-section:first-of-type{margin-top:16px}.ledger-section-head{display:flex;align-items:center;gap:8px;width:100%;padding:12px 0;background:none;border:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);text-align:left}.ledger-section-head .chev{width:13px;height:13px;color:var(--ink-3);transition:transform .16s ease}.ledger-section-head[aria-expanded=true] .chev{transform:rotate(90deg)}.kv-line{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;color:var(--ink-2)}.kv-line.total{font-weight:600;color:var(--ink);border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{padding:9px 4px;margin-right:16px;font-size:12.5px;font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;border-radius:0;transition:color .12s ease,border-color .12s ease}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-stacked{border-bottom:none;flex-wrap:wrap;gap:8px;margin-bottom:0}.tabs-stacked button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;margin-right:0;font-weight:600;border:1px solid var(--line);border-radius:8px;background:var(--card)}.tabs-stacked button span{font-size:11px;font-weight:500;color:var(--ink-3)}.tabs-stacked button:hover{border-color:var(--accent)}.tabs-stacked button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tabs-stacked button.active span{color:var(--accent)}.stepper{display:flex;align-items:center;list-style:none;margin:0 0 18px;padding:0;flex-wrap:wrap;gap:0}.stepper-item{display:flex;align-items:center;flex:1;min-width:120px}.stepper-btn{display:flex;align-items:center;gap:8px;background:none;border:none;padding:4px 0;font-size:12.5px;font-weight:600;color:var(--ink-3);cursor:not-allowed;text-align:left}.stepper-btn:disabled{cursor:not-allowed}.stepper-current .stepper-btn,.stepper-done .stepper-btn{cursor:pointer;color:var(--ink-2)}.stepper-dot{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;font-size:11.5px;font-weight:700;border:1.5px solid var(--line);color:var(--ink-3);background:var(--card)}.stepper-current .stepper-dot{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.stepper-done .stepper-dot{border-color:var(--pos);color:#fff;background:var(--pos)}.stepper-current .stepper-label{color:var(--accent)}.stepper-done .stepper-label{color:var(--ink)}.stepper-line{flex:1;height:1.5px;background:var(--line);margin:0 10px;min-width:16px}.stepper-done .stepper-line{background:var(--pos)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);background:var(--bg);padding:4px 10px;border-radius:999px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.filter-grid .filter-actions{display:flex;gap:8px;align-items:center}.filter-grid .field-narrow{max-width:160px}.field-narrow .field-display-value{background:var(--bg)}.field-narrow .field-control:focus-within .field-display-value{background:var(--card)}.filter-grid-compact{grid-template-columns:repeat(auto-fit,minmax(160px,220px))}.filter-row{display:flex;flex-wrap:nowrap;align-items:flex-end}.filter-row .field{min-width:0;flex:0 1 220px}.filter-row .field-narrow{flex:0 0 160px}.filter-row .filter-actions{flex:none}.salary-filter-grid .filter-actions,.employee-filter-grid .filter-actions{grid-column:-1;justify-self:end}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:11.5px;font-weight:500;color:var(--ink-2)}.field-control{position:relative;height:32px;display:flex;align-items:center;gap:7px;background:var(--bg);border:1px solid transparent;border-radius:var(--r-ctl);padding:0 10px;transition:border-color .12s ease,background .12s ease}.field-display-value{position:absolute;left:10px;top:0;bottom:0;display:flex;align-items:center;font-size:12.5px;color:var(--ink);pointer-events:none;white-space:nowrap}.field-control:focus-within{border-color:var(--accent);background:var(--card)}.field-control svg{width:14px;height:14px;stroke:var(--ink-3);stroke-width:1.6;fill:none;flex:none}.field-control input,.field-control select{border:0;background:none;outline:0;width:100%;font-size:12.5px;color:var(--ink)}.field-control input.input-display-masked{color:transparent}.field-control input.input-display-masked::-webkit-datetime-edit,.field-control input.input-display-masked::-webkit-datetime-edit-fields-wrapper,.field-control input.input-display-masked::-webkit-datetime-edit-text,.field-control input.input-display-masked::-webkit-datetime-edit-month-field,.field-control input.input-display-masked::-webkit-datetime-edit-day-field,.field-control input.input-display-masked::-webkit-datetime-edit-year-field{color:transparent}.field-control select{cursor:pointer}.field-control input::placeholder{color:var(--ink-3)}.field-control input[type=number]::-webkit-outer-spin-button,.field-control input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-control input[type=number]{-moz-appearance:textfield;appearance:textfield}.field-control.invalid{border-color:var(--neg)}.field-control-date,.field-control-date input{cursor:pointer}.input-align-right .field-control input{text-align:right}.field-control.multi{height:auto;align-items:stretch;padding:6px 10px}.field-control.multi select{height:120px}.field-error{font-size:11px;color:var(--neg)}.field-check{display:flex;align-items:center;gap:7px;height:32px}.field-check input{width:15px;height:15px;accent-color:var(--accent)}.field-check label{font-size:12.5px;color:var(--ink-2)}.field-control.area{height:auto;align-items:stretch;padding:8px 10px}.field-control.area textarea{border:0;background:none;outline:0;width:100%;font-size:12.5px;color:var(--ink);min-height:72px;resize:none;line-height:1.5}.field-control.area textarea::placeholder{color:var(--ink-3)}.field-full{grid-column:1/-1}.form-subhead{grid-column:1/-1;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);padding-top:4px}.check-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px}.doc-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft)}.doc-row:first-child{border-top:0}.doc-row-icon{width:36px;height:36px;border-radius:8px;background:var(--bg);display:grid;place-items:center;color:var(--ink-2);overflow:hidden}.doc-row-icon.is-clickable{cursor:pointer}.doc-row-thumb{width:100%;height:100%;object-fit:cover}.doc-image-preview{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:8px}.doc-image-preview img{max-width:80vw;max-height:80vh;display:block;border-radius:var(--r-ctl)}.doc-image-preview .icon-btn{position:absolute;top:8px;right:8px;background:var(--card);border-radius:50%}.doc-row-name{font-weight:600;font-size:13px}.doc-row-number{font-size:12px;color:var(--ink-3);margin-top:2px;letter-spacing:.02em}.doc-empty{padding:20px 0;color:var(--ink-3);font-size:12.5px}.badge-warn{background:#c17a1f1f;color:var(--warn)}.badge-info{background:#2563eb1f;color:var(--info)}.doc-dialog{display:flex;flex-direction:column;min-width:0}.doc-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.doc-dialog-head h3{font-size:16px;font-weight:700;margin:0}.doc-dialog-body{padding:20px;display:flex;flex-direction:column;gap:16px}.doc-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line)}.doc-dialog-foot-actions{display:flex;gap:10px}.link-btn{background:none;border:0;padding:0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.link-btn:disabled{color:var(--ink-3);cursor:default}.field-with-hint{display:flex;flex-direction:column;gap:4px}.field-hint{margin:0;font-size:11px;color:var(--ink-3)}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:18px;text-align:center;cursor:pointer;background:var(--bg);border:1px dashed var(--line);border-radius:var(--r-ctl);transition:border-color .12s ease,background .12s ease}.dropzone:hover{border-color:var(--accent)}.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone.invalid{border-color:var(--neg)}.dropzone svg{stroke:var(--ink-3);stroke-width:1.6;fill:none}.dropzone input[type=file]{display:none}.dropzone-hint{font-size:12px;color:var(--ink-2)}.dropzone-sub{font-size:11px;color:var(--ink-3)}.dropzone.has-image{flex-direction:row;align-items:stretch;justify-content:flex-start;height:150px;padding:0}.dropzone-preview{display:flex;align-items:stretch;gap:0;width:100%;text-align:left}.dropzone-thumb{height:100%;width:auto;aspect-ratio:1/1;flex:none;object-fit:cover;border:0;border-radius:var(--r-ctl) 0 0 var(--r-ctl);background:var(--card)}.dropzone-meta{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px 44px 12px 14px}.dropzone-name{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-size{font-size:11px;color:var(--ink-3);margin-top:2px}.dropzone-preview .icon-btn{position:absolute;top:8px;right:8px}.dropzone-preview .icon-btn svg{stroke:currentColor}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:32px 4px}.empty-state h3{font-size:13.5px;font-weight:600;color:var(--ink)}.empty-state p{font-size:12.5px;color:var(--ink-2);max-width:38ch}.empty-state .btn,.empty-state .btn-quiet{margin-top:10px}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-soft);border-top-color:var(--accent);animation:spin .7s linear infinite}.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:40px 0}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;padding:26px 40px 40px;background:radial-gradient(680px 460px at 16% 10%,rgba(255,255,255,.16),transparent 72%),linear-gradient(135deg,var(--side-grad-1) 0%,var(--side-grad-2) 40%,var(--side-grad-3) 75%,var(--side-grad-4) 100%)}.auth-topbar{position:relative;z-index:1;display:flex}.auth-topbar img{filter:brightness(0) invert(1)}.auth-body{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:1fr minmax(0,400px);align-items:center;gap:48px}.auth-pitch{align-self:end;max-width:520px;padding-bottom:8px}.auth-pitch .eyebrow{color:var(--side-ink-3);margin-bottom:14px}.auth-pitch h2{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1.18;color:var(--side-ink)}.auth-pitch>p{font-size:13px;color:var(--side-ink-3);margin-top:16px;max-width:40ch}.auth-rings{position:absolute;inset:0;pointer-events:none;z-index:0}.auth-rings span,.auth-rings:before,.auth-rings:after{position:absolute;top:40%;left:28%;border-radius:50%}.auth-rings span{border:1px solid var(--auth-ring-line);transform:translate(-50%,-50%)}.auth-rings span:nth-child(1){width:320px;height:320px}.auth-rings span:nth-child(2){width:520px;height:520px}.auth-rings span:nth-child(3){width:760px;height:760px;border-color:var(--auth-ring-line-faint)}.auth-rings:before,.auth-rings:after{content:"";background:conic-gradient(from 0deg,transparent 0deg,var(--auth-ring-sweep) 55deg,transparent 120deg);-webkit-mask:radial-gradient(closest-side,transparent 84%,#000 85%);mask:radial-gradient(closest-side,transparent 84%,#000 85%);animation:spin 52s linear infinite}.auth-rings:before{width:520px;height:520px;margin:-260px 0 0 -260px}.auth-rings:after{width:320px;height:320px;margin:-160px 0 0 -160px;animation-duration:34s;animation-direction:reverse;opacity:.7}.auth-card{position:relative;overflow:hidden;width:100%;justify-self:end;background:linear-gradient(150deg,var(--auth-glass-hi),var(--auth-glass-lo));-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);border:1px solid var(--auth-glass-line);border-radius:20px;padding:34px 30px;box-shadow:inset 0 1px 0 var(--auth-glass-spec),0 28px 70px var(--auth-glass-shadow)}.auth-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,var(--auth-glass-sheen) 0%,rgba(255,255,255,0) 36%)}.auth-card>*{position:relative;z-index:1}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.auth-card{background:var(--auth-glass-solid)}}.auth-card h1{font-size:25px;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-bottom:7px}.auth-card .sub{font-size:13px;font-weight:400;line-height:1.55;color:var(--auth-ink-2);margin:0 0 26px;max-width:36ch}.auth-card form{display:flex;flex-direction:column;gap:17px}.auth-card .field{gap:7px}.auth-card .field label{font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--auth-ink-2)}.auth-card .field-control{height:40px;background:var(--auth-ctl-bg);border-color:var(--auth-ctl-line)}.auth-card .field-control:focus-within{background:#fff;border-color:var(--accent)}.auth-card .field-control input{font-size:13.5px}.auth-card .field-control input::placeholder{color:var(--ink-2);font-weight:400}.auth-card .field-control svg{stroke:var(--auth-ink-2)}.auth-card .field-error{font-size:11.5px;color:var(--auth-neg)}.auth-card .field-check label{font-size:12.5px;color:var(--auth-ink-2)}.auth-card .row-between{display:flex;align-items:center;justify-content:space-between}.auth-card .row-between a{font-size:12.5px;color:var(--accent);font-weight:500}.auth-card .btn{width:100%;justify-content:center;height:42px;margin-top:3px;background:var(--ink);font-size:13px;font-weight:500;letter-spacing:.005em}.auth-foot{font-size:12.5px;color:var(--auth-ink-2);text-align:center;margin-top:18px}.confirm-overlay{position:fixed;inset:0;background:#10101673;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-dialog{position:relative;background:var(--card);border-radius:16px;box-shadow:0 24px 60px #10101647;width:100%;max-width:420px;padding:28px 28px 24px}.confirm-close{position:absolute;top:16px;right:16px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);transition:background .12s ease,color .12s ease}.confirm-close:hover{background:var(--bg);color:var(--ink)}.confirm-close svg{width:16px;height:16px;stroke:currentColor}.confirm-dialog-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding-right:36px}.confirm-dialog-head .confirm-title{flex:1;margin-bottom:0}.confirm-icon{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}.confirm-icon svg{width:16px;height:16px;stroke:currentColor}.confirm-title{font-size:18px;font-weight:700;letter-spacing:-.015em;color:var(--ink);margin-bottom:8px}.confirm-text{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-bottom:18px}.confirm-details{display:flex;border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;margin-bottom:18px}.confirm-details-col{flex:1;display:flex;flex-direction:column;gap:4px}.confirm-details-col:not(:last-child){border-right:1px solid var(--line);margin-right:16px;padding-right:16px}.confirm-details-label{font-size:11.5px;color:var(--ink-3)}.confirm-details-value{font-size:13.5px;font-weight:600;color:var(--ink)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--line-soft)}.confirm-actions .btn,.confirm-actions .btn-quiet{border-radius:var(--r-ctl);padding:9px 20px;font-size:13px;font-weight:600}.lock-dialog{position:relative;background:var(--card);border-radius:16px;box-shadow:0 24px 60px #10101647;width:100%;max-width:460px;padding:28px 28px 24px}.lock-dialog-icon{background:#c17a1f1f;color:var(--warn)}.lock-stats{display:flex;flex-direction:column;gap:10px;background:var(--bg);border-radius:var(--r-card);padding:14px 16px;margin-bottom:16px}.lock-stats-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}.lock-stats-row span{color:var(--ink-2)}.lock-stats-row strong{color:var(--ink);font-weight:700}.lock-stats-row strong.is-warn{color:var(--warn)}.lock-banner{display:flex;align-items:flex-start;gap:10px;background:#c17a1f1f;color:var(--warn);border-radius:var(--r-card);padding:12px 14px;margin-bottom:16px}.lock-banner svg{flex:none;margin-top:1px}.lock-banner p{flex:1;font-size:13px;line-height:1.5;margin:0;color:#7a4a06}.lock-banner .link-btn{flex:none;font-size:13px;font-weight:600;color:var(--warn);text-decoration:underline;white-space:nowrap}.lock-checkbox-row{margin-bottom:4px}.lock-footnote{font-size:12px;color:var(--ink-3);text-align:right;margin:10px 0 0}.holiday-dialog{max-width:460px}.holiday-dialog-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.holiday-dialog-copy-hint{font-size:12px;color:var(--ink-3)}.holiday-dialog-divider{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);margin:0 0 12px}.holiday-dialog-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:10px}.holiday-dialog-fields .field{margin:0}.holiday-dialog-hint{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:0 0 4px}.holiday-row-actions{display:flex;align-items:center;justify-content:center;gap:2px}.holiday-row-actions .icon-btn.is-danger:hover{background:#be34341a;color:var(--neg)}.table-card .holiday-row-actions{justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.holiday-day-note{display:inline-flex;align-items:center;gap:7px;background:#0e74901f;color:var(--holiday);border-radius:var(--r-ctl);padding:7px 12px;font-size:12.5px;font-weight:600}.holiday-day-note svg{stroke:currentColor;fill:none;stroke-width:1.8}.app-dialog-paper{border-radius:16px!important;box-shadow:0 24px 60px #10101647!important}.app-dialog-backdrop{background:#10101673!important}.byasa-swal-popup{border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:0 24px 60px #10101647!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;color:var(--ink)!important;width:340px!important;padding:22px 22px 20px!important}.byasa-swal-popup .swal2-icon{width:44px!important;height:44px!important;margin:0 auto 12px!important;border-width:2px!important}.byasa-swal-popup .swal2-icon.swal2-warning{border-color:var(--warn)!important;color:var(--warn)!important}.byasa-swal-popup .swal2-title{font-size:14.5px!important;font-weight:600!important;color:var(--ink)!important;padding:0!important;margin:0 0 4px!important;line-height:1.4!important}.byasa-swal-popup .swal2-html-container{font-size:12.5px!important;color:var(--ink-2)!important;margin:0 0 6px!important;line-height:1.5!important}.byasa-swal-popup .swal2-actions{gap:10px!important;margin-top:14px!important}.byasa-swal-confirm{background:var(--accent)!important;color:#fff!important;border-radius:var(--r-ctl)!important;box-shadow:none!important;font-weight:500!important;font-size:12.5px!important;padding:8px 18px!important}.byasa-swal-confirm:hover,.byasa-swal-confirm:focus{background:var(--accent)!important;opacity:.86!important;box-shadow:none!important}.byasa-swal-confirm:focus-visible{outline:2px solid var(--accent-soft)!important;outline-offset:2px!important}.byasa-swal-cancel{background:none!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--r-ctl)!important;box-shadow:none!important;font-weight:500!important;font-size:12.5px!important;padding:8px 18px!important}.byasa-swal-cancel:hover,.byasa-swal-cancel:focus{background:var(--bg)!important;box-shadow:none!important}.byasa-swal-cancel:focus-visible{outline:2px solid var(--line)!important;outline-offset:2px!important}.att-toolbar{background:var(--bg);border-radius:var(--r-card);padding:14px 16px;display:flex;flex-direction:column;gap:14px;margin:18px 0 22px}.att-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.att-nav .date-label{font-size:15px;font-weight:600;letter-spacing:-.01em;min-width:110px}.att-nav .btn-quiet{background:var(--card)}.att-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.att-filter-row .filter-grid{flex:1;margin-bottom:0}.att-inline-field{display:flex;align-items:center;gap:8px;height:32px;min-width:180px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-ctl);padding:0 10px}.att-inline-field svg{width:14px;height:14px;stroke:var(--ink-3);stroke-width:1.6;fill:none;flex:none}.att-inline-field input,.att-inline-field select{border:0;background:none;outline:0;width:100%;font-size:12.5px;color:var(--ink)}.att-inline-field input::placeholder{color:var(--ink-3)}.att-inline-field select{cursor:pointer}.att-summary-card{padding:10px 20px}.att-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.att-summary-cell{display:flex;align-items:center;gap:10px;padding:2px 20px;border-left:1px solid var(--line-soft)}.att-summary-cell:first-child{border-left:0;padding-left:0}.att-summary-icon{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.att-summary-icon-neutral{background:var(--line-soft);color:var(--ink-2)}.att-summary-icon-pos{background:#0e9f6e1f;color:var(--pos)}.att-summary-icon-neg{background:#dc2b3a1f;color:var(--neg)}.att-summary-icon-warn{background:#c17a1f24;color:var(--warn)}.att-summary-icon-info{background:#2563eb1f;color:var(--info)}.att-summary-icon-accent{background:var(--accent-soft);color:var(--accent)}.att-summary-icon-muted{background:var(--line-soft);color:var(--ink-3)}.att-summary-icon-holiday{background:#0e74901f;color:var(--holiday)}.att-summary-icon-sick{background:#a855f71f;color:var(--sick)}.att-summary-icon-earned{background:#db27771f;color:var(--earned)}.att-summary-label{font-size:12px;color:var(--ink-2)}.att-summary-value{font-size:18px;font-weight:700;color:var(--ink);margin-top:1px}.batch-status-pill{margin-left:auto;align-self:center;font-size:12px;font-weight:600;color:var(--warn);background:#c17a1f1a;border:1px solid rgba(193,122,31,.3);border-radius:999px;padding:6px 14px}.batch-status-pill.complete{color:var(--pos);background:#0e9f6e14;border-color:#0e9f6e4d}.attendance-controls-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.attendance-controls-row .field{margin-bottom:0}.attendance-date-row{margin-bottom:16px}.attendance-controls-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icon-flip{transform:scaleX(-1)}.date-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--accent);border-radius:var(--r-ctl);background:var(--accent-soft);overflow:hidden}.date-stepper .icon-btn{border-radius:0;color:var(--accent)}.date-stepper .icon-btn:hover{background:var(--accent);color:#fff}.date-stepper .field{margin:0}.date-stepper .field-control{border:0;border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-radius:0;background:var(--card)}.date-stepper .field-control input{color:var(--accent);font-weight:600}.attendance-list-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.attendance-search{min-width:220px}.attendance-nature-filter{min-width:170px}.stat-chip{font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.stat-chip-pos{background:#0e9f6e1a;color:var(--pos)}.stat-chip-accent{background:var(--accent-soft);color:var(--accent);cursor:pointer}.stat-chip-accent.is-empty{background:var(--line-soft);color:var(--ink-3);cursor:not-allowed}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:26px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;color:var(--status-c,var(--ink-2));background:var(--card);border:1px solid var(--line);cursor:pointer}.status-badge.filled{background:var(--status-c,var(--ink-3));color:#fff;border-color:transparent}.status-badge.unmarked{background:var(--bg);border-style:dashed;color:var(--ink-3);font-weight:600}.status-badge:disabled{cursor:not-allowed;opacity:.7}.status-badge.lg{min-width:110px;height:40px;padding:0 16px;font-size:14px;border-radius:8px}.status-badge.block{width:100%;justify-content:space-between;gap:8px;height:35px;padding:0 14px;font-size:14px;font-weight:600;border-radius:10px;border-color:transparent;transition:filter .12s ease,box-shadow .12s ease,transform .06s ease}.status-badge.block.filled{background:color-mix(in srgb,var(--status-c,var(--ink-3)) 16%,white);color:var(--status-c,var(--ink-3))}.status-badge.block:hover:not(:disabled){filter:brightness(.96);box-shadow:0 1px 4px #1010161a}.status-badge.block:active:not(:disabled){transform:scale(.98)}.status-badge.block:focus-visible{outline:2px solid var(--status-c,var(--accent));outline-offset:1px}.status-badge-chevron{flex:none;opacity:.55;transform:rotate(90deg)}.field-control input:disabled{color:var(--ink-3);cursor:not-allowed}.att-scroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 250px)}.att-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.att-emp-card{border:1px solid var(--line);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:14px;background:var(--card)}.att-emp-card .emp-name{font-weight:600;font-size:13.5px}.att-emp-card .emp-code{font-size:11px;color:var(--ink-3);display:block;margin-top:1px}@media(max-width:1180px){.span3,.span4,.span5,.span6,.span8{grid-column:span 6}.stack-col{grid-column:span 12;grid-template-columns:1fr 1fr}.duo{display:contents}}@media(max-width:1024px){.auth-body{gap:32px;grid-template-columns:1fr minmax(0,360px)}.auth-pitch h2{font-size:26px}.auth-pitch>p{display:none}}@media(max-width:840px){.tile-row,.tile-row-4{grid-template-columns:repeat(2,1fr)}.employee-filter-grid{grid-template-columns:1fr 1fr}.employee-filter-grid .mobile-order-1{order:1}.employee-filter-grid .mobile-order-2{order:2}.employee-filter-grid .mobile-order-3{order:3;grid-column:1/-1}.employee-filter-grid .mobile-order-4{order:4;grid-column:1/-1}.employee-filter-grid .mobile-order-5{order:5}.employee-filter-grid .mobile-order-6{order:6;grid-column:1/-1;justify-content:flex-end}.salary-filter-grid{grid-template-columns:1fr 1fr}.salary-filter-grid .mobile-order-1{order:1}.salary-filter-grid .mobile-order-2{order:2}.salary-filter-grid .mobile-order-3{order:3;grid-column:1/-1}.salary-filter-grid .mobile-order-4{order:4;grid-column:1/-1}.salary-filter-grid .mobile-order-5{order:5;grid-column:1/-1;justify-content:flex-end}.security-filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.security-filter-grid .filter-actions{grid-column:1/-1;justify-content:flex-end}.shell{grid-template-columns:1fr}.side{position:fixed;top:0;left:0;height:100vh;width:236px;max-width:80vw;transform:translate(-100%);transition:transform .2s ease;z-index:30;border-right:1px solid var(--side-line);border-bottom:0}.side.mobile-open{transform:translate(0)}.brand{padding:2px 8px 26px}.nav-close{display:grid;place-items:center}.nav-scroll{overflow-y:auto}.top{padding:0 16px 0 4px}.top .mobile-toggle{display:grid;width:48px;height:48px;margin:0}.nav-backdrop{position:fixed;inset:0;background:#0006;z-index:25;display:block}.table-grid-wrap{display:none}.table-cards{display:flex;flex-direction:column;gap:10px}.toolbar-columns-btn{display:none}.detail-grid{grid-template-columns:1fr}.main{grid-template-columns:1fr;padding:16px;min-width:0}.span3,.span4,.span5,.span6,.span8,.span12,.stack-col{grid-column:span 1}.photo-card{order:-1}.stack-col{grid-template-columns:1fr}.strip{grid-template-columns:1fr 1fr}.strip div{border-left:0;padding-left:0;border-top:1px solid var(--line-soft);padding-top:12px;margin-top:12px}.att-summary-strip{grid-template-columns:1fr 1fr}.att-summary-cell{border-left:0;padding:8px 0;border-top:1px solid var(--line-soft)}.att-summary-cell:first-child,.att-summary-cell:nth-child(2){border-top:0}.auth-shell{padding:22px 20px 32px}.auth-body{grid-template-columns:1fr;justify-items:center;gap:0}.auth-pitch{display:none}.auth-card{max-width:400px;justify-self:center;padding:28px 22px}.auth-rings span,.auth-rings:before,.auth-rings:after{left:50%}.auth-rings span:nth-child(3){display:none}}@media(max-width:640px){.top{height:auto;flex-wrap:nowrap;padding:10px 12px;gap:8px}.top h1{flex:1 1 auto;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-action{margin-left:0;flex:0 0 auto;display:flex;gap:6px}.top-action .btn{flex:none;padding:7px 12px;font-size:11.5px;white-space:nowrap}.struct-card{padding:16px}.struct-header-row{gap:10px}.struct-header-field{flex-direction:column!important;align-items:flex-start;gap:4px;min-width:0;flex:1 1 100%}.struct-header-field label{width:auto}.struct-header-field .emp-code-static,.struct-header-field .field-control,.struct-date-field .field-control{width:100%}.struct-header{display:none}.struct-mobile-summary{display:flex}.struct-table-wrap{display:none}.struct-mobile{display:flex;flex-direction:column;gap:22px;margin-top:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner,.auth-rings:before,.auth-rings:after{animation:none!important}}
