@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-700-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-thai-thai-400-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-thai-thai-700-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-thai-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2212}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-thai-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2212}:root{--font-ui: "IBM Plex Sans", "IBM Plex Sans Thai", "Sarabun", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "IBM Plex Mono", "IBM Plex Sans Thai", "Sarabun", ui-monospace, "SF Mono", "Segoe UI Mono", monospace;--leading-normal: 1.55;--leading-dense: 1.35;--ink: var(--warm-ink);--ink-soft: var(--warm-sub);--line: var(--warm-line);--paper: #ffffff;--paper-sunk: var(--warm-subtle);--refuse: #8a1c1c;--refuse-bg: #fdf3f3;--warm-ink: #1a1917;--warm-canvas: #f8f7f5;--warm-subtle: #f2f0ec;--warm-line: #e8e5e0;--warm-muted: #8c8880;--warm-sub: #6b6760;--warm-sidebar: #141312;--warm-accent: #2563eb;--font-plex: "IBM Plex Sans", var(--font-ui);--font-plex-mono: "IBM Plex Mono", var(--font-num);--warm-green: #15803d;--warm-amber: #b45309;--warm-amber-bg: #fffbeb;--warm-red: #dc2626;--warm-violet: #6d28d9;--warm-indigo: #4338ca;--warm-sky: #0284c7;--step-1: 1.125rem;--step-0: .9375rem;--step--1: .8125rem}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:var(--step-0);line-height:var(--leading-normal);color:var(--ink);background:var(--warm-canvas)}:where(a){color:var(--warm-accent);text-decoration:none;font-weight:600}:where(a):hover{color:#1d4ed8;text-decoration:underline}.money{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}td.num,th.num{text-align:right}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.dense{border-collapse:collapse;width:100%;font-size:var(--step--1);line-height:var(--leading-dense)}table.dense th,table.dense td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.dense .sticky-col{position:sticky;left:0;background:var(--paper);z-index:1;white-space:nowrap}table.dense tfoot .sticky-col,table.dense tfoot td{background:var(--paper-sunk);font-weight:600}table.dense .code{display:block;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.75rem}table.dense .name{display:block}.notice{border:1px solid var(--line);border-left-width:3px;padding:.6rem .75rem;margin:.75rem 0}.notice--refused,.notice--transport,.notice--bug{border-left-color:var(--refuse);background:var(--refuse-bg)}.notice__message{margin:0;font-weight:500}.notice__context{margin:0 0 .35rem;color:var(--ink-soft)}.notice__meta{margin:.4rem 0 0;font-size:var(--step--1);color:var(--ink-soft)}.notice__details{margin:.4rem 0 0;padding-left:1.1rem}.notice__field{font-family:var(--font-num)}.screen{padding:.75rem;max-width:70rem;margin:0 auto}.app-bar{display:flex;align-items:baseline;gap:.75rem}.app-bar h1{font-size:1.05rem;margin:0 auto 0 0}form label{display:block;margin-top:.6rem}form input{display:block;width:100%;padding:.5rem;font:inherit;border:1px solid var(--line)}form button{margin-top:.9rem;padding:.55rem 1rem;font:inherit;min-height:2.75rem}.row-pairs{list-style:none;margin:0;padding:0;padding-bottom:5rem}.punch-head{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-soft)}.punch-times{display:grid;grid-template-columns:1fr;row-gap:.1rem;font-variant-numeric:tabular-nums}.punch-arrow{color:var(--ink-soft);font-size:.7rem;line-height:1}.punch-autofill,.punch-issue{margin:.25rem 0 0;font-size:.78rem}.punch-autofill{color:var(--ink-soft)}.sev-error{color:var(--refuse)}.sev-review{color:var(--ink);font-weight:600}.sev-warning{color:var(--ink-soft)}@media(min-width:48rem){.row-pair{grid-template-columns:14rem 1fr;gap:1rem}.row-punches{gap:1rem}}.gate{border:1px solid var(--line);padding:.6rem;margin:.6rem 0}.gate.is-blocked{border-color:var(--refuse);background:var(--refuse-bg)}.gate-blockers{margin:.5rem 0 .75rem;padding-left:1.1rem;display:grid;gap:.6rem}.blocker-goto{display:block;margin-top:.3rem;min-height:2.75rem;padding:.4rem .8rem;font:inherit}.blocker-day{display:block;margin-top:.3rem;color:var(--ink-soft);font-size:var(--step--1)}.punch.is-highlighted{outline:2px solid var(--refuse);outline-offset:2px}.autofill-summary{margin:.4rem 0;padding:.4rem .6rem;background:var(--paper-sunk);font-size:var(--step--1)}.punch-select{display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;padding-right:.4rem;cursor:pointer}.punch-select input{width:1.15rem;height:1.15rem}.batch-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--paper);border-top:1px solid var(--line);padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.batch-bar-why{font-size:.8125rem;color:var(--warm-muted)}.batch-bar button{min-height:2.75rem;padding:.4rem .9rem;font:inherit}.batch-bar span{margin-right:auto}.batch-list{list-style:none;margin:0;padding:0}.batch{padding:.6rem 0;border-bottom:1px solid var(--line)}.batch-open{display:block;width:100%;text-align:left;padding:.2rem 0;font:inherit;background:none;border:0;min-height:2.75rem}.batch-file{font-weight:600;overflow-wrap:anywhere}.batch-dates,.batch-current,.batch-superseded{display:block;margin:.15rem 0 0;font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums}.batch.is-superseded .batch-file{font-weight:400}.batch-superseded{color:var(--refuse);font-variant-numeric:normal;overflow-wrap:anywhere}.day-list{list-style:none;margin:0;padding:0}.day{padding:.6rem 0;border-bottom:1px solid var(--line)}.day-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.day-date{font-weight:600;font-variant-numeric:tabular-nums}.day-kind{font-size:var(--step--1);padding:.05rem .35rem;border:1px solid var(--line)}.is-by-design .day-kind{color:var(--ink-soft)}.is-coverage-gap .day-kind,.is-monday-unanswered .day-kind{color:var(--refuse);border-color:var(--refuse);background:var(--refuse-bg)}.is-monday-answered .day-kind{color:var(--ink-soft)}.day-times{margin:.3rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}.day-times.is-empty{color:var(--ink-soft);font-variant-numeric:normal}.day-arrow,.day-autofilled{color:var(--ink-soft)}.day-autofilled{font-size:var(--step--1)}.day-note-shown{margin:.3rem 0 0;padding:.3rem .5rem;background:var(--paper-sunk);overflow-wrap:anywhere}.day-note-edit{margin-top:.4rem;display:grid;gap:.3rem}.day-note-edit label{font-size:var(--step--1);color:var(--ink-soft)}.day-note-edit textarea{width:100%;font:inherit;padding:.4rem;border:1px solid var(--line);line-height:var(--leading-normal);resize:vertical}.day-note-edit button{justify-self:start;min-height:2.75rem;padding:.4rem .9rem;font:inherit}.app-nav{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.nav-link{padding:.7rem .9rem;min-height:2.75rem;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent}.nav-link.is-current{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.screen-title{font:700 22px var(--font-plex);letter-spacing:-.01em;color:var(--warm-ink);margin:0 0 4px;overflow-wrap:anywhere}.finalize .screen-title{font-size:16px;margin:0 0 6px}.screen-intro{color:var(--warm-sub);font-size:13px;margin:0 0 16px;line-height:1.5}.state-loading{color:var(--ink-soft);padding:.8rem 0}.state-empty{padding:.8rem;background:var(--paper-sunk);color:var(--ink-soft)}.person-picker{display:flex;align-items:center;gap:.5rem;margin:.6rem 0}.person-picker select{flex:1;font:inherit;padding:.5rem;min-height:2.75rem;border:1px solid var(--line)}.day-reason{margin:.3rem 0 0;font-size:var(--step--1);color:var(--refuse);overflow-wrap:anywhere}.pay-lines{list-style:none;margin:0;padding:0 0 5rem}.pay-line{border-bottom:1px solid var(--line)}.pay-line-head{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.7rem 0;min-height:2.75rem;font:inherit;background:none;border:0;text-align:left}.pay-name{font-weight:600;overflow-wrap:anywhere}.pay-code{font-weight:400;font-size:.85em;color:var(--ink-soft);white-space:nowrap}.pay-net{font-variant-numeric:tabular-nums}.is-negative .pay-net{color:var(--refuse)}.pay-marker{margin:0 0 .5rem;font-size:var(--step--1);color:var(--ink-soft)}.pay-marker.is-refuse{color:var(--refuse)}.pay-window{display:block;margin-top:.15rem}.bands{margin:0 0 .7rem;display:grid;gap:.2rem}.band{display:flex;justify-content:space-between;gap:.75rem}.band dt{color:var(--ink-soft)}.band dd{margin:0;font-variant-numeric:tabular-nums}.band[data-band=netSalary] dt,.band[data-band=netSalary] dd{font-weight:600;color:var(--ink)}.sum-check{margin:.5rem 0;padding:.5rem .6rem;background:var(--paper-sunk);font-size:var(--step--1);font-variant-numeric:tabular-nums}.sum-check.is-broken{background:var(--refuse-bg);color:var(--refuse);border:1px solid var(--refuse)}.stale{border:1px solid var(--refuse);background:var(--refuse-bg);padding:.6rem;margin:.6rem 0}.stale-message{margin:0;font-weight:600}.stale-context{margin:.25rem 0 .5rem;font-size:var(--step--1)}.stale-fields{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.5rem}.stale-label{display:block;font-size:var(--step--1);color:var(--ink-soft)}.stale-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;font-variant-numeric:tabular-nums}.stale-typed,.stale-current{border:1px solid var(--line);padding:.3rem;background:var(--paper)}.stale-typed em,.stale-current em{display:block;font-size:var(--step--1);font-style:normal;color:var(--ink-soft);font-variant-numeric:normal}.stale-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stale-actions button{min-height:2.75rem;padding:.4rem .9rem;font:inherit}.finalize-link{display:block;margin:0 0 1rem;padding:.75rem 0;font-weight:600}.fin-summary{margin:0 0 .75rem}.fin-blockers{list-style:none;margin:0;padding:0;padding-bottom:4rem}.fin-blocker{padding:.75rem 0;border-top:1px solid var(--line)}.fin-blocker-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin:0 0 .25rem}.fin-token{font-size:.85em;color:var(--ink-soft);white-space:nowrap}.fin-blocker-message{margin:0 0 .5rem}.ui-button.fin-remedy,.ui-link.fin-remedy{color:var(--warm-accent);padding-left:0;padding-right:0}.ui-button.fin-remedy{background:none;border-color:transparent}.fin-clear{margin:0 0 1rem}.pay-date-field{display:flex;flex-direction:column;gap:.25rem;margin:0 0 1rem}.pay-date-field input{padding:.6rem;font:inherit}.payslip{padding:0 0 2rem}.payslip+.payslip{border-top:1px solid var(--line);padding-top:1.5rem}.payslip-head{margin:0 0 1rem}.payslip-reference{margin:.25rem 0;font-family:var(--font-num);font-size:var(--step--1);color:var(--ink-soft);overflow-wrap:anywhere}.payslip-dates{margin:.25rem 0;font-size:var(--step--1);color:var(--ink-soft)}.payslip-previously,.payslip-notes{margin:.75rem 0 0}.payslip-versions{list-style:none;margin:1rem 0 0;padding:0;font-size:var(--step--1);color:var(--ink-soft)}.payslip-pdf{display:block;margin:1.25rem 0 0;padding:.75rem 0;font-weight:600}.payslip-links{display:flex;flex-direction:column;gap:.25rem;margin:0 0 1rem}.payslip-link{padding:.5rem 0}.review-edit{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0 1rem;border-top:1px solid var(--line)}.review-field{display:flex;flex-direction:column;gap:.25rem}.review-field input,.review-field textarea{padding:.6rem;font:inherit}.review-field textarea{min-height:4.5rem}.review-help{font-size:var(--step--1);color:var(--ink-soft)}.recalc{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1rem}.day-flag{display:inline-flex;align-items:baseline;gap:.3rem;padding:.05rem .4rem;border:2px solid var(--ink);border-radius:.2rem;font-size:var(--step--1);font-weight:700;letter-spacing:.04em}.day-flag.is-needs-answer{border-color:var(--refuse);background:var(--refuse-bg);color:var(--refuse)}.day-flag.is-answered{border-color:var(--line);background:var(--paper);color:var(--ink-soft);font-weight:600}.day-flag.is-coverage-gap{border-color:var(--refuse);background:var(--refuse-bg);color:var(--refuse)}.day-type{font-size:var(--step--1);letter-spacing:.04em;color:var(--ink-soft)}.note-well{margin:.5rem 0 0;padding:.45rem .6rem;border-radius:.2rem}.note-well.is-engine{background:var(--paper-sunk);border-left:3px solid var(--line)}.note-well.is-mine{background:var(--paper);border-top:3px solid var(--ink);border-left:3px solid var(--ink)}.note-label{margin:0 0 .2rem;font-size:var(--step--1);font-weight:700;letter-spacing:.06em;color:var(--ink-soft)}.note-life{font-weight:400;letter-spacing:.02em}.note-body{margin:0;line-height:var(--leading-normal)}.note-still-flagged{margin:.35rem 0 0;font-size:var(--step--1);color:var(--ink-soft)}.note-count{margin:.25rem 0;font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums}.day.is-by-design-group{border-bottom:none}.by-design-count{margin:0;font-size:var(--step--1);color:var(--ink-soft)}.day-time{font-variant-numeric:tabular-nums}.day-worked,.day-late{color:var(--ink-soft);font-size:var(--step--1)}.flag-marker{font-size:1.05em;line-height:1}.flag-word{font-size:var(--step--1)}.month-counts{margin:.25rem 0 .75rem;color:var(--ink-soft);font-size:var(--step--1)}.note-remedy{font-weight:600}.autofill-summary.is-unknown{color:var(--ink-soft);font-style:italic}.gate.is-allowed{border-left:3px solid var(--line);padding-left:.6rem}.blocker-message{font-weight:500}.punch-ordinal,.punch-sheet-row{font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums}.punch-time{font-variant-numeric:tabular-nums}.finalize{margin-top:1rem;padding-top:.75rem;border-top:3px solid var(--ink)}.period-list{list-style:none;margin:0;padding:0}.period{padding:.6rem 0;border-bottom:1px solid var(--line)}.period-month{font-weight:600;font-variant-numeric:tabular-nums}.period-status{margin-left:.4rem;font-size:var(--step--1);letter-spacing:.04em;color:var(--ink-soft)}.period-windows{display:block;font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums}.period-run{display:block;font-size:var(--step--1)}.month-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem;margin:0 0 .6rem}.month-period{margin:0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--warm-sub)}.month-asking{margin:0;padding:.15rem .55rem;border-radius:999px;background:var(--warm-amber-bg);color:var(--warm-amber);font-size:var(--step--1);font-weight:600}.month-asking.is-clear{background:var(--warm-subtle);color:var(--warm-sub);font-weight:500}.cal{margin:0 0 .9rem;max-width:398px;padding:.6rem;border:1px solid var(--warm-line);border-radius:16px;background:var(--paper)}.cal-heads,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;list-style:none;margin:0;padding:0}.cal-head{text-align:center;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted);padding-bottom:.25rem}.cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;aspect-ratio:1;border:1px solid var(--warm-line);border-radius:6px;background:var(--warm-canvas)}.cal-cell.is-lead{border-color:transparent;background:none}.cal-n{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.625rem;color:var(--warm-sub);line-height:1}.cal-sub{font-family:var(--font-num);font-size:.5625rem;line-height:1;min-height:.5625rem;color:var(--warm-ink)}.cal-cell.is-open{background:var(--paper)}.cal-cell.is-asking{border-color:var(--warm-amber);border-width:2px;background:var(--warm-amber-bg)}.cal-cell.is-asking .cal-sub{color:var(--warm-amber)}.cal-cell.is-no-record{border-style:dashed;border-color:var(--warm-sub)}.cal-cell.is-no-record .cal-sub{color:var(--warm-sub)}.cal-cell.is-by-design{background:var(--warm-subtle)}.cal-cell.is-outside{background:var(--warm-subtle);border-style:dotted}.cal-cell.is-outside .cal-n,.cal-cell.is-by-design .cal-n{color:var(--warm-muted)}.cal-legend{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:.5rem 0 0;padding:0;font-size:.625rem;color:var(--warm-sub)}.cal-key{display:inline-block;min-width:.7rem;font-family:var(--font-num)}.cal-key.is-open{width:.7rem;height:.7rem;border:1px solid var(--warm-line);border-radius:3px;background:var(--paper);vertical-align:-1px}.cal-key.is-asking{color:var(--warm-amber)}.cal-key.is-no-record{color:var(--warm-sub)}.day-weekday{font-size:var(--step--1);color:var(--warm-muted)}.day-person{margin:.15rem 0 0;font-size:var(--step--1);font-weight:600;color:var(--warm-ink)}.day-code{font-family:var(--font-num);font-weight:500;color:var(--warm-sub)}.day-times{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0}.day-cell{display:flex;flex-direction:column;gap:1px;min-width:3.2rem;padding:.25rem .45rem;border:1px solid var(--warm-line);border-radius:8px;background:var(--warm-canvas)}.day-cell dt{font-size:.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.day-cell dd{margin:0;font-family:var(--font-num);font-variant-numeric:tabular-nums}.day-autofilled{display:block;font-family:var(--font-ui);font-size:.5625rem;font-weight:600;color:var(--warm-sky)}.day-holiday{display:flex;flex-direction:column;gap:1px;margin:.4rem 0 0;padding:.35rem .5rem;border-left:3px solid var(--warm-violet);background:var(--warm-canvas)}.day-holiday-label{font-size:.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.day-holiday-name{font-size:var(--step-0);line-height:1.6;color:var(--warm-ink)}.gap-reason{margin:.4rem 0 0}.gap-reason-label{margin:0;font-weight:600}.gap-remedies{margin:.25rem 0 0;font-size:var(--step--1);color:var(--warm-sub);line-height:var(--leading-normal)}.by-design{margin:.9rem 0 0;padding:.6rem;border:1px solid var(--warm-line);border-radius:16px;background:var(--warm-subtle)}.by-design-head{margin:0 0 .45rem;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.by-design-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.by-design-row{display:grid;grid-template-columns:1.1rem minmax(0,auto) minmax(0,1fr) auto;align-items:baseline;gap:.4rem;padding:.35rem .5rem;border:1px solid var(--warm-line);border-radius:10px;background:var(--paper)}.by-design-glyph{font-family:var(--font-num);line-height:1;color:var(--warm-sub)}.by-design-row.is-monday-closure .by-design-glyph{color:var(--warm-indigo)}.by-design-row.is-closed-day .by-design-glyph{color:var(--warm-sub)}.by-design-row.is-outside-employment .by-design-glyph{color:var(--warm-muted)}.by-design-label{font-size:var(--step--1);font-weight:600}.by-design-dates{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--warm-sub);overflow-wrap:anywhere}.by-design-count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.note-help{margin:.25rem 0 0;font-size:var(--step--1);color:var(--warm-sub)}.note-body.is-thai{line-height:1.6}.day-flag.is-needs-answer{border:2px solid var(--warm-amber);background:var(--warm-amber-bg);color:var(--warm-amber)}.day-flag.is-answered{border:1px dashed var(--warm-green);background:var(--paper);color:var(--warm-green)}.day-flag.is-coverage-gap{border:1px dashed var(--warm-sub);background:var(--paper);color:var(--warm-sub)}.day-note-edit button{background:var(--warm-accent);color:#fff;border:1px solid var(--warm-accent);border-radius:8px;padding:.45rem .9rem;font-family:var(--font-ui);font-size:var(--step-0);font-weight:600;cursor:pointer}.day-note-edit button:hover{background:#1d4ed8;border-color:#1d4ed8}.month-person{color:var(--warm-ink);font-weight:600}.gap-remedies{margin:.35rem 0 0}.gap-remedies summary{font-size:var(--step--1);font-weight:600;color:var(--warm-accent);cursor:pointer}.gap-remedies-body{margin:.3rem 0 0;font-size:var(--step--1);color:var(--warm-sub);line-height:var(--leading-normal)}.by-design-glyph{font-size:.8rem;text-align:center}.row-pair{padding:.7rem 0;border-bottom:1px solid var(--warm-line);list-style:none}.row-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .5rem;margin-bottom:.5rem}.row-date{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--step-0);color:var(--warm-ink)}.row-pair-badge{padding:.1rem .5rem;border-radius:999px;background:var(--warm-amber-bg);color:var(--warm-amber);font-size:var(--step--1);font-weight:600}.row-name{flex-basis:100%;font-size:var(--step--1);font-weight:600;color:var(--warm-ink)}.row-distance{flex-basis:100%;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--warm-sub)}.pair-verdict{flex-basis:100%;margin:.15rem 0 0;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-ink)}.pair-table{width:100%;border-collapse:collapse;font-size:var(--step--1)}.pair-table th,.pair-table td{padding:.3rem .45rem;border-bottom:1px solid var(--warm-line);text-align:left;vertical-align:top}.pair-field-head,.pair-field-name{position:sticky;left:0;z-index:1;background:var(--warm-subtle);font-weight:600;white-space:nowrap}.pair-field-head{font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.pair-table thead th{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.625rem;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-muted);background:var(--warm-subtle)}.pair-table thead th.is-highlighted{color:var(--warm-accent)}.pair-cell{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--warm-ink)}.pair-cell.is-raw{font-size:.5625rem;color:var(--warm-sub);overflow-wrap:anywhere;white-space:normal;min-width:8rem}.pair-row.is-differs .pair-cell,.pair-row.is-differs .pair-field-name{background:var(--warm-amber-bg)}.pair-differs{display:block;margin-top:1px;font-family:var(--font-ui);font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-amber)}.pair-notes{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.pair-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:var(--step--1)}.pair-note-row{font-family:var(--font-num);font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-muted)}.punch-autofill{color:var(--warm-sky);font-weight:600}.punch-issue{color:var(--warm-sub)}.punch-issue.sev-error{color:var(--warm-red);font-weight:600}.punch-issue.sev-warning{color:var(--warm-amber);font-weight:600}.pair-resolve{margin:.6rem 0 0;padding:.5rem;border:1px solid var(--warm-line);border-radius:12px;background:var(--warm-canvas)}.pair-resolve-head{margin:0 0 .35rem;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.pair-keep{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.1rem .4rem;padding:.3rem 0;cursor:pointer}.pair-keep-word{font-family:var(--font-num);font-weight:600;color:var(--warm-ink)}.pair-keep-cost{grid-column:2;font-family:var(--font-num);font-size:var(--step--1);color:var(--warm-sub)}.pair-select{margin:.6rem 0 0;padding:.5rem;border:1px dashed var(--warm-line);border-radius:12px}.pair-reason{display:grid;grid-template-columns:1fr auto;gap:.2rem .4rem;margin:.5rem 0 0}.pair-reason-head{font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.pair-required{margin-left:.3rem;padding:.05rem .35rem;border-radius:999px;background:var(--warm-amber-bg);color:var(--warm-amber);font-size:.5625rem;font-weight:700;letter-spacing:.04em}.pair-reason-input{grid-column:1 / -1;width:100%;box-sizing:border-box;padding:.4rem .5rem;border:1px solid var(--warm-line);border-radius:10px;background:#fff;color:var(--warm-ink);font-family:inherit;font-size:var(--step-0);line-height:var(--leading-normal);resize:vertical}.pair-reason-count{justify-self:end;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.5625rem;color:var(--warm-muted)}.pair-reason-gate{margin:.4rem 0 0;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-sub)}.pair-commit{margin:.5rem 0 0;padding:.6rem .75rem;border:1px solid var(--warm-accent);border-radius:10px;background:var(--warm-accent);color:#fff;font-family:var(--font-ui);font-size:var(--step-0);font-weight:600;min-height:2.75rem;cursor:pointer}.pair-commit:disabled{border-color:var(--warm-line);background:var(--warm-subtle);color:var(--warm-muted);cursor:not-allowed}.pair-differs-what{display:block;margin-top:1px;font-family:var(--font-ui);font-size:.5625rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--warm-sub)}.pair-mark{border-radius:3px;background:var(--warm-amber);color:#fff;padding:0 1px}.pair-mark.is-absent{display:inline-block;width:.45em;height:.9em;margin-left:1px;border-radius:2px;border:1px dashed var(--warm-amber);background:transparent;vertical-align:text-bottom}.pair-scroll-hint{margin:0 0 .25rem;font-family:var(--font-ui);font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted);position:sticky;left:0}.pair-resolve.is-quiet{border-style:dashed;background:transparent}.pair-resolve.is-quiet>summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center}.punch-issue.is-quiet{color:var(--warm-sub);font-weight:400}.import-header{margin:0 0 .6rem}.import-source{margin:0;font-family:var(--font-num);font-size:.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.import-title{margin:.1rem 0 .15rem;font-size:var(--step-1);font-weight:700;color:var(--warm-ink)}.import-file{margin:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;font-size:var(--step--1)}.import-file-name{font-family:var(--font-num);color:var(--warm-ink);overflow-wrap:anywhere}.import-file-rows{font-family:var(--font-num);color:var(--warm-sub)}.status-strip{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .6rem;padding:0;list-style:none}.status-chip{display:flex;align-items:baseline;gap:.3rem;padding:.2rem .5rem;border:1px solid var(--warm-line);border-radius:999px;background:var(--warm-subtle);font-size:.5625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-sub)}.status-chip-count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.status-chip.is-asking{border-color:var(--warm-amber);background:var(--warm-amber-bg);color:var(--warm-amber)}.status-chip.is-asking .status-chip-count{color:var(--warm-amber)}.dense-wrap{border:1px solid var(--warm-line);border-radius:12px;overflow:hidden;background:#fff}.dense-head{display:flex;background:var(--warm-subtle);border-bottom:1px solid var(--warm-line);font-size:.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.dense-head-frozen{width:7rem;flex:0 0 7rem;padding:.5rem;border-right:1px solid var(--warm-line)}.dense-head-scroll{flex:1;display:flex;justify-content:space-between;padding:.5rem;overflow:hidden}.dense-rows{list-style:none;margin:0;padding:0;overflow-x:auto}.dense-row{display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--warm-line);min-height:3.5rem;width:max-content;min-width:100%}.dense-row:last-child{border-bottom:none}.dense-row.is-highlighted{background:var(--warm-amber-bg)}.dense-frozen{width:7rem;flex:0 0 7rem;display:flex;flex-wrap:wrap;align-content:center;gap:0 .3rem;padding:.4rem .5rem;border-right:1px solid var(--warm-line);background:#fff;position:sticky;left:0;z-index:2;box-shadow:4px 0 8px #1413120d}.dense-row.is-highlighted .dense-frozen{background:var(--warm-amber-bg)}.dense-select{margin:0}.dense-date{flex-basis:100%;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);font-weight:600;color:var(--warm-ink)}.dense-code,.dense-filerow{font-family:var(--font-num);font-size:.5625rem;color:var(--warm-muted)}.dense-code{flex-basis:100%}.dense-scroll{flex:1;display:grid;grid-template-columns:8rem 5.5rem 4.5rem 5rem 3.5rem 4.5rem 12rem 12rem;align-items:center;gap:0 .5rem;padding:.4rem .5rem;font-size:var(--step--1)}.dense-clocked{font-family:var(--font-num);color:var(--warm-ink);overflow-wrap:anywhere}.dense-in,.dense-hours,.dense-span{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;color:var(--warm-ink)}.dense-hours{color:var(--warm-sub)}.dense-out{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--warm-ink)}.dense-out.is-autofilled .dense-out-value{color:var(--warm-sky);border-bottom:1px dashed var(--warm-sky)}.dense-out-word{font-family:var(--font-ui);font-size:.5rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-sky)}.row-chip{display:inline-block;padding:.1rem .4rem;border-radius:999px;background:var(--warm-subtle);font-family:var(--font-ui);font-size:.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-sub)}.row-chip.is-asking{background:var(--warm-amber-bg);color:var(--warm-amber)}.row-chip.is-unmatched{background:#fef2f2;color:var(--warm-red)}.row-chip.is-autofilled{background:#f0f9ff;color:var(--warm-sky)}.row-chip.is-ignored{background:var(--warm-subtle);color:var(--warm-muted);text-decoration:line-through}.dense-engine{align-self:stretch;padding-left:.5rem;border-left:1px solid var(--warm-line);font-family:var(--font-num);font-size:.5625rem;line-height:var(--leading-normal);color:var(--warm-sub)}.dense-own{align-self:stretch;padding-left:.5rem;border-left:1px solid var(--warm-line);line-height:var(--leading-normal);color:var(--warm-ink)}.dense-totals{display:grid;grid-template-columns:7rem 1fr;gap:.15rem .5rem;padding:.5rem;background:var(--warm-subtle);border-top:1px solid var(--warm-line);font-size:.5625rem;color:var(--warm-sub)}.dense-totals-label{grid-row:1 / span 4;font-family:var(--font-ui);font-size:var(--step--1);font-weight:600;color:var(--warm-ink)}.dense-totals-hours,.dense-totals-span{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.dense-totals-shown,.dense-totals-asking,.dense-totals-unflagged,.dense-totals-hours-label,.dense-totals-span-label{font-family:var(--font-ui)}.dense-wrap.is-loading .dense-row.is-skeleton{width:100%;min-width:0}.skeleton-bar{display:block;height:.7rem;border-radius:4px;background:var(--warm-line)}.skeleton-bar.is-date{width:4.5rem}.skeleton-bar.is-small{width:3rem;height:.5rem;margin-top:.2rem}.dense-wrap.is-loading .dense-scroll .skeleton-bar{width:60%}.dense-loading-note{margin:0;padding:.5rem;border-top:1px solid var(--warm-line);background:var(--warm-subtle);font-size:var(--step--1);color:var(--warm-sub)}.save-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.5rem;border-top:1px solid var(--warm-line);background:var(--warm-canvas)}.save-bar-asking{font-family:var(--font-num);font-size:var(--step--1);font-weight:600;color:var(--warm-amber)}.save-bar-button{flex:1;min-height:2.75rem;padding:.6rem .75rem;border:1px solid var(--warm-accent);border-radius:10px;background:var(--warm-accent);color:#fff;font-family:var(--font-ui);font-size:var(--step-0);font-weight:600;cursor:pointer}.save-bar-button:disabled{border-color:var(--warm-line);background:var(--warm-subtle);color:var(--warm-muted);cursor:not-allowed}.gate-head{margin:0 0 .3rem;font-size:var(--step-0);font-weight:700;color:var(--warm-ink)}.gate-why,.gate-intact{margin:0 0 .5rem;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-sub)}.gate-list-head{margin:0 0 .3rem;font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.gate-blocker{margin-bottom:.6rem}.blocker-where{display:block;font-family:var(--font-num);font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-muted)}.batch-reason{display:grid;grid-template-columns:1fr auto;gap:.2rem .4rem;margin:.5rem 0 0}.batch-reason-head{font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.dense-head-hint{color:var(--warm-muted);white-space:nowrap}.dense-status{display:block;min-width:0}.status-chip-label{font-weight:600}.row-code{margin-left:.4rem;font-family:var(--font-num);font-size:.5625rem;font-weight:600;letter-spacing:.04em;color:var(--warm-muted)}.run-header{margin:0 0 .6rem}.run-title-row{display:flex;align-items:center;gap:.5rem}.run-title{margin:0;font-size:var(--step-1);font-weight:700;color:var(--warm-ink)}.run-pill{padding:.15rem .5rem;border-radius:999px;background:var(--warm-subtle);font-family:var(--font-ui);font-size:.5625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-sub)}.run-pill.is-draft{background:var(--warm-amber-bg);color:var(--warm-amber)}.run-pill.is-finalized{background:#ecfdf5;color:var(--warm-green)}.run-month{margin:.1rem 0 .3rem;font-family:var(--font-num);font-size:var(--step-0);font-weight:600;color:var(--warm-ink)}.run-windows{display:grid;grid-template-columns:auto 1fr;gap:.1rem .5rem;margin:0;font-size:var(--step--1)}.run-windows dt{font-weight:600;color:var(--warm-muted)}.run-windows dd{margin:0;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--warm-ink)}.pay-wrap{border:1px solid var(--warm-line);border-radius:12px;overflow-x:auto;background:#fff}.pay-head,.pay-totals{width:max-content;min-width:100%}.pay-head{display:flex;background:var(--warm-subtle);border-bottom:1px solid var(--warm-line);font-size:.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.pay-head-frozen{width:8rem;flex:0 0 8rem;display:flex;flex-direction:column;gap:2px;padding:.5rem;border-right:1px solid var(--warm-line);position:sticky;left:0;z-index:3;background:var(--warm-subtle)}.pay-head-scroll{flex:1;display:grid;grid-template-columns:repeat(6,6rem) max-content;align-items:center;gap:0 .4rem;padding:.5rem}.pay-head-label{text-align:right;white-space:nowrap}.pay-head-hint{color:var(--warm-muted);white-space:nowrap;letter-spacing:0;text-transform:none}@media(min-width:1024px){.pay-head-hint{display:none}}.pay-rows{list-style:none;margin:0;padding:0}.pay-row{display:flex;align-items:stretch;border-bottom:1px solid var(--warm-line);min-height:3.25rem;width:max-content;min-width:100%}.pay-row:last-child{border-bottom:none}.pay-row.is-highlighted{background:var(--warm-amber-bg)}.pay-frozen{width:8rem;flex:0 0 8rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.4rem .5rem;border-right:1px solid var(--warm-line);background:#fff;position:sticky;left:0;z-index:2;box-shadow:4px 0 8px #1413120d}.pay-row.is-highlighted .pay-frozen{background:var(--warm-amber-bg)}.pay-name{font-size:var(--step--1);font-weight:600;color:var(--warm-ink);overflow-wrap:anywhere}.pay-code{font-family:var(--font-num);font-size:.5625rem;color:var(--warm-muted)}.pay-marker{align-self:flex-start;padding:.05rem .35rem;border-radius:999px;font-family:var(--font-ui);font-size:.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pay-marker.is-negative{background:#fef2f2;color:var(--warm-red)}.pay-marker.is-nothing{background:var(--warm-subtle);color:var(--warm-sub)}.pay-marker.is-ot-only{background:#f0f9ff;color:var(--warm-sky)}.pay-scroll{flex:1;display:grid;grid-template-columns:repeat(6,6rem) max-content;align-items:center;gap:0 .4rem;padding:.4rem .5rem}.pay-cell{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);text-align:right;color:var(--warm-ink)}.pay-cell.is-dash{color:var(--warm-muted)}.pay-cell.is-negative{color:var(--warm-red);font-weight:700}.pay-open{justify-self:start;padding:.2rem .5rem;border:1px solid var(--warm-line);border-radius:8px;background:transparent;font-family:var(--font-ui);font-size:.5625rem;color:var(--warm-sub);cursor:pointer}.pay-totals{display:flex;align-items:stretch;background:var(--warm-subtle);border-top:1px solid var(--warm-line)}.pay-totals-label{width:8rem;flex:0 0 8rem;padding:.5rem;border-right:1px solid var(--warm-line);font-family:var(--font-ui);font-size:var(--step--1);font-weight:600;color:var(--warm-ink);position:sticky;left:0;background:var(--warm-subtle)}.pay-totals-lines{display:none}.pay-totals-scroll{flex:1;display:grid;grid-template-columns:repeat(6,6rem) max-content;align-items:center;gap:0 .4rem;padding:.5rem;font-weight:700}.pay-totals-broken{margin:0;padding:.5rem;border-top:1px solid var(--warm-red);background:#fef2f2;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-red)}.pay-ot-note{margin:.5rem 0 0;padding:.5rem;border-left:3px solid var(--warm-sky);background:#f0f9ff;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-ink)}.negative-net{margin:.6rem 0 0;padding:.6rem;border:1px solid var(--warm-red);border-radius:12px;background:#fef2f2}.negative-net-head{margin:0 0 .3rem;font-size:var(--step-0);font-weight:700;color:var(--warm-ink)}.negative-net-now,.negative-net-cause,.negative-net-would,.negative-net-limit{margin:0 0 .4rem;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-ink)}.negative-net-cause,.negative-net-limit{color:var(--warm-sub)}.negative-net-field{display:block;margin:0 0 .5rem}.negative-net-label{display:block;margin-bottom:.2rem;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.negative-net-input-row{display:flex;align-items:stretch;gap:.35rem}.negative-net-currency{display:flex;align-items:center;font-family:var(--font-num);font-size:.5625rem;font-weight:700;letter-spacing:.06em;color:var(--warm-muted)}.negative-net-input{flex:1;min-height:2.75rem;padding:.4rem .5rem;border:1px solid var(--warm-line);border-radius:10px;background:#fff;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step-0);text-align:right;color:var(--warm-ink)}.negative-net-sign{display:block;margin-top:.2rem;font-size:.5625rem;line-height:var(--leading-normal);color:var(--warm-amber)}.negative-net-save{min-height:2.75rem;padding:.6rem .75rem;border:1px solid var(--warm-accent);border-radius:10px;background:var(--warm-accent);color:#fff;font-family:var(--font-ui);font-size:var(--step-0);font-weight:600;cursor:pointer}.negative-net-save:disabled{border-color:var(--warm-line);background:var(--warm-subtle);color:var(--warm-muted);cursor:not-allowed}.payslip-company{margin:0 0 .9rem;padding-bottom:.7rem;border-bottom:1px solid var(--warm-line)}.payslip-company-name{margin:0;font-weight:600;color:var(--warm-ink)}.payslip-company-line{margin:.1rem 0 0;font-size:.82rem;color:var(--warm-sub)}.payslip-doc-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:var(--warm-ink);line-height:var(--leading-normal)}.payslip-doc-title-en,.payslip-column-en{font-weight:400;font-size:.78rem;color:var(--warm-muted)}.payslip-name{margin:0;font-size:.95rem;color:var(--warm-ink)}.payslip-periods{margin:.9rem 0 1.1rem;padding:.7rem .8rem;display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;background:var(--warm-subtle);border:1px solid var(--warm-line);border-radius:6px;font-size:.85rem}.payslip-periods dt{color:var(--warm-sub)}.payslip-periods dd{margin:0;color:var(--warm-ink);text-align:right;font-variant-numeric:tabular-nums}.payslip-columns{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:700px){.payslip-columns{grid-template-columns:1fr 1fr;gap:1.5rem}}.payslip-column{border:1px solid var(--warm-line);border-radius:6px;padding:.75rem .8rem;background:var(--paper)}.payslip-column-head{margin:0 0 .6rem;padding-bottom:.45rem;border-bottom:1px solid var(--warm-line);display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;font-size:.9rem;font-weight:600;color:var(--warm-ink)}.payslip-column-th{white-space:nowrap}.payslip-rows{margin:0;display:grid;gap:.35rem}.payslip-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:baseline}.payslip-row-label{color:var(--warm-sub);font-size:.85rem;line-height:var(--leading-normal)}.payslip-row-value{margin:0;font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--warm-ink)}.payslip-row-value.is-dash{color:var(--warm-muted)}.payslip-column-total{margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--warm-line);display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:baseline;font-weight:600}.payslip-column-total .payslip-row-label{color:var(--warm-ink);font-weight:600}.payslip-net{margin:1.1rem 0 .9rem;padding:.8rem .9rem;border:1px solid var(--warm-line);border-left:3px solid var(--warm-accent);border-radius:6px;background:var(--warm-subtle);display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:baseline}.payslip-net-label{font-weight:600;color:var(--warm-ink)}.payslip-net-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600;text-align:right;white-space:nowrap;color:var(--warm-ink)}.payslip-note-heading{font-weight:600;color:var(--warm-ink)}.employees{padding-bottom:1.5rem}.employees-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.employees-count{margin:0;font-size:.82rem;color:var(--warm-muted);white-space:nowrap}.dense-door{flex:0 0 100%;max-width:100%;margin-left:7rem;padding:.5rem .75rem .75rem;border-top:1px dashed var(--warm-line)}.punch-open{font-size:var(--step--1)}.punch-editor{display:flex;flex-direction:column;gap:.5rem;max-width:22rem}.punch-heading{margin:0;font-weight:600;font-size:var(--step--1);color:var(--warm-ink)}.punch-actions{display:flex;gap:.5rem}.ignore-clock-name.is-done{margin:.35rem 0 0;padding:.5rem .75rem;border-left:3px solid var(--warm-green);background:var(--warm-subtle);font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-ink)}.item-rows{margin:.5rem 0 .75rem;display:flex;flex-direction:column;gap:.15rem}.item-row{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem .5rem;border-left:3px solid transparent;font-size:var(--step--1);line-height:var(--leading-normal)}.item-row.is-earning{border-left-color:var(--warm-green)}.item-row.is-deduction{border-left-color:var(--warm-amber)}.item-row dt{margin:0;color:var(--warm-sub)}.item-row dd{margin:0;color:var(--warm-ink)}.item-row[data-applies=false] dd{color:var(--warm-muted)}.day.is-linked{background:var(--warm-amber-bg);border-left:4px solid var(--warm-amber);padding-left:.5rem}.employees-created{margin:.35rem 0 .9rem;padding:.5rem .75rem;border-left:3px solid var(--warm-green);background:var(--warm-subtle);font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-ink)}.employees-note{margin:.35rem 0 .9rem;font-size:.85rem;line-height:var(--leading-normal);color:var(--warm-sub)}.employee-filters{display:flex;gap:.4rem;margin-bottom:.9rem}.employee-filter{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .6rem;border:1px solid var(--warm-line);border-radius:6px;background:var(--paper);color:var(--warm-sub);font:inherit;cursor:pointer}.employee-filter.is-current{background:var(--warm-subtle);border-color:var(--warm-ink);color:var(--warm-ink)}.employee-filter-word{font-size:.78rem}.employee-filter-count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.employee-rows{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.employee-row{display:block;padding:.6rem .7rem;border:1px solid var(--warm-line);border-radius:6px;background:var(--paper)}.employee-initials{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--warm-subtle);color:var(--warm-sub);font-size:.75rem;font-weight:600}.employee-identity{display:grid;gap:.1rem;min-width:0}.employee-name{color:var(--warm-ink);line-height:var(--leading-normal)}.employee-sub{font-size:.78rem;color:var(--warm-muted)}.employee-code{font-family:var(--font-num);color:var(--warm-sub)}.employee-status{font-size:.75rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--warm-line);white-space:nowrap}.employee-status.is-employed{color:var(--warm-green);border-color:var(--warm-green)}.employee-status.is-left{color:var(--warm-sub);background:var(--warm-subtle)}.employees-footnote{margin:.9rem 0 0;font-size:.76rem;line-height:var(--leading-normal);color:var(--warm-muted)}.employee-detail{display:flex;flex-direction:column;gap:12px}.employee-detail-head{display:flex;flex-direction:column;gap:2px}.employee-detail-head>*{margin:0}.employee-detail-head .screen-title{font-size:19px}.employee-detail-sub{color:var(--warm-muted);font:400 11.5px var(--font-plex-mono)}.employee-detail-status{font-weight:600;font-size:13px}.employee-detail-fullname{color:var(--warm-sub);font-size:12.5px}.detail-block{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--paper);border:1px solid var(--warm-line);border-radius:16px}.detail-block>*{margin:0}.detail-block-title{font:700 14px var(--font-plex);color:var(--warm-ink)}.detail-block-note{color:var(--warm-sub);font-size:11.5px}.detail-block .add-employee-heading{font-size:13px}.period-rows,.period-gaps,.alias-list{list-style:none;margin:0;padding-left:0;display:flex;flex-direction:column;gap:.4rem}.period-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.6rem;padding:10px 12px;border:1px solid var(--warm-line);border-left:3px solid #22c55e;border-radius:2px 8px 8px 2px;background:var(--paper)}.period-dates{font:500 12.5px var(--font-plex-mono);font-variant-numeric:tabular-nums}.period-state{font-size:.8rem;color:var(--ink-soft)}.period-state.is-open{color:var(--ink);font-weight:600;border:1px solid currentColor;border-radius:999px;padding:.05rem .5rem}.period-gap{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:10px 12px;border-left:3px solid var(--warm-muted);border-radius:2px 8px 8px 2px;background:var(--warm-subtle)}.period-gap-head{font:600 10.5px var(--font-plex);color:var(--warm-sub);border:1px solid var(--warm-line);background:var(--paper);border-radius:999px;padding:2px 8px}.period-gap-note{color:var(--ink-soft);font-size:.82rem;line-height:var(--leading-normal)}.salary-history{width:100%;border-collapse:collapse}.salary-history th,.salary-history td{padding:.4rem .5rem;border-bottom:1px solid var(--warm-line);text-align:left}.salary-history th{background:var(--warm-subtle);font:600 10.5px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.salary-history td{font:500 12.5px var(--font-plex-mono)}.salary-month{white-space:nowrap}.salary-history th.n,.salary-history td.n{text-align:right}.salary-history td.money{font-variant-numeric:tabular-nums}.detail-facts{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem}.detail-facts dt{color:var(--ink-soft);font-size:.85rem}.alias-raw{font-family:var(--font-num);font-size:.85rem;white-space:pre;padding:.15rem .4rem;border:1px solid var(--warm-line);border-radius:4px;background:var(--paper-sunk)}.owner-note{line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.employee-row-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.wage-rate{display:flex;flex-direction:column;gap:.1rem}.wage-rate-figure{font-weight:600;font-variant-numeric:tabular-nums}.wage-rate-working{color:var(--ink-soft);font-size:.8rem;font-variant-numeric:tabular-nums}.add-employee{margin:.75rem 0 1.25rem;padding:.75rem;background:var(--paper);border:1px solid var(--warm-line)}.add-employee-heading{margin:0 0 .5rem;font-size:var(--step-1);line-height:var(--leading-normal)}.add-employee-group{margin:0 0 .9rem;padding:.5rem .6rem .7rem;border:1px solid var(--warm-line)}.add-employee-legend{padding:0 .35rem;color:var(--warm-sub);font-size:var(--step--1)}.field{display:block;margin-top:.7rem}.field-label{display:block;margin-bottom:.2rem;font-size:var(--step--1);color:var(--warm-ink)}.field-input{display:block;width:100%;padding:.55rem;font:inherit;min-height:2.75rem;color:var(--warm-ink);background:var(--paper);border:1px solid var(--line)}.field-input--multiline{min-height:3.5rem;resize:vertical}.field-help{display:block;margin-top:.25rem;color:var(--warm-sub);font-size:var(--step--1);line-height:var(--leading-normal)}.field--check{display:flex;gap:.5rem;align-items:center}.field--check .field-label{margin-bottom:0}.field--check input[type=checkbox]{display:inline-block;flex:none;width:auto;min-height:0;margin:0}.add-employee-actions{display:flex;gap:.5rem;margin-top:.9rem}.button{padding:.55rem 1rem;font:inherit;min-height:2.75rem;border:1px solid var(--warm-line);background:var(--paper);color:var(--warm-ink)}.button--primary{background:var(--warm-accent);border-color:var(--warm-accent);color:var(--paper)}.button--quiet{background:var(--warm-subtle)}.button:disabled{opacity:.55;cursor:not-allowed}.employees-add{margin-left:auto;padding:.4rem .8rem;font-size:var(--step--1)}.sso-amount{font-family:var(--font-num);font-variant-numeric:tabular-nums}.sso-provenance{color:var(--warm-sub);font-size:var(--step--1)}.sso-computed{display:block;margin-top:.15rem;color:var(--warm-sub);font-size:var(--step--1)}.sso-locked{display:block;margin:.5rem 0 .8rem;padding:.6rem .7rem;border-left:3px solid var(--ink-soft);color:var(--ink-soft);line-height:1.5}.sso-control-cell{grid-column:1 / -1;margin:.4rem 0 0}.sso-stale{display:block;margin-top:.3rem;padding:.35rem .5rem;border-left:3px solid var(--warm-amber);background:var(--warm-amber-bg);color:var(--warm-amber);font-size:var(--step--1);line-height:var(--leading-normal)}.holiday-year{margin-top:1rem}.holiday-year-title{margin:0 0 .35rem;font-size:var(--step--1);color:var(--warm-sub)}.holiday-rows{list-style:none;margin:0;padding:0}.holiday-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:baseline;padding:.5rem .6rem;border:1px solid var(--warm-line);border-left-width:3px;border-left-color:var(--warm-violet);background:var(--paper);margin-bottom:.35rem}.holiday-row.is-inactive{border-left-color:var(--warm-muted);background:var(--warm-subtle)}.holiday-row.is-deleted{border-left-color:var(--warm-muted);background:var(--warm-subtle);color:var(--warm-muted)}.holiday-date{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--warm-sub)}.holiday-name{line-height:var(--leading-normal);overflow-wrap:anywhere}.holiday-state{font-size:var(--step--1);white-space:nowrap}.holiday-state.is-active{color:var(--warm-violet)}.holiday-state.is-inactive,.holiday-state.is-deleted{color:var(--warm-muted)}.holiday-import{margin-top:1.5rem;padding:.75rem;border:1px solid var(--warm-line);background:var(--warm-subtle)}.holiday-template-link{color:var(--warm-accent)}.add-holiday{margin:.75rem 0 1rem;padding:.75rem;background:var(--paper);border:1px solid var(--warm-line)}.holiday-import-report{margin-top:.75rem;padding:.5rem .6rem;background:var(--paper);border:1px solid var(--warm-line)}.holiday-import-created{margin:0;font-weight:600}.holiday-import-refused{margin:.4rem 0 .3rem;padding:.35rem .5rem;border-left:3px solid var(--warm-amber);background:var(--warm-amber-bg);color:var(--warm-amber);font-size:var(--step--1);line-height:var(--leading-normal)}.holiday-import-errors{margin:0;padding-left:1.1rem;font-size:var(--step--1);line-height:var(--leading-normal)}.holiday-import-row{font-family:var(--font-num);font-variant-numeric:tabular-nums}.holidays{display:block;padding-bottom:1rem}.holiday-import-cell{font-family:var(--font-num)}.door{display:block;margin:0 0 1rem;padding:.75rem;background:var(--warm-subtle);border:1px solid var(--warm-line)}.door--inline{margin:.4rem 0 0;padding:0;background:none;border:none}.door-title{margin:0 0 .35rem;font-size:var(--step-0);line-height:var(--leading-normal)}.employee-noclock{display:block;margin-top:.15rem;color:var(--warm-amber);font-size:var(--step--1);line-height:var(--leading-normal)}.unmatchable{margin:0 0 .75rem;padding:.5rem .6rem;border-left:3px solid var(--warm-amber);background:var(--warm-amber-bg);color:var(--warm-ink);font-size:var(--step--1);line-height:var(--leading-normal)}.unmatchable-lead{margin:0 0 .3rem;font-weight:600}.unmatchable-list{margin:0 0 .3rem;padding-left:1.1rem}.unmatchable-code{font-family:var(--font-num);font-variant-numeric:tabular-nums}.assign-clock-name{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin:.4rem 0 .9rem}.assign-clock-name .field{flex:1 1 12rem;min-width:0}.ignore-clock-name{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin:0 0 .9rem .9rem;padding-left:.75rem;border-left:2px solid var(--warm-line)}.ignore-clock-name .field{flex:1 1 12rem;min-width:0}.unmatchable-remedy{margin:0;color:var(--warm-sub)}.unmatchable-rematch{margin:.5rem 0 0;padding:.4rem .7rem;min-height:2.75rem;font:inherit;font-weight:600;color:var(--warm-ink);background:transparent;border:1px solid var(--warm-line);border-radius:.25rem}.unmatchable-rematch:disabled{color:var(--warm-muted);border-color:var(--warm-muted)}.import-source-uploaded{font-weight:400;color:var(--warm-muted)}.import-source-undated{font-style:italic;text-transform:none;letter-spacing:0}.payslip-nowages{margin:.5rem 0 0;padding:.4rem .55rem;border-left:3px solid var(--warm-line);background:var(--warm-subtle);font-size:var(--step--1);line-height:var(--leading-normal)}.payslip-nowages-en{display:block;color:var(--warm-sub)}.closed-days{display:block;padding-bottom:1rem}.holiday-row.is-closed{border-left-color:var(--warm-sub);background:var(--warm-subtle)}.closed-day-delete{padding:.3rem .6rem;font-size:var(--step--1);min-height:0}.leave{display:block}.leave-rows{list-style:none;margin:0;padding:0}.leave-row{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:baseline;padding:.5rem .6rem;border:1px solid var(--warm-line);border-left-width:3px;border-left-color:var(--warm-violet);background:var(--paper);margin-bottom:.35rem}.leave-date{font-variant-numeric:tabular-nums;font-weight:600}.leave-who{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.leave-kind{padding:.05rem .4rem;border:1px solid var(--warm-line);background:var(--warm-subtle);font-size:.85rem}.leave-why{flex:1 1 100%;min-width:0;color:var(--ink-soft);overflow-wrap:anywhere}.leave-correct,.leave-remove{flex:0 0 auto}.leave-row .add-holiday{flex:1 1 100%}.period-links{display:flex;gap:.75rem}.period-link{color:var(--warm-violet);text-decoration:underline}.fin-recompute{margin-top:.4rem}.adjustments{display:flex;flex-direction:column;gap:.75rem}.adjustment-totals{border:1px solid var(--line);border-radius:6px;padding:.6rem .75rem;background:var(--paper-sunk)}.adjustment-totals-scope{margin:0 0 .4rem;font-size:.85rem;color:var(--ink-soft)}.adjustment-totals-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.adjustment-totals-list li{display:flex;flex-direction:column;min-width:5.5rem}.adjustment-total-word{font-size:.8rem;color:var(--ink-soft)}.adjustment-total-amount{font-variant-numeric:tabular-nums;font-weight:600}.adjustment-totals-count{margin:.4rem 0 0;font-size:.85rem;color:var(--ink-soft)}.adjustment-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.adjustment-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px}.adjustment-row-kind{font-weight:600}.adjustment-row-date{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.adjustment-row-amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;margin-left:auto}.adjustment-row-remarks{flex-basis:100%;font-size:.85rem;color:var(--ink-soft)}.gap-not-scheduled-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.6rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-sunk)}.screen--login{background:var(--warm-canvas);min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:1.25rem 1rem}.login-brand{display:flex;align-items:baseline;gap:.5rem}.login-mark{background:var(--warm-sidebar);color:var(--warm-canvas);font-weight:700;font-size:.7rem;letter-spacing:.06em;border-radius:8px;padding:.3rem .45rem}.login-wordmark{color:var(--warm-sub);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.login-card{background:var(--paper);border:1px solid var(--warm-line);border-radius:16px;box-shadow:0 1px 2px #1413120d;padding:1.1rem}.login-title{margin:0;font-size:1.375rem;font-weight:700;color:var(--warm-ink);line-height:1.25}.login-sub{margin:.35rem 0 1rem;color:var(--warm-sub);font-size:.8125rem}.login-submit{width:100%;margin-top:.9rem}.login-footer{margin:0;text-align:center;color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.notice--info{background:var(--warm-subtle);border:1px solid var(--warm-line);color:var(--warm-sub)}.period-card{background:var(--paper);border:1px solid var(--warm-line);border-radius:16px;box-shadow:0 1px 2px #1413120d;padding:.9rem;margin-bottom:.75rem;border-bottom:1px solid var(--warm-line)}.period-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.period-status{display:inline-flex;align-items:center;gap:.35rem;margin-left:0;padding:.15rem .55rem;border:1px solid var(--warm-line);border-radius:999px;background:var(--warm-subtle);color:var(--warm-sub);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.period-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.period-created{margin:.3rem 0 .7rem;color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.period-windows{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;margin:0 0 .7rem;font-size:.8125rem}.period-windows dt{color:var(--warm-sub)}.period-windows dd{margin:0;color:var(--warm-ink)}.period-dates{font-family:var(--font-num);font-variant-numeric:tabular-nums}.period-runline{border-top:1px solid var(--warm-line);padding-top:.65rem;margin-top:.2rem}.period-runline-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.period-runkind{font-weight:700;font-size:.8125rem;color:var(--warm-ink)}.period-lines{color:var(--warm-muted);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.75rem}.period-net{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:.35rem 0 .6rem}.period-net-label{color:var(--warm-sub);font-size:.8125rem}.period-net-figure{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;color:var(--warm-ink)}.period-door-note{margin:0 0 .4rem;color:var(--warm-sub);font-size:.8125rem}.run-create-lead{margin:0 0 .6rem;color:var(--warm-sub);font-size:.8125rem}.leave-section{margin:1rem 0 .15rem;font-size:.875rem;font-weight:700;color:var(--warm-ink)}.leave-unit{margin:0 0 .6rem;color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.adjustments{gap:.6rem}.adjustment-totals{border:1px solid var(--warm-line);border-radius:10px;background:var(--warm-subtle);padding:.7rem .8rem}.adjustment-totals-scope{color:var(--warm-sub);font-size:.8125rem}.adjustment-total-word{color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.adjustment-total-amount{font-family:var(--font-num);font-weight:700;color:var(--warm-ink)}.adjustment-totals-count{color:var(--warm-sub);font-size:.8125rem}.adjustment-rows-unit{margin:.8rem 0 .25rem;text-align:right;color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.adjustment-row{border:1px solid var(--warm-line);border-radius:10px;padding:.6rem .7rem;gap:.35rem .5rem}.adjustment-row-head{display:flex;align-items:baseline;gap:.45rem;min-width:0}.adjustment-row-kind{color:var(--warm-ink);font-weight:700}.adjustment-row-date{font-family:var(--font-num);color:var(--warm-sub);font-size:.8125rem}.adjustment-row-amount{font-family:var(--font-num);font-size:1rem;color:var(--warm-ink)}.adjustment-row-remarks{color:var(--warm-sub);font-size:.8125rem;line-height:1.45}.adjustment-row-actions{flex-basis:100%;display:flex;gap:.4rem;border-top:1px solid var(--warm-line);margin-top:.15rem;padding-top:.45rem}.closed-days{display:flex;flex-direction:column;gap:.6rem}.closed-days .employees-head{border-bottom:1px solid var(--warm-line);padding-bottom:.5rem}.closed-days .employees-count{color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.closed-days .employees-note{color:var(--warm-sub);font-size:.8125rem;line-height:1.5}.closed-days .holiday-rows{display:flex;flex-direction:column;gap:.4rem}.closed-days .holiday-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;border:1px solid var(--warm-line);border-left:3px solid var(--warm-ink);border-radius:10px;padding:.55rem .7rem;background:var(--warm-canvas)}.closed-day-marker{color:var(--warm-ink);font-size:.6875rem;line-height:1}.closed-days .holiday-date{font-family:var(--font-num);font-weight:700;color:var(--warm-ink)}.closed-days .holiday-name{flex-basis:100%;color:var(--warm-sub);font-size:.8125rem;line-height:1.45}.closed-days .closed-day-delete{margin-left:auto}.door--card{border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d;padding:.9rem}.door--card .door-title{font-size:.875rem;font-weight:700;color:var(--warm-ink);margin-bottom:.3rem}.door--card .field-help{color:var(--warm-sub);font-size:.8125rem;line-height:1.5}.door--card .field-label{color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.door--card .field-input{border:1px solid var(--warm-line);border-radius:10px;padding:.5rem .6rem}.settings-form{border:1px solid var(--warm-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d;padding:.9rem;display:flex;flex-direction:column;gap:.6rem}.settings-form #cs-taxid{font-family:var(--font-num)}.settings-form .field-help{color:var(--warm-sub);font-size:.8125rem;line-height:1.5}.period-paid{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:.3rem 0 0}.period-paid-label{color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.period-paid-date{font-family:var(--font-num);font-weight:700;color:var(--warm-ink)}.period-finalized{flex-basis:100%;font-family:var(--font-num);color:var(--warm-sub);font-size:.8125rem}.leave-people,.adjustment-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.leave-person,.adjustment-person{border:1px solid var(--warm-line);border-radius:12px;padding:.5rem .6rem;background:var(--warm-canvas)}.leave-person-head,.adjustment-person-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0}.leave-person-code,.adjustment-person-code{font-family:var(--font-num);font-weight:700;color:var(--warm-ink);font-size:.8125rem}.leave-person-name,.adjustment-person-name{color:var(--warm-ink)}.leave-person-count,.adjustment-person-none{margin-left:auto;color:var(--warm-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.period-row-dates{font-variant-numeric:tabular-nums;color:var(--ink)}.period-row-note{font-variant-numeric:tabular-nums;color:var(--ink-soft);text-align:right}.period-tag{grid-column:1 / -1;font-size:.85rem;line-height:1.35;color:var(--ink-soft);border-top:1px solid var(--warm-line);padding-top:.35rem;margin-top:.15rem}.shell{min-height:100vh;background:var(--warm-canvas);color:var(--warm-ink)}.shell-rail{background:var(--warm-sidebar);padding:10px 16px 14px;display:flex;flex-direction:column;gap:8px}.shell-wordmark{display:flex;align-items:baseline;gap:10px}.shell-wordmark-name{font-family:var(--font-ui);font-weight:700;font-size:18px;letter-spacing:-.05em;color:#fff;line-height:1}.shell-wordmark-sub{font-family:var(--font-ui);font-weight:700;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d}.shell-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.shell-nav::-webkit-scrollbar{display:none}.shell-nav-group{display:contents}.shell-nav-group-label{display:none}.shell-nav-link{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;font-family:var(--font-ui);font-weight:500;font-size:13px;line-height:1.2;min-height:44px;text-decoration:none;white-space:nowrap;color:#ffffff8c}.shell-nav-link.is-current{background:#ffffff1a;color:#fff}.shell-who{display:flex;align-items:center;gap:12px;min-width:0}.shell-who-email{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-weight:400;font-size:11px;color:#ffffff4d}.shell-signout{flex:0 0 auto;background:none;border:0;padding:0;font-family:var(--font-ui);font-weight:500;font-size:12px;color:#fff6;cursor:pointer;min-height:44px}.shell-content .screen{padding:0;margin:0;max-width:none}.shell-content{padding:14px 16px;min-width:0}@media(min-width:1024px){.shell{display:flex;align-items:stretch}.shell-rail{width:220px;min-width:220px;padding:0;gap:0}.shell-wordmark{flex-direction:column;align-items:flex-start;gap:8px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.shell-wordmark-name{font-size:26px;letter-spacing:-.06em}.shell-nav{flex:1;flex-direction:column;gap:1px;padding:12px 8px;overflow-x:hidden;overflow-y:auto}.shell-nav-group{display:block}.shell-nav-group-label{display:block;font-family:var(--font-ui);font-weight:700;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#fff3;padding:10px 12px 6px}.shell-nav-link{min-height:0;margin-bottom:1px}.shell-who{flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border-top:1px solid rgba(255,255,255,.06)}.shell-who-email{flex:0 0 auto;max-width:100%}.shell-signout{min-height:0}.shell-content{flex:1;min-width:0;padding:24px}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid transparent;min-height:44px;padding:9px 14px;font:600 12.5px var(--font-plex);cursor:pointer}.ui-button--primary{background:var(--warm-accent);color:#fff}.ui-button--secondary{background:#fff;border-color:var(--warm-line);color:var(--warm-ink);font-size:13px}.ui-button--destructive{background:#fff;border-color:#fca5a5;color:var(--warm-red)}.ui-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid transparent;min-height:44px;padding:9px 14px;font:600 12.5px var(--font-plex);text-decoration:none;cursor:pointer}.ui-link--accent{color:var(--warm-accent)}@media(min-width:431px){.login-submit{width:auto}}.ui-button:disabled{background:var(--warm-subtle);border-color:var(--warm-line);color:var(--warm-muted);cursor:not-allowed}.ui-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ui-field-label{font:600 12.5px var(--font-plex);color:var(--warm-ink)}.ui-field-help{font:400 11.5px var(--font-plex);line-height:var(--leading-normal);color:var(--warm-sub)}.ui-field-error{font:400 11.5px var(--font-plex);line-height:var(--leading-normal);color:var(--warm-red)}.ui-input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 11px;border:1px solid var(--warm-line);border-radius:8px;background:var(--warm-canvas);color:var(--warm-ink);font:400 13px var(--font-plex)}:where(button,a,[role=tab],input[type=checkbox],input[type=radio]):focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.ui-input:disabled{background:var(--warm-subtle);color:var(--warm-muted)}.ui-input--multiline{min-height:0;line-height:var(--leading-normal);resize:vertical}.ui-input--file{padding:8px 11px;font-size:var(--step--1)}.ui-input--file::file-selector-button{margin:-8px 11px -8px -11px;padding:9px 12px;border:0;border-right:1px solid var(--warm-line);border-radius:8px 0 0 8px;background:var(--warm-subtle);color:var(--warm-ink);font-family:var(--font-plex);font-size:var(--step--1);font-weight:600;cursor:pointer}.ui-input--month{font-family:var(--font-plex-mono)}.ui-select{appearance:auto}.ui-choice{display:flex;align-items:center;gap:9px;padding:6px 0;min-height:44px;cursor:pointer}.ui-choice-box{width:22px;height:22px;flex:0 0 22px;accent-color:var(--warm-accent);cursor:pointer}.ui-choice-box--radio{border-radius:999px}.ui-choice-word{font:400 13px var(--font-plex);color:var(--warm-ink);line-height:var(--leading-normal)}.ui-card{border:1px solid var(--warm-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d;padding:16px;margin-bottom:12px}.ui-tile{border:1px solid var(--warm-line);border-radius:12px;background:var(--warm-canvas);padding:13px 15px}.ui-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--warm-subtle);color:var(--warm-sub);font:600 10.5px var(--font-plex);white-space:nowrap}.ui-badge-dot{width:5px;height:5px;border-radius:999px;background:currentcolor}.ui-badge--green{background:#f0fdf4;color:var(--warm-green)}.ui-badge--amber{background:var(--warm-amber-bg);color:var(--warm-amber)}.ui-badge--red{background:#fef2f2;color:var(--warm-red)}.ui-badge--violet{background:#f5f3ff;color:var(--warm-violet)}.ui-badge--indigo{background:#eef2ff;color:var(--warm-indigo)}.ui-badge--sky{background:#f0f9ff;color:var(--warm-sky)}.ui-badge--accent{background:#eff6ff;color:var(--warm-accent)}.ui-micro{font:600 11px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.ui-pagetitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.ui-pagetitle-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-pagetitle-eyebrow{font:600 11px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.ui-pagetitle-head{margin:0;font:700 22px var(--font-plex);letter-spacing:-.01em;color:var(--warm-ink)}.ui-pagetitle-aside{display:flex;align-items:center;gap:8px;flex-shrink:0}.ui-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--warm-line);border-left:3px solid var(--warm-line);border-radius:2px 12px 12px 2px;background:#fff;margin-bottom:8px}.ui-row--green{border-left-color:var(--warm-green)}.ui-row--amber{border-left-color:var(--warm-amber)}.ui-row--red{border-left-color:var(--warm-red)}.ui-row--violet{border-left-color:var(--warm-violet)}.ui-row--indigo{border-left-color:var(--warm-indigo)}.ui-row--sky{border-left-color:var(--warm-sky)}.ui-row--accent{border-left-color:var(--warm-accent)}.ui-row.is-marked{background:var(--warm-amber-bg)}.ui-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px}.ui-strip-tile{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:10px 12px;border:1px solid var(--warm-line);border-radius:12px;background:#fff}.ui-strip-value{font:700 15px var(--font-plex);font-variant-numeric:tabular-nums;color:var(--warm-ink)}.ui-strip-label{font:600 10.5px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.ui-strip-tile--green .ui-strip-value{color:var(--warm-green)}.ui-strip-tile--amber .ui-strip-value{color:var(--warm-amber)}.ui-strip-tile--red .ui-strip-value{color:var(--warm-red)}.ui-strip-tile--violet .ui-strip-value{color:var(--warm-violet)}.ui-strip-tile--indigo .ui-strip-value{color:var(--warm-indigo)}.ui-strip-tile--sky .ui-strip-value{color:var(--warm-sky)}.ui-strip-tile--accent .ui-strip-value{color:var(--warm-accent)}.ui-actionbar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--warm-line);background:#fff}.ui-table{border:1px solid var(--warm-line);border-radius:12px;background:#fff;overflow-x:auto;margin-bottom:12px}.ui-table-caption{margin:0;padding:10px 14px 0;font:400 12px var(--font-plex);color:var(--warm-sub)}.ui-table-head,.ui-table-row,.ui-table-totals{display:flex;align-items:stretch;width:max-content;min-width:100%}.ui-table-head{background:var(--warm-subtle);border-bottom:1px solid var(--warm-line)}.ui-table-headcell{display:flex;align-items:center;padding:10px 14px;font:600 10.5px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted);white-space:nowrap}.ui-table-rows{list-style:none;margin:0;padding:0}.ui-table-row{border-bottom:1px solid var(--warm-line)}.ui-table-row:last-child{border-bottom:none}.ui-table-cell{display:flex;align-items:center;padding:10px 14px;font:400 12.5px var(--font-plex);color:var(--warm-ink);white-space:nowrap}.ui-table-cell.is-num,.ui-table-headcell.is-num{justify-content:flex-end;text-align:right;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.ui-table-headcell.is-num{font-family:var(--font-plex)}.ui-table-scroll{display:flex;align-items:stretch}.ui-table-frozen{position:sticky;left:0;z-index:2;display:flex;align-items:center;flex:0 0 8rem;width:8rem;padding:10px 14px;border-right:1px solid var(--warm-line);background:#fff;box-shadow:4px 0 8px #1413120d;font:400 12.5px var(--font-plex)}.ui-table-head .ui-table-frozen{background:var(--warm-subtle)}.ui-table-totals{border-top:1px solid var(--warm-line);background:var(--warm-subtle);font-weight:600}.ui-table-totalslabel{background:var(--warm-subtle);font:600 11px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.ui-stepper{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column}.ui-step{display:flex;align-items:flex-start;gap:12px;min-height:56px;position:relative}.ui-step-mark{width:28px;height:28px;flex:0 0 28px;border:2px solid var(--warm-line);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 var(--font-plex);color:#fff}.ui-step.is-done .ui-step-mark{border-color:#22c55e;background:#22c55e}.ui-step.is-done .ui-step-mark:before{content:"✓"}.ui-step.is-current .ui-step-mark{border-color:#fbbf24;background:#fbbf24;color:var(--warm-ink)}.ui-step.is-current .ui-step-mark:before{content:"!"}.ui-step.is-todo .ui-step-mark:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--warm-muted)}.ui-step.is-done:not(:last-child):after{border-left-color:#22c55e}.ui-step-text{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px}.ui-step-word{font:600 13px var(--font-plex);color:var(--warm-ink)}.ui-step.is-todo .ui-step-word{color:var(--warm-muted)}.ui-step:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:0;border-left:2px solid var(--warm-line)}.ui-demo{padding:20px 16px 40px;max-width:1100px}.ui-demo-section{margin-bottom:28px;padding-top:14px;border-top:1px solid var(--warm-line)}.ui-demo-note{margin:4px 0 12px;font-size:var(--step--1);line-height:var(--leading-normal);color:var(--warm-sub)}.ui-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ui-demo-list{list-style:none;margin:0;padding:0}.ui-tabs{display:flex;gap:.35rem;margin:0 0 .5rem}.ui-tab{flex:1;display:flex;align-items:baseline;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.4rem .5rem;border:1px solid var(--warm-line);border-radius:10px;background:transparent;color:var(--warm-sub);font-family:var(--font-plex);font-size:var(--step--1);cursor:pointer}.ui-tab--current{border-color:var(--warm-ink);background:var(--warm-ink);color:#fff;font-weight:600}.ui-tab-label{text-align:center}.ui-tab-count{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-weight:700}.ui-button.blocker-goto{display:flex;width:fit-content}.ui-button.batch-open{display:block;width:100%;text-align:left;background:none;border:0}.ui-button.pay-line-head{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.5rem;background:none;border:0;text-align:left}.ui-button.fin-remedy{display:inline-block;padding:.5rem 0;background:none;border:0;min-height:0;font:inherit;font-weight:600}.ui-button.period-run{display:block}.ui-button.shell-signout{flex:0 0 auto;background:none;border:0;padding:0;font-family:var(--font-ui);font-weight:500;font-size:12px;color:#fff6}.month-overview{display:flex;flex-direction:column;gap:.75rem}.month-windows{display:grid;grid-template-columns:1fr 1fr;gap:10px}.month-window{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px;border-radius:12px}.month-window-dates{margin:0;display:flex;flex-direction:column;font:500 13px var(--font-plex-mono);font-variant-numeric:tabular-nums;color:var(--warm-ink)}.month-window-note{margin:0;font-size:.6875rem;color:var(--warm-muted)}.month-lead{margin:0;font-size:var(--step--1);color:var(--warm-sub)}.month-card-head{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--warm-line);font:700 14px var(--font-plex);color:var(--warm-ink)}.month-columns{display:flex;flex-direction:column;gap:.75rem}@media(min-width:1024px){.month-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}}.month-steps,.month-open,.month-attention{display:block}.month-note{margin:.6rem 0 0;font-size:.75rem;color:var(--warm-sub)}.month-open-count{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;background:#fef2f2;font:600 11px var(--font-plex-mono);font-variant-numeric:tabular-nums;color:var(--warm-red);vertical-align:1px}.month-open-list{display:flex;flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none}.month-open-item{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #fecaca;border-radius:12px;background:#fffbfb}.month-open-heading{font:600 12.5px var(--font-plex);color:var(--warm-ink)}.month-open-where{font-family:var(--font-plex-mono);font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-muted)}.month-open-message{font-size:12px;line-height:1.5;color:var(--warm-sub)}.month-open-none{margin:0;font-size:var(--step--1);color:var(--warm-sub)}.month-open-go,.month-review-link{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;min-height:2.75rem;padding:.4rem 0;font-weight:600;font-size:var(--step--1);color:var(--warm-accent);text-decoration:none}.month-review-link{padding:.4rem .9rem;border-radius:8px;background:var(--warm-accent);color:#fff;text-decoration:none}.month-actions{display:flex}.ui-step-detail{display:block;font-size:.6875rem;color:var(--warm-muted)}.screen-loading{margin:0;padding:.75rem;font-size:var(--step--1);color:var(--warm-sub)}@media(max-width:700px){.month-windows{gap:.5rem}}.settle{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--warm-line)}.settle-head{margin:0;font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.settle-lastday{margin:0;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--warm-ink)}.settle-note,.settle-none{margin:0;font-size:.75rem;color:var(--warm-sub)}.detail-settle{margin:.6rem 0 0;font-size:var(--step--1)}.attendance-summary{display:flex;flex-direction:column;gap:.75rem}.summary-scope,.summary-none{margin:0;font-size:.75rem;color:var(--warm-sub)}.summary-rows,.summary-override-list{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.summary-row,.summary-override-item{display:flex;flex-direction:column;gap:.2rem;padding-top:.6rem;border-top:1px solid var(--warm-line)}.summary-row:first-child,.summary-override-item:first-child{border-top:0;padding-top:0}.summary-row.is-overridden{border-left:3px solid var(--warm-accent);padding-left:.6rem}.summary-date{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:700;color:var(--warm-muted)}.summary-hours{font-size:var(--step--1);color:var(--warm-ink)}.summary-figure{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-weight:700}.summary-was,.summary-reason{font-size:.6875rem;color:var(--warm-sub)}.summary-totals,.summary-days,.summary-exports{display:block}.summary-total-figures{display:flex;flex-wrap:wrap;gap:1rem;margin:.4rem 0 0}.summary-total{display:flex;flex-direction:column;gap:.1rem}.summary-total dt{font-size:.6875rem;color:var(--warm-muted)}.summary-total dd{margin:0}.summary-export{margin:.4rem 0 0}.summary-export-link{display:inline-flex;align-items:center;min-height:2.75rem;font-size:var(--step--1);font-weight:600}.summary-export-none{margin:.4rem 0 0;font-size:.75rem;color:var(--warm-sub)}.summary-overrides{display:block}.summary-override{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.summary-override-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.summary-override-gate{margin:0;font-size:.75rem;color:var(--warm-sub)}.audit-trail{display:flex;flex-direction:column;gap:.75rem}.audit-rows{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.audit-row{display:block}.audit-card{display:flex;flex-direction:column;gap:.2rem}.audit-what{margin:0;font-size:var(--step--1);font-weight:600;color:var(--warm-ink)}.audit-detail{margin:0;font-size:var(--step--1);color:var(--warm-sub)}.audit-who{margin:0;font-family:var(--font-plex-mono);font-size:.6875rem;color:var(--warm-muted)}.audit-none{margin:0;font-size:var(--step--1);color:var(--warm-sub)}.calc-config{display:flex;flex-direction:column;gap:.75rem}.calc-block{display:flex;flex-direction:column;gap:.25rem}.calc-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-top:1px solid var(--warm-line)}.calc-row:first-of-type{border-top:0}.calc-label{font-size:var(--step--1);color:var(--warm-sub)}.calc-value{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-weight:700;color:var(--warm-ink)}.calc-ladder{display:flex;flex-direction:column;gap:.1rem;margin:.4rem 0 0;padding:0;list-style:none}.calc-rung{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.2rem .4rem;border-radius:6px;background:var(--warm-subtle);font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-size:.6875rem}.calc-rung-hours{font-weight:700}.calc-rung-span{color:var(--warm-sub)}.ignored-names,.coverage-list{display:flex;flex-direction:column;gap:.75rem}.ignored-rows,.coverage-people,.coverage-days{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.ignored-row,.coverage-person{display:block}.ignored-card,.coverage-card{display:flex;flex-direction:column;gap:.25rem}.ignored-raw{font-family:var(--font-plex-mono);font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.ignored-reason{margin:0;font-size:var(--step--1);color:var(--warm-sub)}.ignored-when,.ignored-none,.coverage-none{margin:0;font-size:.6875rem;color:var(--warm-muted)}.ignored-add{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--warm-line)}.coverage-name{margin:0;font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.coverage-count{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;color:var(--warm-muted)}.coverage-day{display:flex;align-items:baseline;gap:.6rem}.coverage-go{display:inline-flex;align-items:center;min-height:2.75rem;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;font-size:var(--step--1);font-weight:600}.month-coverage-link{margin:0;font-size:var(--step--1)}.ignore-clock-name.is-done{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0}.ignored-line-name{font-family:var(--font-plex-mono);font-size:var(--step--1);font-weight:700;color:var(--warm-ink)}.ignored-line-state{font-size:.6875rem;font-weight:600;color:var(--warm-muted);text-transform:uppercase;letter-spacing:.04em}.ignored-line-why{font-size:.75rem;color:var(--warm-sub)}.ui-link.audit-open{padding-left:0;padding-right:0}.deleted-run{display:flex;flex-direction:column;gap:.75rem}.deleted-run-block{margin-bottom:.75rem}.deleted-run-line{margin:.25rem 0 0;color:var(--warm-sub)}.deleted-run-lines{list-style:none;margin:.35rem 0 0;padding:0}.deleted-run-line-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:1px solid var(--warm-line)}.deleted-line-code{font-family:var(--font-num);color:var(--warm-ink)}.deleted-line-net{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;color:var(--warm-ink)}.deleted-run-id{margin-top:1rem;font-family:var(--font-num);font-size:.6875rem;color:var(--warm-muted)}.outside-days{margin:0 0 .9rem;padding:.6rem .75rem;border:1px solid var(--warm-amber, #b45309);border-radius:12px;background:var(--warm-subtle)}.outside-days-head{margin:0;font-weight:600;color:var(--warm-ink)}.outside-days-why{margin:.15rem 0 .5rem;font-size:.8125rem;color:var(--warm-sub)}.outside-days-list{list-style:none;margin:0;padding:0}.outside-day{display:flex;flex-direction:column;gap:.1rem;padding:.45rem 0;border-top:1px solid var(--warm-line)}.outside-day-date{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600;color:var(--warm-ink)}.outside-day-who{font-size:.8125rem;color:var(--warm-sub)}.outside-day-remedies{display:flex;flex-direction:column;gap:.1rem}.ui-link.outside-day-fix{padding-left:0;padding-right:0;align-self:flex-start}.outside-day-other{font-size:.8125rem;color:var(--warm-sub)}.outside-day.is-linked{border-left:3px solid var(--warm-accent);padding-left:.5rem}.ui-button.outside-day-exclude{align-self:flex-start;margin-top:.15rem}.run-title{font:700 22px var(--font-plex);letter-spacing:-.01em}.run-pill{font:600 10.5px var(--font-plex);letter-spacing:0;text-transform:none;padding:2px 9px}.run-month{margin:2px 0 6px;font:600 11px var(--font-plex);letter-spacing:.08em;text-transform:uppercase;color:var(--warm-muted)}.finalize{border-top:0;padding-top:0}.finalize.is-blocked{padding:14px 16px;border-left:3px solid #ef4444;border-radius:2px 12px 12px 2px;background:#fef2f2}.finalize.is-blocked .screen-title{color:#7f1d1d;font-size:13px}.finalize.is-blocked .fin-summary{font-size:12.5px;color:#991b1b}.finalize.is-blocked .fin-blocker{margin:0 0 8px;padding:12px 14px;border:1px solid #fecaca;border-radius:8px;background:#fff;font-size:12.5px;line-height:1.55}.finalize:not(.has-bar) .fin-blockers{padding-bottom:0}@media(min-width:1024px){.finalize.is-blocked .fin-blockers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.finalize.is-blocked .fin-blocker{margin:0}}.recalc>.ui-button{align-self:flex-start}.pay-head-label,.pay-totals-scroll .pay-cell{padding:4px 6px;border-radius:6px}.pay-head-label{color:var(--warm-ink)}.pay-head-label[data-column=salary]{background:#fef3c7}.pay-head-label[data-column=ot],.pay-head-label[data-column=oth]{background:#ddebf7}.pay-head-label[data-column=allow]{background:#c9fbfb}.pay-head-label[data-column=ded]{background:#fda9a9}.pay-head-label[data-column=net]{background:#fec6f9}.pay-totals-scroll .pay-cell[data-total=salary]{background:#fef3c78c}.pay-totals-scroll .pay-cell[data-total=ot],.pay-totals-scroll .pay-cell[data-total=oth]{background:#ddebf78c}.pay-totals-scroll .pay-cell[data-total=allow]{background:#c9fbfb8c}.pay-totals-scroll .pay-cell[data-total=ded]{background:#fda9a973}.pay-totals-scroll .pay-cell[data-total=net]{background:#fec6f97f}.pay-row .pay-cell[data-column=net]{font-weight:700}.pay-ot-note{border-left-color:#fbbf24;background:var(--warm-amber-bg);color:#78350f}.payslip{max-width:560px;padding:16px;border:1px solid var(--warm-line);border-radius:16px;background:#fff}.payslip+.payslip{margin-top:16px;padding-top:16px;border-top:1px solid var(--warm-line)}.payslip-doc-title{font:700 15px var(--font-plex)}.payslip .pay-code{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:6px;background:var(--warm-subtle);font:600 12px var(--font-plex-mono);color:var(--warm-ink);vertical-align:1px}.payslip-periods{border-radius:10px;background:var(--warm-canvas)}.payslip-column{padding:0;border-radius:10px;overflow:hidden}.payslip-column-head{margin:0;padding:10px 14px;background:var(--warm-subtle);font:600 13.5px var(--font-plex)}.payslip-column-th:before{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border-radius:6px;font:700 12px/1 var(--font-plex);vertical-align:1px}.payslip-column[data-side=earnings] .payslip-column-th:before{content:"↑";background:#dcfce7;color:var(--warm-green)}.payslip-column[data-side=deductions] .payslip-column-th:before{content:"↓";background:#fee2e2;color:var(--warm-red)}.payslip-rows{gap:0}.payslip-row{padding:9px 14px;border-bottom:1px solid var(--warm-line)}.payslip-row-label{font-size:13px;color:var(--warm-ink)}.payslip-column-total{margin:0;padding:10px 14px;border-top:0}.payslip-net{margin:14px 0 12px;padding:14px 16px;border:0;border-radius:10px;background:var(--warm-sidebar);align-items:center}.payslip-net-label,.payslip-net-label .payslip-column-en{color:#fff}.payslip-net-label .payslip-column-en{opacity:.6}.payslip-net-value{font:700 30px var(--font-plex-mono);font-variant-numeric:tabular-nums;color:#fff}.payslip-pdf{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:8px;background:var(--warm-accent);color:#fff;font:600 13px var(--font-plex);text-decoration:none}.payslip-pdf:hover{background:#1d4ed8;color:#fff;text-decoration:none}@media(max-width:430px){.payslip-pdf{display:flex;width:100%}}.payslip .payslip-columns{grid-template-columns:1fr;gap:12px}.payslip-column-en{white-space:nowrap}.period-card{border-left:3px solid #fbbf24;border-radius:2px 16px 16px 2px}.period-card.is-finalized{border-left-color:#22c55e}.period-month{font:700 16px var(--font-plex);color:var(--warm-ink)}.period-status{border:0;font:600 10.5px var(--font-plex);letter-spacing:0;text-transform:none}.period-status.is-open{background:var(--warm-amber-bg);color:var(--warm-amber)}.period-status.is-finalized{background:#f0fdf4;color:var(--warm-green)}.period-created{font:400 11px var(--font-plex-mono);letter-spacing:0;text-transform:none}.period-windows dt{font:600 10.5px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted);align-self:center}.period-windows dd{font:500 12.5px var(--font-plex-mono)}.period-net{padding-top:8px;border-top:1px solid var(--warm-line)}.period-net-label{font:600 11px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.period-net-figure{font:600 22px var(--font-plex-mono)}.ui-button.period-run.ui-button--primary{display:flex;width:100%;justify-content:center}.period-link{color:var(--warm-accent);font:600 12.5px var(--font-plex);text-decoration:none}@media(min-width:1024px){.period-list,.period-door-note,.period-door-note+.door{max-width:720px}}.employees-head{align-items:flex-start}.employee-filters{display:flex;flex-wrap:wrap;gap:8px}.ui-button.employee-filter{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1px solid var(--warm-line);border-radius:999px;background:#fff;font:600 12px var(--font-plex);color:var(--warm-sub)}.ui-button.employee-filter.is-current{border-color:var(--warm-ink);background:var(--warm-ink);color:#fff}.employee-filter-count{font:700 10px var(--font-plex-mono);opacity:.8}.employee-rows{gap:0;border:1px solid var(--warm-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #1413120d}.employee-row{border:0;border-bottom:1px solid var(--warm-line);border-radius:0}.employee-row:last-child{border-bottom:0}.employee-row-link{padding:11px 14px}.employee-initials{width:34px;height:34px;border-radius:8px;font:600 11.5px var(--font-plex-mono)}.employee-name{font:600 13px var(--font-plex)}.employee-code{font:400 11px var(--font-plex-mono);color:var(--warm-muted)}.employee-status{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border:0;border-radius:999px;font:600 10.5px var(--font-plex)}.employee-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.employee-status.is-employed{background:#f0fdf4;color:var(--warm-green)}.employee-status.is-left{background:var(--warm-subtle);color:var(--warm-sub)}@media(min-width:1024px){.employees,.employee-detail{max-width:760px}}.screen--login{justify-content:flex-start;padding-top:0}.login-brand{flex-direction:column;align-items:flex-start;gap:4px;margin:0 -1rem;padding:28px 24px 30px;background:var(--warm-sidebar)}.login-mark{padding:0;border-radius:0;background:none;color:#fff;font:700 30px/1 var(--font-plex);letter-spacing:-.06em}.login-wordmark{font:700 9px var(--font-plex);letter-spacing:.12em;color:#ffffff4d}.login-footer{text-align:left;font:400 11.5px var(--font-plex);letter-spacing:0;text-transform:none}@media(min-width:431px){.screen--login{align-items:center;padding-top:48px}.screen--login>*{width:100%;max-width:420px}.login-brand{margin:0;border-radius:16px}}.import-source{font:600 11px var(--font-plex);letter-spacing:.06em}.import-title{font:700 21px var(--font-plex);letter-spacing:-.01em}.import-file{font:500 11.5px var(--font-plex-mono)}.import-file-name{color:var(--warm-sub)}.ui-tabs{gap:4px;border-bottom:1px solid var(--warm-line);margin-bottom:12px}.ui-tab{flex:0 0 auto;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 12px;margin-bottom:-1px;font:600 12.5px var(--font-plex)}.ui-tab--current{border-bottom-color:var(--warm-accent);background:transparent;color:var(--warm-ink)}.ui-tab-count{padding:1px 7px;border-radius:999px;background:var(--warm-subtle);font:600 10.5px var(--font-plex-mono);color:var(--warm-sub)}.ui-tab--current .ui-tab-count{background:#dbeafe;color:var(--warm-accent)}.status-chip{align-items:center;padding:4px 11px;background:#fff;font:600 11.5px var(--font-plex);letter-spacing:0;text-transform:none}.status-chip-count{font:600 10.5px var(--font-plex-mono);color:var(--warm-sub)}.status-chip.is-asking{border-color:#fca5a5;background:#fff;color:var(--warm-red)}.status-chip.is-asking:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-chip.is-asking .status-chip-count{color:var(--warm-red)}.status-chip.is-answered{border-style:dashed;border-color:#86efac;color:var(--warm-green)}.dense-in,.dense-out,.dense-hours,.dense-span{white-space:nowrap}.dense-engine{background:var(--warm-subtle);border-radius:6px;padding:2px 6px}.dense-own{background:var(--warm-amber-bg);border-radius:6px;padding:2px 6px;line-height:1.6}@media(min-width:1024px){.save-bar{justify-content:flex-end}.save-bar .save-bar-button{flex:0 0 auto;width:auto}}.gate.is-blocked{padding:14px 16px;border:0;border-left:3px solid #ef4444;border-radius:2px 12px 12px 2px;background:#fef2f2}.gate.is-blocked .gate-head{font-size:13px;color:#7f1d1d}.gate.is-blocked .gate-blockers{padding-left:0;list-style:none}.gate.is-blocked .gate-blocker{margin:0;padding:11px 13px;border:1px solid #fecaca;border-radius:8px;background:#fff}.gate.is-blocked .blocker-message{font-size:12.5px;font-weight:400;color:var(--warm-sub)}@media(min-width:1024px){.dense-head-hint{display:none}}.day{margin:0 0 8px;padding:12px 14px;border:1px solid var(--warm-line);border-radius:12px;background:#fff}.day.is-needs-answer,.day.is-answered,.day.is-coverage-gap,.day.is-by-design{border-left-width:3px;border-radius:2px 12px 12px 2px}.day.is-needs-answer{border-left-color:#ef4444}.day.is-answered{border-left-color:#22c55e}.day.is-coverage-gap{border-left-color:#fbbf24}.day.is-by-design{border-left-color:#a78bfa}.day-date{font:600 14px var(--font-plex-mono)}.day-flag.is-needs-answer{border:1px solid #fca5a5;border-radius:999px;background:#fef2f2;color:var(--warm-red);font:600 10.5px var(--font-plex);letter-spacing:0;padding:2px 9px}.day-flag.is-answered,.day-flag.is-coverage-gap{border-radius:999px;font:600 10.5px var(--font-plex);letter-spacing:0;padding:2px 9px}.day-times:not(.is-empty){gap:12px;padding:8px 10px;border-radius:8px;background:var(--warm-canvas)}.day-cell{border:0;padding:0;background:transparent}.day-cell dd{font:500 13px var(--font-plex-mono)}.month-asking{border:1px solid #fca5a5;background:#fef2f2;color:var(--warm-red);font-size:11.5px}.month-asking.is-clear{border-color:var(--warm-line)}@media(min-width:1024px){#person-picker{max-width:22rem}}.holiday-year{margin-top:12px;border:1px solid var(--warm-line);border-radius:16px;overflow:hidden;background:#fff}.holiday-year-title{margin:0;padding:11px 14px;background:var(--warm-subtle);font:600 10.5px var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--warm-muted)}.holiday-year .holiday-row{margin:0;padding:13px 14px;border:0;border-top:1px solid var(--warm-line);border-left:3px solid var(--warm-violet)}.holiday-year .holiday-date{font:600 13px var(--font-plex-mono)}.closed-days .holiday-rows{gap:0;border:1px solid var(--warm-line);border-radius:16px;overflow:hidden;background:#fff}.closed-days .holiday-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:center;margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--warm-line);border-left:3px solid var(--warm-ink);border-radius:0;background:#fff}.closed-days .holiday-row:last-child{border-bottom:0}.closed-days .closed-day-marker{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:36px;height:44px;border:2px solid var(--warm-muted);border-radius:8px;font-size:13px}.closed-days .holiday-date{grid-column:2;font:600 15px var(--font-plex-mono)}.closed-days .holiday-name{grid-column:2;flex-basis:auto}.closed-days .closed-day-delete{grid-column:3;grid-row:1 / span 2;margin-left:0;min-height:44px}.leave-rows{border:1px solid var(--warm-line);border-radius:16px;overflow:hidden;background:#fff}.leave-row{margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--warm-line);border-left:3px solid var(--warm-muted)}.leave-row:last-child{border-bottom:0}.leave-date{font-family:var(--font-plex-mono)}@media(min-width:1024px){.holidays,.closed-days,.leave,.adjustments{max-width:760px}.adjustments>.ui-button--primary{align-self:flex-start}}.calc-label{font:600 12.5px var(--font-plex);color:var(--warm-ink)}.calc-value{font:500 13px var(--font-plex-mono)}.audit-open{align-self:flex-start}.audit-card [data-testid=audit-when]{font:500 12px var(--font-plex-mono);letter-spacing:0;text-transform:none;color:var(--warm-ink)}.coverage-go{color:var(--warm-accent);font-weight:600;text-decoration:none}.coverage-reason{font-size:12.5px;color:var(--warm-sub)}.ignored-normalized{font:400 11px var(--font-plex-mono);color:var(--warm-muted)}.ignored-card .ui-button{align-self:flex-start}.coverage-none,.ignored-none,.audit-none{font-size:13px;color:var(--warm-sub)}@media(min-width:431px){.ignored-add>.ui-button{align-self:flex-start}}@media(min-width:1024px){.calc-config,.audit-trail,.coverage-list,.ignored-names,.settings-form{max-width:760px}}.summary-nothing{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.closed-days .closed-day-confirm{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2}.closed-day-confirm-text{margin:0;font-size:12.5px;line-height:1.5;color:#7f1d1d}.closed-day-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.day.is-linked{border-left-width:6px;border-left-color:var(--warm-amber);background:var(--warm-amber-bg)}:root{--v3-ink: #1a1917;--v3-muted: #8c8880;--v3-sub: #6b6760;--v3-link: #2563eb;--v3-error: #991b1b;--v3-line: #e8e5e0;--v3-line-strong: #d6d2cb;--v3-subtle: #f2f0ec;--v3-canvas: #f8f7f5;--v3-disabled-ink: #b5b0a8;--t-title: 700 22px/1.25 var(--font-plex);--t-title-track: -.01em;--t-eyebrow: 600 11px/1.2 var(--font-plex);--t-subtitle: 400 13px/1.6 var(--font-plex);--t-count: 500 13px/1.25 var(--font-plex-mono);--t-card-title: 700 14px/1.3 var(--font-plex);--t-card-sub: 400 12px/1.4 var(--font-plex);--t-body: 400 14px/1.55 var(--font-plex);--t-help: 400 12px/1.45 var(--font-plex);--t-label: 600 12px/1.3 var(--font-plex);--t-value: 500 16px/1.25 var(--font-plex);--t-value-mono: 500 16px/1.25 var(--font-plex-mono);--t-button: 600 14px/1 var(--font-plex);--t-link: 600 14px/1.4 var(--font-plex);--t-badge: 600 11px/1 var(--font-plex);--t-th: 600 10.5px/1.2 var(--font-plex);--t-td: 400 13px/1.4 var(--font-plex);--t-td-num: 500 13px/1.4 var(--font-plex-mono);--t-money: 700 16px/1.25 var(--font-plex-mono);--t-thai: 400 14px/1.6 "IBM Plex Sans Thai", var(--font-plex);--t-error: 500 13px/1.5 var(--font-plex);--t-tile-value: 700 16px/1.25 var(--font-plex);--t-engine: 400 12px/1.5 var(--font-plex-mono);--g-control-h: 44px;--g-control-pad-input: 14px;--g-control-pad-button: 16px;--g-icon: 16px;--g-choice: 20px;--g-card-pad: 16px;--g-card-head-pad: 14px 16px;--g-row-min: 44px;--g-cell-pad: 10px 12px;--g-day: 52px;--g-day-h: 44px;--g-page-pad: 20px 16px}@media(min-width:1024px){:root{--t-card-sub: 400 11.5px/1.4 var(--font-plex);--t-body: 400 13px/1.55 var(--font-plex);--t-help: 400 11.5px/1.45 var(--font-plex);--t-value: 500 13px/1.3 var(--font-plex);--t-value-mono: 500 13px/1.3 var(--font-plex-mono);--t-button: 600 13px/1 var(--font-plex);--t-link: 600 13px/1.4 var(--font-plex);--t-td: 400 12.5px/1.4 var(--font-plex);--t-td-num: 500 12.5px/1.4 var(--font-plex-mono);--t-tile-value: 700 18px/1.25 var(--font-plex);--t-engine: 400 11.5px/1.5 var(--font-plex-mono);--g-control-h: 36px;--g-control-pad-input: 12px;--g-control-pad-button: 14px;--g-icon: 14px;--g-choice: 16px;--g-card-pad: 20px;--g-card-head-pad: 16px 20px;--g-row-min: 36px;--g-cell-pad: 8px 12px;--g-day: 34px;--g-day-h: 32px;--g-page-pad: 28px 32px}}.ui-pagetitle-head,.screen-title{font:var(--t-title);letter-spacing:var(--t-title-track);color:var(--v3-ink)}.ui-pagetitle-eyebrow{font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.screen-intro{font:var(--t-subtitle);color:var(--v3-sub)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--g-control-h);height:var(--g-control-h);padding:0 var(--g-control-pad-button);border:1px solid var(--v3-line);border-radius:8px;background:#fff;color:var(--v3-ink);font:var(--t-button);cursor:pointer}.ui-button .ui-icon{width:var(--g-icon);height:var(--g-icon);flex:0 0 auto}.ui-button--secondary:hover:not(:disabled){background:var(--v3-canvas);border-color:var(--v3-line-strong)}.ui-button--secondary:active:not(:disabled){background:var(--v3-subtle);border-color:var(--v3-line-strong)}.ui-button--primary{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 1px 2px #1413120d}.ui-button--primary:hover:not(:disabled){background:#1d4ed8}.ui-button--primary:active:not(:disabled){background:#1e40af}.ui-button--destructive{border-color:#dc2626;background:#dc2626;color:#fff;box-shadow:0 1px 2px #1413120d}.ui-button--destructive:hover:not(:disabled){background:#b91c1c}.ui-button--destructive:active:not(:disabled){background:#991b1b}.ui-button--text{padding:0 6px;border-color:transparent;background:transparent;color:#2563eb;box-shadow:none}.ui-button--text:hover:not(:disabled){background:#eff6ff}.ui-button--text:active:not(:disabled){background:#dbeafe}.ui-button.ui-button--text:disabled{border-color:transparent;background:transparent}@media(min-width:1024px){.ui-button--text{min-height:30px;height:30px}}.ui-button:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.ui-button:disabled{border-color:var(--v3-line);background:var(--v3-subtle);color:var(--v3-disabled-ink);box-shadow:none;cursor:not-allowed}.ui-input,.ui-select{min-height:var(--g-control-h);height:var(--g-control-h);padding:0 var(--g-control-pad-input);border:1px solid var(--v3-line);border-radius:8px;background:#fff;color:var(--v3-ink);font:var(--t-value)}.ui-input::placeholder{color:var(--v3-muted);opacity:1}.ui-input--multiline{height:auto;min-height:88px;padding:10px var(--g-control-pad-input);font:var(--t-thai)}.ui-input:focus-visible,.ui-select:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true]{border-color:#ef4444}.ui-input:disabled,.ui-input[readonly]:not(.ui-input--month),.ui-select:disabled{background:var(--v3-canvas);color:var(--v3-disabled-ink)}.ui-field-label{font:var(--t-label);color:var(--v3-sub)}.ui-field-help,.field-help{font:var(--t-help);color:var(--v3-sub)}.ui-field-error{display:inline-flex;gap:6px;align-items:center;font:var(--t-error);color:var(--v3-error)}.ui-datefield{position:relative;display:block}.ui-datefield>.ui-input{width:100%;padding-right:calc(var(--g-control-h) + 4px)}.ui-datefield>.ui-input--month{cursor:pointer}.ui-picker-toggle{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:var(--g-control-h);height:var(--g-control-h);border:0;background:transparent;color:var(--v3-sub);cursor:pointer}.ui-datefield>.ui-picker-toggle{min-height:0;height:var(--g-control-h);margin:0;padding:0}.ui-picker-toggle .ui-icon{width:var(--g-icon);height:var(--g-icon)}.ui-picker-toggle[aria-expanded=true]{color:var(--v3-link)}.ui-picker-toggle:disabled{color:var(--v3-disabled-ink);cursor:not-allowed}.ui-picker{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:max-content;padding:14px;border:1px solid var(--v3-line);border-radius:12px;background:#fff;box-shadow:0 12px 32px #14131224}.ui-picker.is-above{top:auto;bottom:calc(100% + 6px)}.ui-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.ui-picker-title{font:600 14px/1.2 var(--font-plex);color:var(--v3-ink)}.ui-picker-step{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--v3-line);border-radius:8px;background:#fff;color:var(--v3-sub);cursor:pointer}.ui-picker-step .ui-icon{width:var(--g-icon);height:var(--g-icon)}.ui-picker-grid{display:grid;grid-template-columns:repeat(7,var(--g-day));gap:4px 0}.ui-picker-weekday{text-align:center;font:600 10.5px/2 var(--font-plex);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.ui-picker-day{position:relative;width:var(--g-day);height:var(--g-day-h);border:1px solid transparent;border-radius:8px;background:transparent;color:var(--v3-ink);font:500 13px/1 var(--font-plex-mono);cursor:pointer}@media(min-width:1024px){.ui-picker-day{font-size:12.5px}}.ui-picker-day:hover{background:var(--v3-subtle)}.ui-picker-day.is-today{border-color:var(--v3-ink)}.ui-picker-day.is-today:after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}.ui-picker-day.is-chosen{border-color:#2563eb;background:#2563eb;color:#fff}.ui-picker-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--v3-line);font:var(--t-help);color:var(--v3-sub)}.ui-picker-today{border:0;background:transparent;color:var(--v3-link);font:var(--t-link);cursor:pointer}.ui-picker-months{display:grid;grid-template-columns:repeat(3,116px);gap:4px}@media(min-width:1024px){.ui-picker-months{grid-template-columns:repeat(3,76px)}}.ui-picker-month{height:var(--g-day-h);border:1px solid transparent;border-radius:8px;background:transparent;color:var(--v3-ink);font:var(--t-value);cursor:pointer}.ui-picker-month:hover{background:var(--v3-subtle)}.ui-picker-month.is-today{border-color:var(--v3-ink)}.ui-picker-month.is-chosen{border-color:#2563eb;background:#2563eb;color:#fff}.ui-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font:var(--t-badge);letter-spacing:.01em;white-space:nowrap}.ui-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.ui-card{border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d}.ui-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em}.ui-icontile{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:#dbeafe;color:#2563eb}.ui-icontile .ui-icon{width:15px;height:15px}.ui-icontile--green{background:#dcfce7;color:#16a34a}.ui-icontile--amber{background:#fef3c7;color:#d97706}.ui-icontile--violet{background:#ede9fe;color:#7c3aed}.ui-icontile--red{background:#fee2e2;color:#dc2626}.ui-icontile--neutral{background:var(--v3-subtle);color:var(--v3-sub)}.ui-table-headcell,.salary-history th{font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.shell-content{padding:var(--g-page-pad)}.ui-badge--ink{background:var(--v3-ink);color:#fff}.ui-badge--outline{border:1px solid var(--v3-ink);background:#fff;color:var(--v3-ink)}.ui-badge--neutral{background:var(--v3-subtle);color:var(--v3-sub)}.ui-badge--answered{border:1px dashed #86efac;background:#f0fdf4;color:#15803d}.ui-badge-tick{width:10px;height:10px}.ui-row--ink,.ui-row--outline{border-left-color:var(--v3-ink)}.ui-cardhead{display:flex;align-items:center;gap:12px;padding:var(--g-card-head-pad);border-bottom:1px solid var(--v3-line)}.ui-cardhead-text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ui-cardhead-title{font:var(--t-card-title);color:var(--v3-ink)}.ui-cardhead-sub{font:var(--t-card-sub);color:var(--v3-muted)}.ui-cardhead-aside{display:flex;flex:0 0 auto;align-items:center;gap:8px}.ui-banner{display:flex;gap:10px;padding:14px 16px;border-left:3px solid;border-radius:2px 12px 12px 2px}.ui-banner-icon{width:16px;height:16px;margin-top:2px}.ui-banner-body{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 auto}.ui-banner-title{margin:0;font:600 13px/1.4 var(--font-plex)}.ui-banner--refusal{border-color:#ef4444;background:#fef2f2;color:#7f1d1d}.ui-banner--info{border-color:#3b82f6;background:#eff6ff;color:#1e3a8a}.ui-banner--success{border-color:#22c55e;background:#f0fdf4;color:#14532d}.ui-banner--warning{border-color:#f59e0b;background:#fffbeb;color:#78350f}.ui-confirm{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:14px 16px;border:1px solid #fca5a5;border-radius:8px;background:#fef2f2}.ui-confirm-title{margin:0;font:600 13px/1.4 var(--font-plex);color:#7f1d1d}.ui-confirm-body{font:var(--t-body);color:#991b1b}.ui-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.ui-skeleton{border:1px solid var(--v3-line);border-radius:12px;background:#fff}.ui-skeleton-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 16px;border-bottom:1px solid var(--v3-line)}.ui-skeleton-row:last-child{border-bottom:0}.ui-skeleton-tile{flex:0 0 36px;width:36px;height:36px;border-radius:8px;background:var(--v3-subtle)}.ui-skeleton-lines{display:flex;flex:1 1 auto;flex-direction:column;gap:8px}.ui-skeleton-line{height:10px;width:50%;border-radius:999px;background:var(--v3-subtle)}.ui-skeleton-line.is-short{width:25%}.ui-skeleton-pill{flex:0 0 64px;height:20px;border-radius:999px;background:var(--v3-subtle)}.ui-picker-blank{width:var(--g-day);height:var(--g-day-h)}.ui-picker--months{min-width:0}@media(max-width:1023px){.shell-rail{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mark who" "nav nav";align-items:center;gap:6px 12px;padding:10px 16px 8px}.shell-wordmark{grid-area:mark}.shell-wordmark-name{font:700 20px/1 var(--font-plex);letter-spacing:-.06em}.shell-wordmark-sub{display:none}.shell-who{grid-area:who;justify-content:flex-end;gap:12px}.shell-who-label{display:none}.shell-who-email{flex:0 1 auto;text-align:right;font:400 12px/1.2 var(--font-plex);color:#ffffff8c}.ui-button.shell-signout{height:44px;min-height:44px;padding:0 10px;border:0;background:none;color:#fff;font:600 14px/1 var(--font-plex);box-shadow:none}.shell-nav{grid-area:nav;gap:8px;margin:0 -16px;padding:0 16px}.shell-nav-link{position:relative;min-height:44px;padding:0 13px;border-radius:999px;background:none;font:600 13px/1 var(--font-plex);color:#ffffffb8}.shell-nav-link:before{content:"";position:absolute;inset:5px 0;z-index:-1;border:1px solid rgb(255 255 255 / 14%);border-radius:999px}.shell-nav-link.is-current{background:none;color:var(--v3-ink)}.shell-nav-link.is-current:before{border-color:#fff;background:#fff}.shell-nav-link{z-index:0}}@media(min-width:1024px){.shell-wordmark-name{font-size:22px}.shell-nav-group-label{font:600 10px/1.2 var(--font-plex);letter-spacing:.1em;color:#ffffff61}.shell-nav-link{min-height:30px;padding:0 10px;border-radius:6px;font:500 13px/1.2 var(--font-plex);color:#ffffffa8}.shell-nav-link.is-current{background:#ffffff1a;color:#fff;font-weight:600;box-shadow:inset 3px 0 #3b82f6}.shell-who{flex-direction:column;align-items:flex-start;gap:4px;padding:16px 20px 20px}.shell-who-label{font:400 11.5px/1.3 var(--font-plex);color:#ffffff73}.shell-who-email{font:500 12px/1.3 var(--font-plex);color:#ffffffd9}.ui-button.shell-signout{height:32px;min-height:32px;margin-top:8px;padding:0 10px;border:1px solid rgb(255 255 255 / 16%);border-radius:6px;background:none;color:#ffffffd9;font:600 13px/1 var(--font-plex);box-shadow:none}}.si-screen{display:flex;flex-direction:column;min-height:100vh;background:var(--v3-canvas)}.si-brand{display:flex;flex-direction:column;gap:8px;padding:22px 24px 28px;background:#141312}.si-wordmark{font:700 30px/1 var(--font-plex);letter-spacing:-.06em;color:#fff}.si-caption{font:700 9px/1 var(--font-plex);letter-spacing:.12em;text-transform:uppercase;color:#fff6}.si-footer{display:none;margin:auto 0 0;font:400 11.5px/1.45 var(--font-plex);color:#ffffff8c}.si-main{display:flex;flex:1 1 auto;justify-content:center;padding:28px 20px 40px}.si-column{display:flex;flex-direction:column;gap:20px;width:100%;max-width:400px}.si-head{display:flex;flex-direction:column}.si-eyebrow{font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.si-title{margin:6px 0 3px;font:var(--t-title);letter-spacing:var(--t-title-track);color:var(--v3-ink)}.si-sub{margin:0;font:var(--t-subtitle);color:var(--v3-sub)}.si-column .ui-banner{border-radius:2px 10px 10px 2px}.si-column .ui-banner-body{gap:2px}.si-column .ui-banner-title{font:600 14px/1.55 var(--font-plex)}.si-banner-text{margin:0;font:400 13px/1.5 var(--font-plex)}.ui-banner--refusal .si-banner-text,.si-banner-details{color:#991b1b}.si-banner-details{margin:4px 0 0;padding-left:18px;font:400 13px/1.5 var(--font-plex)}.si-card{display:flex;flex-direction:column;gap:16px;padding:20px}.si-card .ui-field{display:flex;flex-direction:column;gap:6px;margin:0}.si-card .ui-field-label{margin:0}.si-card .ui-input{width:100%}.si-submit.ui-button{width:100%;margin-top:0}.si-reason{display:inline-flex;align-items:center;gap:6px;margin-top:-10px;font:var(--t-help);color:var(--v3-sub)}.si-reason .ui-icon{width:13px;height:13px}@media(min-width:1024px){.si-screen{flex-direction:row}.si-brand{flex:0 0 520px;gap:10px;padding:48px}.si-wordmark{font-size:40px}.si-footer{display:block}.si-main{align-items:center;padding:48px 32px}.si-column .ui-banner{padding:14px 18px}.si-column .ui-banner-title{font-size:13px}.si-card{padding:28px}.si-reason .ui-icon{width:12px;height:12px}}.screen.month-overview{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;padding:0 0 24px}.month-head{display:flex;flex-direction:column;gap:16px;margin:0}.month-head-text{display:flex;flex-direction:column;gap:4px;min-width:0}.month-overview .ui-pagetitle{margin:0}.month-overview .ui-pagetitle-text{gap:6px}.month-overview .month-subtitle{margin:0;font:var(--t-subtitle);color:var(--v3-sub)}.month-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.month-head-aside{display:flex}.month-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.month-overview .ui-tile.month-tile{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 14px;border:1px solid var(--v3-line);border-radius:12px;background:#fff}.month-tile-label{font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.month-tile-value{font:var(--t-tile-value);letter-spacing:-.005em;color:var(--v3-ink)}.month-tile-value.month-mono{font-family:var(--font-plex-mono)}.month-tile-sub{font:var(--t-help);color:var(--v3-sub)}.month-columns{display:flex;flex-direction:column;gap:16px}.month-overview .ui-card.month-open,.month-overview .ui-card.month-steps{margin:0;padding:0;overflow:hidden}.month-overview .month-open-count{margin:0;padding:0;background:none;font:var(--t-count);font-variant-numeric:tabular-nums;color:var(--v3-muted)}.month-open-list{margin:0;padding:0;list-style:none}.month-overview .ui-row.month-open-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:12px 16px 12px 13px;border:0;border-left:3px solid var(--v3-line);border-bottom:1px solid var(--v3-line);border-radius:0;background:#fff}.month-overview .ui-row.month-open-item:last-child{border-bottom:0}.month-overview .ui-row--red.month-open-item{border-left-color:#ef4444}.month-overview .ui-row--amber.month-open-item{border-left-color:#f59e0b}.month-overview .ui-row--accent.month-open-item{border-left-color:#3b82f6}.month-open-text{display:flex;flex-direction:column;gap:3px;min-width:0}.month-open-heading{font:var(--t-body);font-weight:600;color:var(--v3-ink)}.month-open-detail{font:var(--t-help);color:var(--v3-sub)}.month-overview .month-open-where{margin-right:6px;font:inherit;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:var(--v3-ink)}.month-overview .month-open-message{font:inherit;color:inherit}.month-overview .ui-link.month-open-go,.month-overview .ui-button.month-open-go{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;height:auto;min-height:32px;padding:0;border:0;background:none;font:var(--t-link);color:var(--v3-link);text-decoration:none;white-space:nowrap}.month-overview .month-open-go .ui-icon{width:15px;height:15px}.month-overview .ui-button.month-open-go:disabled{color:var(--v3-disabled-ink);background:none}.month-open-none{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.month-open-none-text{margin:0;font:var(--t-body);color:var(--v3-ink)}.month-steps-body{display:flex;flex-direction:column;gap:14px;padding:16px}.month-overview .ui-stepper{margin:0;counter-reset:month-step}.month-overview .ui-step{counter-increment:month-step;min-height:56px}.month-overview .ui-step:last-child{min-height:0}.month-overview .ui-step-mark{box-sizing:border-box;font:var(--t-td-num);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.month-overview .ui-step.is-done .ui-step-mark{border-color:#15803d;background:#15803d;color:#fff}.month-overview .ui-step.is-current .ui-step-mark{border:2px solid #2563eb;background:#eff6ff;color:#2563eb}.month-overview .ui-step.is-current .ui-step-mark:before{content:counter(month-step)}.month-overview .ui-step.is-todo .ui-step-mark{border:1.5px solid var(--v3-line);background:#fff;color:var(--v3-muted);font-weight:500}.month-overview .ui-step.is-todo .ui-step-mark:before{content:counter(month-step);width:auto;height:auto;border-radius:0;background:none}.month-overview .ui-step:not(:last-child):after{border-left-color:var(--v3-line)}.month-overview .ui-step.is-done:not(:last-child):after{border-left-color:#86efac}.month-overview .ui-step-text{gap:0;padding:3px 0 16px}.month-overview .ui-step-word{font:var(--t-body);font-weight:600;color:var(--v3-ink)}.month-overview .ui-step.is-todo .ui-step-word{color:var(--v3-sub)}.month-overview .ui-step-detail{font:var(--t-help);color:var(--v3-sub)}.month-overview .month-note{margin:0;font:var(--t-help);color:var(--v3-sub)}.month-overview .ui-tile.month-tile--skeleton{gap:10px;min-height:80px;justify-content:center}.month-skeleton-bar{display:block;width:62%;height:14px;border-radius:999px;background:var(--v3-subtle)}.month-skeleton-bar.is-short{width:44%;height:8px}.month-overview .ui-skeleton{border-radius:16px}@media(min-width:1024px){.screen.month-overview{gap:20px}.month-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}.month-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.month-overview .ui-tile.month-tile{padding:14px 16px}.month-columns{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start}.month-overview .ui-card.month-steps{grid-column:1;grid-row:1}.month-overview .ui-card.month-open{grid-column:2;grid-row:1}.month-columns:not(:has(.month-steps)) .ui-card.month-open{grid-column:1 / -1}.month-overview .ui-row.month-open-item{flex-direction:row;align-items:center;gap:12px;padding:11px 20px 11px 17px}.month-open-text{flex:1 1 auto;gap:0}.month-overview .ui-link.month-open-go,.month-overview .ui-button.month-open-go{min-height:0}.month-overview .month-open-go .ui-icon{width:13px;height:13px}.month-open-none,.month-steps-body{padding:20px}}.emp-page{display:flex;flex-direction:column;gap:16px;min-width:0}.emp-head{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin:0}.emp-head-text{min-width:0}.emp-head-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:6px}.emp-head-line .screen-title{margin:0}.emp-count{font:var(--t-count);font-variant-numeric:tabular-nums;color:var(--v3-muted);text-transform:none;letter-spacing:0}.emp-add{width:100%}.emp-add .ui-icon{width:var(--g-icon);height:var(--g-icon)}.emp-tables{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.emp-card,.emp-empty,.ae-card{margin:0;padding:0}.emp-card{overflow:hidden;min-width:0}.emp-card-title{display:inline-flex;align-items:center;gap:8px}.emp-dot{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:999px}.emp-dot--active{background:#22c55e}.emp-dot--left{background:#a8a39b}.emp-card-count{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.emp-card-empty{margin:0;padding:14px 16px;font:var(--t-body);color:var(--v3-sub)}.emp-table{overflow-x:auto;overflow-y:hidden}.emp-headrow{display:none}.emp-rows{margin:0;padding:0;list-style:none}.emp-row{border-bottom:1px solid var(--v3-line)}.emp-row:last-child{border-bottom:0}.emp-row-link{display:flex;align-items:center;gap:12px;padding:12px 16px;box-shadow:inset 3px 0 0 var(--emp-stripe, #22c55e);color:var(--v3-ink);text-decoration:none}.emp-row-link:hover{background:#fbfaf8}.emp-row{--emp-stripe: #22c55e;--emp-tile-bg: #dcfce7;--emp-tile-ink: #15803d}.emp-row.is-rejoined{--emp-stripe: #3b82f6;--emp-tile-bg: #dbeafe;--emp-tile-ink: #2563eb}.emp-row.is-leaving{--emp-stripe: #f59e0b;--emp-tile-bg: #fef3c7;--emp-tile-ink: #b45309}.emp-row.is-left{--emp-stripe: #a8a39b;--emp-tile-bg: #f2f0ec;--emp-tile-ink: #6b6760}.emp-row.is-settled{--emp-stripe: #1a1917;--emp-tile-bg: #f2f0ec;--emp-tile-ink: #6b6760}.emp-cell{min-width:0}.emp-cell--who{display:flex;flex:1 1 auto;align-items:center;gap:12px}.emp-cell--code,.emp-cell--date{display:none}.emp-cell--status{flex:0 0 auto}.emp-tile{display:flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--emp-tile-bg);color:var(--emp-tile-ink);font:700 12px/1 var(--font-plex);letter-spacing:.02em}.emp-identity{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.emp-name{font:var(--t-td);font-weight:600;color:var(--v3-ink);overflow-wrap:anywhere}.emp-sub{font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-muted)}.emp-code{font:inherit;color:inherit}.emp-noclock{font:var(--t-help);color:#b45309}.emp-row .ui-badge--accent{background:#eff6ff;color:#1d4ed8}.emp-row .ui-badge--accent .ui-badge-dot{background:#3b82f6}.emp-row .ui-badge--amber{background:#fffbeb;color:#b45309}.emp-row .ui-badge--amber .ui-badge-dot{background:#f59e0b}.emp-row .ui-badge--green{background:#f0fdf4;color:#15803d}.emp-row .ui-badge--green .ui-badge-dot{background:#22c55e}.emp-row .ui-badge--neutral .ui-badge-dot{background:#a8a39b}.emp-row .ui-badge{height:22px;box-sizing:border-box;border:1px solid transparent;font:var(--t-badge);letter-spacing:.01em}.emp-row .ui-badge--outline{border-color:var(--v3-line)}.emp-empty{padding:24px}.emp-empty-title{margin:0 0 6px;font:var(--t-card-title);color:var(--v3-ink)}.emp-empty-body{margin:0;font:var(--t-body);color:var(--v3-sub)}.emp-tables .ui-skeleton{border-radius:16px}.ae-card{overflow:visible}.ae-form{margin:0}.ae-body{display:flex;flex-direction:column;gap:16px;padding:var(--g-card-pad)}.ae-group{margin:0;padding:0;border:0;min-width:0}.ae-legend{margin:0 0 10px;padding:0;font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.ae-legend.is-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ae-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.ae-required{color:#dc2626}.ae-money{position:relative;display:flex;align-items:center}.ae-money .ae-money-input{width:100%;padding-right:48px;text-align:right;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.ae-money-suffix{position:absolute;right:14px;font:500 11px/1 var(--font-plex);color:var(--v3-muted);pointer-events:none}.ae-labels-link{color:var(--v3-link);font-weight:600}.ae-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--v3-line)}@media(min-width:1024px){.emp-page{gap:20px}.emp-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}.emp-add{width:auto}.emp-tables{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.emp-card-empty{padding:16px 20px}.emp-headrow,.emp-row-link{display:grid;grid-template-columns:minmax(150px,1.7fr) 84px 96px 158px;min-width:470px}.emp-headrow{border-bottom:1px solid var(--v3-line);background:var(--v3-subtle)}.emp-th{padding:8px 12px;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.emp-row-link{gap:0;align-items:center;padding:0;min-height:36px}.emp-cell{display:flex;align-items:center;padding:8px 12px}.emp-cell--who{gap:10px;padding-left:15px}.emp-cell--code,.emp-cell--date{display:flex;font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-ink)}.emp-tile{flex-basis:28px;width:28px;height:28px}.emp-sub{display:none}.ae-body{padding:20px}.ae-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 16px}.ae-actions{padding:12px 20px}}.ae-form .ui-field{gap:6px;margin:0}.ed-page{display:flex;flex-direction:column;gap:16px;min-width:0}.ui-link.ed-back{align-self:flex-start;justify-content:flex-start;gap:4px;min-height:0;padding:0;font:var(--t-link);color:var(--v3-link)}.ed-back .ui-icon{width:13px;height:13px}.ed-head{display:flex;flex-direction:column;gap:4px;margin-top:-6px}.ed-head-line{display:flex;align-items:center;gap:10px;min-width:0}.ed-head-line .screen-title{margin:0;min-width:0;overflow-wrap:anywhere}.ed-tile{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#dcfce7;color:#15803d;font:700 12px/1 var(--font-plex);letter-spacing:.02em}.ed-tile.is-rejoined{background:#dbeafe;color:#2563eb}.ed-tile.is-leaving{background:#fef3c7;color:#b45309}.ed-tile.is-left,.ed-tile.is-settled{background:var(--v3-subtle);color:var(--v3-sub)}.ed-meta{margin:0;font:400 13px/1.6 var(--font-plex);color:var(--v3-sub)}.ed-code{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.ed-status{display:inline-flex;align-items:center;gap:6px}.ed-status-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:#22c55e}.ed-status.is-rejoined .ed-status-dot{background:#3b82f6}.ed-status.is-leaving .ed-status-dot{background:#f59e0b}.ed-status.is-left .ed-status-dot{background:#a8a39b}.ed-status.is-settled .ed-status-dot{background:var(--v3-ink)}.ed-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.ed-column{display:flex;flex-direction:column;gap:16px;min-width:0}.ed-card{margin:0;padding:0;overflow:hidden;min-width:0}.ed-card .ui-cardhead{gap:10px}.ed-card .ui-icontile--amber{color:#b45309}.ui-button.ed-open{border-color:var(--v3-line);white-space:nowrap}.ui-button.ed-open.is-pressed{background:var(--v3-subtle)}.ed-word-long{display:none}.ed-empty{margin:0;padding:14px 16px;font:var(--t-body);color:var(--v3-sub)}.ed-periods{margin:0;padding:0;list-style:none}.ed-period,.ed-gap{border-bottom:1px solid var(--v3-line)}.ed-period:last-child,.ed-gap:last-child{border-bottom:0}.ed-period{display:flex;align-items:center;gap:12px;padding:11px 16px;box-shadow:inset 3px 0 #22c55e}.ed-period.is-rejoined{box-shadow:inset 3px 0 #3b82f6}.ed-period.is-left{box-shadow:inset 3px 0 #a8a39b}.ed-period-dates{flex:1 1 auto;min-width:0;font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-ink)}.ed-period-aside{font:var(--t-help);color:var(--v3-sub)}.ed-gap{display:flex;flex-direction:column;gap:4px;padding:11px 16px;background:var(--v3-canvas)}.ed-gap-line{display:flex;align-items:center;gap:12px}.ed-gap-mark{display:inline-block;flex:0 0 10px;width:10px;height:10px;box-sizing:border-box;border:1.5px solid #8c8880;background:repeating-linear-gradient(45deg,#8c8880 0 1px,transparent 1px 3px)}.ed-gap-head{flex:1 1 auto;min-width:0;font:var(--t-body);color:var(--v3-sub)}.ed-gap-days{font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-sub);white-space:nowrap}.ed-gap-note{padding-left:22px;font:var(--t-help);color:var(--v3-muted)}.ed-period .ui-badge,.ed-card .ui-badge{height:22px;box-sizing:border-box;border:1px solid transparent;font:var(--t-badge);letter-spacing:.01em}.ed-period .ui-badge--green{background:#f0fdf4;color:#15803d}.ed-period .ui-badge--green .ui-badge-dot{background:#22c55e}.ed-period .ui-badge--accent{background:#eff6ff;color:#1d4ed8}.ed-period .ui-badge--accent .ui-badge-dot{background:#3b82f6}.ed-period .ui-badge--neutral .ui-badge-dot{background:#a8a39b}.ed-leaver{display:flex;flex-direction:column;gap:10px;padding:16px;border-top:1px solid var(--v3-line)}.ed-banner-body{margin:0;font:var(--t-body)}.ed-leaver-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0}.ui-link.ed-inline-link,.ui-button.ed-inline-link{min-height:0;height:auto;padding:0;border:0;background:transparent;font:var(--t-link);color:var(--v3-link);gap:4px}.ed-inline-link .ui-icon{width:13px;height:13px}.ed-salaries{margin:0;padding:0;list-style:none}.ed-salary{display:flex;flex-direction:column;gap:6px;padding:11px 16px;border-bottom:1px solid var(--v3-line)}.ed-salary:last-child{border-bottom:0}.ed-salary.is-newest{box-shadow:inset 3px 0 #22c55e}.ed-salary-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ed-salary-month{font:var(--t-body);font-weight:600;color:var(--v3-ink)}.ed-salary-amount{font:var(--t-td-num);font-weight:700;font-variant-numeric:tabular-nums;color:var(--v3-ink)}.ed-working{align-self:flex-start;padding:6px 10px;border-radius:6px;background:var(--v3-subtle);font:var(--t-engine);font-variant-numeric:tabular-nums;color:var(--v3-sub)}.ed-facts{display:flex;flex-direction:column;gap:10px;padding:16px}.ed-fact{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ed-fact-label{flex:0 0 auto;font:var(--t-body);color:var(--v3-sub)}.ed-fact-value{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;font:var(--t-body);color:var(--v3-ink);text-align:right}.ed-sso-computed{font:var(--t-help);color:var(--v3-sub)}.ed-sso-stale{font:var(--t-help);color:#b45309}.ed-aliases{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:16px;list-style:none}.ed-alias{display:inline-flex;align-items:center;height:28px;box-sizing:border-box;padding:0 10px;border:1px solid var(--v3-line);border-radius:8px;background:var(--v3-subtle);font:600 12px/1 var(--font-plex-mono);letter-spacing:.01em;color:var(--v3-ink);white-space:pre}.ed-alias-raw{white-space:pre}.ed-alias .ui-button.ed-alias-remove{min-height:0;height:24px;width:24px;margin:0 -6px 0 4px;padding:0;color:var(--v3-sub)}.ed-alias .ui-button.ed-alias-remove:hover:not(:disabled){color:#b91c1c;background:#fee2e2}.ed-alias-confirm{padding:0 16px 16px}.ed-alias-last{margin:-8px 0 0;padding:0 16px 16px;font:var(--t-help);color:var(--v3-sub)}.ed-note{margin:16px;padding:10px 12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;font:var(--t-thai);color:#78350f;white-space:pre-wrap;overflow-wrap:anywhere}.ed-form{margin:0;border-top:1px solid var(--v3-line)}.ed-form-body{display:flex;flex-direction:column;gap:14px;padding:16px}.ed-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.ed-form-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--v3-line)}.ed-required{color:#dc2626}.ed-locked{margin:0;font:var(--t-error);color:var(--v3-error)}.ed-money{position:relative;display:flex;align-items:center}.ed-money .ed-money-input{width:100%;padding-right:48px;text-align:right;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.ed-money-suffix{position:absolute;right:14px;font:500 11px/1 var(--font-plex);color:var(--v3-muted);pointer-events:none}@media(min-width:1024px){.ed-page{gap:20px}.ed-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.ed-column{gap:20px}.ui-button.ed-open{height:30px;min-height:30px;padding:0 12px}.ed-word-long{display:inline}.ed-word-short{display:none}.ed-empty,.ed-salary,.ed-gap{padding-left:20px;padding-right:20px}.ed-period{padding:11px 20px}.ed-facts,.ed-aliases,.ed-leaver,.ed-form-body{padding:20px}.ed-facts{gap:10px}.ed-note{margin:20px}.ed-form-actions{padding:12px 20px}.ed-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.ed-form .ui-field{gap:6px;margin:0}.ed-gap-dates{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.imp-page,.save-bar,.batch-bar.imp-batchbar{--imp-bleed: 16px}.imp-page{display:flex;flex-direction:column;gap:16px;min-width:0}.imp-page>.ui-pagetitle{margin:0}.imp-intro{margin:-8px 0 0;color:var(--v3-sub);font:var(--t-subtitle)}.imp-list-grid{display:flex;flex-direction:column;gap:16px}@media(min-width:1024px){.imp-page,.save-bar,.batch-bar.imp-batchbar{--imp-bleed: 32px}.imp-page{gap:20px}.imp-list-grid{display:grid;grid-template-columns:minmax(0,440fr) minmax(0,696fr);gap:20px;align-items:start}}.imp-empty{margin:0;padding:var(--g-card-pad);color:var(--v3-sub);font:var(--t-body)}.imp-footnote{margin:0;color:var(--v3-sub);font:var(--t-help)}.imp-checking{display:flex;align-items:center;gap:8px;margin:0;color:var(--v3-sub);font:var(--t-help)}.imp-banner-text{margin:0;font:var(--t-body)}.imp-back,.ui-button.imp-back{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;width:auto;height:auto;margin:0 0 -6px;padding:0;border:0;background:none;color:var(--v3-link);font:var(--t-link);text-decoration:none;cursor:pointer}.imp-back .ui-icon{width:14px;height:14px}.upload-spinner{display:inline-block;flex:0 0 auto;width:14px;height:14px;border:2px solid currentcolor;border-right-color:transparent;border-radius:50%;animation:imp-spin .9s linear infinite}@keyframes imp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}.ui-card.upload-card,.ui-card.batch-card,.ui-card.history-card,.ui-card.pair-card,.ui-card.pair-outcome-card,.ui-card.unmatchable{margin:0;padding:0}.ui-card.batch-card,.ui-card.history-card,.ui-card.pair-card,.ui-card.unmatchable{overflow:hidden}.upload-card .ui-cardhead,.batch-card .ui-cardhead,.history-card .ui-cardhead,.pair-card .ui-cardhead,.pair-resolve .ui-cardhead,.unmatchable .ui-cardhead{padding:var(--g-card-head-pad);border-bottom:1px solid var(--v3-line)}.upload-body{display:flex;flex-direction:column;gap:12px;padding:var(--g-card-pad)}.upload-choose{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.upload-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.upload-choose .ui-input--file{width:auto;height:auto;padding:0;border:0;background:none;font-size:0;line-height:0}.upload-choose .ui-input--file::file-selector-button{height:var(--g-control-h);margin:0;padding:0 var(--g-control-pad-button) 0 calc(var(--g-control-pad-button) + 24px);border:1px solid var(--v3-line);border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1917' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3C/svg%3E") no-repeat var(--g-control-pad-button) center / 16px;color:var(--v3-ink);font:var(--t-button);cursor:pointer}.upload-choose .ui-input--file:disabled::file-selector-button{background-color:var(--v3-subtle);color:var(--v3-disabled-ink);cursor:not-allowed}.upload-file-name{min-width:0;color:var(--v3-ink);font:var(--t-td-num);overflow-wrap:anywhere}.upload-file-name.is-empty{color:var(--v3-muted);font:var(--t-body)}.upload-help{margin:0;color:var(--v3-sub);font:var(--t-help)}.upload-actions{display:flex;flex-direction:column;gap:8px}.upload-submit{width:100%;gap:8px}.upload-why{display:flex;align-items:center;gap:6px;margin:0;color:var(--v3-sub);font:var(--t-help)}.upload-why .ui-icon{width:13px;height:13px}@media(min-width:1024px){.upload-actions{flex-direction:row;align-items:center;gap:12px}.upload-submit{width:auto}}.batch-count{color:var(--v3-muted);font:var(--t-count)}.batch-list{margin:0;padding:0;list-style:none}.batch-list .ui-row{display:block;margin:0;padding:0;border:0;border-bottom:1px solid var(--v3-line);border-left:3px solid var(--v3-line-strong);border-radius:0;background:#fff}.batch-list .ui-row:last-child{border-bottom:0;border-radius:0 0 0 14px}.batch-list .ui-row--green{border-left-color:#22c55e}.batch-list .ui-row--accent{border-left-color:#3b82f6}.batch-list .ui-row--neutral{border-left-color:#a8a39b}.batch-list .batch.is-this{background:#eff6ff}.ui-button.batch-open,.batch-open.is-static{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:auto;min-height:var(--g-row-min);padding:12px 16px;border:0;border-radius:0;background:none;color:var(--v3-ink);text-align:left;font:var(--t-body)}.ui-button.batch-open:hover:not(:disabled){background:var(--v3-canvas)}.batch-text{display:flex;flex-direction:column;gap:2px;min-width:0}.batch-file{color:var(--v3-ink);font:600 13px/1.4 var(--font-plex-mono);overflow-wrap:anywhere}.batch-meta{color:var(--v3-muted);font:500 13px/1.4 var(--font-plex-mono);font-variant-numeric:tabular-nums}.batch-current,.batch-superseded{margin:0;color:var(--v3-sub);font:var(--t-help)}.batch-superseded strong{font-weight:600;color:var(--v3-ink)}.batch.is-superseded .batch-file{text-decoration:none;color:var(--v3-ink)}.batch-side{display:flex;flex:0 0 auto;align-items:center;gap:12px}.batch-go{display:none;align-items:center;gap:4px;color:var(--v3-link);font:var(--t-link);white-space:nowrap}.batch-go .ui-icon{width:13px;height:13px}.history-this{color:var(--v3-link);font:var(--t-link)}@media(min-width:1024px){.batch-go{display:inline-flex}.ui-button.batch-open,.batch-open.is-static{padding:10px 20px}}.import-header{display:flex;flex-direction:column;gap:4px;margin:0}.import-eyebrow{color:var(--v3-muted);font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.import-titleline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.import-title{margin:0;color:var(--v3-ink);font:700 22px/1.25 var(--font-plex-mono);letter-spacing:-.02em;overflow-wrap:anywhere}.import-title.is-plain{font:var(--t-title);letter-spacing:var(--t-title-track)}.import-count{color:var(--v3-muted);font:var(--t-count)}.import-source{margin:0;color:var(--v3-sub);font:var(--t-subtitle);letter-spacing:0;text-transform:none}.import-num{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.import-source-undated{font-style:italic}[data-testid=view-toggle].ui-tabs{gap:24px;margin:0;border-bottom:1px solid var(--v3-line)}[data-testid=view-toggle] .ui-tab{flex:0 0 auto;align-items:center;gap:6px;min-height:0;height:44px;margin-bottom:-1px;padding:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--v3-sub);font:600 14px/1 var(--font-plex)}[data-testid=view-toggle] .ui-tab-count{padding:0;border-radius:0;background:none;color:var(--v3-muted);font:600 13px/1.4 var(--font-plex-mono)}[data-testid=view-toggle] .ui-tab--current{border-bottom-color:var(--v3-link);background:none;color:var(--v3-ink)}[data-testid=view-toggle] .ui-tab--current .ui-tab-count{background:none;color:var(--v3-link)}@media(min-width:1024px){[data-testid=view-toggle] .ui-tab{height:36px;font-size:13px}[data-testid=view-toggle] .ui-tab-count{font-size:12.5px}}.status-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.status-chip{display:inline-flex;align-items:center;gap:0;height:32px;padding:0 10px;border:1px solid var(--v3-line);border-radius:8px;background:var(--v3-subtle);color:var(--v3-ink);font:600 12px/1 var(--font-plex);letter-spacing:.01em;text-transform:none;white-space:nowrap}.status-chip .ui-icon{width:12px;height:12px;margin-right:6px}.status-chip-text,.status-chip-count{color:inherit;font:inherit}.status-chip.is-asking:before{content:none}.status-chip-dot{margin-right:6px;width:5px;height:5px;border-radius:999px;background:#ef4444}.status-chip.is-asking{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.status-chip.is-asking .status-chip-count{color:#dc2626}.status-chip.is-answered{border:1px dashed #86efac;background:#f0fdf4;color:#15803d}.status-chip.is-answered .ui-icon{width:10px;height:10px}.status-chip.is-unmatched{border-color:#fde68a;background:#fffbeb;color:#b45309}.status-chip.is-ignored,.status-chip.is-zero,.status-chip.is-plain{color:var(--v3-ink)}@media(min-width:1024px){.status-chip{height:28px}}.autofill-summary{display:flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:none;color:var(--v3-sub);font:var(--t-help)}.autofill-summary .ui-icon{width:13px;height:13px;color:#0284c7}.autofill-summary strong{color:var(--v3-ink);font-family:var(--font-plex-mono)}.autofill-summary.is-unknown{border:0;background:none}.dense-wrap{display:flex;flex-direction:column;gap:8px;border:0;border-radius:0;background:none;overflow:visible}.dense-scroller{overflow-x:auto;overflow-y:hidden;border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d}.dense-table{min-width:1224px}.dense-head,.dense-row,.dense-totals{display:grid;grid-template-columns:180px 150px 84px 84px 96px 96px 124px 230px 180px;width:auto;min-width:0;min-height:var(--g-row-min);margin:0;padding:0;border:0;border-bottom:1px solid var(--v3-line);background:#fff;color:var(--v3-ink);font:var(--t-td);flex-wrap:nowrap}.dense-head{min-height:0;background:var(--v3-subtle);color:var(--v3-muted);font:var(--t-th);letter-spacing:.06em;text-transform:uppercase}.dense-rows{display:block;margin:0;padding:0;overflow:visible}.dense-c,.dense-h{display:flex;align-items:center;min-width:0;padding:var(--g-cell-pad);border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:1.4}.dense-h{padding:10px 12px}.dense-c.is-num,.dense-h.is-num{justify-content:flex-end;text-align:right}.dense-c.is-num{font:var(--t-td-num);font-variant-numeric:tabular-nums;white-space:nowrap}.dense-frozen{position:sticky;left:0;z-index:2;flex:none;width:auto;flex-wrap:nowrap;align-content:normal;gap:8px;background:#fff;border-right:0;box-shadow:inset -1px 0 0 var(--v3-line)}.dense-head .dense-frozen{background:var(--v3-subtle)}.dense-id{font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-ink)}.dense-filerow{font:inherit;font-weight:700;color:var(--v3-ink)}.dense-date,.dense-day{flex-basis:auto;font:inherit;color:inherit}.dense-select{flex:0 0 auto}.dense-row[data-status=asking] .dense-frozen{padding-left:15px;box-shadow:inset 3px 0 #ef4444,inset -1px 0 0 var(--v3-line)}.dense-row[data-status=unmatched] .dense-frozen{padding-left:15px;box-shadow:inset 3px 0 #f59e0b,inset -1px 0 0 var(--v3-line)}.dense-row.is-highlighted,.dense-row.is-highlighted .dense-frozen{background:#fffbeb}.dense-clocked{font-family:var(--font-plex-mono);overflow-wrap:anywhere}.dense-c.dense-clocked{flex-wrap:wrap;column-gap:6px}.dense-matched{color:var(--v3-muted);white-space:nowrap}.dense-c.dense-hours{color:var(--v3-sub);white-space:nowrap;text-align:right}.dense-c.dense-out{flex-direction:column;align-items:flex-end;justify-content:center}.dense-out.is-autofilled .dense-out-value{color:#0284c7;border-bottom:1px dashed #0284c7}.dense-out-word{color:#0284c7;font:600 9.5px/1.2 var(--font-plex);letter-spacing:.04em;text-transform:uppercase}.dense-engine{align-self:stretch;padding:var(--g-cell-pad);border:0;border-radius:0;background:none;color:var(--v3-sub);font:var(--t-engine)}.dense-own{align-self:stretch;padding:var(--g-cell-pad);border:0;border-radius:0;background:none}.dense-own-note{padding:0 6px;border-radius:4px;background:#fffbeb;color:#78350f;font:var(--t-thai)}.dense-door{grid-column:1 / -1;flex:none;max-width:none;margin:0;padding:0;border-top:1px dashed var(--v3-line)}.dense-door-inner{position:sticky;left:0;width:min(100%,calc(100vw - 34px));max-width:520px;padding:10px 12px 12px}.dense-totals{border-bottom:0;background:var(--v3-subtle);font:600 12px/1.4 var(--font-plex);color:var(--v3-sub)}.dense-totals .dense-frozen{background:var(--v3-subtle)}.dense-totals-label{grid-row:auto;color:var(--v3-ink);font:600 13px/1.4 var(--font-plex)}.dense-totals-hours,.dense-totals-span{color:var(--v3-ink);font:700 13px/1.4 var(--font-plex-mono)}.dense-totals-asking,.dense-totals-unflagged{color:var(--v3-ink);font:600 12px/1.4 var(--font-plex)}.dense-totals-note{color:var(--v3-sub);font:400 11.5px/1.45 var(--font-plex)}.dense-caption,.dense-loading-note{margin:0;padding:0;border:0;background:none;color:var(--v3-sub);font:var(--t-help)}.dense-wrap.is-loading .dense-row.is-skeleton{width:auto;min-width:0}.skeleton-bar{width:80%;height:10px;border-radius:4px;background:var(--v3-line)}.skeleton-bar.is-date{width:100px}@media(min-width:1024px){.dense-table{min-width:0}.dense-head,.dense-row,.dense-totals{grid-template-columns:228px minmax(140px,1.2fr) 84px 84px 96px 96px 124px minmax(200px,1.6fr) minmax(150px,1fr)}.dense-id{white-space:nowrap}}.save-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:12px 0 16px;border-top:1px solid var(--v3-line);background:#fff;box-shadow:calc(-1 * var(--imp-bleed)) 0 0 #fff,var(--imp-bleed) 0 0 #fff,calc(-1 * var(--imp-bleed)) -1px 0 var(--v3-line),var(--imp-bleed) -1px 0 var(--v3-line)}.save-bar-summary{margin:0;color:var(--v3-sub);font:var(--t-help)}.save-bar-count{font-variant-numeric:tabular-nums}.save-bar-asking{color:#991b1b;font:inherit}.save-bar .save-bar-button{flex:none;width:100%;min-height:0;gap:8px}@media(min-width:1024px){.save-bar{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 0}.save-bar-summary{font:400 13px/1.55 var(--font-plex)}.save-bar .save-bar-button{width:auto}}.batch-reason{display:grid;grid-template-columns:1fr auto;gap:6px 8px}.batch-reason-head,.pair-reason-head{margin:0;color:var(--v3-sub);font:var(--t-label);letter-spacing:0;text-transform:none}.pair-required{margin:0;padding:0;background:none;color:#dc2626;font:inherit}.batch-reason .pair-reason-input,.pair-reason .pair-reason-input{grid-column:1 / -1}.pair-reason-count{justify-self:end;color:var(--v3-muted);font:400 11.5px/1.4 var(--font-plex-mono);font-variant-numeric:tabular-nums}.batch-bar.imp-batchbar{z-index:5;gap:8px;margin:0;padding:12px 0 16px;border-top:1px solid var(--v3-line);background:#fff;box-shadow:calc(-1 * var(--imp-bleed)) 0 0 #fff,var(--imp-bleed) 0 0 #fff,calc(-1 * var(--imp-bleed)) -1px 0 var(--v3-line),var(--imp-bleed) -1px 0 var(--v3-line);color:var(--v3-ink);font:var(--t-body)}.batch-bar.imp-batchbar .ui-button{min-height:0;padding:0 var(--g-control-pad-button);font:var(--t-button)}@media(min-width:1024px){.batch-bar.imp-batchbar{padding:16px 0}}.gate.is-blocked{margin:0;padding:0;border:0;border-radius:0;background:none}.gate.is-blocked .gate-head{margin:0;color:#7f1d1d;font:600 13px/1.4 var(--font-plex)}.gate-why,.gate-intact{margin:0;color:#991b1b;font:400 13px/1.55 var(--font-plex)}.gate-list-head{margin:4px 0 0;color:#7f1d1d;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase}.gate.is-blocked .gate-blockers{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none}.gate.is-blocked .gate-blocker{display:flex;flex-direction:column;gap:6px;margin:0;padding:14px 16px;border:1px solid var(--v3-line);border-radius:12px;background:#fff;color:var(--v3-ink)}.blocker-where{display:block;letter-spacing:0;text-transform:none;color:var(--v3-ink);font:600 14px/1.4 var(--font-plex)}.gate.is-blocked .blocker-message{color:var(--v3-sub);font:400 12px/1.45 var(--font-plex)}.ui-button.blocker-goto,a.blocker-goto{display:inline-flex;align-items:center;gap:6px;width:fit-content;height:auto;min-height:0;margin:2px 0 0;padding:0;border:0;background:none;color:var(--v3-link);font:var(--t-link);text-decoration:none;cursor:pointer}.blocker-goto .ui-icon{width:13px;height:13px}.blocker-day{margin:0;color:var(--v3-sub);font:var(--t-help)}@media(min-width:1024px){.gate.is-blocked .gate-blockers{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.blocker-where{font-size:13px}.gate.is-blocked .blocker-message{font-size:11.5px}}.unmatchable{margin:0;padding:0;border:1px solid var(--v3-line);border-left:1px solid var(--v3-line);border-radius:16px;background:#fff;color:var(--v3-ink);font:var(--t-body)}.unmatchable-lead{margin:0;padding:12px 16px 4px;color:var(--v3-sub);font:var(--t-help)}.unmatchable-list{margin:0;padding:0 0 4px;list-style:none}.unmatchable-list>li{padding:8px 16px}.unmatchable-list>.unmatchable-name{display:flex;flex-direction:column;gap:10px;padding:14px 16px 14px 13px;border-top:1px solid var(--v3-line);border-left:3px solid #f59e0b}.unmatchable-which{display:flex;flex-direction:column;gap:2px;margin:0}.unmatchable-code{color:var(--v3-ink);font:600 13px/1.4 var(--font-plex-mono)}.unmatchable-rows{color:var(--v3-muted);font:500 13px/1.4 var(--font-plex-mono)}.unmatchable-remedy{margin:0;padding:8px 16px 12px;color:var(--v3-sub);font:var(--t-help)}.unmatchable .unmatchable-rematch{margin:0 16px 16px}.unmatchable .assign-clock-name,.unmatchable .ignore-clock-name{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:0}.unmatchable .ignore-clock-name{margin-left:12px;padding-left:12px;border-left:2px solid var(--v3-line)}.unmatchable .ignore-clock-name.is-done{margin-left:0;padding:8px 12px;border-left:3px solid #22c55e;background:var(--v3-subtle);font:var(--t-help)}.unmatchable .assign-clock-name>:first-child,.unmatchable .ignore-clock-name>:first-child{flex:1 1 220px;min-width:0;max-width:400px}@media(min-width:1024px){.unmatchable-list>li,.unmatchable-lead,.unmatchable-remedy{padding-left:20px;padding-right:20px}.unmatchable-list>.unmatchable-name{padding:14px 20px 14px 17px}}.row-pairs{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}.row-pair{padding:0;border:0;list-style:none}.pair-grid{display:flex;flex-direction:column;gap:16px}.pair-card,.pair-outcome-card{min-width:0}@media(min-width:1024px){.pair-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}}.row-identity{display:block;margin:0}.row-pair-badge{padding:0;border-radius:0;background:none;color:inherit;font:inherit}.row-name,.row-date{flex-basis:auto;color:inherit;font:inherit}.row-code{margin:0;padding:0;background:none;color:inherit;font:inherit}.row-facts{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid var(--v3-line)}.row-facts:empty{display:none}.row-distance{color:var(--v3-sub);font:500 12px/1.45 var(--font-plex-mono)}.row-facts .punch-issue,.pair-verdict{margin:0;color:var(--v3-sub);font:var(--t-help)}.row-facts .punch-issue.sev-error{color:#991b1b;font-weight:500}.row-facts .punch-issue.sev-warning{color:#b45309;font-weight:500}@media(min-width:1024px){.row-facts{padding:10px 20px}}.pair-table-wrap{overflow-x:auto}.pair-table{width:100%;border-collapse:collapse;font:var(--t-td)}.pair-table th,.pair-table td{padding:var(--g-cell-pad);border:0;border-bottom:1px solid var(--v3-line);text-align:left;vertical-align:middle}.pair-table tbody tr:last-child th,.pair-table tbody tr:last-child td{border-bottom:0}.pair-table thead th{padding:10px 12px;background:var(--v3-subtle);color:var(--v3-muted);font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.pair-table thead th.is-highlighted{color:var(--v3-link)}.pair-field-head,.pair-field-name{position:sticky;left:0;z-index:1;width:104px;min-width:104px;background:#fff;box-shadow:inset -1px 0 0 var(--v3-line);white-space:normal}.pair-field-name{color:var(--v3-sub);font:var(--t-td)}.pair-field-head{background:var(--v3-subtle)}.pair-cell{min-width:112px;color:var(--v3-ink);font:var(--t-td-num);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pair-cell.is-raw{min-width:112px;color:var(--v3-sub);font:400 11.5px/1.45 var(--font-plex-mono)}.pair-unmeasurable{color:#dc2626;font:600 12.5px/1.4 var(--font-plex)}.pair-flag-head,.pair-flag{position:relative;width:1%;text-align:right;white-space:nowrap}.pair-flag-head-word{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pair-row.is-differs .pair-cell,.pair-row.is-differs .pair-field-name,.pair-row.is-differs .pair-flag{background:#fffbeb}.pair-differs{display:inline-block;margin:0;font:inherit;letter-spacing:0;text-transform:none;color:inherit}.pair-differs .ui-badge{border:1px solid #fde68a}.pair-differs-what{display:block;margin-top:2px;color:#b45309;font:400 11px/1.35 var(--font-plex)}.pair-notes{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.pair-notes:not(:empty){padding:10px 16px;border-top:1px solid var(--v3-line)}.pair-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font:var(--t-help)}.pair-note-row{color:var(--v3-muted);font:600 11px/1.3 var(--font-plex-mono);letter-spacing:.04em;text-transform:uppercase}.pair-scroll-hint{margin:0;padding:8px 12px 0;color:var(--v3-muted);font:var(--t-th);letter-spacing:.06em;text-transform:uppercase}.pair-select{margin:0;padding:12px 16px;border:0;border-top:1px dashed var(--v3-line);border-radius:0}@media(min-width:1024px){.pair-field-head,.pair-field-name{width:150px;min-width:150px}.pair-cell{min-width:140px}}.pair-resolve{margin:0;padding:0;border:0;border-radius:0;background:none}.pair-resolve.is-quiet{border:0;background:none}.pair-resolve-quiet{padding:0}.pair-resolve-summary{display:flex;align-items:center;min-height:var(--g-row-min);padding:8px 16px;color:var(--v3-link);font:var(--t-link);cursor:pointer}.pair-resolve-body{display:flex;flex-direction:column;gap:16px;padding:var(--g-card-pad)}.pair-outcomes{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.pair-keep{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;border:1px solid var(--v3-line);border-radius:10px;background:#fff;cursor:pointer}.pair-keep .ui-choice-box{margin-top:2px}.pair-keep.is-chosen{border-color:var(--v3-link);background:#eff6ff}.pair-keep-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pair-keep-word{color:var(--v3-ink);font:600 14px/1.55 var(--font-plex)}.pair-keep-cost{grid-column:auto;color:var(--v3-sub);font:400 12px/1.45 var(--font-plex)}.pair-reason{display:flex;flex-direction:column;gap:6px;margin:0}.pair-reason-input.is-missing{border-color:#dc2626}.pair-reason-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.pair-reason-foot .pair-reason-count{margin-left:auto}.pair-reason-error{display:inline-flex;align-items:center;gap:6px;color:var(--v3-error);font:var(--t-error)}.pair-reason-error .ui-icon{width:13px;height:13px;color:#dc2626}.pair-commit-row{position:sticky;bottom:0;z-index:3;display:flex;flex-direction:column;gap:8px;margin:0 calc(-1 * var(--g-card-pad)) calc(-1 * var(--g-card-pad));padding:12px var(--g-card-pad) var(--g-card-pad);border-top:1px solid var(--v3-line);border-radius:0 0 16px 16px;background:#fff}.ui-button.pair-commit{width:100%;min-height:0;margin:0;gap:8px}.pair-reason-gate{display:flex;align-items:center;gap:6px;margin:0;color:var(--v3-sub);font:var(--t-help)}.pair-reason-gate .ui-icon{width:13px;height:13px}@media(min-width:1024px){.pair-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}.pair-keep-word{font-size:13px}.pair-keep-cost{font-size:11.5px}.pair-commit-row{position:static;flex-direction:row;align-items:center;gap:12px;margin:0;padding:0;border:0;border-radius:0;background:none}.ui-button.pair-commit{width:auto}.pair-resolve-summary{padding:8px 20px}}.imp-mon{display:flex;flex-direction:column;gap:10px;margin:0 0 12px;padding:14px 16px;background:#fff;border:1px solid var(--v3-line);border-left:3px solid #f59e0b;border-radius:4px 12px 12px 4px}.imp-mon-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.imp-mon-title{font:700 14px/1.3 var(--font-plex);color:var(--v3-ink)}.imp-mon-body,.imp-mon-edit{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.imp-mon-edit{align-items:stretch}.imp-mon-sub,.imp-mon-hint{margin:0;font:400 11.5px/1.45 var(--font-plex);color:var(--v3-sub)}.imp-mon-label{display:flex;justify-content:space-between;gap:8px;font:600 12px/1.3 var(--font-plex);color:var(--v3-sub)}.imp-mon-count,.imp-mon-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.imp-mon-count{font-weight:400}.imp-mon-people{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;width:100%}.imp-mon-person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:8px 10px;border:1px solid var(--v3-line);border-radius:8px}.imp-mon-who{min-width:0}.imp-mon-name{font:600 13px/1.4 var(--font-plex);color:var(--v3-ink)}.imp-mon-meta{font:400 12px/1.4 var(--font-plex);color:var(--v3-sub)}.imp-mon-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:8px;font:600 11px/1 var(--font-plex);white-space:nowrap}.imp-mon-chip.is-asking{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.imp-mon-chip.is-asking:before{content:"";width:5px;height:5px;border-radius:999px;background:#ef4444}.imp-mon-chip.is-has_note{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.imp-mon-chip.is-answered{background:#f0fdf4;border:1px dashed #86efac;color:#15803d}.imp-mon-note{flex-basis:100%;display:flex;flex-direction:column;gap:4px}.imp-mon-quote{margin:0;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font:400 14px/1.6 "IBM Plex Sans Thai",var(--font-plex);color:#78350f;white-space:pre-line;align-self:stretch}.imp-mon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ui-pagetitle:has(+.att-intro){margin-bottom:4px}.att-intro{margin:0}.att-month .ui-card{margin-bottom:0;padding:0}.att-linked-body{margin:0;font:var(--t-body)}.ui-banner[data-testid=att-linked]{margin-top:16px}.att-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:16px}.att-filter-person,.att-filter-month{width:100%;min-width:0}@media(min-width:1024px){.att-filter-person{width:340px}.att-filter-month{width:220px}}.att-month{display:flex;flex-direction:column;gap:16px;margin-top:16px}@media(min-width:1024px){.att-month{display:grid;grid-template-columns:440px minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}}.att-side{display:flex;flex-direction:column;gap:14px;min-width:0}.att-cal-body{display:flex;flex-direction:column;gap:14px;padding:var(--g-card-pad)}.att-cal-grid{--att-cell-w: 52px;--att-cell-h: 52px;display:grid;grid-template-columns:repeat(7,var(--att-cell-w));gap:4px;justify-content:center;margin:0;padding:0;list-style:none}@media(min-width:1024px){.att-cal-grid{--att-cell-w: 54px;--att-cell-h: 50px}}.att-cal-head{padding-bottom:4px;text-align:center;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.att-cal-blank{height:var(--att-cell-h)}.att-cal-cell{display:flex;flex-direction:column;align-items:center;gap:6px;box-sizing:border-box;height:var(--att-cell-h);padding-top:8px;border:1px solid var(--v3-line);border-radius:8px;background:#fff}.att-cal-n{font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-ink)}.att-cal-cell[data-state=asking]{border-color:#fca5a5;background:#fef2f2}.att-cal-cell[data-state=none] .att-cal-n,.att-cal-cell[data-state=outside] .att-cal-n{color:var(--v3-disabled-ink)}.att-cal-cell[data-state=outside]{background:repeating-linear-gradient(135deg,#fff 0,#fff 4px,var(--v3-subtle) 4px,var(--v3-subtle) 6px)}.att-cal-cell.is-linked{border:2px solid #2563eb}.att-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none}.att-legend-item{display:inline-flex;align-items:center;gap:6px;font:var(--t-help);color:var(--v3-sub)}.att-mark{position:relative;display:inline-block;flex:0 0 auto;box-sizing:border-box}.att-mark[data-mark=unanswered]{width:10px;height:10px;border:2px solid #ef4444;border-radius:50%}.att-mark[data-mark=answered]{width:10px;height:10px;border:1px dashed #15803d;border-radius:50%}.att-mark[data-mark=no-record]{width:10px;height:10px;border:2px dotted var(--v3-muted);border-radius:50%}.att-mark[data-mark=worked]{width:4px;height:4px;border-radius:50%;background:var(--v3-ink)}.att-mark[data-mark=holiday]{width:11px;height:11px;background:#8b5cf6;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.att-mark[data-mark=leave]{width:14px;height:3px;border-radius:2px;background:#f59e0b}.att-mark[data-mark=monday-closed]{width:10px;height:10px}.att-mark[data-mark=monday-closed]:before,.att-mark[data-mark=monday-closed]:after,.att-mark[data-mark=day-off]:before,.att-mark[data-mark=day-off]:after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;margin-top:-1px;border-radius:1px;background:var(--v3-muted)}.att-mark[data-mark=monday-closed]:before{transform:rotate(45deg)}.att-mark[data-mark=monday-closed]:after{transform:rotate(-45deg)}.att-mark[data-mark=closed-day]{width:9px;height:9px;background:var(--v3-ink)}.att-mark[data-mark=outside]{width:16px;height:10px;border:1px solid var(--v3-line-strong);background:repeating-linear-gradient(135deg,#fff 0,#fff 2px,var(--v3-line-strong) 2px,var(--v3-line-strong) 3px)}.att-mark[data-mark=not-scheduled]{width:10px;height:9px;background:var(--v3-muted);clip-path:polygon(50% 0,100% 100%,0 100%)}.att-mark[data-mark=day-off]{width:10px;height:10px}.att-mark[data-mark=day-off]:after{transform:rotate(90deg)}.att-section{display:flex;flex-direction:column;gap:14px;min-width:0}.att-section-head{margin:0;font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.att-section-count{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.att-cards{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.att-nothing-text{margin:0;padding:var(--g-card-pad);font:var(--t-body);color:var(--v3-ink)}.att-day{box-sizing:border-box;min-width:0;padding:var(--g-card-pad);border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d}.att-day[data-kind=needs-answer],.att-day[data-kind=coverage-gap]{padding-left:calc(var(--g-card-pad) + 3px);border-color:#fca5a5;box-shadow:inset 3px 0 #ef4444,0 1px 2px #1413120d}.att-day[data-kind=answered]{border:1px dashed #86efac}.att-day.is-linked{outline:2px solid #2563eb;outline-offset:3px}.att-day-head{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.att-day-when{flex:1 1 auto;min-width:0;font:var(--t-card-title);color:var(--v3-ink)}.att-day-date{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.att-day-type{font:var(--t-badge);color:var(--v3-sub)}.att-day-person{margin:2px 0 0;font:var(--t-help);color:var(--v3-muted)}.att-flag{display:inline-flex;align-items:center;gap:5px;box-sizing:border-box;height:22px;padding:0 9px;border-radius:999px;font:var(--t-badge);letter-spacing:.01em;white-space:nowrap}.att-flag-marker{font-size:8px;line-height:1}.att-flag[data-flag=needs-answer]{border:1px solid #fca5a5;background:#fef2f2;color:#dc2626}.att-flag[data-flag=answered]{border:1px dashed #86efac;background:#f0fdf4;color:#15803d}.att-flag[data-flag=answered] .att-flag-marker{font-size:10px}.att-flag[data-flag=coverage-gap]{border:1px dotted var(--v3-muted);background:#fff;color:var(--v3-sub)}.att-flag[data-flag=coverage-gap] .att-flag-marker{font-size:11px}.att-facts{margin-top:12px;padding:6px 10px;border-radius:6px;background:var(--v3-subtle);font:var(--t-engine);color:var(--v3-sub)}.att-facts-line,.att-times{margin:0;overflow-wrap:anywhere}.att-facts-line+.att-times{margin-top:2px;font-variant-numeric:tabular-nums}.att-times-flag{color:#b45309}.att-day-holiday{display:flex;align-items:center;gap:8px;margin:10px 0 0;font:var(--t-thai);color:var(--v3-ink)}.att-mine{margin:10px 0 0;padding:10px 12px;border:2px solid #fcd34d;border-radius:8px;background:#fffbeb;font:var(--t-thai);color:#78350f;overflow-wrap:anywhere}.att-still{margin:8px 0 0;font:var(--t-help);color:var(--v3-muted)}.ui-button.att-change{height:auto;margin-top:8px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--v3-link);font:var(--t-link)}.ui-button.att-change:hover:not(:disabled){background:transparent;text-decoration:underline}.att-note-edit{display:flex;flex-direction:column;gap:6px;margin-top:12px}.att-note-label{font:var(--t-label);color:var(--v3-sub)}.att-note-label-aside{font-weight:400;color:var(--v3-muted)}.att-note-meta{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.att-note-help,.att-note-count{margin:0;font:var(--t-help);color:var(--v3-muted)}.att-note-count{flex:0 0 auto;font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.att-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.att-gap-label{margin:12px 0 0;font:var(--t-body);color:var(--v3-ink)}.att-gap-remedies{margin-top:8px;font:var(--t-help);color:var(--v3-sub)}.att-gap-remedies summary{cursor:pointer;font:var(--t-link);color:var(--v3-link)}.att-gap-remedies-body{margin:6px 0 0}.att-leave-link{display:inline-flex;align-items:center;min-height:var(--g-control-h)}.ui-link.att-leave-link,.ui-link.att-outside-fix{min-height:var(--g-control-h);padding:0 4px 0 0;font:var(--t-link)}.att-outside-list{margin:0;padding:0;list-style:none}.att-outside-day{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:12px var(--g-card-pad);border-top:1px solid var(--v3-line)}.att-outside-day:first-child{border-top:0}.att-outside-day.is-linked{outline:2px solid #2563eb;outline-offset:-2px;background:#eff6ff}.att-outside-when{display:flex;flex-direction:column;gap:2px;min-width:0}.att-outside-date{font:var(--t-td-num);font-weight:700;color:var(--v3-ink)}.att-outside-who{font:var(--t-help);color:var(--v3-muted)}.att-outside-remedies{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.att-outside-other{font:var(--t-help);color:var(--v3-muted)}.att-rest-list{margin:0;padding:0;list-style:none}.att-rest-row{display:flex;gap:12px;align-items:center;box-sizing:border-box;min-height:47px;padding:6px var(--g-card-pad);border-top:1px solid var(--v3-line)}.att-rest-row:first-child{border-top:0}@media(min-width:1024px){.att-rest-row{min-height:43px}}.att-rest-label{flex:1 1 auto;min-width:0;font:var(--t-body);font-weight:600;color:var(--v3-ink)}.att-rest-dates{flex:0 1 auto;min-width:0;text-align:right;font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-sub)}.att-rest-detail{font:var(--t-help)}.att-rest-count{flex:0 0 28px;text-align:right;font:var(--t-td-num);font-weight:700;font-variant-numeric:tabular-nums;color:var(--v3-ink)}.att-cal,.att-rest,.att-outside,.att-nothing{overflow:hidden}.att-gap{display:flex;flex-direction:column}.att-day-weekday{font-family:var(--font-plex)}.att-facts-remedy{color:var(--v3-ink)}.att-flag-word{line-height:1}.ui-button.att-outside-exclude{flex:0 0 auto}.att-mark[data-mark=next-export]{width:7px;height:7px;border-top:2px solid var(--v3-muted);border-right:2px solid var(--v3-muted);transform:rotate(45deg)}.att-cal-cell[data-state=next-export] .att-cal-n{color:var(--v3-sub)}.att-cal-cell.is-tail{background:var(--v3-canvas)}.att-cal-cell.is-picked{border:2px solid #2563eb}.att-cal-cell:has(>.att-cal-hit){padding:0}.att-cal-cell>.ui-button.att-cal-hit{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;width:100%;height:100%;min-height:0;margin:0;padding:8px 0 0;border:0;border-radius:inherit;background:transparent;box-shadow:none;color:inherit;font:inherit;cursor:pointer}.att-cal-cell>.ui-button.att-cal-hit:hover:not(:disabled){background:#2563eb0f}.att-cal-tail-note{margin:0;padding:0 16px 14px;font:var(--t-help);color:var(--v3-sub)}.att-month .ui-card.att-next-export{border-left:3px solid var(--v3-muted)}.att-next-export-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px 14px}.att-next-export-text,.att-picked-text{margin:0;font:var(--t-body);color:var(--v3-sub)}@media(min-width:1024px){.att-cal-tail-note{padding:0 20px 16px}.att-next-export-body{padding:12px 20px 16px}}.att-also{margin:10px 0 0;padding:10px 12px;border:1px solid var(--v3-line);border-radius:10px}.att-also-title{padding:0 4px;font-weight:600}.att-also-none,.att-also-keep{margin:6px 0 0;color:var(--v3-sub)}.att-also-list{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:6px}.att-also-person{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.att-also-note{color:var(--v3-sub)}.ui-pagetitle:has(+.sum-intro){margin-bottom:4px}.sum-intro{margin:0}.sum-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.sum-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:16px}.sum-filter-month,.sum-filter-person{width:100%;min-width:0}@media(min-width:1024px){.sum-filter-month{width:220px}.sum-filter-person{width:320px}}.sum-downloads{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}.sum-dl-wait{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.sum-dl-reason{display:inline-flex;gap:5px;align-items:center;font:var(--t-help);color:var(--v3-sub)}.sum-dl-reason .ui-icon{width:12px;height:12px}.ui-link.sum-dl{display:inline-flex;gap:8px;align-items:center;box-sizing:border-box;height:var(--g-control-h);padding:0 var(--g-control-pad-button);border:1px solid var(--v3-line);border-radius:8px;background:#fff;color:var(--v3-ink);font:var(--t-button);text-decoration:none}.ui-link.sum-dl:hover{background:var(--v3-canvas)}.ui-link.sum-dl .ui-icon,.sum-dl-wait .ui-button .ui-icon{width:var(--g-icon);height:var(--g-icon)}.sum-dl-wait .ui-button{gap:8px}.attendance-summary .ui-card.sum-card,.attendance-summary .ui-card.sum-nothing{margin:16px 0 0;padding:0;overflow:hidden}@media(min-width:1024px){.attendance-summary .ui-card.sum-card,.attendance-summary .ui-card.sum-nothing{margin-top:20px}}.sum-card .ui-skeleton{border:0;border-radius:0}.sum-scroll{max-height:560px;overflow:auto}.sum-table{width:100%;border-collapse:collapse;font:var(--t-td);color:var(--v3-ink)}.sum-th{position:sticky;top:0;z-index:1;padding:var(--g-cell-pad);border-bottom:1px solid var(--v3-line);background:var(--v3-subtle);text-align:left;vertical-align:bottom;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.sum-th.is-num{text-align:right}.sum-table.is-cafe .sum-th.is-num{min-width:64px}@media(min-width:1024px){.sum-table.is-cafe .sum-th.is-num{width:92px}}.sum-td{height:var(--g-row-min);box-sizing:border-box;padding:var(--g-cell-pad);border-bottom:1px solid var(--v3-line);white-space:nowrap}.sum-td.is-num{text-align:right;font:var(--t-td-num);font-variant-numeric:tabular-nums}.sum-first{border-right:1px solid var(--v3-line)}.sum-table.is-cafe .sum-first{width:100%}.sum-name{font-weight:600}.sum-code{font-weight:400;color:var(--v3-muted)}.sum-row.is-not-employed .sum-td{color:var(--v3-muted)}.sum-words{white-space:normal;font:var(--t-td);color:var(--v3-muted)}.sum-foot .sum-td{position:sticky;bottom:0;border-top:1px solid var(--v3-ink);border-bottom:0;background:var(--v3-canvas);font-weight:700}.sum-foot .sum-td.is-num{font-weight:700}.sum-row.is-correcting .sum-td{background:#eff6ff}.sum-act{width:1%}.ui-button.sum-correct-open{height:auto;min-height:0;padding:0 6px;border-color:transparent;background:transparent;color:var(--v3-link);font:var(--t-link)}.ui-button.sum-correct-open:hover:not(:disabled){background:transparent;text-decoration:underline}.sum-correcting{display:inline-flex;gap:5px;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font:var(--t-badge)}.sum-correcting:before{content:"";width:5px;height:5px;border-radius:50%;background:#3b82f6}.sum-was-row .sum-td{height:auto;padding-top:0;white-space:normal;font:var(--t-help);color:var(--v3-sub)}.sum-was-tag{font-weight:600;color:#b45309}.sum-correct{display:flex;flex-direction:column;gap:12px;padding:var(--g-card-pad);border-top:1px solid var(--v3-line);background:#eff6ff}.sum-correct-head{margin:0;font:var(--t-card-title);color:var(--v3-ink)}.sum-correct-engine{margin:0;padding:6px 10px;border-radius:6px;background:var(--v3-subtle);font:var(--t-engine);color:var(--v3-sub)}.sum-correct-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}@media(min-width:1024px){.sum-correct-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sum-required{color:#dc2626}.sum-correct-gate{margin:0;font:var(--t-help);color:var(--v3-sub)}.sum-actions{display:flex;flex-wrap:wrap;gap:8px}.sum-nothing{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.attendance-summary .ui-card.sum-nothing{padding:24px var(--g-card-pad)}@media(min-width:1024px){.attendance-summary .ui-card.sum-nothing{padding:32px}}.sum-nothing-head{margin:0;font:var(--t-card-title);color:var(--v3-ink)}.sum-nothing-text{margin:0;font:var(--t-body);color:var(--v3-sub)}.ui-link.sum-primary-link{display:inline-flex;gap:8px;align-items:center;box-sizing:border-box;height:var(--g-control-h);margin-top:8px;padding:0 var(--g-control-pad-button);border-radius:8px;background:#2563eb;color:#fff;font:var(--t-button);text-decoration:none}.ui-link.sum-primary-link:hover{background:#1d4ed8}.ui-link.sum-primary-link .ui-icon{width:var(--g-icon);height:var(--g-icon)}.sum-table.is-person{min-width:640px}.sum-was{padding-left:12px}@media(min-width:1024px){.attendance-summary .ui-card.sum-card{width:fit-content;max-width:100%}.sum-table.is-cafe,.sum-table.is-person{width:auto;min-width:0}.sum-table.is-cafe .sum-first{width:auto}.sum-was-text{contain:inline-size}}.lv-page,.hd-page,.cd-page,.adj-page{display:flex;flex-direction:column;gap:16px;min-width:0}.rp-head{flex-direction:column;align-items:stretch;gap:13px;margin:0}.rp-head .ui-pagetitle-text{gap:6px}.rp-titleline{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.rp-titleline .ui-pagetitle-head{margin:0}.rp-count{font:var(--t-count);color:var(--v3-muted)}.rp-sub{margin:-2px 0 0;font:var(--t-subtitle);color:var(--v3-sub)}.rp-actions{flex-shrink:1;gap:8px}.rp-actions .ui-button{flex:1 1 auto}.rp-split,.rp-main{display:flex;flex-direction:column;gap:16px;min-width:0}.rp-listcard,.rp-formcard{margin:0;padding:0}.rp-listcard{overflow:hidden}.lv-month .ui-field,.hd-page .ui-field,.cd-page .ui-field,.adj-page .ui-field{margin:0}:is(.lv-page,.hd-page,.cd-page,.adj-page) form :is(button,label,input){margin:0}:is(.lv-page,.hd-page,.cd-page,.adj-page) form button:not(.ui-button){padding:0;min-height:0}:is(.lv-page,.hd-page,.cd-page,.adj-page) form input[type=checkbox]{padding:0}.rp-formbody{display:flex;flex-direction:column;gap:14px;padding:16px}.rp-formbody .ui-field{gap:6px;margin:0}.rp-formfoot{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--v3-line)}.rp-req{color:#dc2626}.rp-opt{font-weight:400;color:var(--v3-muted)}.rp-help{margin:0;font:var(--t-help);color:var(--v3-sub)}.rp-formbody .ui-banner{border-radius:2px 10px 10px 2px}.rp-refusal-message{margin:-4px 0 0;font:400 13px/1.5 var(--font-plex);color:#991b1b}.rp-refusal-details{margin:0;padding-left:18px;font:400 12px/1.45 var(--font-plex);color:#991b1b}.rp-refusal-meta{margin:0;font:400 11px/1.4 var(--font-plex-mono);color:#b45454}.rp-people{margin:0;padding:0;list-style:none}.rp-person{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-top:1px solid var(--v3-line);box-shadow:inset 3px 0 0 transparent}.rp-person:first-child{border-top:0}.rp-person-main{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.rp-person-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font:600 13px/1.4 var(--font-plex);color:var(--v3-ink)}.rp-person-code{font:500 12px/1.4 var(--font-plex-mono);color:var(--v3-muted)}.rp-person-count.is-none{font:var(--t-body);color:var(--v3-muted)}.rp-person-count{flex:0 0 auto;font:700 13px/1.4 var(--font-plex-mono);color:var(--v3-ink);white-space:nowrap}.rp-lines{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.rp-line{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:6px}.rp-line-text{flex:1 1 auto;min-width:0;margin:0;font:var(--t-body);color:var(--v3-sub)}.rp-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.rp-line-actions{display:inline-flex;flex:0 0 auto;gap:2px}.rp-note{flex:1 1 100%;box-sizing:border-box;margin:2px 0 0;padding:10px 12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#78350f;font:var(--t-thai);overflow-wrap:anywhere}.rp-inlineform{display:flex;flex:1 1 100%;flex-direction:column;gap:12px;margin-top:4px;padding:14px 16px;border:1px solid var(--v3-line);border-radius:12px;background:var(--v3-canvas)}.rp-inlineform .ui-field{gap:6px;margin:0}.rp-inlineform-title{margin:0;font:var(--t-card-title);color:var(--v3-ink)}.rp-inlineform-actions{display:flex;flex-wrap:wrap;gap:8px}.rp-empty{margin:0;padding:20px;font:var(--t-body);color:var(--v3-ink)}.rp-foot{margin:0;font:var(--t-help);color:var(--v3-muted)}@media(min-width:1024px){.lv-page,.hd-page,.cd-page,.adj-page{gap:20px;max-width:none}.rp-head{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}.rp-actions .ui-button{flex:0 0 auto}.rp-split,.rp-main{gap:20px}.rp-split.is-open{display:grid;grid-template-columns:420px minmax(0,1fr);align-items:start}.rp-formbody{padding:20px}.rp-formfoot{padding:12px 20px}.rp-person{padding:11px 20px 12px}.rp-person-name,.rp-person-count{font-size:12.5px}}.lv-month{max-width:none}.lv-stripe-unpaid{box-shadow:inset 3px 0 #f59e0b}.lv-stripe-paid{box-shadow:inset 3px 0 #3b82f6}.lv-stripe-none{box-shadow:none}.lv-kind{color:var(--v3-sub)}.lv-form{min-width:0}@media(min-width:1024px){.lv-month{width:220px}}.lv-hours{display:flex;align-items:center;gap:8px}.lv-hours .ui-input{width:4.5em;text-align:right;font-variant-numeric:tabular-nums}.lv-hours-unit{color:var(--v3-sub)}.hd-grid,.hd-years,.hd-side{display:flex;flex-direction:column;gap:16px;min-width:0}.hd-side{display:contents}.hd-form{order:-2}.hd-import.has-report{order:-1}.hd-import{order:1}.hd-year-head{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-bottom:1px solid var(--v3-line);background:var(--v3-canvas)}.hd-year-title{font:700 14px/1.3 var(--font-plex-mono);color:var(--v3-ink)}.hd-year-sub{font:var(--t-card-sub);color:var(--v3-muted)}.hd-rows{margin:0;padding:0;list-style:none}.hd-row{display:grid;grid-template-columns:8px auto minmax(0,1fr) auto auto;align-items:center;column-gap:12px;min-height:69px;padding:0 16px;border-top:1px solid var(--v3-line)}.hd-row:first-child{border-top:0}.hd-row.is-inactive,.hd-row.is-deleted{background:var(--v3-canvas)}.hd-dot{width:8px;height:8px;border-radius:50%;background:#a78bfa}.hd-dot.is-inactive{box-sizing:border-box;border:1.5px solid var(--v3-muted);background:transparent}.hd-dot.is-deleted{height:2px;border-radius:1px;background:var(--v3-muted)}.hd-date{font:500 13px/1.4 var(--font-plex-mono);color:var(--v3-ink);white-space:nowrap}.hd-name{min-width:0;font:400 13px/1.4 var(--font-plex);color:var(--v3-ink);overflow-wrap:anywhere}.hd-row.is-inactive .hd-date,.hd-row.is-inactive .hd-name,.hd-row.is-deleted .hd-date,.hd-row.is-deleted .hd-name{color:var(--v3-muted)}.hd-row.is-deleted .hd-name{text-decoration:line-through}.hd-badge .ui-badge{border:1px dashed var(--v3-line);background:var(--v3-subtle);color:var(--v3-muted)}.hd-badge{grid-column:4}.hd-toggle{grid-column:5;white-space:nowrap}.hd-empty{display:flex;flex-direction:column;gap:6px;padding:20px}.rp-empty-line{margin:0;font:var(--t-body);color:var(--v3-ink)}.hd-empty-doors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.hd-empty-doors .ui-button,.hd-empty-doors .ui-link{min-height:0;height:auto;padding:0;font:var(--t-link)}.hd-or{font:var(--t-help);color:var(--v3-muted)}.hd-form-pair{display:flex;flex-direction:column;gap:14px}.hd-active{display:flex;flex-direction:column;gap:0}.hd-active .ui-choice{min-height:0;padding:0;font:var(--t-body);color:var(--v3-ink)}.hd-active-help{padding-left:31px}.hd-import-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.hd-template{min-height:0;padding:0;font:var(--t-link)}.hd-import-body .ui-input--file{width:100%;height:auto;min-height:0;padding:0;border:0;background:transparent;font:var(--t-body);color:var(--v3-muted)}.hd-import-body .ui-input--file::file-selector-button{height:var(--g-control-h);margin:0 10px 0 0;padding:0 var(--g-control-pad-button);border:1px solid var(--v3-line);border-radius:8px;background:#fff;color:var(--v3-ink);font:var(--t-button)}.hd-report{display:flex;flex-direction:column;gap:8px;padding:0 0 16px;border-top:1px solid var(--v3-line)}.hd-report-created,.hd-report-refused{margin:0;padding:0 16px;font:var(--t-body);color:var(--v3-ink)}.hd-report-created{padding-top:14px;font-weight:600}.hd-report-table{width:100%;border-collapse:collapse}.hd-report-table th{padding:8px 12px;border-bottom:1px solid var(--v3-line);background:var(--v3-subtle);font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted);text-align:left}.hd-report-table td{padding:8px 12px;border-bottom:1px solid var(--v3-line);font:var(--t-td);color:var(--v3-ink);vertical-align:top;overflow-wrap:anywhere}.hd-report-table td.hd-report-row{box-shadow:inset 3px 0 #ef4444;font:var(--t-td-num);text-align:right}.hd-report-table td.rp-mono{font:var(--t-td-num)}.hd-report-issue{font-weight:500;color:var(--v3-error)}.hd-report-table td.hd-report-issue{color:var(--v3-error)}@media(min-width:1024px){.hd-side{display:flex}.hd-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:20px}.hd-years,.hd-side{gap:20px}.hd-year-head{padding:16px 20px}.hd-row{grid-template-columns:8px 96px minmax(0,1fr) auto auto;min-height:53px;padding:0 20px}.hd-date,.hd-name{font-size:12.5px}.hd-empty{padding:22px 20px}.hd-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hd-import-body{padding:20px}.hd-report-created,.hd-report-refused{padding:0 20px}.hd-report-created{padding-top:16px}}.cd-rows{margin:0;padding:0;list-style:none}.cd-row{padding:12px 16px;border-top:1px solid var(--v3-line)}.cd-row:first-child{border-top:0}.cd-row.is-confirming{background:snow}.cd-row-line{display:flex;align-items:center;gap:12px;min-height:44px}.cd-marker{flex:0 0 12px;box-sizing:border-box;width:12px;height:12px;border:1px solid var(--v3-ink);border-radius:2px}.cd-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.cd-date{font:600 13px/1.4 var(--font-plex-mono);color:var(--v3-ink)}.cd-reason{font:400 13px/1.4 var(--font-plex);color:var(--v3-sub);overflow-wrap:anywhere}.ui-button--text.cd-delete{flex:0 0 auto;color:#dc2626}.ui-button--text.cd-delete:hover:not(:disabled){background:#fef2f2}.cd-row .ui-confirm{margin-top:4px;border-radius:10px}.cd-row .ui-confirm-title{font:600 14px/1.55 var(--font-plex)}.cd-row .ui-confirm-body{font:400 13px/1.5 var(--font-plex)}@media(min-width:1024px){.cd-main{max-width:760px}.rp-split.is-open .cd-main{max-width:none}.cd-row{padding:8px 20px}.cd-row-line{min-height:40px}.cd-date,.cd-reason{font-size:12.5px}.cd-row .ui-confirm{margin:4px 0}.cd-row .ui-confirm-title{font-size:13px}}.adj-stripe-advance{box-shadow:inset 3px 0 #3b82f6}.adj-stripe-allowance{box-shadow:inset 3px 0 #22c55e}.adj-stripe-deduction{box-shadow:inset 3px 0 #f59e0b}.adj-stripe-mixed{box-shadow:inset 3px 0 0 var(--v3-line-strong)}.adj-stripe-none{box-shadow:none}.adj-amount-out{flex:0 0 auto;font:700 13px/1.4 var(--font-plex-mono);font-variant-numeric:tabular-nums;color:var(--v3-ink);white-space:nowrap}.adj-who{max-width:none}.adj-amount{position:relative;display:block}.adj-amount .ui-input{padding-right:48px;font-family:var(--font-plex-mono);text-align:right}.adj-amount:after{content:"THB";position:absolute;top:50%;right:14px;transform:translateY(-50%);font:400 11px/1 var(--font-plex-mono);color:var(--v3-muted);pointer-events:none}.adj-totals{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;padding:12px 16px;border-top:1px solid var(--v3-ink);background:var(--v3-canvas)}.adj-totals-scope{margin:0;font:var(--t-help);color:var(--v3-sub)}.adj-totals-list{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none}.adj-totals-list li{display:inline-flex;align-items:baseline;gap:6px}.adj-total-word{font:var(--t-help);color:var(--v3-sub)}.adj-total-amount{font:700 12.5px/1.4 var(--font-plex-mono);color:var(--v3-ink)}.adj-copy-rows{margin:0;padding:0 16px;list-style:none}.adj-copy-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;border-top:1px solid var(--v3-line)}.adj-copy-row:first-child{border-top:0}.adj-copy-row[data-state=locked],.adj-copy-row[data-state=exists]{color:var(--v3-muted)}.adj-copy-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;cursor:pointer}.adj-copy-name{font:600 13px/1.4 var(--font-plex);color:var(--v3-ink)}.adj-copy-kind{font:var(--t-help);color:var(--v3-sub)}.adj-copy-why{font:var(--t-help);color:var(--v3-error)}.adj-copy-amount{flex:0 0 auto;font:500 13px/1.4 var(--font-plex-mono);font-variant-numeric:tabular-nums;color:var(--v3-ink)}.adj-copy-note{margin:0;padding:12px 16px;border-top:1px solid var(--v3-line);font:var(--t-help);color:var(--v3-sub)}@media(min-width:1024px){.adj-amount-out{font-size:12.5px}.adj-who{width:320px}.adj-totals{padding:12px 20px}.adj-copy-rows{padding:0 20px}.adj-copy-row{min-height:35px;padding:0}.adj-copy-name,.adj-copy-amount{font-size:12.5px}.adj-copy-note{padding:12px 20px}}.p11-page{display:flex;flex-direction:column;gap:16px}.p11-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.p11-page .ui-link.p11-back,.p11-page .ui-link.p11-onward,.p11-page .p11-facts .ui-link,.p11-page .ui-link.p11-settled-name,.p11-page .ui-link.payslip-link,.p11-page .ui-link.fin-remedy{min-height:0;padding:0;justify-content:flex-start;gap:4px;font:var(--t-link);color:var(--v3-link)}.p11-page .ui-link .ui-icon,.p11-page .ui-link.fin-remedy .ui-icon,.p11-page .ui-button.fin-remedy .ui-icon{width:13px;height:13px}.p11-back{align-self:flex-start;margin-bottom:-6px}.p11-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin:0}.p11-head-text{display:flex;flex:1 1 320px;flex-direction:column;gap:6px;min-width:0}.p11-head-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.p11-head-title .ui-pagetitle-head{margin:0}.p11-head-title .ui-badge{align-self:center}.p11-head-sub{margin:0;font:400 13px/1.6 var(--font-plex);color:var(--v3-sub)}.p11-head-aside{display:flex;gap:8px}.run-header.p11-head{margin:0}.p11-count{font:var(--t-count);color:var(--v3-muted)}.p11-aside-link.ui-link{border-color:var(--v3-line);background:#fff;color:var(--v3-ink);font:var(--t-button);min-height:var(--g-control-h);padding:0 var(--g-control-pad-button)}.p11-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px var(--g-card-pad);border-top:1px solid var(--v3-line)}.p11-foot-note{flex:1 1 100%;margin:0;font:var(--t-help);color:var(--v3-sub)}.p11-engine-note{margin:0;padding:6px 10px;border-radius:6px;background:var(--v3-subtle);font:var(--t-engine);color:var(--v3-sub)}.p11-empty{padding:22px 28px}.p11-empty p{margin:0;font:var(--t-body);color:var(--v3-ink)}.p11-banner-line{margin:0;font:400 13px/1.5 var(--font-plex)}.p11-periods-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.p11-start-body{display:flex;flex-direction:column;gap:14px;padding:var(--g-card-pad)}.p11-start-body .ui-field{display:flex;flex-direction:column;gap:6px}.p11-period-list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.p11-period{display:flex;flex-direction:column;gap:10px;padding:var(--g-card-pad) var(--g-card-pad) var(--g-card-pad) calc(var(--g-card-pad) + 3px);border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:inset 3px 0 #3b82f6,0 1px 2px #1413120d}.p11-period.is-finalized{box-shadow:inset 3px 0 0 var(--v3-ink),0 1px 2px #1413120d}.p11-period-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.p11-period-head .period-month{font:var(--t-card-title);color:var(--v3-ink)}.p11-period-windows{margin:0;font:var(--t-help);color:var(--v3-sub)}.p11-runline{display:flex;flex-direction:column;gap:10px}.p11-runline-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.p11-runline-what{font:400 13px/1.55 var(--font-plex);color:var(--v3-sub)}.p11-runline-net{font:var(--t-money);color:var(--v3-ink)}.p11-settled-row,.p11-settle-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:10px;border-top:1px solid var(--v3-line);font:400 13px/1.55 var(--font-plex);color:var(--v3-ink)}.p11-settled-kind{color:var(--v3-sub)}.p11-settled-net{margin-left:auto;font:var(--t-td-num)}.p11-settle-row-text{flex:1 1 auto;min-width:0}.p11-settle-row-text b{font-weight:700}.p11-period-links{display:flex;flex-wrap:wrap;gap:4px 16px;padding-top:10px;border-top:1px solid var(--v3-line)}.p11-period-link{font:500 12px/1.4 var(--font-plex);color:var(--v3-sub);text-decoration:none}.p11-period-link:hover{color:var(--v3-link)}.p11-create-card,.p11-start{max-width:520px}.p11-facts{display:flex;flex-direction:column;gap:12px;margin:0;padding:var(--g-card-pad)}.p11-fact{display:flex;justify-content:space-between;gap:12px;font:var(--t-body)}.p11-fact dt{color:var(--v3-sub)}.p11-fact dd{margin:0;color:var(--v3-ink);text-align:right}.p11-settle.ui-card{display:flex;flex-direction:column;gap:12px;max-width:640px;padding:var(--g-card-pad);box-shadow:inset 3px 0 #f59e0b,0 1px 2px #1413120d}.p11-settle-who{display:flex;align-items:center;gap:10px}.p11-settle-name{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;font:700 13px/1.4 var(--font-plex)}.p11-settle-code{font-size:12.5px;font-weight:400;color:var(--v3-sub)}.p11-settle .settle-head{margin:0;font:var(--t-card-title)}.p11-settle .settle-note{margin:0;font:var(--t-body);color:var(--v3-ink)}.p11-settle .settle-lastday{margin:0;font-size:13px;color:var(--v3-sub)}.p11-settle-actions{display:flex}.finalize.p11-finalize,.finalize.p11-finalize.is-blocked{margin:0;padding:0;border:0;border-radius:0;background:none}.finalize.p11-finalize:empty{display:none}.p11-finalize .ui-banner-title{font:600 14px/1.55 var(--font-plex)}.p11-finalize .ui-banner--refusal .ui-banner-title{color:#7f1d1d}.p11-finalize .ui-banner--refusal .fin-summary{margin:-6px 0 0;font:400 13px/1.5 var(--font-plex);color:#991b1b}.finalize.p11-finalize .p11-blockers{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:4px 0 0 -26px;padding:0;list-style:none}.finalize.p11-finalize.is-blocked .p11-blocker,.finalize.p11-finalize .p11-blocker{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px 14px;border:1px solid var(--v3-line);border-radius:10px;background:#fff}.p11-blocker .fin-blocker-head{margin:0;font:600 14px/1.55 var(--font-plex);color:var(--v3-ink)}.p11-blocker .fin-blocker-head strong{font-weight:600}.p11-blocker .fin-token{font:500 12px/1.4 var(--font-plex-mono);color:var(--v3-sub)}.p11-blocker .fin-blocker-message,.p11-blocker .pay-window{margin:0;font:400 12px/1.45 var(--font-plex);color:var(--v3-sub)}.p11-blocker .fin-remedy,.p11-blocker .fin-recompute{align-self:flex-start;margin-top:4px}.p11-page .ui-button.fin-remedy{min-height:0;padding:0;gap:4px;border:0;background:none;font:var(--t-link);color:var(--v3-link)}.pay-wrap.p11-table{margin:0;border:1px solid var(--v3-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px #1413120d;overflow:hidden}.p11-table-scroll{overflow-x:auto}.p11-grid{display:grid;grid-template-columns:150px repeat(11,96px);width:max-content;min-width:100%}.p11-rows{margin:0;padding:0;list-style:none}.p11-frozen{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--v3-line)}.p11-band-cell,.p11-colhead{display:flex;align-items:center;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-ink)}.p11-band-cell{justify-content:center;padding:6px 12px;border-bottom:1px solid rgb(20 19 18 / 8%)}.p11-colhead{justify-content:flex-end;padding:10px 12px;text-align:right}.p11-colheads{border-bottom:1px solid var(--v3-line)}.p11-frozen.p11-band-cell,.p11-frozen.p11-colhead{justify-content:flex-start;background:var(--v3-subtle);color:var(--v3-muted)}.p11-band-cell.is-salary,.p11-colhead.is-salary{background:#fef3c7}.p11-band-cell.is-overtime,.p11-colhead.is-overtime{background:#ddebf7}.p11-band-cell.is-allowance,.p11-colhead.is-allowance{background:#c9fbfb}.p11-band-cell.is-deductions,.p11-colhead.is-deductions{background:#fda9a9}.p11-band-cell.is-net,.p11-colhead.is-net{background:#fec6f9}.p11-row{border-bottom:1px solid var(--v3-line);background:#fff}.p11-row.is-highlighted,.p11-row[data-highlighted=true]{outline:2px solid #3b82f6;outline-offset:-2px}.p11-who{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:var(--g-cell-pad);background:#fff}.p11-row.is-negative .p11-who{box-shadow:inset 3px 0 #ef4444,1px 0 0 var(--v3-line)}.p11-page .ui-button.p11-who-button{display:block;min-height:0;width:100%;padding:0;border:0;background:none;text-align:left}.p11-who-text{display:flex;flex-direction:column;gap:1px}.p11-who-name{font:600 13px/1.4 var(--font-plex);color:var(--v3-ink);white-space:normal}.p11-who-code{font:500 11px/1.4 var(--font-plex-mono);color:var(--v3-muted)}.p11-marker{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:999px;font:600 10px/1 var(--font-plex);letter-spacing:.02em;background:var(--v3-subtle);color:var(--v3-sub)}.p11-marker.is-negative{background:#fef2f2;color:#b91c1c}.p11-cell.pay-cell{display:flex;align-items:center;justify-content:flex-end;padding:var(--g-cell-pad);font:var(--t-td-num);font-variant-numeric:tabular-nums;text-align:right;color:var(--v3-ink)}.p11-cell.pay-cell.is-dash{color:var(--v3-muted)}.p11-row .p11-cell.is-salary{background:#fffbee}.p11-row .p11-cell.is-overtime{background:#f5f9fd}.p11-row .p11-cell.is-allowance{background:#effefe}.p11-row .p11-cell.is-deductions{background:#fee5e5}.p11-row .p11-cell.is-net{background:#ffeefd;font-weight:700}.p11-row .p11-cell.pay-cell.is-negative{color:#dc2626}.p11-totals{border-top:1px solid var(--v3-ink);background:var(--v3-canvas)}.p11-totals-label{display:flex;align-items:center;padding:var(--g-cell-pad);background:var(--v3-canvas);font:700 13px/1.4 var(--font-plex);color:var(--v3-ink)}.p11-totals .p11-cell.pay-cell{font-weight:700}.p11-totals .p11-cell.is-salary{background:#fef8e0}.p11-totals .p11-cell.is-overtime{background:#ecf4fb}.p11-totals .p11-cell.is-allowance{background:#e1fdfd}.p11-totals .p11-cell.is-deductions{background:#fed0d0}.p11-totals .p11-cell.is-net{background:#fee0fc}.p11-table .pay-totals-broken{margin:0;padding:10px 12px;border-top:1px solid var(--v3-line);font:var(--t-error);color:var(--v3-error)}.p11-review .pay-ot-note{margin:0;font:var(--t-help);color:var(--v3-sub)}.p11-detail-body{display:flex;flex-direction:column;gap:6px;padding:var(--g-card-pad)}.p11-engine{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.p11-owner-note{margin:6px 0 0;padding:10px 12px;border-radius:8px;background:#fffbeb;font:var(--t-thai);color:var(--v3-ink)}.p11-detail .item-rows{margin:8px 0 0}.p11-edit.ui-card{display:flex;flex-direction:column;margin:0;padding:0}.p11-edit-body{display:flex;flex-direction:column;gap:14px;padding:var(--g-card-pad)}.p11-edit-body .ui-field{display:flex;flex-direction:column;gap:6px}.p11-edit-body .review-help{margin:0;font:var(--t-help);color:var(--v3-sub)}.p11-edit-actions{display:flex;gap:8px;padding:12px var(--g-card-pad);border-top:1px solid var(--v3-line)}.p11-payslip-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:var(--g-card-pad);list-style:none}.p11-payslip-code{margin-left:8px;font-size:12px;font-weight:500;color:var(--v3-muted)}.p11-finbar span{margin-right:0}.batch-bar.p11-finbar{flex-direction:column;align-items:stretch;gap:8px;margin:0 -16px -20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--v3-line);background:#fff;box-shadow:0 -2px 8px #1413120f;z-index:3}.p11-finbar-sum{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0}.p11-finbar-count{font:400 14px/1.55 var(--font-plex);color:var(--v3-sub)}.p11-finbar-net.money{font:var(--t-money);color:var(--v3-ink)}.p11-finbar-act{display:flex;flex-direction:column;align-items:stretch;gap:8px}.p11-finbar-act .ui-field{display:flex;flex-direction:column;gap:6px}.p11-finbar .ui-button.p11-finbar-button{min-height:var(--g-control-h);padding:0 var(--g-control-pad-button);font:var(--t-button)}.p11-finbar-why.batch-bar-why{display:flex;align-items:center;gap:6px;font:var(--t-help);color:var(--v3-sub)}.p11-finbar-why .ui-icon{width:12px;height:12px}.p11-spin{display:inline-block;width:14px;height:14px;border:2px solid currentcolor;border-right-color:transparent;border-radius:50%;animation:p11-spin .8s linear infinite}@keyframes p11-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.p11-spin{animation:none}}@media(min-width:1024px){.p11-page{gap:20px}.p11-periods-grid{grid-template-columns:380px minmax(0,1fr);gap:20px}.p11-start,.p11-create-card{max-width:none}.p11-create-card{max-width:520px}.p11-period-head .period-month{font:var(--t-card-title)}.p11-period-windows{font-size:11.5px}.p11-runline-what,.p11-settled-row,.p11-settle-row{font-size:13px}.finalize.p11-finalize .p11-blockers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.p11-finalize .ui-banner-title,.p11-blocker .fin-blocker-head{font-size:13px}.p11-blocker .fin-blocker-message,.p11-blocker .pay-window{font-size:11.5px}.p11-grid{grid-template-columns:190px repeat(11,minmax(0,1fr));width:100%;min-width:1114px}.p11-colhead{padding:8px 12px}.p11-who-name,.p11-totals-label{font-size:12.5px}.batch-bar.p11-finbar{flex-direction:row;align-items:center;justify-content:space-between;margin:0 -32px -28px;padding:14px 32px}.p11-finbar-sum{justify-content:flex-start}.p11-finbar-count{font-size:13px}.p11-finbar-act{flex-direction:row;align-items:center;gap:10px}.p11-finbar-act .ui-field{flex-direction:row;align-items:center;gap:8px}.p11-finbar-why.batch-bar-why{font-size:11.5px}}.p11-page .ui-card.p11-start,.p11-page .ui-card.p11-create-card,.p11-page .ui-card.p11-detail,.p11-page .ui-card.p11-payslips,.p11-page .ui-card.p11-empty{margin:0;padding:0}.p11-page .ui-card.p11-empty{padding:22px 28px}.p11-page .ui-card.p11-settle,.p11-page .p11-start-body .ui-field,.p11-page .p11-edit-body .ui-field,.p11-page .p11-settle .ui-field,.p11-page .p11-finbar .ui-field{margin:0}.p11-bands{pointer-events:none}.p11-start-form{display:flex;flex-direction:column;margin:0}.p11-settle-list{margin:0;padding:0;list-style:none}.p11-settle-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 16px;border-top:1px solid var(--v3-line)}.p11-settle-who{font:var(--t-td);font-weight:600;color:var(--v3-ink)}.p11-settle-paid{flex:1;min-width:0;font:var(--t-help);color:var(--v3-sub)}.p11-settle-figure{font:var(--t-td-num);text-align:right;color:var(--v3-ink)}.p11-settle-foot{padding:10px 16px 14px;border-top:1px solid var(--v3-line)}@media(min-width:1024px){.p11-settle-row,.p11-settle-foot{padding-left:20px;padding-right:20px}}.ui-card.p11-settle{padding:0;border-left:3px solid #f59e0b}.ui-link.p11-settle-link{font:var(--t-link)}.p11-aside{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.p11-sheets{position:relative;display:inline-flex}.ui-button.p11-sheets-toggle[aria-expanded=true]{background:var(--v3-subtle);border-color:#d6d2cb}.p11-sheets-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(380px,calc(100vw - 32px));box-sizing:border-box;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--v3-line);border-radius:12px;box-shadow:0 12px 32px #14131224;text-align:left}.p11-sheets-head{display:flex;flex-direction:column;gap:2px}.p11-sheets-title{margin:0;font:700 14px/1.3 var(--font-plex);color:var(--v3-ink)}.p11-sheets-sub,.p11-sheets-note{margin:0;font:400 11.5px/1.45 var(--font-plex);color:var(--v3-sub)}.p11-sheets-choices{display:flex;flex-direction:column;gap:8px}.p11-sheets-choice{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--v3-line);border-radius:10px;background:#fff}.p11-sheets-choice.is-chosen{border-color:#2563eb;background:#eff6ff}.p11-sheets-word{display:block;font:600 13px/1.55 var(--font-plex);color:var(--v3-ink)}.p11-sheets-hint{display:block;font:400 11.5px/1.45 var(--font-plex);color:var(--v3-sub)}.p11-sheets-person{display:flex;flex-direction:column;gap:6px;padding-left:4px}.p11-sheets-label{font:600 12px/1.3 var(--font-plex);color:var(--v3-sub)}.ui-button.p11-sheets-go{width:100%}.ui-button.p11-sheets-cancel{align-self:flex-start}.ps-page{display:flex;flex-direction:column;gap:16px}.ps-grid{display:grid;gap:16px}.ps-side{display:flex;flex-direction:column;gap:16px;min-width:0}.ps-main{min-width:0}.ps-empty,.ps-choose,.ps-loading{color:var(--v3-sub)}.ps-empty p{margin:0}.ps-run-list,.ps-person-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ui-button.ps-run,.ui-button.ps-person{width:100%;height:auto;min-height:0;margin:0;display:grid;justify-content:stretch;align-content:start;gap:2px 10px;padding:10px 12px;border:1px solid var(--v3-line);border-radius:10px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.ps-run.is-selected,.ps-person.is-selected{border-color:var(--v3-link);box-shadow:inset 3px 0 0 var(--v3-link);background:#f5f8ff}.ps-run-month{font-weight:600}.ps-run-kind,.ps-run-meta{color:var(--v3-sub)}.ps-person{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ps-person-who{display:flex;flex-direction:column;min-width:0}.ps-person-name{font-weight:600}.ps-person-code{color:var(--v3-sub);font-size:.85em}.ps-person-net{font-variant-numeric:tabular-nums;white-space:nowrap}.ps-people-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:4px 0 12px}.ps-run-link{white-space:nowrap}.ps-zip{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:12px;border:1px solid var(--v3-line);border-radius:10px}.ps-zip-count{margin:0;font-weight:600}.ps-zip-line,.ps-zip-reason{margin:0}.ps-zip-label{font-weight:600}.ps-zip-codes{color:var(--v3-sub)}.ps-zip-failed{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ps-zip-given{display:block;color:var(--v3-sub);font-size:.85em}.ps-zip-error{display:block;white-space:pre-wrap;word-break:break-word;font-size:.85em}.ps-back{display:none}@media(min-width:1024px){.ps-grid{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}}@media(max-width:1023px){.ps-back{display:block}.ps-page[data-step=runs] .ps-people,.ps-page[data-step=runs] .ps-main,.ps-page[data-step=people] .ps-runs,.ps-page[data-step=people] .ps-main,.ps-page[data-step=payslip] .ps-side{display:none}}.payslip-page{display:flex;flex-direction:column;gap:16px;min-width:0}.payslip-page-head{display:flex;flex-direction:column;gap:10px}.payslip-page .payslip-back{align-self:flex-start;justify-content:flex-start;gap:4px;min-height:0;padding:0;border:0;font:var(--t-link);color:var(--v3-link)}.payslip-page .payslip-back .ui-icon{width:15px;height:15px}.payslip-page .ui-pagetitle{flex-direction:column;align-items:stretch;gap:14px;margin:0}.payslip-page .ui-pagetitle-text{gap:6px}.payslip-page .ui-pagetitle-aside{display:flex;gap:8px}.payslip-page .payslip-pdf{display:inline-flex;width:auto;margin:0;padding:0 var(--g-control-pad-button);background:#fff;color:var(--v3-ink);font:var(--t-button);text-decoration:none}.payslip-page .payslip-pdf:hover{background:var(--v3-canvas);border-color:var(--v3-line-strong);color:var(--v3-ink);text-decoration:none}.payslip-page .payslip-banner-body{margin:0;font:var(--t-body)}.payslip-page .payslip-nowages{display:inline;margin:0;padding:0;border:0;background:none;font:var(--t-thai);font-weight:600}.payslip-page .payslip-nowages-en{display:block;color:inherit}.payslip-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.payslip-layout .payslip-versions-card{order:-1}.payslip-page .payslip-card,.payslip-page .payslip-versions-card{min-width:0;margin:0;padding:0}.payslip-page .payslip{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;padding:18px;border:0;border-radius:16px;background:transparent}.payslip-page .payslip-head{display:flex;flex-direction:column;gap:12px;margin:0}.payslip-issuer{min-width:0}.payslip-page .payslip-company{margin:0;padding:0;border:0}.payslip-page .payslip-company-name{margin:0;font:700 16px/1.3 var(--font-plex);color:var(--v3-ink)}.payslip-page .payslip-company-line{margin:0;font:var(--t-card-sub);color:var(--v3-muted)}.payslip-page .payslip-doc-title{margin:0;font:var(--t-thai);color:var(--v3-sub)}.payslip-page .payslip-doc-title-en{font:inherit;color:inherit}.payslip-page .payslip-doc-title-en:before{content:"· "}.payslip-page .payslip-periods{display:grid;grid-template-columns:max-content max-content;gap:0 6px;margin:0;padding:0;border:0;border-radius:0;background:none;font:var(--t-thai);color:var(--v3-sub)}.payslip-page .payslip-periods dt{color:var(--v3-sub)}.payslip-page .payslip-periods dd{margin:0;text-align:left;color:var(--v3-sub);white-space:nowrap}.payslip-page .payslip-periods dt:first-of-type,.payslip-page .payslip-periods dd:first-of-type{font-weight:600;color:var(--v3-ink)}.payslip-identity{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--v3-canvas)}.payslip-identity-text{flex:1 1 auto;min-width:0}.payslip-page .payslip-name{margin:0;font:var(--t-thai);font-weight:600;color:var(--v3-ink)}.payslip-identity-line{margin:0;font:var(--t-td-num);color:var(--v3-sub);overflow-wrap:anywhere}.payslip-page .payslip-identity .pay-code,.payslip-page .payslip-reference{display:inline;margin:0;padding:0;border-radius:0;background:none;font:inherit;color:inherit;vertical-align:baseline}.payslip-page .payslip-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.payslip-page .payslip-column{padding:0;border:0;border-radius:0;background:none;overflow:visible}.payslip-page .payslip-column-head{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;margin:0;padding:0;border:0;background:none;font:var(--t-thai);font-weight:600;color:var(--v3-sub)}.payslip-page .payslip-column[data-side] .payslip-column-th:before{content:none}.payslip-page .payslip-column-en{font:var(--t-card-sub);color:var(--v3-muted)}.payslip-page .payslip-rows{display:block;margin:0}.payslip-page .payslip-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--v3-line)}.payslip-page .payslip-row-label{font:var(--t-thai);color:var(--v3-ink)}.payslip-page .payslip-row-value{margin:0;font:var(--t-td-num);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--v3-ink)}.payslip-page .payslip-row-value.is-dash{color:var(--v3-muted)}.payslip-totals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:12px 0;border-top:1px solid var(--v3-ink);border-bottom:1px solid var(--v3-ink)}.payslip-page .payslip-column-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0;padding:0;border:0}.payslip-page .payslip-column-total .payslip-row-label{font:var(--t-thai);font-weight:600;color:var(--v3-ink)}.payslip-page .payslip-column-total .payslip-row-value{font:var(--t-money);color:var(--v3-ink)}.payslip-page .payslip-net{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:14px 16px;border:0;border-radius:10px;background:var(--v3-ink)}.payslip-page .payslip-net-label{font:var(--t-thai);font-weight:600;color:#fff}.payslip-page .payslip-net-label .payslip-column-en{color:#fff9}.payslip-page .payslip-net-value{font:var(--t-money);font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff}.payslip-page .payslip-previously,.payslip-page .payslip-notes{margin:0;font:var(--t-body);color:var(--v3-sub)}.payslip-versions-card{overflow:hidden}.payslip-page .payslip-versions{margin:0;padding:0;list-style:none}.payslip-version{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 13px;border-left:3px solid #a8a39b;border-bottom:1px solid var(--v3-line)}.payslip-version:last-child{border-bottom:0}.payslip-version.is-current{border-left-color:#22c55e;background:#eff6ff}.payslip-version-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.payslip-version-title{font:var(--t-td);font-weight:600;color:var(--v3-ink)}.payslip-version-ref{font:var(--t-td-num);color:var(--v3-muted);overflow-wrap:anywhere}.payslip-version-meta{font:var(--t-td);color:var(--v3-muted)}.payslip-page .payslip-version-open{flex:0 0 auto;min-height:0;padding:0;border:0;font:var(--t-link);color:var(--v3-link)}@media(min-width:1024px){.payslip-page{gap:20px}.payslip-page .payslip-back .ui-icon{width:13px;height:13px}.payslip-page .ui-pagetitle{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}.payslip-layout{grid-template-columns:minmax(0,760px);gap:20px}.payslip-page.has-versions .payslip-layout{grid-template-columns:minmax(0,760px) minmax(0,360px)}.payslip-layout .payslip-versions-card{order:0}.payslip-page .payslip{gap:20px;padding:32px}.payslip-page .payslip-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.payslip-page .payslip-periods{justify-content:end}.payslip-page .payslip-periods dd{text-align:right}.payslip-page .payslip-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.payslip-page .payslip-row{padding:7px 0}.payslip-totals{gap:32px}.payslip-page .payslip-net{padding:16px 20px}.payslip-version{padding:11px 20px 11px 17px}}.cr-screen,.cs-screen,.nf-screen{max-width:none;margin:0;padding:0}.cr-card,.cs-card,.nf-card{margin:0;padding:0}.cr-screen .ui-pagetitle,.cs-screen .ui-pagetitle{margin-bottom:0}.cr-screen .ui-pagetitle-text,.cs-screen .ui-pagetitle-text{gap:6px}.cr-sub,.cs-sub{margin:3px 0 20px;font:var(--t-subtitle);color:var(--v3-sub)}.cr-fig,.cs-fig{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.cr-titleline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.cr-titleline .ui-badge{letter-spacing:.01em}.cr-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"ot" "round" "sso" "day";gap:16px;align-items:start}.cr-card{overflow:hidden}.cr-card--ot{grid-area:ot}.cr-card--sso{grid-area:sso}.cr-card--round{grid-area:round}.cr-card--day{grid-area:day}.cr-table{width:100%;border-collapse:collapse}.cr-th{padding:var(--g-cell-pad);border-bottom:1px solid var(--v3-line);background:var(--v3-subtle);text-align:left;font:var(--t-th);letter-spacing:.06em;text-transform:uppercase;color:var(--v3-muted)}.cr-tr{height:var(--g-row-min)}.cr-td{padding:var(--g-cell-pad);border-bottom:1px solid var(--v3-line);font:var(--t-td);color:var(--v3-ink)}.cr-tr:last-child .cr-td{border-bottom:0}.cr-th--num,.cr-td--num{text-align:right}.cr-td--num,.cr-td--mono{font:var(--t-td-num);font-variant-numeric:tabular-nums}.cr-ladder{border-top:1px solid var(--v3-line)}.cr-rows{display:flex;flex-direction:column;gap:10px;margin:0;padding:var(--g-card-pad)}.cr-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.cr-label{flex:0 1 auto;font:var(--t-body);color:var(--v3-sub)}.cr-value{flex:0 1 auto;margin:0;text-align:right;font:var(--t-body);color:var(--v3-ink)}.cr-value.cr-fig{font:var(--t-td-num);font-variant-numeric:tabular-nums}@media(min-width:1024px){.cr-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ot sso" "round day";gap:20px}.cr-rows{padding:20px}}.cs-screen>.ui-banner{margin-bottom:20px;border-radius:2px 10px 10px 2px}.cs-screen .ui-banner-body{gap:2px}.cs-banner-text{margin:0;font:400 13px/1.5 var(--font-plex);color:#166534}.cs-card{display:flex;flex-direction:column}.cs-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 16px;padding:var(--g-card-pad)}.cs-body .ui-field{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}.cs-body .ui-field-label{margin:0}.cs-body .ui-input{width:100%}.cs-body .ui-input--multiline{min-height:82px;resize:vertical}.cs-req{color:#dc2626}.cs-mono.ui-input{font:var(--t-value-mono)}.cs-card .ui-picker-toggle{min-height:0;margin:0;padding:0}.cs-card .ui-button{margin-top:0}.cs-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--v3-line)}.cs-foot-note{font:var(--t-help);color:var(--v3-sub)}@media(min-width:1024px){.cs-card{max-width:820px}.cs-body{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.cs-wide{grid-column:1 / -1}.cs-foot{padding:12px 20px}}.nf-bare{min-height:100vh;padding:20px 16px;background:var(--v3-canvas)}.nf-card{display:flex;flex-direction:column;align-items:flex-start;padding:24px}.nf-eyebrow{font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--v3-muted)}.nf-title{margin:10px 0 9px;font:var(--t-title);letter-spacing:var(--t-title-track);color:var(--v3-ink)}.nf-body{margin:0 0 11px;font:var(--t-body);color:var(--v3-sub)}.nf-path{padding:0;background:none;font-family:var(--font-plex-mono);font-size:inherit;color:inherit}.nf-link{display:inline-flex;align-items:center;gap:4px;font:var(--t-link);color:var(--v3-link);text-decoration:none}.nf-link:hover{text-decoration:underline}.nf-link .ui-icon{width:1.05em;height:1.05em}@media(min-width:1024px){.nf-bare{padding:28px 32px}.nf-screen,.shell-content .nf-screen{display:flex;justify-content:center;padding-top:80px}.nf-card{width:100%;max-width:562px;padding:40px}}.labels-screen{display:flex;flex-direction:column;gap:16px}.labels-screen .ui-pagetitle{margin-bottom:0}.labels-intro{margin:-12px 0 0;max-width:760px}.labels-add .ui-button{margin-top:0}.labels-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.labels-card{padding:0;overflow:hidden}.labels-rows{margin:0;padding:0;list-style:none}.labels-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--v3-line)}.labels-row.is-retired{background:#f8f7f5}.labels-name{flex:1;min-width:0;font:var(--t-td);font-weight:600;color:var(--v3-ink);overflow-wrap:anywhere}.labels-row.is-retired .labels-name{color:var(--v3-muted)}.labels-count{font:var(--t-td-num);font-variant-numeric:tabular-nums;color:var(--v3-muted);white-space:nowrap}.labels-row.is-renaming{flex-direction:column;align-items:stretch;gap:8px}.labels-rename-actions{display:flex;gap:8px}.labels-add{display:flex;gap:8px;align-items:center;padding:12px 16px}.labels-add .ui-input{flex:1;min-width:0}.labels-error{padding:0 16px 12px}@media(min-width:1024px){.labels-screen{gap:20px}.labels-intro{margin-top:-16px}.labels-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.labels-row{padding:11px 20px}.labels-row.is-renaming{flex-direction:row;align-items:center}.labels-add{padding:12px 20px}.labels-add .ui-button,.labels-rename-actions .ui-button{min-height:30px;height:30px;padding:0 12px}.labels-error{padding:0 20px 12px}}.screen.audit-trail,.screen.deleted-run{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;padding:0 0 24px}.audit-trail .ui-pagetitle,.deleted-run .ui-pagetitle{margin:0}.audit-trail .ui-pagetitle-text,.deleted-run .ui-pagetitle-text{gap:6px}.audit-count{margin-left:4px;font:var(--t-count);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--v3-muted);vertical-align:.15em}.audit-trail .ui-card,.deleted-run .ui-card{margin:0;padding:0;overflow:hidden}.audit-none{margin:0;padding:20px;font:var(--t-body);color:var(--v3-ink)}.audit-trail .audit-rows{display:block;margin:0;padding:0;list-style:none}.audit-trail .audit-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px 12px 13px;border-left:3px solid #a8a39b;border-bottom:1px solid var(--v3-line)}.audit-trail .audit-row:last-child{border-bottom:0}.audit-text{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.audit-trail .audit-what{margin:0;font:var(--t-td);font-weight:600;color:var(--v3-ink)}.audit-meta{font:var(--t-td-num);color:var(--v3-muted);overflow-wrap:anywhere}.audit-trail .audit-detail{margin:0;font:var(--t-help);color:var(--v3-sub)}.audit-trail .ui-link.audit-open,.deleted-run .ui-link.deleted-run-back{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:32px;padding:0;border:0;font:var(--t-link);color:var(--v3-link);text-decoration:none}.audit-trail .audit-open .ui-icon,.deleted-run .deleted-run-back .ui-icon{width:15px;height:15px}.deleted-run .ui-link.deleted-run-back{align-self:flex-start;margin-bottom:-6px}.deleted-run .ui-pagetitle-head .ui-badge{margin-left:6px;vertical-align:.2em}.deleted-run .deleted-run-sub{margin:-12px 0 0;font:var(--t-subtitle);color:var(--v3-sub)}.deleted-run-mono{font-family:var(--font-plex-mono);font-variant-numeric:tabular-nums}.deleted-run-banner-body{margin:0;font:var(--t-error);font-weight:400;color:#1e40af}.deleted-run .deleted-run-line{margin:0;padding:20px;font:var(--t-body);color:var(--v3-ink)}.deleted-run .ui-table{margin:0;border:0;border-radius:0}.deleted-run .ui-table-frozen{flex:1 1 auto;width:auto;padding:var(--g-cell-pad);font:var(--t-td)}.deleted-run .ui-table-scroll{flex:0 0 auto}.deleted-run .ui-table-headcell,.deleted-run .ui-table-cell{min-height:var(--g-row-min);padding:var(--g-cell-pad)}.deleted-run .ui-table-headcell{font:var(--t-th);letter-spacing:.06em}.deleted-run .ui-table-head .ui-table-headcell.is-num{justify-content:flex-end;min-width:9rem;background:#fec6f9;color:var(--v3-ink)}.deleted-run .ui-table-cell.is-num{min-width:9rem;background:#fdf4ff;font:var(--t-td-num);font-weight:700}.deleted-line-code{font:var(--t-td-num);color:var(--v3-ink)}.deleted-run .ui-table-totals .ui-table-totalslabel{font:var(--t-td);font-weight:700;letter-spacing:0;text-transform:none;color:var(--v3-ink)}.deleted-run .ui-table-totals{border-top:1px solid var(--v3-ink)}.deleted-run-dl{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:16px}.deleted-run-fact{display:flex;flex-direction:column;gap:2px;min-width:0}.deleted-run-fact dt{font:var(--t-label);color:var(--v3-sub)}.deleted-run-fact dd{margin:0;font:var(--t-body);color:var(--v3-ink)}.deleted-run-cleared{color:var(--v3-sub)}.deleted-run .deleted-run-id{margin:0;font:var(--t-engine);color:var(--v3-muted)}@media(min-width:1024px){.screen.audit-trail,.screen.deleted-run{gap:20px}.deleted-run .deleted-run-sub{margin-top:-16px}.audit-trail .audit-row{padding:11px 20px 11px 17px}.audit-trail .ui-link.audit-open,.deleted-run .ui-link.deleted-run-back{min-height:0}.audit-trail .audit-open .ui-icon,.deleted-run .deleted-run-back .ui-icon{width:13px;height:13px}.audit-none{padding:28px}.deleted-run-dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;padding:20px}}.screen.coverage-list{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;padding:0 0 24px}.coverage-list .ui-pagetitle{margin:0}.coverage-list .ui-pagetitle-text{gap:6px}.coverage-total{margin-left:4px;font:var(--t-count);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--v3-muted);vertical-align:.15em}.coverage-list .coverage-intro{margin:-12px 0 0;font:var(--t-subtitle);color:var(--v3-sub)}.coverage-list .ui-card{margin:0;padding:0;gap:0;overflow:hidden}.coverage-list .coverage-none{margin:0;padding:20px;font:var(--t-body);color:var(--v3-ink)}.coverage-list .coverage-people{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;list-style:none}.coverage-list .coverage-person{display:block;min-width:0}.coverage-list .coverage-days{display:block;margin:0;padding:0;list-style:none}.coverage-list .coverage-day{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 13px;border-left:3px solid #ef4444;border-bottom:1px solid var(--v3-line)}.coverage-list .coverage-day:last-child{border-bottom:0}.coverage-day-text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.coverage-date{font:var(--t-td-num);font-weight:600;color:var(--v3-ink);white-space:pre}.coverage-list .coverage-reason{font:var(--t-help);color:var(--v3-sub)}.coverage-list .ui-link.coverage-go{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:32px;padding:0;border:0;font:var(--t-link);color:var(--v3-link);text-decoration:none;white-space:nowrap}.coverage-list .coverage-go .ui-icon{width:15px;height:15px}@media(min-width:1024px){.screen.coverage-list{gap:20px}.coverage-list .coverage-intro{margin-top:-16px}.coverage-list .coverage-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.coverage-list .coverage-day{padding:11px 20px 11px 17px}.coverage-list .ui-link.coverage-go{min-height:0}.coverage-list .coverage-go .ui-icon{width:13px;height:13px}.coverage-list .coverage-none{padding:28px}}.screen.ignored-names{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;padding:0 0 24px}.ignored-names .ui-pagetitle{margin:0}.ignored-names .ui-pagetitle-text{gap:6px}.ignored-count{margin-left:4px;font:var(--t-count);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--v3-muted);vertical-align:.15em}.ignored-names .ignored-intro{margin:-12px 0 0;max-width:760px;font:var(--t-subtitle);color:var(--v3-sub)}.ignored-grid{display:flex;flex-direction:column;gap:16px}.ignored-names .ui-card{margin:0;padding:0;overflow:hidden}.ignored-names .ignored-rows{display:block;margin:0;padding:0;list-style:none}.ignored-names .ignored-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--v3-line)}.ignored-names .ignored-row:last-child{border-bottom:0}.ignored-text{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-width:0}.ignored-names .ignored-raw{font:var(--t-td-num);font-weight:600;color:var(--v3-ink);white-space:pre-wrap;overflow-wrap:anywhere}.ignored-names .ignored-reason{margin:0;font:var(--t-help);color:var(--v3-sub)}.ignored-names .ignored-when{margin:0;font:var(--t-td-num);font-size:11px;color:var(--v3-muted);overflow-wrap:anywhere}.ignored-names .ui-button.ignored-stop{flex:0 0 auto}.ignored-names .ignored-none{margin:0;padding:20px 16px;font:var(--t-body);color:var(--v3-ink)}.ignored-form{display:flex;flex-direction:column}.ignored-form-body{display:flex;flex-direction:column;gap:14px;padding:16px}.ignored-form-body .ui-field{gap:6px;margin:0}.ignored-form .ui-field-label,.ignored-form .ui-button{margin:0}.ignored-names .ui-input--multiline{min-height:60px}.ignored-required{color:#dc2626}.ignored-names .ui-input.ignored-name-input{font-family:var(--font-plex-mono)}.ignored-form-foot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px;border-top:1px solid var(--v3-line)}.ignored-why-disabled{display:inline-flex;align-items:center;gap:6px;font:var(--t-help);color:var(--v3-sub)}.ignored-why-disabled .ui-icon{width:13px;height:13px}@media(min-width:1024px){.screen.ignored-names{gap:20px}.ignored-names .ignored-intro{margin-top:-16px}.ignored-grid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:20px;align-items:start}.ignored-names .ui-card.ignored-add{grid-column:1;grid-row:1}.ignored-names .ui-card.ignored-list{grid-column:2;grid-row:1}.ignored-names .ignored-row{padding:11px 20px}.ignored-names .ui-button.ignored-stop{height:30px;min-height:30px;padding:0 12px}.ignored-names .ignored-none,.ignored-form-body{padding:20px}.ignored-form-foot{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px}}.money,.money *{font-variant-numeric:tabular-nums!important}
