/* LeaveCalc for Employers. One stylesheet, site tokens from /index.html. No green anywhere. */
:root{
  --bg:#F1F5F9; --surface:#FFFFFF; --ink:#0F172A; --ink-soft:#334155; --muted:#64748B;
  --line:#E2E8F0; --line-soft:#EEF2F6;
  --accent:#D97706; --accent-dark:#B45309; --accent-soft:#FFF7E6; --accent-line:#FBDFA6;
  --bad:#B91C1C; --field:#7C8BA1; --bad-soft:#FEF2F2; --bad-line:#FBD1D1;
  --steel:#0E7490; --steel-soft:#ECFEFF;
  --r:10px; --r-lg:14px; --side-w:236px;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Inter',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 6px 20px -14px rgba(15,23,42,.18);
  --sat:env(safe-area-inset-top,0px); --sar:env(safe-area-inset-right,0px); --sab:env(safe-area-inset-bottom,0px); --sal:env(safe-area-inset-left,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.ico{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:12.5px}
.nowrap{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
table.sr{table-layout:fixed}table.sr th,table.sr td,table.sr caption{overflow:hidden;max-width:1px}
/* languages longer than English: a right-hand value in a list row may wrap instead of pushing the page sideways */
html[data-lang]:not([data-lang="en"]) .list .r{white-space:normal}

/* ================= shell ================= */
.side{position:fixed;top:0;left:0;bottom:0;width:var(--side-w);background:var(--surface);border-right:1px solid var(--line);
  padding:18px 14px 16px;display:flex;flex-direction:column;overflow-y:auto;z-index:30}
.side-logo{display:flex;align-items:center;gap:10px;padding:2px 8px 16px;margin:0 0 6px;border-bottom:1px solid var(--line-soft);color:inherit;text-decoration:none}
.side-logo:hover{text-decoration:none}
.side-mark{width:28px;height:28px;border-radius:8px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.side-mark .ico{width:15px;height:15px}
.side-word{font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--ink)}
.side-word span{color:var(--accent)}
.side-co{font-size:12px;color:var(--muted);padding:4px 10px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-nav{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.side-nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--ink-soft);
  text-decoration:none;font-size:13.5px;font-weight:600;position:relative}
.side-nav a .ico{color:var(--muted)}
.side-nav a:hover{background:var(--line-soft);color:var(--ink);text-decoration:none}
.side-nav a.on{background:var(--accent-soft);color:var(--accent-dark)}
.side-nav a.on .ico{color:var(--accent)}
.side-nav a.on::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.nav-badge{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:var(--accent-dark);color:#fff;font-size:11px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-variant-numeric:tabular-nums}
.side-foot{margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--muted)}
.side-foot b{color:var(--ink-soft)}
.demo-pill{display:inline-block;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:5px;padding:2px 7px;margin:0 0 6px}

.topbar{display:none}
.main{margin-left:var(--side-w);min-height:100vh}
.wrap{max-width:1180px;margin:0 auto;padding:28px 32px 80px}

/* ================= page header ================= */
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;
  padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.crumb{font-size:11.5px;color:var(--muted);letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase;font-weight:700}
.crumb a{color:var(--muted)}
h1{font-size:clamp(21px,2.6vw,26px);line-height:1.15;letter-spacing:-.015em;margin:0;font-weight:700}
h2{font-size:15px;letter-spacing:-.01em;margin:0;font-weight:600}
h3{font-size:13.5px;margin:0;font-weight:600}
.sub{color:var(--muted);max-width:62ch;margin:6px 0 0;font-size:13.5px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.secl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px}

/* ================= buttons ================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);
  border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.3;min-height:36px}
.btn:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);text-decoration:none}
.btn .ico{width:15px;height:15px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{background:var(--ink-soft);border-color:var(--ink-soft);color:#fff}
.btn.danger{color:var(--bad);border-color:var(--bad-line);background:var(--surface)}
.btn.danger:hover{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}
.btn.sm{padding:5px 10px;font-size:12px;min-height:30px}
/* longer languages: a button in a card header may wrap instead of pushing the page sideways (the pseudo-locale check, tools/i18n/app_overflow_check.py) */
.card-head .btn{max-width:100%;white-space:normal;text-align:center}
.btn.block{width:100%}
.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}
.linkbtn{border:none;background:none;padding:0;color:var(--accent-dark);font-weight:600;cursor:pointer;font-size:inherit}
.linkbtn:hover{text-decoration:underline}
.xbtn{border:none;background:transparent;width:34px;height:34px;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}
.xbtn:hover{background:var(--line-soft);color:var(--ink)}

/* ================= cards / layout ================= */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}
.card + .card{margin-top:16px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;flex-wrap:wrap}
.card-head .sub{margin:2px 0 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.grid-case{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
.grid2>*,.grid3>*,.grid-case>*{min-width:0}
.stack > * + *{margin-top:16px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}
.stat{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:border-color .2s}
.stat:hover{border-color:var(--accent-line);text-decoration:none}
.stat .v{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}
.stat .l{font-size:12px;color:var(--muted);font-weight:600}
.stat.hot .v{color:var(--accent-dark)}
.stat.bad .v{color:var(--bad)}

/* list rows */
.list{list-style:none;margin:0;padding:0}
.list > li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}
.list > li:first-child{border-top:none;padding-top:2px}
.list .nm{font-weight:600;color:var(--ink)}
.list .nm a{color:var(--ink)}
.list .meta{font-size:12.5px;color:var(--muted)}
.list .r{text-align:right;white-space:nowrap;font-size:12.5px;color:var(--ink-soft)}
.dayhead{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px}
.dayhead:first-child{margin-top:0}
.dayhead.today{color:var(--accent-dark)}
.none{font-size:13px;color:var(--muted);margin:0}

/* pills */
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}
.p-pending,.p-due{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent-line)}
.p-approved,.p-done,.p-open,.p-ok{background:var(--steel-soft);color:var(--steel);border-color:#BDEAF2}
.p-denied,.p-overdue,.p-bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.p-cancelled,.p-closed,.p-na,.p-muted{background:var(--line-soft);color:var(--muted);border-color:var(--line)}
.t-pto{background:var(--accent-soft);color:var(--accent-dark)}
.t-sick{background:var(--steel-soft);color:var(--steel)}
.t-fmla{background:#E2E8F0;color:var(--ink)}
.t-other{background:#F8FAFC;color:var(--ink-soft);border-color:var(--line)}

/* empty states / checklist */
.empty{text-align:center;padding:34px 18px;color:var(--muted);font-size:13.5px}
.empty h2{color:var(--ink);font-size:16px;margin:0 0 6px}
.empty p{margin:0 auto 14px;max-width:48ch}
.empty .actions{justify-content:center}
.checklist{list-style:none;margin:0;padding:0;counter-reset:s}
.checklist li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line-soft)}
.checklist li:first-child{border-top:none;padding-top:4px}
.checklist .n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--muted);flex:none}
.checklist li.done .n{background:var(--steel);border-color:var(--steel);color:#fff}
.checklist li.done h3{color:var(--muted);text-decoration:line-through}
.checklist .b{flex:1;min-width:0}
.checklist p{margin:3px 0 10px;font-size:13px;color:var(--muted)}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th,.tbl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle}
.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;background:#F8FAFC}
.tbl tr:last-child td{border-bottom:none}
.tbl td.n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody tr.click{cursor:pointer}
.tbl tbody tr.click:hover td{background:#FAFBFD}
.tbl td a{color:var(--ink);font-weight:600}
.tbl .grp{text-align:center;border-left:1px solid var(--line)}
.tbl .gl{border-left:1px solid var(--line)}
.tbl td.wrap{white-space:normal;min-width:180px}
.v-bad{color:var(--bad);font-weight:600}
.v-warn{color:var(--accent-dark);font-weight:600}

/* tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab{border:none;background:none;padding:10px 12px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.tab:hover{color:var(--ink);text-decoration:none}
.tab.on{color:var(--ink);border-bottom-color:var(--accent)}
.tab .cnt{font-size:11px;background:var(--line-soft);color:var(--ink-soft);border-radius:999px;padding:0 7px;font-weight:700}
.tab.on .cnt{background:var(--accent-soft);color:var(--accent-dark)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:2px}
.seg button{border:none;background:none;padding:6px 12px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--line-soft);color:var(--ink)}
.seg label{margin:0;display:block;position:relative;cursor:pointer}
.seg label input{position:absolute;opacity:0;width:1px;height:1px}
.seg label span{display:block;padding:7px 16px;border-radius:7px;font-size:13px;font-weight:600;color:var(--muted)}
.seg label input:checked + span{background:var(--line-soft);color:var(--ink)}
.seg label input:focus-visible + span{outline:2px solid var(--accent-dark);outline-offset:1px}
.sfx{position:relative}
.sfx input{padding-right:54px}
.sfx .sfx-u{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12.5px;font-weight:600;color:var(--muted);pointer-events:none}

/* forms */
.field{margin:0 0 14px}
label,.lbl{display:block;font-size:12.5px;font-weight:600;margin:0 0 6px;color:var(--ink-soft)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],input[type=url],select,textarea{
  width:100%;padding:9px 11px;border:1px solid var(--field);border-radius:8px;font:inherit;font-size:14px;background:#fff;color:var(--ink);
  font-variant-numeric:tabular-nums;min-height:38px}
textarea{min-height:84px;resize:vertical;line-height:1.45}
textarea.mono{font-family:var(--mono);font-size:12px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-soft)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
input[readonly]{background:#F8FAFC;color:var(--ink-soft)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.check{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;margin:0 0 12px}
.check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.hint{font-size:12px;color:var(--muted);margin:5px 0 0}
.form-err{background:var(--bad-soft);border:1px solid var(--bad-line);color:#991B1B;border-radius:9px;padding:10px 12px;font-size:13px;margin:0 0 14px}
.form-ok{background:var(--steel-soft);border:1px solid #BDEAF2;color:var(--steel);border-radius:9px;padding:10px 12px;font-size:13px;margin:0 0 14px}
.note{background:var(--line-soft);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12.5px;color:var(--ink-soft);margin:0 0 14px}
.note.warn{background:var(--accent-soft);border-color:var(--accent-line);color:#7C4A03}
.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--accent-line);color:#7C4A03;border-radius:9px;padding:8px 10px 8px 14px;font-size:13px;margin:0 0 16px}
.trial-banner.ended{background:var(--bad-soft);border-color:var(--bad-line);color:#991B1B}
.trial-banner .tb-t{flex:1;min-width:200px}
.trial-banner .tb-a{display:flex;align-items:center;gap:6px}
.trial-banner .tb-a .btn.sm{min-height:0;padding:5px 12px;font-size:12.5px;line-height:1.3;box-shadow:none}
.trial-banner .tb-x{border:0;background:transparent;color:inherit;font-size:20px;line-height:1;padding:2px 8px;border-radius:6px;cursor:pointer;opacity:.7}
.trial-banner .tb-x:hover{opacity:1;background:rgba(15,23,42,.06)}
.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline > input,.inline > select{width:auto;flex:1;min-width:0}
.inline-num{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft)}
.inline-num input{width:96px;flex:none}
.wdchips{display:flex;flex-wrap:wrap;gap:6px}
.wdchip{border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;min-height:34px}
.wdchip:hover{border-color:var(--accent)}
.wdchip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.fieldset{border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 2px;margin:0 0 14px}
.fieldset legend{font-size:12px;font-weight:700;color:var(--muted);padding:0 6px;text-transform:uppercase;letter-spacing:.05em}
.tier-row{display:grid;grid-template-columns:1fr 1fr 34px;gap:8px;align-items:center;margin:0 0 8px}

/* copy row */
.copyrow{display:flex;gap:8px}
.copyrow input{flex:1;min-width:0;font-family:var(--mono);font-size:12.5px}

/* seat meter */
.seat{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft)}
.meter{height:6px;border-radius:999px;background:var(--line-soft);overflow:hidden;flex:1;min-width:120px;max-width:220px}
.meter i{display:block;height:100%;background:var(--accent);border-radius:999px}
.meter.full i{background:var(--bad)}
.meter.big{height:10px;max-width:none}

/* ================= drawer / modal / toast ================= */
.dw-wrap{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:80;opacity:0;transition:opacity .2s}
.dw-wrap.open{opacity:1}
.dw{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:100%;background:#fff;box-shadow:-18px 0 50px -20px rgba(15,23,42,.4);
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.2,.9,.2,1)}
.dw-wrap.open .dw{transform:none}
.dw.wide{width:620px}
.dw-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.dw-head h2{font-size:16px}
.dw-body{padding:20px;overflow-y:auto;flex:1}
.dw-foot{padding:14px 20px calc(14px + var(--sab));border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;background:#fff}
.dw-foot .spacer{flex:1}
/* ================= calendar: the Subscribe sheet ================= */
.sb-lead{margin:0 0 16px;color:var(--ink-soft);font-size:14px}
.sb-scope .seg{display:flex;width:100%}
.sb-scope .seg label{flex:1 1 auto;text-align:center}
.sb-scope .seg label span{padding:8px 8px}
.sb-cards{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.sb-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px 12px;background:var(--surface)}
.sb-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.sb-head h3{margin:0;font-size:14.5px;flex:1;min-width:0}
.sb-head .btn{min-width:86px}
.sb-ico{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;flex:none}
.sb-ico .ico{width:16px;height:16px}
.sb-steps{margin:0;padding:0 0 0 20px;font-size:13px;color:var(--ink-soft)}
.sb-steps li{margin:0 0 6px;padding-left:3px;line-height:1.5}
.sb-steps li::marker{color:var(--accent-dark);font-weight:700}
.sb-steps b{color:var(--ink);font-weight:600}
.sb-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--line-soft);font-size:12.5px;color:var(--muted)}
.sb-open{margin:10px 0 0}
@media(max-width:640px){.sb-head .btn{padding-left:10px;padding-right:10px}}
.md-wrap{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;display:flex;align-items:center;justify-content:center;padding:18px}
.md{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:22px;box-shadow:0 30px 70px -20px rgba(15,23,42,.5)}
.md h2{font-size:17px;margin:0 0 6px}
.md p{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px}
.md .actions{justify-content:flex-end;margin-top:6px}
.toast{position:fixed;left:50%;bottom:calc(22px + var(--sab));transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;border-radius:10px;padding:11px 16px;
  font-size:13.5px;box-shadow:0 14px 34px -12px rgba(15,23,42,.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast.bad{background:var(--bad)}

/* request rows */
.rq{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) auto;gap:6px 18px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-soft)}
.rq:first-child{border-top:none}
.rq .who .nm{font-weight:600}
.rq .who .nm a{color:var(--ink)}
.rq .who .meta,.rq .what .meta{font-size:12.5px;color:var(--muted)}
.rq .what{display:flex;flex-direction:column;gap:3px;font-size:13px}
.rq .what .dates{color:var(--ink);font-weight:500}
.rq .btns{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.rq .extra{grid-column:1 / -1;font-size:12.5px;color:var(--ink-soft)}
.rq .extra q{color:var(--ink-soft);font-style:italic}
.rq .wline{font-size:12px;color:var(--accent-dark)}
.rq .who .meta .wait{color:var(--accent-dark);font-weight:600}
.rq .btns .decides{font-size:12.5px;color:var(--muted);text-align:right;max-width:210px;line-height:1.35}
.rq-card{padding:0;overflow:hidden}
.rq-more{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--line-soft)}

/* preview */
.pv{border:1px solid var(--line);border-radius:var(--r);background:#FAFBFD;padding:14px;margin:4px 0 14px;font-size:13px}
.pv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pv-grid .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.pv-grid .v{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.warns{list-style:none;margin:10px 0 0;padding:0}
.warns li{padding:7px 10px;border-radius:8px;margin:6px 0 0;font-size:12.5px;background:var(--accent-soft);color:#7C4A03;border:1px solid var(--accent-line)}
.warns li.info{background:var(--line-soft);color:var(--ink-soft);border-color:var(--line)}
.warns li.bad{background:var(--bad-soft);color:#991B1B;border-color:var(--bad-line)}

/* balance cards */
.bcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.bcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow)}
.bcard .t{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px}
.bcard .big{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.bcard .big small{font-size:12.5px;color:var(--muted);font-weight:600;margin-left:6px;letter-spacing:0}
.kv{list-style:none;margin:10px 0 0;padding:0;font-size:12.5px}
.kv li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;color:var(--ink-soft);border-top:1px dashed var(--line-soft)}
.kv li b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.bnote{font-size:12px;color:var(--muted);margin:10px 0 0}
.bnote.warn{color:var(--accent-dark)}
.asof{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:0 0 14px}
.asof .field{margin:0;min-width:160px}

/* FMLA */
.bigstat{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.bigstat b{font-size:30px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.bigstat span{color:var(--muted);font-size:13px}
.tl{list-style:none;margin:0;padding:0}
.tl > li{position:relative;padding:0 0 18px 26px}
.tl > li::before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:1.5px;background:var(--line)}
.tl > li:last-child::before{display:none}
.tl .dot{position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:#fff}
.tl li.s-done .dot{background:var(--steel);border-color:var(--steel)}
.tl li.s-due .dot{border-color:var(--accent);background:var(--accent-soft)}
.tl li.s-overdue .dot{border-color:var(--bad);background:var(--bad-soft)}
.tl .th{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tl .cfr{font-size:11.5px;color:var(--muted)}
.tl .due{font-size:13px;color:var(--ink-soft);margin:2px 0 8px}
.tl .row2{margin-top:6px}
.tl .row2 .field{margin:0}
.freeups{list-style:none;margin:0;padding:0}
.freeups li{display:flex;justify-content:space-between;font-size:13px;padding:7px 10px;border-radius:8px;background:var(--steel-soft);color:var(--steel);margin:0 0 6px;font-variant-numeric:tabular-nums}
.reasons{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--ink-soft)}
.caserow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr);gap:8px 18px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-soft)}
.caserow:first-child{border-top:none}
.caserow .nm a{font-weight:600;color:var(--ink)}
.badges{display:flex;gap:6px;flex-wrap:wrap}

/* ================= calendar ================= */
.cal-tool{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.cal-tool .ttl{font-size:16px;font-weight:600;letter-spacing:-.01em;min-width:150px;margin:0 6px}
.cal-tool .spacer{flex:1}
.cal-tool select{width:auto;min-width:170px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line);gap:1px;box-shadow:var(--shadow)}
.cal-h{background:#F8FAFC;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px}
.cal-h.off{color:#586679}
.cal-d{background:var(--surface);min-height:112px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-d.off{background:#F8FAFC}
.cal-d.out{background:#FBFCFD}
.cal-d.out .cal-num{color:#586679}
.cal-top{display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:22px}
.cal-num{font-size:12px;font-weight:600;color:var(--ink-soft);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-variant-numeric:tabular-nums}
.cal-d.today .cal-num{background:var(--accent);color:#fff}
.cal-hol{font-size:10.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.chip{display:block;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;border:1px solid transparent}
.chip:hover{text-decoration:none;filter:brightness(.97)}
.chip.pending{background:#fff!important;border-style:dashed;border-color:var(--accent-line)}
.conflict{font-size:10px;font-weight:700;background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad-line);border-radius:999px;padding:0 6px;white-space:nowrap;cursor:help}
.more{border:none;background:none;padding:0 4px;font-size:11px;color:var(--muted);font-weight:600;cursor:pointer;text-align:left}
.more:hover{color:var(--accent-dark)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:12px 0 0;align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid rgba(15,23,42,.14)}
.wk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.wk-day{padding:12px 16px;border-top:1px solid var(--line-soft)}
.wk-day:first-child{border-top:none}
.wk-day.off{background:#F8FAFC}
.wk-day .dh{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;margin:0 0 6px}
.wk-day.today .dh{color:var(--accent-dark)}
.wk-day .chip{display:inline-block;margin:0 6px 6px 0;font-size:12.5px;padding:5px 10px}

/* month and year picker (button in the calendar toolbar, popover under it) */
.cal-pick{position:relative;display:inline-flex;margin:0 4px 0 2px}
.ttl-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;border-radius:12px;padding:5px 10px;min-height:36px;
  font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink);cursor:pointer;text-align:left;transition:background 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out}
.ttl-btn:hover,.ttl-btn[aria-expanded=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-dark)}
.ttl-btn:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.ttl-btn .ico{width:14px;height:14px;color:var(--muted);transition:transform 140ms ease-out}
.ttl-btn[aria-expanded=true] .ico{transform:rotate(180deg);color:var(--accent-dark)}
.cal-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 18px 40px -16px rgba(15,23,42,.35),0 2px 6px rgba(15,23,42,.06);padding:12px;transform-origin:top left;animation:calPopIn 140ms ease-out}
.cal-pop-bk{display:none}
.cal-pop-row{margin:0 0 10px}
.cal-tool .cal-pop select{width:132px;min-width:0;flex:none}
.cal-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cal-m{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid transparent;border-radius:10px;background:transparent;
  font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out}
.cal-m:hover{background:#FFF7E6;border-color:#FBDFA6;color:var(--accent-dark)}
.cal-m.now{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cal-m:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.cal-m.now:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cal-m.on,.cal-m.on:hover{background:#B45309;border-color:#B45309;color:#fff}
.cal-pop-foot{display:flex;justify-content:flex-end;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line-soft)}
.cal-pop-today{border:none;background:none;padding:4px 8px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--accent-dark);cursor:pointer}
.cal-pop-today:hover{background:var(--accent-soft)}
@keyframes calPopIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
@keyframes calFadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:899px){
  .cal-pop-bk{display:block;position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:49;animation:calFadeIn 140ms ease-out}
  .cal-pop{position:fixed;inset:0;margin:auto;height:fit-content;width:calc(100% - 32px);max-width:360px;padding:16px;transform-origin:center}
  .cal-tool .cal-pop select{width:100%}
  .cal-m{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .cal-pop,.cal-pop-bk{animation:none}
  .ttl-btn,.ttl-btn .ico,.cal-m{transition:none}
}

/* ================= auth ================= */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(24px + var(--sat)) calc(16px + var(--sar)) calc(24px + var(--sab)) calc(16px + var(--sal))}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);width:100%;max-width:400px;padding:30px 28px}
.auth-card .side-logo{border:none;padding:0;margin:0 0 22px;justify-content:center}
.auth-card h1{font-size:21px;text-align:center;margin:0 0 6px}
.auth-card .sub{text-align:center;margin:0 auto 20px}
.auth-card .btn.primary{width:100%;min-height:42px;font-size:14px;margin-top:4px}
.auth-alt{text-align:center;font-size:13px;color:var(--muted);margin:16px 0 0}
.auth-free{text-align:center;font-size:12.5px;color:var(--muted);margin:10px 0 0}

/* ================= settings ================= */
.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plan-card{border:1.5px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:6px;background:#fff}
.plan-card.cur{border-color:var(--accent);background:var(--accent-soft)}
.plan-card .pn{font-weight:700;font-size:14.5px}
.plan-card .pd{font-size:12.5px;color:var(--muted);flex:1}
.pol-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft)}
.pol-row:first-child{border-top:none;padding-top:0}
.pol-row .pn{font-weight:600}
.pol-row .pd{font-size:12.5px;color:var(--muted)}
.hol-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-soft);font-size:13.5px}
.hol-row:first-child{border-top:none}
.hol-add{display:grid;grid-template-columns:170px 1fr auto;gap:8px;align-items:end;margin:16px 0 0}
.hol-add .field{margin:0}

/* ================= FMLA form sheet (replica markup reused from /fmla-tracker/) ================= */
.fsheet{position:fixed;inset:0;background:var(--bg);z-index:95;overflow-y:auto;display:none}
.fsheet.open{display:block}
.fsheet-bar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:calc(14px + var(--sat)) calc(22px + var(--sar)) 14px calc(22px + var(--sal));display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:2}
.fsheet-bar h3{margin:0;font-size:15px;letter-spacing:-.01em}
.fsheet-bar .fb-name{display:block;font-weight:500;color:var(--muted);font-size:12px;margin-top:2px}
.fsheet-bar .fb-actions{display:flex;gap:8px;align-items:center;flex:none}
.fsheet-page{max-width:800px;margin:26px auto 60px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 40px;box-shadow:var(--shadow)}
.freplica{font-family:Arial,Helvetica,sans-serif;color:#111;font-size:11.5px;line-height:1.5}
.freplica .fr-topnote{background:#F8FAFC;border:1px solid #CBD5E1;border-radius:8px;padding:9px 13px;font-size:10.5px;color:#334155;margin:0 0 18px}
.freplica .fr-topnote a{color:#334155;word-break:break-all}
.freplica .fr-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0F172A;padding-bottom:8px;margin:0 0 4px}
.freplica .fr-title{font-size:14.5px;font-weight:800;margin:0}
.freplica .fr-title small{display:block;font-weight:600;font-size:10.5px;color:#475569;margin-top:2px}
.freplica .fr-dol{text-align:right;font-size:10px;color:#475569;font-weight:700;white-space:nowrap}
.freplica .fr-omb{font-size:9px;color:#64748B;text-align:right;margin:2px 0 10px}
.freplica .fr-notice{font-size:9px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px}
.freplica .fr-sec{font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;background:#EEF2F6;padding:6px 10px;margin:18px 0 8px;border-left:3px solid #334155}
.freplica .fr-partlabel{font-weight:800;font-size:11.5px;margin:14px 0 6px;text-decoration:underline}
.freplica .fr-field{display:flex;align-items:baseline;gap:8px;margin:5px 0}
.freplica .fr-field .fl{font-size:10.5px;color:#475569;white-space:nowrap}
.freplica .fr-line{flex:1;border-bottom:1px solid #64748B;min-height:14px;padding:0 2px;font-size:11px}
.freplica .fr-line.filled{font-weight:600;color:#0F172A}
.freplica .fr-row2{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.freplica .fr-condrow{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;margin:4px 0}
.freplica .fr-condcol{display:flex;flex-direction:column;gap:5px;margin:4px 0}
.freplica .fr-check{display:inline-flex;align-items:center;gap:5px;font-size:10.5px}
.freplica .fr-box{width:10px;height:10px;border:1.2px solid #334155;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:8px;font-weight:800;color:#0F172A}
.freplica .fr-help{font-size:9.5px;color:#64748B;font-style:italic;margin:2px 0 6px}
.freplica .fr-blankline{border-bottom:1px solid #CBD5E1;height:15px;margin:2px 0}
.freplica .fr-foot{font-size:8.5px;color:#94A3B8;text-align:center;margin:22px 0 0;border-top:1px solid #E2E8F0;padding-top:8px}

/* ================= responsive ================= */
@media(max-width:1100px){
  .grid3{grid-template-columns:1fr 1fr}
  .grid3 > :last-child{grid-column:1 / -1}
}
@media(max-width:899px){
  .topbar{display:flex;position:sticky;top:0;z-index:40;align-items:center;justify-content:space-between;gap:10px;height:calc(56px + var(--sat));padding:var(--sat) calc(12px + var(--sar)) 0 calc(16px + var(--sal));
    background:var(--surface);border-bottom:1px solid var(--line)}
  .topbar .side-logo{border:none;padding:0;margin:0}
  .topbar .tb-right{display:flex;align-items:center;gap:8px}
  .menu-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;min-height:40px}
  .menu-btn .nav-badge{margin-left:2px}
  .side{display:none;top:calc(56px + var(--sat));bottom:auto;right:0;width:auto;max-height:calc(100vh - 56px - var(--sat));border-right:none;border-bottom:1px solid var(--line);
    box-shadow:0 20px 40px -20px rgba(15,23,42,.35);padding:8px calc(12px + var(--sar)) calc(14px + var(--sab)) calc(12px + var(--sal));z-index:39}
  .side.open{display:flex}
  .side .side-logo{display:none}
  .side-nav a{padding:12px 12px;font-size:14.5px}
  .side-nav a.on::before{display:none}
  .main{margin-left:0}
  .wrap{padding:18px calc(16px + var(--sar)) calc(64px + var(--sab)) calc(16px + var(--sal))}
  .grid2,.grid-case{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .plan-cards{grid-template-columns:1fr}
  .rq{grid-template-columns:1fr;padding:14px 16px}
  .rq .btns{justify-content:flex-start}
  .rq .btns .decides{text-align:left;max-width:none}
  .caserow{grid-template-columns:1fr;padding:14px 16px}
  .fsheet-page{padding:20px 16px;margin:12px 8px 40px}
}
@media(max-width:640px){
  body{font-size:14px}
  .grid3{grid-template-columns:1fr}
  .row2,.row3{grid-template-columns:1fr}
  .pagehead{align-items:flex-start}
  .pagehead .actions{width:100%}
  .dw-body{padding:16px}
  .dw-foot{padding:12px 16px}
  .dw-foot .btn{flex:1}
  .hol-add{grid-template-columns:1fr}
  .pv-grid{grid-template-columns:1fr 1fr}
  .cal-tool select{flex:1}
  .stat .v{font-size:21px}
  .card{padding:16px}
  .tab{padding:10px 9px}
  .hide-sm{display:none}
}
/* ================= install as app, offline ================= */
.pwa-row{margin-top:10px}
.pwa-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;min-height:40px}
.pwa-btn .ico{color:var(--muted)}
.pwa-btn:hover{background:var(--line-soft);color:var(--ink)}
.pwa-hint{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + var(--sab));width:calc(100% - 32px);max-width:380px;z-index:60;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;box-shadow:0 18px 40px -16px rgba(15,23,42,.4)}
.pwa-hint .ph-t{font-weight:700;font-size:14px;margin:0 0 4px}
.pwa-hint p{margin:0 0 12px;color:var(--ink-soft);font-size:13.5px}
.pwa-hint .ph-a{display:flex;gap:8px;flex-wrap:wrap}
.pwa-hint .ph-a .btn{min-height:40px}
.offline-bar{position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:10px calc(16px + var(--sar)) calc(10px + var(--sab)) calc(16px + var(--sal))}
@media(display-mode:standalone){body{overscroll-behavior-y:none}}
/* ================= phone tap targets (40px minimum) ================= */
@media(max-width:899px){
  .btn,.btn.sm,.trial-banner .tb-a .btn.sm{min-height:40px}
  #cal-prev,#cal-next{min-width:40px}
  input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],input[type=url],select{min-height:40px}
  .wdchip,.ttl-btn{min-height:40px}
  label.check{min-height:40px;align-items:center}
  .pwa-btn{padding:12px}
  .topbar .side-logo{min-height:40px}
  .wk-day .chip{display:inline-flex;align-items:center;min-height:40px}
  .trial-banner .tb-x{min-width:40px;min-height:40px}
  .nm a,td > a:not(.btn){position:relative}
  .nm a::after,td > a:not(.btn)::after{content:'';position:absolute;left:-6px;right:-6px;top:-12px;bottom:-12px}
}
@media print{
  .side,.topbar,.dw-wrap,.md-wrap,.toast{display:none!important}
  .main{margin-left:0}
  body{background:#fff}
  body.fsheet-printing .main{display:none!important}
  body.fsheet-printing .fsheet{position:static!important;inset:auto!important;background:#fff!important;overflow:visible!important;z-index:auto!important}
  body.fsheet-printing .fsheet-bar{display:none!important}
  body.fsheet-printing .fsheet-page{box-shadow:none!important;border:none!important;margin:0!important;padding:6px 2px!important;max-width:none!important}
}

/* ================= coverage rules, blackout dates, Slack / Teams ================= */
.md-list{margin:-6px 0 14px;padding-left:18px;font-size:13px;color:var(--ink-soft)}
.md-list li{margin:3px 0}
.rq .wline.bad{color:var(--bad)}
.cov-add{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:8px;align-items:end;margin:16px 0 0}
.cov-add .field{margin:0}
.cov-blk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:16px 0 0}
.cov-blk .form-err,.cov-blk .span2,.cov-blk .actions{grid-column:1 / -1}
.cov-blk .actions{margin:0}
.cov-r{display:flex;align-items:center;gap:8px;flex:none}
.cal-badges{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.below{font-size:10px;font-weight:700;background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--accent-line);border-radius:999px;padding:0 6px;white-space:nowrap;cursor:help}
.cal-d.blk,.wk-day.blk{background-image:repeating-linear-gradient(135deg,rgba(100,116,139,.11) 0 5px,transparent 5px 10px)}
.cal-blk{font-size:10.5px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help;align-self:flex-start;max-width:100%}
.cal-blk.block{color:var(--bad);border-color:var(--bad-line)}
.wk-day .cal-blk{margin:0 0 4px;display:inline-block}
.legend i.sw-blk{background-color:#fff;background-image:repeating-linear-gradient(135deg,rgba(100,116,139,.45) 0 3px,transparent 3px 6px)}
@media (max-width:640px){
  .cov-add{grid-template-columns:1fr}
  .cov-add .btn{width:100%}
}

/* Teams: roles, invites, view-only */
#side-role{padding:6px 10px 0}
#side-role[hidden]{display:none}
.role-chip{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:2px 7px;background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--accent-line)}
.team-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft)}
.team-row .tn{font-weight:600;overflow-wrap:anywhere}
.team-row .td{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.team-row .td.dg{color:var(--ink-soft)}
.team-row .td.dg b{font-weight:600}
.appr-line{margin:4px 0 0;font-size:13px;color:var(--ink-soft)}
.appr-line b{font-weight:600;color:var(--ink)}
.dg-state{margin:0 0 14px;padding:10px 12px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:9px;font-size:13px;color:var(--ink)}
.team-row .ta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.auth-forgot{text-align:right;font-size:13px;margin:-6px 0 12px}
@media (max-width:560px){.team-row{grid-template-columns:1fr}.team-row .ta{justify-content:flex-start}}

/* ================= compliance check, expiring leave, year-end ================= */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin:0 0 18px}
.cards2 > .card{margin-top:0}
.cmp-score{margin:0 0 8px;font-size:15px}
.cmp-score b{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.meter.ok i{background:var(--steel)}
.cmp-list{list-style:none;margin:12px 0 0;padding:0}
.cmp-list li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid var(--line-soft);font-size:13px;flex-wrap:wrap}
.cmp-list li:first-child{border-top:none}
.cmp-list .ct{flex:1;min-width:0;overflow-wrap:anywhere}
.cmp-foot{font-size:11.5px;color:var(--muted);margin:12px 0 0}
.cmp-sec{margin:0 0 16px}
.cmp-banner{border:1px solid var(--accent-line);background:var(--accent-soft);color:#7C4A03;border-radius:var(--r);padding:14px 16px;margin:0 0 12px}
.cmp-banner.bad{border-color:var(--bad-line);background:var(--bad-soft);color:#7F1D1D}
.cmp-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:14px}
.cmp-f + .cmp-f{margin-top:8px}
.cmp-t{font-weight:600;font-size:13.5px}
.cmp-banner p{margin:2px 0 0;font-size:13px;overflow-wrap:anywhere}
.cmp-banner p.cmp-src{font-size:12px;margin-top:8px}
.cmp-fix{margin:12px 0 0;padding:10px 12px;background:rgba(255,255,255,.7);border:1px solid rgba(15,23,42,.08);border-radius:9px}
.cmp-fh{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}
.cmp-fix ul{list-style:none;margin:0 0 10px;padding:0;font-size:13px}
.cmp-fix li{padding:2px 0;overflow-wrap:anywhere}
.cmp-fix li span{font-weight:600}
.cmp-all{margin:6px 0 0}
.cmp-all summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft)}
.cards-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 14px}
.yr-sel{margin:0;min-width:160px}
.yr-sel select{width:auto;min-width:140px}
.yr-sel .hint{margin:4px 0 0}
.tbl th.yr-pick,.tbl td.yr-pick{width:34px;padding-right:0}
.tbl td.yr-pick input{width:17px;height:17px;accent-color:var(--accent);margin:0}
.tbl td.yr-c{white-space:normal;min-width:220px}
.yr-why{margin-top:2px}
@media(max-width:899px){.cards2{grid-template-columns:1fr}}

/* ================= Insights (absence analytics) and Final pay ================= */
.stat .s{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.35}
.ins-filters{align-items:flex-end;justify-content:flex-start}
.ins-filters .field{margin:0;min-width:150px}
.ins-stats{margin-top:0}
.ins-mini{margin:0 0 14px}
.ins-chart{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ins-chart svg{display:block;width:100%;height:auto;min-width:480px;max-height:320px}
.ins-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink-soft)}
.ins-legend li{display:flex;align-items:center;gap:6px}
.ins-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.spark{display:block}
.th-sort{border:0;background:none;padding:0;margin:0;font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:700;color:inherit;cursor:pointer;white-space:nowrap}
.th-sort:hover,.th-sort.on{color:var(--ink)}
.ins-caveat{max-width:80ch;margin-top:10px}
.fp-item{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 10px;background:var(--surface)}
.fp-top{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.fp-pick{margin:0;font-weight:600;color:var(--ink)}
.fp-nums{margin:6px 0 4px;font-variant-numeric:tabular-nums}
.fp-amt{font-weight:700;color:var(--ink);margin-left:6px}
.fp-why{margin:4px 0 6px;font-size:13px;color:var(--ink-soft);overflow-wrap:anywhere}
.fp-src{margin:0}
.fp-total{margin:14px 0 4px;font-size:14px;padding:10px 12px;background:var(--line-soft);border-radius:var(--r)}
@media(max-width:640px){
  .ins-filters .field{flex:1 1 100%}
  .ins-stats{grid-template-columns:1fr 1fr}
}

/* locations (Settings > Locations, compliance grouped by location) */
.loc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cmp-loc{margin:0 0 16px}
.cmp-lh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:14px}
@media (max-width:640px){.loc-row{grid-template-columns:minmax(0,1fr)}.loc-actions{justify-content:flex-start}}
.cmp-fix .btn{white-space:normal;text-align:left}

/* ================= credentials: licenses, certificates, training ================= */
.nav-badge{flex:none}
.cr-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;line-height:1.4;border:1px solid transparent;white-space:nowrap;letter-spacing:0}
.cr-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.cs-expired{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.cs-expiring{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent-line)}
.cs-missing{background:var(--surface);color:var(--accent-dark);border:1px dashed #E3B86A}
.cs-missing::before{background:transparent;border:1.5px solid currentColor}
.cs-valid{background:#F8FAFC;color:var(--ink-soft);border-color:var(--line)}
.cs-valid::before{background:#94A3B8}
.cs-none{background:transparent;color:var(--muted);border-color:var(--line-soft)}
.cs-none::before{background:transparent;border:1.5px solid #CBD5E1}
.cs-replaced{background:var(--line-soft);color:var(--muted);border-color:var(--line)}
.cs-replaced::before{background:#CBD5E1}
.cr-sub{display:block;font-size:12px;font-weight:500;color:var(--muted);line-height:1.35;margin-top:1px}
.cr-mono{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft)}
.cr-date{font-variant-numeric:tabular-nums;font-weight:500}

/* summary tiles */
.cr-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.cr-tile{appearance:none;-webkit-appearance:none;text-align:left;display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:15px 18px 14px;box-shadow:var(--shadow);cursor:pointer;color:inherit;font:inherit;position:relative;min-width:0;
  transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out,background .18s ease-out}
.cr-tile:hover{border-color:#CBD5E1;transform:translateY(-1px);box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 26px -16px rgba(15,23,42,.3)}
.cr-tile:active{transform:none}
.cr-tile:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.cr-tile .l{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.cr-tile .l i{width:8px;height:8px;border-radius:50%;background:#CBD5E1;flex:none;transition:background .18s}
.cr-tile.bad.has .l i{background:var(--bad)}
.cr-tile.warn.has .l i{background:var(--accent)}
.cr-tile .v{font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:8px;color:var(--ink-soft);transition:color .18s}
.cr-tile.bad.has .v{color:var(--bad)}
.cr-tile.warn.has .v{color:var(--accent-dark)}
.cr-tile .s{font-size:12.5px;color:var(--muted);min-height:19px}
.cr-tile.bad.has{background:linear-gradient(180deg,#fff 0%,var(--bad-soft) 220%)}
.cr-tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}
.cr-tile.bad[aria-pressed=true]{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft),var(--shadow)}

.cr-health{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:0 2px}
.cr-health p{margin:0;font-size:12.5px;color:var(--muted);white-space:nowrap}
.cr-health p b{color:var(--ink);font-variant-numeric:tabular-nums}
.cr-hbar{flex:1;height:8px;border-radius:999px;background:var(--line-soft);display:flex;gap:2px;overflow:hidden;min-width:0}
.cr-hbar i{display:block;height:100%;border:0;min-width:0;transition:flex .3s ease-out}
.cr-hbar i.cs-expired{background:var(--bad)}
.cr-hbar i.cs-expiring{background:var(--accent)}
.cr-hbar i.cs-missing{background:repeating-linear-gradient(135deg,#F0C98A 0 3px,#FBEBD0 3px 6px);border:0}
.cr-hbar i.cs-valid{background:#CBD5E1}
.cr-hbar i[style*="flex:0"]{display:none}

/* toolbar */
.cr-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.cr-bar .spacer{flex:1}
.cr-bar select{width:auto;min-width:150px;max-width:220px}
.cr-search{position:relative;flex:1 1 260px;max-width:340px;min-width:200px}
.cr-search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);width:16px;height:16px;pointer-events:none}
.cr-search input{padding-left:34px}
.cr-seg button{display:inline-flex;align-items:center;gap:6px;transition:background .16s ease-out,color .16s ease-out}
.cr-seg button .ico{width:15px;height:15px}
.cr-seg button:hover:not(.on){color:var(--ink)}
.cr-seg button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
.cr-chiprow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.cr-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 4px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0}
.cr-chips::-webkit-scrollbar{display:none}
.cr-chip{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:6px 13px;
  font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:34px;flex:none;transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out}
.cr-chip:hover{border-color:#CBD5E1;background:#F8FAFC;color:var(--ink)}
.cr-chip:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.cr-chip .n{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.cr-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.cr-chip[aria-pressed=true] .n{color:rgba(255,255,255,.7)}
.cr-chip.cr-within{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-dark)}
.cr-chip.cr-within:hover{background:#FFEFCF}
.cr-chip.cr-within span{font-size:15px;line-height:1;opacity:.7}
.cr-io{display:flex;gap:6px;flex:none}
.cr-count{margin:0 2px 8px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
#cr-out.cr-fade{animation:crFade .2s ease-out}
@keyframes crFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}

/* list */
.cr-tbl th:first-child,.cr-tbl td:first-child{padding-left:18px}
.cr-tbl td{padding-top:12px;padding-bottom:12px}
.cr-tbl .cr-who a{font-weight:600}
.cr-tbl .cr-tn{display:block;font-weight:600;color:var(--ink)}
.cr-tbl .cr-type,.cr-tbl .cr-who{white-space:normal;min-width:120px}
.cr-tbl .cr-type{max-width:260px}
.cr-tbl .cr-act{text-align:right;white-space:nowrap}
.cr-tbl .cr-act .btn + .btn{margin-left:6px}
.cr-tbl tbody tr{transition:background .14s ease-out}
.cr-tbl tbody tr:hover td{background:#FAFBFD}
.cr-tbl tr.cr-missing td{background:#FFFCF6}
.cr-tbl tr.cr-missing:hover td{background:#FFF9EC}
.cr-tbl tr.cr-expired .cr-exp .cr-date{color:var(--bad);font-weight:600}
.cr-tbl tr.cr-expiring .cr-exp .cr-date{color:var(--accent-dark);font-weight:600}
.cr-tbl .btn.sm{min-height:32px}
.btn.sm.tonal{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-dark);padding:5px 12px}
.btn.sm.tonal:hover{background:#FFEFCF;border-color:var(--accent);color:var(--accent-dark)}

/* matrix */
.cr-mx-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;min-width:0;max-width:100%}
.cr-mx-wrap{overflow:auto;max-height:min(70vh,760px);-webkit-overflow-scrolling:touch;position:relative;overscroll-behavior:contain}
.cr-mx-wrap:focus-visible{outline:2px solid var(--accent-dark);outline-offset:-2px}
.cr-mx{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}
.cr-mx th,.cr-mx td{background:var(--surface);border-bottom:1px solid var(--line-soft);padding:0;vertical-align:middle;text-align:left}
.cr-mx tbody tr:last-child th,.cr-mx tbody tr:last-child td{border-bottom:0}
.cr-mx thead th{position:sticky;top:0;z-index:2;background:#F8FAFC;padding:11px 12px 10px;min-width:140px;vertical-align:bottom;border-bottom:1px solid var(--line)}
.cr-mx .cr-mx-t{display:block;font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.3;letter-spacing:0;text-transform:none}
.cr-mx thead .cr-sub{text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}
.cr-mx .fc{position:sticky;left:0;z-index:1;min-width:190px;max-width:190px;width:190px;padding:10px 14px;border-right:1px solid var(--line-soft);background:var(--surface);transition:box-shadow .18s ease-out,background .14s}
.cr-mx .fc a{font-weight:600;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-mx thead .fc{z-index:3;background:#F8FAFC;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);vertical-align:bottom}
.cr-mx.scrolled .fc{box-shadow:6px 0 10px -8px rgba(15,23,42,.2)}
.cr-mx td{padding:6px 7px;transition:background .14s}
.cr-mx tbody tr:hover td,.cr-mx tbody tr:hover th.fc{background:#FAFBFD}
.cr-cell{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;width:100%;min-height:46px;padding:6px 10px;border-radius:9px;
  border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;text-decoration:none;
  transition:border-color .15s ease-out,background .15s ease-out,box-shadow .15s ease-out,opacity .2s ease-out}
.cr-cell:hover{text-decoration:none;box-shadow:0 6px 14px -8px rgba(15,23,42,.35);border-color:currentColor}
.cr-cell:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
.cr-cell .d{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35}
.cr-cell .d::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.cr-cell.cs-missing .d::before,.cr-cell.cs-none .d::before{background:transparent;border:1.5px solid currentColor}
.cr-cell.cs-valid .d::before{background:#94A3B8}
.cr-cell .w{font-size:11.5px;font-weight:500;padding-left:14px;opacity:.78;line-height:1.3}
.cr-cell.cs-valid .w,.cr-cell.cs-none .w{color:var(--muted);opacity:1}
.cr-cell.cs-expired{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}
.cr-cell.cs-expiring{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-dark)}
.cr-cell.cs-missing{background:var(--surface);border:1px dashed #E3B86A;color:var(--accent-dark)}
.cr-cell.cs-valid{background:#F8FAFC;border-color:var(--line);color:var(--ink-soft)}
.cr-cell.cs-none{background:transparent;border-color:var(--line-soft);color:var(--muted)}
.cr-cell.cs-expired:hover,.cr-cell.cs-expiring:hover,.cr-cell.cs-missing:hover,.cr-cell.cs-valid:hover,.cr-cell.cs-none:hover{border-color:currentColor;border-style:solid}
.cr-cell.dim{opacity:.34}
.cr-cell.dim:hover,.cr-cell.dim:focus-visible{opacity:1}
.cr-cell-empty{border-color:transparent;align-items:center;color:var(--muted);font-size:18px;font-weight:400;opacity:0}
.cr-mx tr:hover .cr-cell-empty,.cr-cell-empty:focus-visible{opacity:1;border:1px dashed var(--line);box-shadow:none}
.cr-cell-empty:hover{border-color:var(--accent-line);color:var(--accent-dark);background:var(--accent-soft)}
span.cr-cell-empty{cursor:default;opacity:0!important}
.cr-legend{list-style:none;margin:12px 2px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}
.cr-legend li{display:flex;align-items:center;gap:6px}
.cr-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;border:0;background:transparent;box-sizing:border-box}
.cr-legend i.cs-expired{background:var(--bad)}
.cr-legend i.cs-expiring{background:var(--accent)}
.cr-legend i.cs-missing{border:1.5px dashed var(--accent)}
.cr-legend i.cs-valid{background:#94A3B8}
.cr-legend i.cs-none{border:1.5px solid #CBD5E1}

/* empty state with industry packs */
.cr-empty{padding:34px 28px 28px}
.cr-empty-h{text-align:center;max-width:560px;margin:0 auto}
.cr-empty-ic{width:46px;height:46px;border-radius:14px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px}
.cr-empty-ic .ico{width:22px;height:22px}
.cr-empty-h h2{font-size:20px;letter-spacing:-.015em;margin:0 0 6px}
.cr-empty-h p{margin:0;color:var(--muted);font-size:14px}
.cr-packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:24px 0 4px;text-align:left}
.cr-pack{appearance:none;-webkit-appearance:none;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:16px 16px 15px;background:var(--surface);border:1.5px solid var(--line);
  border-radius:var(--r-lg);cursor:pointer;font:inherit;color:inherit;min-width:0;transition:border-color .18s ease-out,box-shadow .18s ease-out,background .18s ease-out,transform .18s ease-out}
.cr-pack:hover{border-color:#CBD5E1;transform:translateY(-1px);box-shadow:0 12px 26px -18px rgba(15,23,42,.35)}
.cr-pack:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.cr-pack[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px rgba(217,119,6,.12)}
.cr-pack-ic{width:38px;height:38px;border-radius:11px;background:var(--line-soft);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;margin:0 0 8px;transition:background .18s,color .18s}
.cr-pack-ic .ico{width:22px;height:22px;stroke-width:1.6}
.cr-pack[aria-checked=true] .cr-pack-ic{background:#fff;color:var(--accent-dark)}
.cr-pack-t{font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.cr-pack-n{font-size:12px;font-weight:600;color:var(--accent-dark)}
.cr-pack-ex{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.cr-pack-chk{position:absolute;top:13px;right:13px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:transparent;background:var(--surface);transition:background .18s,border-color .18s,color .18s}
.cr-pack-chk .ico{width:13px!important;height:13px!important}
.cr-pack[aria-checked=true] .cr-pack-chk{background:var(--accent);border-color:var(--accent);color:#fff}
.cr-empty-foot{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:18px 0 0}
.cr-empty-foot .btn.primary{min-width:200px}
.dw .cr-packs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:14px}

/* drawer pieces */
.cr-lblrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 6px}
.cr-lblrow label{margin:0}
.cr-lblrow .linkbtn{font-size:12.5px}
.cr-nt{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r);padding:14px 14px 12px;margin:-4px 0 16px}
.cr-nt .field{margin:0 0 10px}
.cr-nt .actions{margin:0}
.cr-eh{margin:-6px 0 12px;min-height:0}
.cr-eh:empty{display:none}
.cr-renewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r);padding:11px 12px 11px 14px;margin:0 0 16px;font-size:12.5px;color:var(--ink-soft)}
.cr-renewbar b{display:block;font-size:13px;color:var(--ink)}
.cr-del{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line-soft)}
.linkbtn.danger{color:var(--bad)}
.cr-errs{list-style:none;margin:8px 0 0;padding:0;max-height:220px;overflow:auto;font-size:12.5px}
.cr-errs li{display:flex;gap:10px;padding:5px 0;border-top:1px solid rgba(15,23,42,.07)}
.cr-errs li:first-child{border-top:0}
.cr-ln{flex:none;font-weight:700;min-width:54px;font-variant-numeric:tabular-nums}
.cr-rcs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.cr-rc{display:inline-flex;align-items:center;gap:2px;background:var(--line-soft);border:1px solid var(--line);border-radius:999px;padding:2px 3px 2px 11px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}
.cr-rc button{border:0;background:none;width:26px;height:26px;border-radius:50%;cursor:pointer;color:var(--muted);font-size:16px;line-height:1;transition:background .14s,color .14s}
.cr-rc button:hover{background:var(--bad-soft);color:var(--bad)}
.cr-radd input{max-width:150px}

/* types screen */
.cr-types{list-style:none;margin:0;padding:6px 20px}
.cr-types + .cr-types{margin-top:0}
.cr-trow{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) auto;gap:6px 18px;align-items:center;padding:14px 0;border-top:1px solid var(--line-soft)}
.cr-trow:first-child{border-top:0}
.cr-trow.arch .cr-tname{color:var(--muted)}
.cr-tname{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cr-tmeta{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:12.5px;color:var(--muted);margin-top:3px}
.cr-reqtag{font-size:12.5px;font-weight:600;color:var(--muted)}
.cr-reqtag.on{color:var(--ink-soft)}
.cr-tact{display:flex;gap:6px;justify-content:flex-end}
.cr-arch{margin:20px 0 0}
.cr-arch summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);margin:0 0 10px;min-height:32px;display:flex;align-items:center}
.cr-arch summary:focus-visible,.cr-hist summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px;border-radius:6px}

/* person page */
.cr-plist > li{align-items:flex-start;gap:14px}
.cr-pl-main{min-width:0}
.cr-pl-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.cr-pl-act{display:flex;gap:6px}
.cr-pl.old .nm{color:var(--muted);font-weight:500}
.cr-hist{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line-soft)}
.cr-hist summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);min-height:32px;display:flex;align-items:center}
.cr-hist .list{margin-top:6px}

/* Today card */
.cr-minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cr-mini{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;background:var(--surface);transition:border-color .16s ease-out,background .16s ease-out,transform .16s ease-out;min-width:0}
.cr-mini:hover{text-decoration:none;border-color:#CBD5E1;background:#FAFBFD;transform:translateY(-1px)}
.cr-mini .v{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink-soft)}
.cr-mini.bad .v{color:var(--bad)}
.cr-mini.warn .v{color:var(--accent-dark)}
.cr-mini .l{font-size:12px;color:var(--muted);font-weight:600;line-height:1.3}
.cards2 > #cr-card:last-child:nth-child(odd){grid-column:1 / -1}

.cr-n2{display:none}
@media(min-width:900px) and (max-width:1010px){
  .cr-tbl{font-size:13px}
  .cr-tbl th,.cr-tbl td{padding-left:8px;padding-right:8px}
  .cr-tbl th:first-child,.cr-tbl td:first-child{padding-left:12px}
  .cr-tbl .cr-pill{font-size:11.5px;padding:2px 8px 2px 7px;gap:5px}
  .cr-tbl .cr-act .btn.sm{padding:4px 9px}
  .cr-tbl .cr-type{max-width:170px}
}
@media(min-width:761px) and (max-width:1120px){
  .cr-tbl .cr-num,.cr-tbl .cr-numh{display:none}
  .cr-n2{display:inline;font-family:var(--mono);font-size:11.5px}
  .cr-tbl th,.cr-tbl td{padding-left:11px;padding-right:11px}
  .cr-tbl th:first-child,.cr-tbl td:first-child{padding-left:16px}
  .cr-tbl .cr-act .btn + .btn{margin-left:4px}
}
@media(max-width:899px){
  .cr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr-tile .v{font-size:28px}
}
@media(max-width:760px){
  .cr-tiles{gap:10px;margin-bottom:12px}
  .cr-tile{padding:12px 14px 11px}
  .cr-tile .l{font-size:12px}
  .cr-tile .v{font-size:26px;margin-top:5px}
  .cr-tile .s{font-size:12px;min-height:0}
  .cr-health{margin-bottom:14px}
  .cr-chiprow{gap:8px}
  .cr-chips{flex:1;min-width:0}
  .cr-io .btn{width:40px;padding:0;gap:0}
  .cr-io .t{display:none}
  .cr-search{flex:1 1 100%;max-width:none}
  .cr-bar select{flex:1 1 calc(50% - 4px);max-width:none;min-width:0}
  .cr-bar .spacer{display:none}
  .cr-seg{width:100%}
  .cr-seg button{flex:1;justify-content:center;min-height:40px}
  .cr-chip{min-height:40px;padding:6px 14px}
  .cr-io{justify-content:flex-start}
  .cr-health p{white-space:normal}
  .cr-trow{grid-template-columns:1fr;padding:14px 0}
  .cr-tact{justify-content:flex-start}
  .cr-types{padding:4px 16px}
  .cr-minis{grid-template-columns:1fr 1fr 1fr}
  .cr-mini{padding:10px 11px}
  .cr-mini .v{font-size:21px}
  .cr-empty{padding:26px 16px 20px}
  .cr-packs{grid-template-columns:1fr}
  .cr-empty-foot .btn{flex:1 1 100%}
  .cr-empty-foot .btn.primary{min-width:0}
  .cr-pl-side{justify-content:flex-start}
  .cr-plist > li{flex-direction:column;align-items:stretch;gap:8px}
  .cr-pl-act .btn{flex:1}
  .cr-mx .fc{min-width:116px;max-width:116px;width:116px;padding:8px 10px}
  .cr-mx .fc a{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.3}
  .cr-mx .fc .cr-sub{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cr-mx thead th{min-width:128px}
  .cr-mx-wrap{max-height:68vh}
  .cr-cell{min-height:48px}
  .cr-renewbar{flex-direction:column;align-items:stretch}
  .cr-renewbar .btn{width:100%}

  /* the list turns into cards */
  .cr-tbl-wrap{border:0;background:transparent;box-shadow:none;overflow:visible;border-radius:0}
  .cr-tbl,.cr-tbl tbody{display:block;width:100%}
  .cr-tbl thead{display:none}
  .cr-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who st" "type type" "exp num" "act act";gap:2px 12px;align-items:start;
    background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:14px 16px;margin:0 0 10px}
  .cr-tbl td,.cr-tbl td:first-child{display:block;border:0;padding:0;white-space:normal;background:transparent!important;text-align:left}
  .cr-tbl .cr-who{grid-area:who}
  .cr-tbl .cr-type{grid-area:type;margin-top:2px}
  .cr-tbl .cr-st{grid-area:st;justify-self:end}
  .cr-tbl .cr-exp{grid-area:exp;margin-top:8px;font-size:13px;color:var(--ink-soft)}
  .cr-tbl .cr-exp:not(.no-pre)::before{content:"Expires ";color:var(--muted)}
  .cr-tbl .cr-num{grid-area:num;margin-top:8px;text-align:right;justify-self:end}
  .cr-tbl .cr-act{grid-area:act;margin-top:12px;display:flex;gap:8px;text-align:left}
  .cr-tbl .cr-act:empty{display:none}
  .cr-tbl .cr-act .btn,.cr-tbl .cr-act .btn.sm{flex:1;min-height:40px;margin:0}
  .cr-tbl .cr-who a{font-size:15px}
}
@media(max-width:899px){
  .cr-rc button{width:40px;height:40px;margin:-7px -3px -7px 0}
  .dw-head .xbtn{min-width:40px;min-height:40px}
  .cr-lblrow .linkbtn,.cr-del .linkbtn,.cr-empty .linkbtn,#ci-tpl{display:inline-flex;align-items:center;min-height:40px}
  .cr-lblrow{margin-bottom:0}
  .cr-hist summary,.cr-arch summary{min-height:40px}
}
@media(max-width:380px){
  .cr-minis{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .cr-tile,.cr-chip,.cr-pack,.cr-cell,.cr-mini,.cr-tbl tbody tr,.cr-seg button,.cr-hbar i{transition:none}
  #cr-out.cr-fade{animation:none}
  .cr-tile:hover,.cr-pack:hover,.cr-mini:hover{transform:none}
}

/* ================= Reports: the report builder ================= */
.rp-layout{display:grid;grid-template-columns:256px minmax(0,1fr);gap:22px;align-items:start}
.rp-main{min-width:0}
.rp-rail{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;padding:2px 2px 8px;scrollbar-width:thin}
.rp-rail-h{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 11px}
.rp-rail-h:not(:first-child){margin-top:22px}
.rp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rp-item{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:10px;padding:9px 11px;cursor:pointer;color:inherit;font:inherit;
  transition:background .16s ease-out,border-color .16s ease-out}
.rp-item:hover{background:var(--surface);border-color:var(--line)}
.rp-item:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
.rp-it{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.rp-id{font-size:12px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rp-item.on{background:var(--accent-soft);border-color:var(--accent-line)}
.rp-item.on .rp-it{color:var(--accent-dark)}
.rp-vrow{position:relative}
.rp-del{position:absolute;right:5px;top:6px;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s}
.rp-del .ico{width:14px;height:14px}
.rp-vrow:hover .rp-del,.rp-del:focus-visible{opacity:1}
.rp-del:hover{background:var(--bad-soft);color:var(--bad)}
.rp-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.rp-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;line-height:1.5;border-radius:999px;padding:1px 8px;background:var(--line-soft);color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap}
.rp-tag .ico{width:11px;height:11px}
.rp-tag-sch{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent-line)}
.rp-none{font-size:12.5px;color:var(--muted);margin:0 11px;line-height:1.45}

.rp-controls{padding:16px 18px 14px;margin:0 0 16px}
.rp-seg{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 0 14px}
.rp-seg::-webkit-scrollbar{display:none}
.rp-seg button{white-space:nowrap;flex:none;min-height:34px;transition:background .16s ease-out,color .16s ease-out}
.rp-seg button:hover:not(.on){color:var(--ink)}
.rp-seg button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
.rp-seg button.on{background:var(--ink);color:#fff}
.rp-fields{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 12px}
.rp-fields .field{margin:0;min-width:150px}
.rp-fields .field select,.rp-fields .field input{width:auto;min-width:150px;height:40px}
.rp-fields .rp-g select{min-width:190px}
.rp-range{margin:0;align-self:flex-end;font-size:13px;color:var(--muted);padding:0 2px 9px;font-variant-numeric:tabular-nums}
.rp-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rp-chipwrap{position:relative;display:inline-flex}
.rp-chip{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:6px 12px 6px 14px;
  font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:34px;transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out}
.rp-toggle{padding-left:14px}
.rp-chip:hover{border-color:#CBD5E1;background:#F8FAFC;color:var(--ink)}
.rp-chip:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.rp-chip .ico{width:13px;height:13px;color:var(--muted);margin-right:-3px}
.rp-toggle .ico{margin-right:0;color:currentColor}
.rp-chip b{font-weight:700;max-width:160px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}
.rp-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.rp-chip.on:hover{background:var(--ink-soft);border-color:var(--ink-soft)}
.rp-chip.on .ico{color:rgba(255,255,255,.75)}
.rp-more{background:rgba(255,255,255,.2);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}
.rp-clear{font-size:12.5px;margin-left:4px}
.rp-scope{margin:10px 0 0}
.rp-adv-toggle{display:none}
.rp-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:300px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 18px 40px -16px rgba(15,23,42,.35),0 2px 6px rgba(15,23,42,.06);padding:10px 10px 8px;animation:calPopIn 140ms ease-out;transform-origin:top left}
.rp-pop-head{display:none}
.rp-pop-search{position:relative;margin:0 0 6px}
.rp-pop-search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted);pointer-events:none}
.rp-pop-search input{padding-left:33px}
.rp-opts{list-style:none;margin:0;padding:0;max-height:264px;overflow:auto}
.rp-opts li[hidden]{display:none}
.rp-opts .check{margin:0;padding:7px 8px;border-radius:8px;align-items:center}
.rp-opts .check:hover{background:var(--line-soft)}
.rp-opts small{display:block;color:var(--muted);font-weight:500;font-size:12px;line-height:1.3}
.rp-pop .rp-none{margin:8px 8px 4px}
.rp-pop-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-soft);margin:8px -10px 0;padding:8px 12px 0}
.rp-pop-bk{display:none}

.rp-result{padding:18px 20px 20px;min-width:0}
.rp-busy .rp-chart,.rp-busy .rp-tbl-wrap,.rp-busy .rp-sum{opacity:.5;transition:opacity .15s}
.rp-vtag{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);margin:0 0 12px}
.rp-vtag .ico{width:14px;height:14px;color:var(--accent-dark)}
.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin:0 0 16px}
.rp-head-t{min-width:0;flex:1 1 340px}
.rp-sum{font-size:19px;font-weight:650;letter-spacing:-.015em;line-height:1.3;margin:0;font-variant-numeric:tabular-nums}
.rp-sub{margin:4px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.rp-actions{display:flex;gap:8px;flex-wrap:wrap}
.rp-fig{margin:0 0 18px;padding:14px 16px 8px;border:1px solid var(--line-soft);border-radius:12px;background:#FCFCFD}
.rp-fig figcaption{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.rp-fig svg{display:block;width:100%;height:auto;max-height:340px}
.rp-bar{fill:var(--accent)}
.rp-bar.neg{fill:#64748B}
.rp-grid{stroke:#E2E8F0;stroke-width:1}
.rp-ax{font-size:11px;fill:var(--muted);font-family:var(--sans)}
.rp-cat{font-size:12.5px;fill:var(--ink-soft)}
.rp-val{font-size:11.5px;font-weight:600;fill:var(--ink-soft);font-family:var(--sans)}
.rp-units{margin:-4px 0 8px;text-align:right;font-size:12.5px}
.rp-tbl-wrap{overflow:auto;max-height:min(68vh,720px);border:1px solid var(--line);border-radius:12px;background:var(--surface);-webkit-overflow-scrolling:touch}
.rp-tbl-wrap:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.rp-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.rp-tbl th,.rp-tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle}
.rp-tbl th.n,.rp-tbl td.n{text-align:right;font-variant-numeric:tabular-nums}
.rp-tbl thead th{position:sticky;top:0;z-index:2;background:#F8FAFC;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.rp-tbl tbody tr:last-child td{border-bottom:0}
.rp-tbl tbody tr:hover td{background:#FAFBFD}
.rp-tbl td a{color:var(--ink);font-weight:600}
.rp-tbl tfoot td{position:sticky;bottom:0;z-index:2;background:#fff;border-top:2px solid var(--line);border-bottom:0;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.rp-sort::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;vertical-align:1px;opacity:0}
.rp-sort:hover::after{opacity:.35;border-top-color:currentColor;border-bottom:0}
.rp-sort.on::after{opacity:1}
.rp-sort[data-dir=asc]::after{border-bottom-color:currentColor;border-top:0;border-bottom-width:4px}
.rp-sort[data-dir=desc]::after{border-top-color:currentColor;border-bottom:0;border-top-width:4px}
.rp-sort:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px;border-radius:3px}
.rp-rep td:first-child{color:#B6C0CE}
@media print{.rp-rep td:first-child{color:#94A3B8}}
.rp-notecell{max-width:240px}
.rp-note{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--ink-soft)}
.rp-empty{padding:40px 18px}
.rp-print-only{display:none}
.dw .check small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:1px;line-height:1.4}
.check[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.rp-del-row{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line-soft)}
.rp-danger{color:var(--bad)}
.rp-recs{border:1px solid var(--line);border-radius:10px;padding:8px 12px 0;max-height:230px;overflow:auto;margin:0 0 6px}

@media(max-width:899px){
  .rp-layout{grid-template-columns:minmax(0,1fr);gap:14px}
  .rp-rail{position:static;max-height:none;overflow:visible;padding:0}
  .rp-rail-h{margin:0 0 6px 2px}
  .rp-rail-h:not(:first-child){margin-top:12px}
  .rp-list{flex-direction:row;overflow-x:auto;gap:8px;padding:2px 2px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rp-list::-webkit-scrollbar{display:none}
  .rp-vrow{flex:none}
  .rp-item{width:auto;flex:none;max-width:240px;border-color:var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;min-height:40px;justify-content:center}
  .rp-it{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rp-id,.rp-tags,.rp-del{display:none}
  .rp-none{margin:0 2px}
}
@media(max-width:640px){
  .rp-controls{padding:14px 14px 14px;display:flex;flex-wrap:wrap;gap:10px 12px}
  .rp-controls > *{flex:1 1 100%;min-width:0}
  .rp-fields{display:contents}
  .rp-seg{order:1;margin:0}
  .rp-fields .field{flex:1 1 calc(50% - 6px);min-width:0;order:2}
  .rp-fields .field select,.rp-fields .field input{width:100%;min-width:0}
  .rp-fields .rp-g{flex:1 1 calc(50% - 6px);order:4;display:none}
  .rp-fields .rp-wide{flex:1 1 100%}
  .rp-range{flex:1 1 100%;padding:0;order:2;margin:-4px 0 0}
  .rp-adv-toggle{order:3;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;text-align:left}
  .rp-adv-toggle .rp-adv-sum{margin-left:auto;font-weight:500;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
  .rp-adv-toggle .ico{width:15px;height:15px;color:var(--muted);transition:transform .15s;flex:none}
  .rp-adv-toggle[aria-expanded=true] .ico{transform:rotate(180deg)}
  .rp-chips{order:5;display:none}
  .rp-scope{order:6;margin:0}
  .rp-adv-open .rp-fields .rp-g{display:block}
  .rp-adv-open .rp-chips{display:flex}
  .rp-result{padding:14px 14px 16px}
  .rp-sum{font-size:17px}
  .rp-actions{width:100%}
  .rp-actions .btn{flex:1 1 calc(50% - 8px)}
  .rp-fig{padding:12px 8px 4px}
  .rp-chip{min-height:40px}
  .rp-pop-bk{display:block;position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:59;animation:calFadeIn 140ms ease-out}
  .rp-pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;border-radius:18px 18px 0 0;padding:6px 14px calc(12px + var(--sab));max-height:82vh;display:flex;flex-direction:column;animation:rpSheet .22s cubic-bezier(.2,.9,.2,1)}
  .rp-pop-head{display:flex;justify-content:space-between;align-items:center;padding:6px 0 8px;font-size:15px}
  .rp-opts{max-height:none;flex:1;min-height:0}
  .rp-opts .check{min-height:46px}
  .rp-pop-foot{margin:8px 0 0;padding:10px 0 0}
  .rp-pop-foot .btn{min-width:96px}
  .rp-tbl th,.rp-tbl td{padding:9px 12px}
  .rp-tbl-wrap{max-height:70vh}
  .rp-tbl th:first-child,.rp-tbl td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line-soft)}
  .rp-tbl thead th:first-child{z-index:3;background:#F8FAFC}
  .rp-tbl tfoot td:first-child{z-index:3}
}
@keyframes rpSheet{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.rp-pop{animation:none}.rp-pop-bk{animation:none}}
@media print{
  @page{margin:12mm}
  .rp-noprint,.rp-head{display:none!important}
  .rp-print-only{display:block!important}
  .rp-layout,.rp-main{display:block}
  .rp-result{border:0;box-shadow:none;padding:0;background:#fff}
  .wrap{padding:0;max-width:none}
  .rp-tbl-wrap{max-height:none;overflow:visible;border:0;border-radius:0}
  .rp-tbl{font-size:8.5pt;table-layout:auto}
  .rp-tbl th,.rp-tbl td{padding:3.5pt 5pt;border-bottom:1px solid #CBD5E1;white-space:normal;vertical-align:top}
  .rp-tbl th.n,.rp-tbl td.n,.rp-tbl td.d,.rp-tbl td:first-child{white-space:nowrap}
  .rp-notecell,.rp-note{max-width:none;white-space:normal;overflow:visible}
  .rp-print-head h1{font-size:18pt}
  .rp-tbl thead{display:table-header-group}
  .rp-tbl thead th,.rp-tbl tfoot td{position:static;background:#F1F5F9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-tbl tfoot{display:table-footer-group}
  .rp-tbl tr{break-inside:avoid}
  .rp-sort::after{display:none}
  .rp-sort{color:#475569}
  .rp-fig{border:0;background:none;padding:0 0 10pt;break-inside:avoid}
  .rp-bar{fill:#D97706;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-print-head{margin:0 0 12pt;padding:0 0 8pt;border-bottom:1.5pt solid #0F172A}
  .rp-print-head h1{font-size:20pt;margin:2pt 0 6pt}
  .rp-print-head p{margin:0 0 2pt;font-size:10pt;color:#334155}
  .rp-print-head .rp-ph-co{font-size:8.5pt;letter-spacing:.08em;text-transform:uppercase;color:#64748B;font-weight:700}
  .rp-print-head .rp-ph-gen{margin-top:6pt;color:#64748B;font-size:9pt}
  .rp-tbl td a{color:#0F172A;text-decoration:none}
  .pill{border:1px solid #CBD5E1}
}

/* ================= FMLA case management (APP-SPEC-FMLA-PLUS.md) ================= */
.menuwrap{position:relative}
.menu{position:absolute;right:0;top:calc(100% + 6px);width:340px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px -16px rgba(15,23,42,.35);padding:6px;z-index:25}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:9px 12px;cursor:pointer}
.menu button:hover,.menu button:focus-visible{background:var(--accent-soft)}
.menu button b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.menu button span{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.subh{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 12px}
.tests{list-style:none;margin:10px 0 0;padding:0}
.tests > li{padding:11px 0;border-top:1px solid var(--line-soft)}
.tests > li:first-child{border-top:none;padding-top:2px}
.tests .th{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tests .tn{font-weight:600;font-size:13.5px}
.tests p{margin:5px 0 0;font-size:12.5px;color:var(--ink-soft)}
.plan{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.plan dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.plan dd{margin:2px 0 0;font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
.fm-lower{margin-top:16px}
.fm-lower > .card{margin-top:0}
.ulog{list-style:none;margin:0;padding:0}
.ulog > li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:2px 16px;align-items:center;padding:10px 0;border-top:1px solid var(--line-soft)}
.ulog > li:first-child{border-top:none;padding-top:0}
.ulog .ud b{font-weight:600}
.ulog .un{display:block;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.ulog .uh{font-size:13.5px;text-align:right;white-space:nowrap}
.ulog .ul{font-size:13.5px;text-align:right;white-space:nowrap;min-width:92px}
.ulog .ur{text-align:right}
.evt{list-style:none;margin:0;padding:0}
.evt > li{position:relative;padding:0 0 16px 24px}
.evt > li::before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:1.5px;background:var(--line)}
.evt > li:last-child::before{display:none}
.evt .dot{position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:#CBD5E1}
.evt .k-time_logged .dot{background:var(--steel)}
.evt .k-designated .dot,.evt .k-notice_sent .dot{background:var(--accent)}
.evt .k-closed .dot{background:var(--ink)}
.evt .et{font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
.evt .em{font-size:12px;color:var(--muted);margin-top:1px}
.fm-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.fm-tile{display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px 12px;box-shadow:var(--shadow)}
.fm-tile .l{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.fm-tile .l i{width:8px;height:8px;border-radius:50%;background:#CBD5E1;flex:none}
.fm-tile.bad.has .l i{background:var(--bad)}
.fm-tile.warn.has .l i{background:var(--accent)}
.fm-tile .v{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:8px;color:var(--ink-soft)}
.fm-tile.bad.has .v{color:var(--bad)}
.fm-tile.warn.has .v{color:var(--accent-dark)}
.fm-tile .s{font-size:12.5px;color:var(--muted);min-height:19px}
.fm-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:0 0 12px}
.fm-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fm-range input[type=date]{width:auto;min-width:150px}
.fm-tbl td{vertical-align:top;padding-top:12px;padding-bottom:12px}
.fm-tbl td:first-child,.fm-tbl th:first-child{position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:1px 0 0 var(--line-soft)}
.fm-tbl th:first-child{background:#F8FAFC}
.fm-tbl .cr-sub{display:block;font-size:12px;font-weight:500;color:var(--muted);line-height:1.35;margin-top:1px}
.fm-n{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
@media(max-width:899px){
  .fm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan{grid-template-columns:1fr}
}
@media(max-width:640px){
  .menu{position:fixed;left:16px;right:16px;bottom:calc(16px + var(--sab));top:auto;width:auto;max-width:none}
  .fm-tile .v{font-size:25px}
  .fm-range input[type=date]{flex:1;min-width:130px}
  .fm-bar .seg{width:100%}
  .fm-bar .seg button{flex:1}
}

/* ================= printable forms: one replica look for WH-381, WH-382, WH-380-E and WH-380-F ================= */
.freplica .fr-page + .fr-page{border-top:1px dashed #CBD5E1;margin-top:28px;padding-top:22px}
.freplica .fr-header{gap:14px}
.freplica .fr-title{font-size:15px;line-height:1.25}
.freplica .fr-omb2{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 10px}
.freplica .fr-omb2 .fr-notice{margin:0;line-height:1.35}
.freplica .fr-omb2 .fr-omb{margin:0;text-align:right;line-height:1.35;white-space:nowrap}
.freplica .fr-p{margin:0 0 6px;font-size:11px;line-height:1.45;text-align:left;overflow-wrap:break-word}
.freplica .fr-p.fr-ind{margin-left:20px}
.freplica .fr-p.fr-small{font-size:10px;line-height:1.4}
.freplica .fr-ul{display:inline-block;min-width:60px;max-width:100%;border-bottom:1px solid #475569;line-height:1.25;padding:0 2px;vertical-align:baseline;overflow-wrap:anywhere}
.freplica .fr-ul.w-sm{min-width:46px}
.freplica .fr-ul.w-md{min-width:96px}
.freplica .fr-ul.w-lg{min-width:150px}
.freplica .fr-ul.w-xl{min-width:230px}
.freplica .fr-ul.filled{font-weight:700;color:#0F172A}
.freplica .fr-cap{font-size:9px;color:#475569;font-style:normal}
.freplica .fr-condcol{margin:3px 0 6px;gap:4px}
.freplica .fr-check{align-items:flex-start;gap:6px;font-size:11px;line-height:1.4}
.freplica .fr-box{margin-top:2.5px;width:11px;height:11px;font-size:9px}
.freplica .fr-sub{display:flex;flex-wrap:wrap;gap:4px 18px;margin:2px 0 3px 22px}
.freplica .fr-ename{font-size:11px;margin:0 0 10px}
.freplica .fr-pfoot{display:flex;justify-content:space-between;gap:12px;font-size:9.5px;color:#334155;margin:16px 0 0;padding-top:5px;border-top:1px solid #94A3B8}
.freplica .fr-repl{font-size:8px;color:#64748B;margin:4px 0 0;overflow-wrap:anywhere}
.freplica .fr-pra{margin-top:12px;padding-top:6px;border-top:1px solid #94A3B8}
.freplica .fr-praT{font-size:10px;font-weight:700;margin:0 0 3px}
.freplica .fr-pra .fr-p{font-size:9px;line-height:1.35}
.freplica .fr-last{font-size:9px;font-weight:700;margin:6px 0 0;text-align:center}
.freplica .fr-sign{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0 6px;font-size:11px}
.freplica .fr-defT{margin-top:12px;font-size:11px}
.freplica .fr-def{font-size:10px;line-height:1.35;margin:0 0 3px}
.freplica .fr-ul2{margin:0 0 4px;padding-left:22px;font-size:10px;line-height:1.35}
.freplica .fr-sec{font-size:11px;text-align:center;border-left:0;border-top:1.5px solid #334155;border-bottom:1.5px solid #334155;background:#EEF2F6;margin:12px 0 7px;padding:4px 10px}
.freplica .fr-partlabel{font-size:11px;margin:9px 0 5px}
.freplica .fr-blankline{height:17px}
.fpacket{font-family:var(--sans);color:var(--ink);font-size:13px;line-height:1.5}
.fpacket .pk-head{border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:10px}
.fpacket .pk-k{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fpacket h2{font-size:22px;letter-spacing:-.015em;margin:2px 0 0}
.fpacket .pk-s{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.fpacket .pk-keep{background:var(--line-soft);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:12px;margin:0 0 6px}
.fpacket h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:20px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.fpacket .pk-kv{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.fpacket .pk-kv dt{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.fpacket .pk-kv dd{margin:1px 0 0;font-size:13px;overflow-wrap:anywhere}
.fpacket .pk-t{width:100%;border-collapse:collapse;font-size:12px}
.fpacket .pk-t th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:5px 8px;border-bottom:1px solid var(--ink-soft);background:#F8FAFC}
.fpacket .pk-t td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.fpacket .pk-t .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fpacket .pk-more,.fpacket .pk-foot{font-size:12px;color:var(--ink-soft);margin:8px 0 0}
.fpacket .pk-foot{margin-top:18px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
@media(max-width:640px){
  .freplica .fr-p,.freplica .fr-check{font-size:11.5px}
  .freplica .fr-header{flex-direction:column}
  .freplica .fr-dol{text-align:left;white-space:normal}
  .freplica .fr-omb2{flex-direction:column}
  .freplica .fr-omb2 .fr-omb{text-align:left}
  .freplica .fr-ul.w-xl{min-width:140px}
  .freplica .fr-ul.w-lg{min-width:110px}
  .freplica .fr-sub{margin-left:10px}
  .fpacket .pk-kv{grid-template-columns:1fr}
  .fpacket .pk-t{display:block;overflow-x:auto}
}
@page fmlaform{size:letter;margin:.5in}
@media print{
  body.fsheet-printing{page:fmlaform}
  body.fsheet-printing .freplica{font-size:8.4pt;line-height:1.24}
  body.fsheet-printing .freplica .fr-p{margin-bottom:3.5px}
  body.fsheet-printing .freplica .fr-condcol{margin:2px 0 4px;gap:3px}
  body.fsheet-printing .freplica .fr-sec{margin:8px 0 5px}
  body.fsheet-printing .freplica .fr-partlabel{margin:6px 0 3px}
  body.fsheet-printing .freplica .fr-pfoot{margin-top:8px}
  body.fsheet-printing .freplica .fr-blankline{height:14px}
  body.fsheet-printing .freplica .fr-topnote{display:none}
  body.fsheet-printing .freplica .fr-page{break-after:page;page-break-after:always;border:0;margin:0;padding:0}
  body.fsheet-printing .freplica .fr-page:last-child{break-after:auto;page-break-after:auto}
  body.fsheet-printing .freplica .fr-p,body.fsheet-printing .freplica .fr-check,body.fsheet-printing .freplica .fr-ename,body.fsheet-printing .freplica .fr-sign{font-size:8.4pt}
  body.fsheet-printing .freplica .fr-p.fr-small,body.fsheet-printing .freplica .fr-def,body.fsheet-printing .freplica .fr-ul2{font-size:7.6pt}
  body.fsheet-printing .freplica .fr-pra .fr-p,body.fsheet-printing .freplica .fr-last{font-size:7pt}
  body.fsheet-printing .freplica .fr-cap{font-size:7.5pt}
  body.fsheet-printing .freplica .fr-sec,body.fsheet-printing .freplica .fr-box{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.fsheet-printing .freplica .fr-title{font-size:13pt}
  body.fsheet-printing .freplica .fr-pfoot{font-size:8pt}
  body.fsheet-printing .freplica .fr-repl{font-size:6.5pt}
  body.fsheet-printing .fpacket{font-size:9.5pt}
  body.fsheet-printing .fpacket h2{font-size:17pt}
  body.fsheet-printing .fpacket .pk-t{font-size:8.5pt}
  body.fsheet-printing .fpacket .pk-t tr,body.fsheet-printing .fpacket h3{break-inside:avoid}
  body.fsheet-printing .fpacket h3{break-after:avoid}
  body.fsheet-printing .fpacket .pk-t th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ================= Ask the developer (APP-SPEC-SUPPORT.md): sidebar entry, panel, mobile sheet ================= */
.ask-row{margin-top:auto;padding:14px 0 0}
.ask-row + .side-foot{margin-top:12px}
/* nine nav items plus the Ask button can be taller than a short laptop window: the sidebar scrolls, nothing in it shrinks (the company name was being clipped) */
.side>*{flex-shrink:0}
.ask-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);
  color:var(--ink-soft);font-size:13px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.ask-btn .ico{color:var(--muted);transition:color .15s}
.ask-lbl{flex:1;min-width:0}
.ask-btn:hover,.ask-btn[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.ask-btn:hover .ico,.ask-btn[aria-expanded=true] .ico{color:var(--accent)}
.ask-btn.hot{background:var(--bad);border-color:var(--bad);color:#fff;box-shadow:0 8px 18px -10px rgba(220,38,38,.75)}
.ask-btn.hot .ico{color:#fff}
.ask-btn.hot:hover,.ask-btn.hot[aria-expanded=true]{background:#B91C1C;border-color:#B91C1C;color:#fff}
@keyframes askPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.55)}50%{box-shadow:0 0 0 9px rgba(220,38,38,0)}}
.ask-btn.pulse{animation:askPulse 1s ease-in-out 2}

.menu-btn{position:relative}
.menu-reply{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--bad);color:#fff;border:2px solid var(--surface);
  font-size:10.5px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}

.ask-bk{display:none}
.ask-panel{position:fixed;left:calc(var(--side-w) + 12px);bottom:16px;width:404px;height:min(584px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface);border:1px solid var(--line);border-radius:18px;z-index:85;
  box-shadow:0 30px 70px -24px rgba(15,23,42,.5),0 4px 16px rgba(15,23,42,.08);
  opacity:0;transform:translateY(10px) scale(.985);transform-origin:bottom left;pointer-events:none;
  transition:opacity .16s ease,transform .2s cubic-bezier(.2,.9,.2,1)}
.ask-panel.open{opacity:1;transform:none;pointer-events:auto}
.ask-grab{display:none}
.ask-head{display:flex;align-items:flex-start;gap:12px;padding:16px 12px 14px 18px;border-bottom:1px solid var(--line-soft);background:var(--surface)}
.ask-ttl{flex:1;min-width:0}
.ask-ttl h2{font-size:16px;letter-spacing:-.01em}
.ask-ttl p{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:var(--muted)}
.ask-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 10px;background:#F8FAFC;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}
.ask-body:focus-visible{outline-offset:-3px}
.ask-day{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ask-day:first-child{margin-top:0}
.ask-day::before,.ask-day::after{content:"";flex:1;height:1px;background:var(--line)}
.ask-msg{display:flex;flex-direction:column;gap:4px;max-width:88%;margin:0 0 8px}
.ask-msg.me{align-self:flex-end;align-items:flex-end}
.ask-msg.team{align-self:flex-start;align-items:flex-start}
.ask-bub{padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.ask-msg.me .ask-bub{background:var(--ink);color:#fff;border-bottom-right-radius:5px}
.ask-msg.team .ask-bub{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.ask-msg.team .ask-bub a{color:var(--accent-dark);text-decoration:underline}
.ask-msg.me .ask-bub a{color:#fff;text-decoration:underline}
.ask-msg.pending .ask-bub{opacity:.6}
.ask-meta{font-size:11.5px;color:var(--muted);padding:0 4px}
.ask-empty{margin:auto 0;padding:6px 0 4px;text-align:center}
.ask-empty-ic{width:44px;height:44px;margin:0 auto 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.ask-empty-ic .ico{width:22px;height:22px}
.ask-empty h3{font-size:15px;margin:0 0 4px}
.ask-empty p{margin:0 auto 16px;max-width:34ch;font-size:13px;color:var(--muted)}
.ask-chips{display:flex;flex-direction:column;gap:8px;text-align:left}
.ask-chip{display:block;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-soft);font-size:13.5px;font-weight:500;line-height:1.4;text-align:left;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s,transform .15s}
.ask-chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}
.ask-foot{padding:12px 14px calc(12px + var(--sab));border-top:1px solid var(--line);background:var(--surface)}
.ask-err{margin:0 0 10px;padding:8px 11px;border:1px solid var(--bad-line);border-radius:9px;background:var(--bad-soft);color:#991B1B;font-size:12.5px;line-height:1.4}
.ask-foot textarea{display:block;min-height:44px;max-height:140px;padding:10px 12px;border-radius:12px;resize:none;overflow-y:auto;line-height:1.45}
.ask-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:10px 0 0}
.ask-hint{margin-right:auto;font-size:12px;color:var(--muted)}
.ask-count{margin-right:auto;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.ask-count.bad{color:var(--bad)}
.ask-bar .btn{min-width:84px}
@media(max-width:899px){
  .ask-bk{display:block;position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:84;opacity:0;transition:opacity .2s}
  .ask-bk.open{opacity:1}
  .ask-panel{left:0;right:0;bottom:0;width:100%;height:min(640px,calc(100vh - 36px));height:min(640px,calc(100dvh - 36px));border-radius:20px 20px 0 0;border-width:1px 0 0;
    transform:translateY(28px);transform-origin:bottom center;padding-left:var(--sal);padding-right:var(--sar)}
  .ask-panel.open{transform:none}
  .ask-grab{display:block;width:38px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--line)}
  .ask-head{padding-top:10px}
  .ask-foot textarea{font-size:16px}
  .ask-hint{display:none}
  .ask-msg{max-width:92%}
  .ask-btn{min-height:46px;padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){
  .ask-btn,.ask-chip,.ask-panel,.ask-bk{transition:none}
  .ask-btn.pulse{animation:none}
  .ask-chip:hover{transform:none}
}
@media print{.ask-panel,.ask-bk,.ask-row{display:none!important}}

/* ================= first run (APP-SPEC-FIRSTRUN.md): menu groups, the guided setup, the small helpers ================= */
.nav-group{margin:0}
.nav-lbl{margin:16px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nav-sub{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.side-nav{gap:0}
.side-nav .nav-group[data-first]{margin-top:0}

/* "More details" folds, department chips, the "?" help */
details.disc{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:12px;margin:4px 0 18px;background:#fff;box-shadow:none;padding:0;max-width:none}
.disc > summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:600;font-size:13.5px;color:var(--ink-soft);display:flex;align-items:center;justify-content:space-between;border-radius:12px;min-height:44px}
.disc > summary::-webkit-details-marker{display:none}
.disc > summary::after{content:"";width:8px;height:8px;border-right:1.7px solid var(--muted);border-bottom:1.7px solid var(--muted);transform:rotate(45deg);transition:transform .2s;margin:-3px 4px 0 0}
.disc[open] > summary::after{transform:rotate(-135deg);margin-top:3px}
.disc[open] > summary{border-bottom:1px solid var(--line-soft);border-bottom-left-radius:0;border-bottom-right-radius:0}
.disc > summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.disc-in{padding:14px 14px 2px}
.disc-sub{font-size:12.5px;color:var(--muted);margin:-4px 0 14px}
.chipset{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.dchip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;min-height:36px}
.dchip:hover{border-color:var(--accent)}
.dchip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.qm{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:5px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;vertical-align:1px;padding:0;line-height:1}
.qm::after{content:"";position:absolute;inset:-13px}
.qm:hover,.qm[aria-expanded=true]{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}
.qm-pop{position:absolute;z-index:150;width:min(300px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 24px 50px -20px rgba(15,23,42,.45);font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.qm-pop p{margin:0 0 8px}
.qm-pop .linkbtn{font-size:13px}
.example-link{font-size:12.5px;font-weight:600}
.empty-hero{padding:44px 28px;text-align:center}
.empty-hero h2{font-size:24px;letter-spacing:-.02em;margin:0 0 8px}
.empty-hero > p{color:var(--muted);font-size:16px;margin:0 auto 24px;max-width:46ch}
.empty-hero .actions{justify-content:center;gap:10px}
.empty-hero > p.empty-note{margin:24px 0 0;font-size:13.5px;color:var(--muted)}
.empty-hero + .whatnow{margin-top:16px}
.sample-line{margin:16px 0 0;font-size:14px;color:var(--muted);max-width:760px}
.btn.big{min-height:52px;padding:0 28px;font-size:16px;font-weight:650;border-radius:14px}
.btn.big.primary{box-shadow:0 12px 26px -14px rgba(180,83,9,.75)}
.btn.big-sm{min-height:44px;padding:0 18px;font-size:14.5px;border-radius:12px}
.seg.big{padding:3px;border-radius:13px}
.seg.big label span{padding:10px 24px;font-size:15px;border-radius:10px}

/* What happens now */
.whatnow{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow);max-width:1180px}
.whatnow-h{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}
.whatnow-h h2{font-size:16px}
.whatnow-x{border:0;background:none;width:34px;height:34px;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.whatnow-x:hover{background:var(--line-soft);color:var(--ink)}
.whatnow-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.whatnow-l li{display:flex;gap:12px;align-items:flex-start}
.whatnow-l b{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.whatnow-l h3{font-size:14.5px;margin:0 0 3px;line-height:1.35}
.whatnow-l p{margin:0;font-size:13px;color:var(--muted)}
@media(max-width:760px){.whatnow-l{grid-template-columns:1fr;gap:14px}}

/* the "Stuck?" card */
.stuck{position:fixed;right:20px;bottom:20px;width:min(340px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 20px 18px;box-shadow:0 30px 60px -24px rgba(15,23,42,.45);z-index:70;animation:stuckIn .45s cubic-bezier(.2,.8,.2,1) both}
.stuck h3{font-size:17px;margin:0 0 6px;letter-spacing:-.01em}
.stuck p{margin:0 0 14px;color:var(--ink-soft);font-size:14px;line-height:1.5}
.stuck-x{position:absolute;top:8px;right:8px;border:0;background:none;width:34px;height:34px;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.stuck-x:hover{background:var(--line-soft);color:var(--ink)}
.stuck-a{display:flex;gap:8px;flex-wrap:wrap}
@keyframes stuckIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:899px){.stuck{left:16px;right:16px;bottom:calc(16px + var(--sab));width:auto}}

/* demo / sample team bar */
.sample-bar{position:fixed;top:0;left:0;right:0;height:42px;z-index:130;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13.5px;padding:0 14px;text-align:center}
.sample-bar b{font-weight:700}
.sample-a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.sample-a:hover{color:var(--accent-line)}
button.sample-a{background:none;border:0;padding:0;font:inherit;font-weight:700;cursor:pointer}
body.has-sample-bar{padding-top:42px}
body.has-sample-bar .side{top:42px}
@media(max-width:899px){
  body.has-sample-bar .topbar{top:42px}
  body.has-sample-bar .side{top:calc(98px + var(--sat))}
  .sample-bar{font-size:12.5px;gap:10px;padding:0 10px}
}
@media(max-width:520px){.sample-bar{gap:8px;font-size:12px}.sample-s{display:none}}
@media(max-width:400px){.sample-t{display:none}.sample-bar{gap:18px}}
.sample-bar{overflow:hidden}

/* ---------- the guided setup: #/setup ---------- */
body.in-wizard{background:#fff}
#wizard{min-height:100vh}
.wz{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#FFFFFF 0%,#FAFBFD 55%,#F4F7FA 100%)}
.wz-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:calc(18px + var(--sat)) clamp(16px,4vw,40px) 0}
.wz-top .side-logo{border:none;padding:0;margin:0;justify-self:start;min-height:44px}
.wz-dots-wrap{justify-self:center}
.wz-dots{list-style:none;margin:0;padding:0;display:flex;gap:8px;align-items:center}
.wz-dot{height:8px;width:8px;border-radius:99px;background:#CBD5E1;transition:width .4s cubic-bezier(.2,.8,.2,1),background .3s}
.wz-dot.done{background:var(--ink-soft)}
.wz-dot.on{width:28px;background:var(--accent)}
.wz-skip{justify-self:end;border:0;background:none;color:var(--muted);font-weight:600;font-size:14.5px;cursor:pointer;padding:0 14px;border-radius:12px;min-height:44px}
.wz-skip:hover{color:var(--ink);background:var(--line-soft)}
.wz-main{flex:1;display:flex;justify-content:center;padding:clamp(20px,6vh,60px) clamp(20px,5vw,40px) 24px}
.wz-step{--wz-w:640px;width:100%;max-width:var(--wz-w);display:flex;flex-direction:column}
.wz-step.wide{--wz-w:1040px}
.wz-step.in-fwd{animation:wzFwd .45s cubic-bezier(.2,.8,.2,1) both}
.wz-step.in-back{animation:wzBack .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes wzFwd{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes wzBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.wz h1{font-size:clamp(28px,4.6vw,42px);line-height:1.1;letter-spacing:-.03em;font-weight:700;margin:0 0 14px;text-align:left;color:var(--ink)}
.wz .lede{font-size:clamp(16px,2.1vw,19px);line-height:1.5;color:var(--muted);margin:0 0 30px;max-width:none}
.wz .empty{padding:80px 0}
.wz-names{display:block;width:100%;min-height:214px;padding:20px 22px;font-size:20px;line-height:1.65;white-space:pre;overflow:auto;border:1.5px solid var(--field);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04),0 22px 44px -32px rgba(15,23,42,.3);resize:vertical;font-family:inherit;color:var(--ink)}
.wz-names::placeholder{color:#A8B3C2}
.wz-names:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 22px 44px -32px rgba(15,23,42,.3)}
.wz-hint{font-size:14px;color:var(--muted);margin:14px 0 0;line-height:1.55;max-width:60ch}
.wz-prev{margin-top:22px;min-height:44px}
.wz-prev-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.wz-count{font-size:15.5px}
.wz-count.muted{color:var(--muted)}
.wz-enter{font-size:13px;color:var(--muted)}
.wz-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wz-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 15px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:15px;box-shadow:0 1px 2px rgba(15,23,42,.05);animation:wzChip .28s cubic-bezier(.2,.8,.2,1) both;max-width:100%}
.wz-chip-t{min-width:0}
.wz-chip b{font-weight:600}
.wz-chip small{display:block;font-size:12px;color:var(--muted);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-chip.more{padding:8px 15px;color:var(--muted);background:transparent;border-style:dashed}
.wz-chip.out{opacity:.45;border-style:dashed}
.wz-chip-x{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:var(--line-soft);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.wz-chip-x .ico{width:13px;height:13px}
.wz-chip-x:hover{background:var(--bad-soft);color:var(--bad)}
@keyframes wzChip{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.wz-note{font-size:14px;color:var(--ink-soft);margin:12px 0 0;line-height:1.5}
.wz-note.warn{color:#7C4A03;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px;padding:10px 14px}
.wz-note.ok{color:var(--steel);background:var(--steel-soft);border:1px solid #BDEAF2;border-radius:12px;padding:10px 14px;margin:0 0 18px}
.wz .form-err{margin:18px 0 0}
.wz-help{margin:30px 0 0;font-size:14px;color:var(--muted)}
.wz-foot{position:sticky;bottom:0;padding:16px clamp(20px,5vw,40px) calc(16px + var(--sab));background:rgba(250,251,253,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid rgba(226,232,240,.8);z-index:5}
.wz-foot-in{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto;max-width:var(--wz-w,640px)}
.wz[data-wide] .wz-foot-in{max-width:1040px}
.wz-foot-r{display:flex;align-items:center;gap:6px;margin-left:auto}
.wz-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink-soft);font-weight:600;font-size:15px;min-height:48px;padding:0 14px 0 8px;border-radius:12px;cursor:pointer}
.wz-back:hover,.wz-later:hover{background:var(--line-soft);color:var(--ink)}
.wz-later{border:0;background:none;color:var(--muted);font-weight:600;font-size:15px;min-height:48px;padding:0 16px;border-radius:12px;cursor:pointer}
#wz-go.busy{opacity:.7;cursor:progress}
/* step 2: how much paid time off */
.wz-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wz-tile{position:relative;display:flex;margin:0;cursor:pointer}
.wz-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.wz-tile-b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:112px;padding:16px 10px;border:1.5px solid var(--line);border-radius:18px;background:#fff;text-align:center;transition:border-color .15s,box-shadow .2s,background .15s,transform .15s;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.wz-tile-b b{font-size:36px;line-height:1;letter-spacing:-.03em;font-weight:700;color:var(--ink)}
.wz-tile-b span{font-size:14px;color:var(--muted);line-height:1.4}
.wz-tile:hover .wz-tile-b{border-color:#CBD5E1;transform:translateY(-1px)}
.wz-tile input:checked + .wz-tile-b{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px rgba(217,119,6,.14)}
.wz-tile input:checked + .wz-tile-b b{color:var(--accent-dark)}
.wz-tile input:focus-visible + .wz-tile-b{outline:2px solid var(--accent-dark);outline-offset:3px}
.wz-tile.wide{grid-column:span 2}
.wz-tile.wide .wz-tile-b{min-height:88px;align-items:flex-start;text-align:left;padding:16px 18px}
.wz-tile.wide .wz-tile-b b{font-size:18px;letter-spacing:-.01em;line-height:1.25}
.wz-other{margin:18px 0 0;max-width:280px}
.wz-other label{font-size:14px;color:var(--ink-soft)}
.wz-other input{font-size:22px;min-height:54px;border-radius:14px;padding:10px 16px}
.wz-unit{margin:34px 0 0}
.wz-unit .lbl{font-size:14px;color:var(--ink-soft);margin:0 0 8px}
/* step 3: sick leave */
.wz-opts{display:flex;flex-direction:column;gap:12px}
.wz-opt{position:relative;display:block;margin:0;cursor:pointer}
.wz-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.wz-opt-b{display:block;position:relative;padding:18px 20px 18px 58px;border:1.5px solid var(--line);border-radius:18px;background:#fff;transition:border-color .15s,box-shadow .2s,background .15s;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.wz-opt-b::before{content:"";position:absolute;left:20px;top:21px;width:20px;height:20px;border-radius:50%;border:1.5px solid #CBD5E1;background:#fff;transition:border-color .15s,background .15s}
.wz-opt:hover .wz-opt-b{border-color:#CBD5E1}
.wz-opt input:checked + .wz-opt-b{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px rgba(217,119,6,.12)}
.wz-opt input:checked + .wz-opt-b::before{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 5px,#fff 6px)}
.wz-opt input:focus-visible + .wz-opt-b{outline:2px solid var(--accent-dark);outline-offset:3px}
.wz-opt-b b{display:block;font-size:17px;font-weight:650;margin:0 0 3px;letter-spacing:-.01em;color:var(--ink)}
.wz-opt-b span{display:block;font-size:14.5px;color:var(--muted);line-height:1.5}
/* step 4: kind of business */
.wz-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wz-card{position:relative;display:flex;margin:0;cursor:pointer}
.wz-card input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.wz-card-b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:136px;padding:20px 10px 16px;border:1.5px solid var(--line);border-radius:18px;background:#fff;text-align:center;transition:border-color .15s,box-shadow .2s,background .15s,transform .15s;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.wz-card-b i{width:46px;height:46px;border-radius:14px;background:var(--line-soft);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.wz-card-b i svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wz-card-b b{font-size:14.5px;line-height:1.3;font-weight:600;color:var(--ink)}
.wz-card:hover .wz-card-b{border-color:#CBD5E1;transform:translateY(-1px)}
.wz-card input:checked + .wz-card-b{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px rgba(217,119,6,.14)}
.wz-card input:checked + .wz-card-b i{background:#fff;color:var(--accent-dark)}
.wz-card input:focus-visible + .wz-card-b{outline:2px solid var(--accent-dark);outline-offset:3px}
/* step 5: how your team asks */
.wz-share{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:start}
.wz-phone-wrap{position:sticky;top:24px}
.wz-cap{font-size:13px;font-weight:600;color:var(--muted);text-align:center;margin:0 0 12px;letter-spacing:.02em}
.wz-phone{width:300px;height:580px;border-radius:46px;background:#0F172A;padding:11px;box-shadow:0 44px 80px -40px rgba(15,23,42,.6),0 0 0 1px rgba(15,23,42,.08)}
.wz-phone-in{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;background:#F1F5F9}
.wz-phone-in::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:86px;height:22px;border-radius:99px;background:#0F172A;z-index:2}
.wz-phone iframe{position:absolute;top:0;left:0;width:375px;height:752px;border:0;transform:scale(.7413);transform-origin:0 0;pointer-events:none;background:#F1F5F9}
.wz-ways{display:flex;flex-direction:column;gap:14px}
.wz-way{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;box-shadow:var(--shadow)}
.wz-way h2{font-size:17px;margin:0 0 4px;letter-spacing:-.01em}
.wz-way > p{margin:0 0 14px;color:var(--muted);font-size:14.5px}
.wz-way .copyrow input{min-height:44px;font-size:13px}
.wz-msg{background:var(--line-soft);border-radius:12px;padding:12px 14px;margin:0 0 12px;font:inherit;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft)}
body.in-wizard .ask-panel{left:auto;right:20px}
.dw .wz-names{font-size:15px;line-height:1.55;min-height:150px;padding:14px 16px;border-radius:14px}
body.in-wizard .toast{bottom:auto;top:calc(76px + var(--sat));transform:translateX(-50%) translateY(-14px)}
body.in-wizard .toast.show{transform:translateX(-50%)}
@media(max-width:640px){body.in-wizard .toast{top:calc(104px + var(--sat))}}
@media(max-width:899px){body.in-wizard .ask-panel{right:0}}
@media(max-width:899px){
  .wz-share{grid-template-columns:1fr;gap:28px}
  .wz-phone-wrap{position:static;order:2}
  .wz-phone{margin:0 auto}
}
@media(max-width:640px){
  .wz-top{grid-template-columns:1fr auto;grid-template-areas:"logo skip" "dots dots";row-gap:14px}
  .wz-top .side-logo{grid-area:logo}
  .wz-skip{grid-area:skip}
  .wz-dots-wrap{grid-area:dots;justify-self:start}
  .wz-main{padding-top:18px}
  .wz-names{font-size:18px;min-height:190px}
  .wz-tiles,.wz-cards{grid-template-columns:repeat(2,1fr)}
  .wz-tile-b{min-height:96px}
  .wz-tile-b b{font-size:32px}
  .wz-foot{padding-left:20px;padding-right:20px}
  .wz-foot-in{flex-direction:column-reverse;align-items:stretch}
  .wz-foot-r{width:100%;flex-direction:column-reverse;align-items:stretch;gap:4px;margin-left:0}
  .wz-foot-r .btn.big{width:100%}
  .wz-back{margin:0 auto}
  .wz-later{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .wz-step.in-fwd,.wz-step.in-back,.wz-chip,.stuck{animation:none}
  .wz-dot,.wz-tile-b,.wz-opt-b,.wz-card-b{transition:none}
  .wz-tile:hover .wz-tile-b,.wz-card:hover .wz-card-b{transform:none}
}

/* ---------- poster ---------- */
.poster-sheet{position:fixed;inset:0;background:var(--bg);z-index:140;overflow-y:auto}
.poster-bar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px clamp(16px,3vw,28px);z-index:2;flex-wrap:wrap}
.poster-bar b{display:block;font-size:15px}
.poster-bar span{font-size:13px;color:var(--muted)}
.poster-acts{display:flex;gap:8px}
.poster-page{width:min(794px,calc(100% - 32px));margin:28px auto 60px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:210/297;display:flex;align-items:center;justify-content:center;padding:6%}
.poster{width:100%;text-align:center;color:var(--ink);font-family:var(--sans)}
.poster-co{font-size:clamp(13px,2.3vw,20px);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-dark);margin:0 0 12px}
.poster-h{font-size:clamp(34px,8.4vw,78px);line-height:1;letter-spacing:-.035em;margin:0 0 10px;text-align:center}
.poster-sub{font-size:clamp(15px,2.6vw,26px);color:var(--ink-soft);margin:0 0 4%}
.poster-qr{width:min(58%,400px);margin:0 auto 12px}
.poster-qr svg{display:block;width:100%;height:auto}
.poster-scan{font-size:clamp(13px,2.2vw,22px);font-weight:600;margin:0 0 5%}
.poster-steps{list-style:none;margin:0 auto;padding:0;max-width:80%;text-align:left;display:flex;flex-direction:column;gap:12px}
.poster-steps li{display:flex;align-items:center;gap:14px;font-size:clamp(13px,2.4vw,24px)}
.poster-steps b{flex:none;width:2em;height:2em;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85em}
.poster-link{margin:6% 0 0;font-size:clamp(10px,1.6vw,15px);color:var(--muted);word-break:break-all;font-family:var(--mono)}
@page{margin:0}
@media print{
  body.poster-printing > *:not(#poster-sheet){display:none!important}
  body.poster-printing #poster-sheet{position:static;display:block;background:#fff;overflow:visible}
  body.poster-printing .poster-bar{display:none}
  body.poster-printing .poster-page{width:210mm;height:296mm;margin:0;border:0;box-shadow:none;aspect-ratio:auto;padding:18mm}
  body.poster-printing .poster-h{font-size:84px}
  body.poster-printing .poster-co{font-size:20px}
  body.poster-printing .poster-sub{font-size:28px}
  body.poster-printing .poster-scan{font-size:22px}
  body.poster-printing .poster-steps li{font-size:24px}
  body.poster-printing .poster-link{font-size:14px}
}

/* ---------- policies in plain words, Simple and Advanced ---------- */
.pol-row .pw{font-size:15px;line-height:1.45;color:var(--ink);font-weight:600}
.pol-row .pw small{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:2px}
.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.mode-bar p{margin:0;font-size:13px;color:var(--muted)}
.mode-note{font-size:12.5px;color:var(--muted);margin:-8px 0 14px}
.radiolist{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
.radiolist label{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:500;color:var(--ink-soft);cursor:pointer;min-height:36px}
.radiolist input{width:18px;height:18px;accent-color:var(--accent);margin:0;flex:none}
.radiolist .inl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.radiolist .inl input[type=number]{width:110px}
.fmla-switch{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 14px;background:#FAFBFD}
.fmla-switch .check{margin:0}
.fmla-switch .hint{margin:6px 0 0 26px}

.cr-pack-sug{display:inline-block;margin:2px 0 0;font-size:11px;font-weight:700;color:var(--accent-dark);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:1px 9px;width:fit-content}

/* ================= time off in lieu, pay and the leave liability ================= */
.t-toil{background:#EEF1F8;color:#3F4F75;border-color:#D5DBEA}
.toil-sentence{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r);padding:12px 14px;font-size:15px;font-weight:600;line-height:1.45;color:#7C4A03;margin:0 0 16px}
.toil-us{margin:14px 0 0}
.toil-exp{font-size:11.5px;color:var(--accent-dark);font-weight:600;margin-top:2px;white-space:nowrap}
.toil-add .card-head{margin:0}
.rq-switch{margin:0 0 14px}
.rq-switch button .cnt{display:inline-block;min-width:18px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;margin-left:4px}
.liab{display:block}
.liab-controls{margin:0 0 16px}
.liab-fields{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start}
.liab-fields .field{margin:0;min-width:150px}
.liab-oc .inline{display:flex;align-items:center;gap:8px}
.liab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 16px}
.liab-head .sub{max-width:62ch}
.liab-tiles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.liab-tiles .stat .v{font-size:26px}
.liab-body .tbl-wrap,.liab-body .rp-tbl-wrap{margin:0 0 16px}
.liab-miss{color:var(--accent-dark);font-weight:600;font-size:12.5px}
.liab-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:0 0 16px;align-items:start}
.liab-groups .card + .card{margin-top:0}
.liab-group .tbl{margin:0}
.liab-mfields{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end;margin:0 0 14px}
.liab-mfields .field{margin:0;min-width:150px}
.liab-journal{max-width:520px}
.liab-journal td:first-child{font-weight:600}
@media(max-width:640px){
  .liab-fields .field{flex:1 1 100%}
  .liab-tiles{grid-template-columns:1fr 1fr}
  .liab-groups{grid-template-columns:1fr}
}
@media print{
  .liab-controls,.liab-head .actions{display:none!important}
  .liab-tiles{grid-template-columns:repeat(3,1fr);gap:8pt;margin:0 0 10pt}
  .liab-tiles .stat{box-shadow:none;border:1px solid #CBD5E1;padding:6pt 8pt;break-inside:avoid}
  .liab-tiles .stat .v{font-size:14pt}
  .liab-groups{display:block}
  .liab-groups .card,.liab-move,#liab-norate{box-shadow:none;border:0;padding:0 0 10pt;break-inside:avoid}
  .liab-move{break-before:auto}
}
.liab-controls .check small,.liab-mfields .check small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:1px;line-height:1.4}
.liab-journal th.n,.liab-journal td.n{width:150px}
.liab-tiles .stat{min-width:0}
.liab-groups > *{min-width:0}
.liab-group{overflow:hidden}
.liab-group .tbl-wrap{margin:0}
.liab-body .rp-tbl-wrap{max-height:none}
.liab-nr{display:block;font-size:11.5px;color:var(--muted);font-weight:500}
.liab-journal{width:100%;table-layout:auto}
.liab-journal th.n,.liab-journal td.n{width:auto;white-space:nowrap}
/* ---------- Simple policy editor: the sentence on top, rows of "after N years: M days" ---------- */
.pol-live{z-index:3;background:var(--line-soft);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin:0 0 16px;font-size:14px;line-height:1.45;color:var(--ink);font-weight:600;box-shadow:0 6px 10px -8px rgba(15,23,42,.35)}
.s-tier{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:13.5px;color:var(--ink-soft)}
.s-tier input[type=number]{width:84px;flex:none}
.s-tier .sfx{width:132px;flex:none}
.s-tier .sfx input{padding-right:50px;width:100%}
@media (min-width:641px){.pol-live{position:sticky;top:-1px}}
.s-tier .s-tier-t{flex:none}
@media (max-width:520px){
  .s-tier{display:grid;grid-template-columns:auto 72px auto minmax(0,1fr) 34px;gap:8px}
  .s-tier .sfx{width:auto;min-width:0}
}
.sched-sum{font-size:13px;color:var(--ink-soft);margin:6px 0 0}
.sched-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft)}
.sched-row input[type=number]{width:58px;flex:none;padding-left:10px;padding-right:6px}
.hol-h{font-size:13.5px;margin:20px 0 0;color:var(--ink)}
.hol-range{display:grid;grid-template-columns:150px 150px 1fr auto;gap:8px;align-items:end;margin:8px 0 0}
.hol-range .field{margin:0}
@media (max-width:640px){
  .hol-add{grid-template-columns:1fr}
  .hol-range{grid-template-columns:1fr 1fr}
  .hol-range .hr-name{grid-column:1 / -1}
  .hol-range .btn{grid-column:1 / -1}
}
@media (max-width:520px){.hol-pub .btn{white-space:normal;text-align:left;max-width:100%}}

/* ---------- tutorial videos (video.js): the dialog, the small cards, the quiet lines ---------- */
body.vd-open{overflow:hidden}
.vd-wrap{position:fixed;inset:0;z-index:160;background:rgba(15,23,42,.78);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .18s}
.vd-wrap.open{opacity:1}
.vd{width:min(960px,100%);max-height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);display:flex;flex-direction:column}
.vd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 18px;border-bottom:1px solid var(--line)}
.vd-head h2{font-size:15.5px;margin:0;line-height:1.35}
.vd-stage{background:#0F172A;aspect-ratio:16/9;width:100%;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px)}
.vd-stage video{display:block;width:100%;height:100%;object-fit:contain;background:#0F172A}
.vd-note{margin:0;padding:10px 18px 12px;font-size:12.5px;color:var(--muted)}
.vd-sent{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.vd-card{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink-soft);font-size:13px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.vd-card .ico{width:20px;height:20px;color:var(--accent-dark)}
.vd-card:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.ask-videos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;text-align:left}
.ask-videos .vd-card{width:100%}
.ask-after{margin:14px 0 0}
.ask-after .ask-chips{margin-top:0}
.vd-list{list-style:none;margin:0;padding:0}
.vd-list li + li{border-top:1px solid var(--line-soft)}
.vd-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.vd-row .ico{width:24px;height:24px;color:var(--accent-dark)}
.vd-row b{display:block;font-size:14px;font-weight:600}
.vd-row small{display:block;font-size:12.5px;color:var(--muted)}
.vd-row:hover b{color:var(--accent-dark)}
.wz-watch{margin:-16px 0 26px;font-size:14.5px;color:var(--muted)}
.watch-line{margin:0 0 16px;font-size:14px;color:var(--muted)}
.whatnow-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.whatnow-r .linkbtn{font-size:13.5px}
.whatnow-h{gap:10px;flex-wrap:wrap}
@media(max-width:640px){
  .vd-wrap{padding:0}
  .vd{border-radius:0;width:100%}
  .vd-head h2{font-size:14.5px}
  .vd-stage{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px)}
  .whatnow-r{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.vd-wrap,.vd-card{transition:none}}
@media print{.vd-wrap{display:none!important}}

/* ---------- email preferences: Settings > Account "Notifications", Settings > Company "Emails to employees" ---------- */
.np-card{max-width:760px;margin-top:16px;scroll-margin-top:76px}
.np-list{list-style:none;margin:0;padding:0}
.np-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line-soft)}
.np-row:first-child{border-top:0}
.np-t{display:block;flex:1;min-width:0;padding:12px 0;cursor:pointer}
.np-t b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.np-t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;font-weight:400;color:var(--muted)}
.np-sw{flex:none;display:inline-flex;align-items:center;min-height:44px}
.np-sw input{appearance:none;-webkit-appearance:none;position:relative;width:42px;height:26px;margin:0;border-radius:99px;background:var(--field);cursor:pointer;transition:background .18s}
.np-sw input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.3);transition:transform .18s}
.np-sw input:checked{background:var(--accent)}
.np-sw input:checked::after{transform:translateX(16px)}
.np-sw input:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.np-sw input:disabled{opacity:.5;cursor:not-allowed}
.np-notice{margin:12px 0 0;padding:10px 12px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft);color:var(--ink-soft);font-size:13px;line-height:1.45}
.np-foot{margin:12px 0 0;font-size:12.5px;color:var(--muted)}
.np-card:focus{outline:none}
.np-card.np-flash{animation:npFlash 1.8s ease-out 1}
@keyframes npFlash{0%,40%{box-shadow:0 0 0 4px var(--accent-line),var(--shadow)}100%{box-shadow:var(--shadow)}}
@media(prefers-reduced-motion:reduce){.np-sw input,.np-sw input::after{transition:none}.np-card.np-flash{animation:none}}

/* ================= attendance points (APP-SPEC-ATTENDANCE.md): calm, amber from the first step, the danger colour only at the last ================= */
.at-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
.at-tile{appearance:none;-webkit-appearance:none;text-align:left;display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 18px 14px;
  cursor:pointer;font:inherit;color:inherit;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s,transform .18s}
.at-tile:hover{border-color:#CBD5E1;transform:translateY(-1px)}
.at-tile.static{cursor:default}
.at-tile.static:hover{border-color:var(--line);transform:none}
.at-tile .l{font-size:12.5px;font-weight:600;color:var(--muted)}
.at-tile .v{font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:8px;color:var(--ink-soft)}
.at-tile.warn.has .v{color:var(--accent-dark)}
.at-tile .s{font-size:12.5px;color:var(--muted);min-height:19px}
.at-tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}
.at-bar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.at-bar-row select{width:auto;min-width:150px;max-width:220px}
.at-search{position:relative;flex:1 1 220px;max-width:320px;min-width:180px}
.at-search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);width:16px;height:16px;pointer-events:none}
.at-search input{padding-left:34px}
.at-chips{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.at-chip{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;cursor:pointer;min-height:34px}
.at-chip:hover{border-color:#CBD5E1;background:#F8FAFC;color:var(--ink)}
.at-chip .n{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.at-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.at-chip[aria-pressed=true] .n{color:rgba(255,255,255,.7)}
.at-tbl td{vertical-align:top;padding-top:12px;padding-bottom:12px}
.at-tbl td.at-who a{font-weight:600}
.at-cell{display:block}
.at-sub{display:block;font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
.at-d{display:block;font-weight:600;color:var(--ink)}
.at-num{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.at-num.zero{color:var(--muted);font-weight:600}
.at-meter{display:block;height:5px;width:120px;border-radius:999px;background:var(--line-soft);margin:6px 0 4px;overflow:hidden}
.at-meter i{display:block;height:100%;background:#94A3B8;border-radius:inherit}
.at-meter.warn i{background:var(--accent)}
.at-meter.bad i{background:var(--bad)}
.at-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}
.at-pill.warn{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--accent-line)}
.at-pill.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.at-act{text-align:right}
.at-foot{font-size:12px;color:var(--muted);margin:16px 0 0;max-width:72ch;line-height:1.5}
/* the add form */
.at-kinds label{justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-height:44px;background:#fff}
.at-kinds label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.at-kinds .at-kn{flex:1;font-weight:600;color:var(--ink)}
.at-kinds .at-kp{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.at-kinds label input{order:-1}
.at-pv{margin:2px 0 12px}
.at-pv:empty{display:none}
.at-pv-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--r);background:#FAFBFD;padding:12px 14px}
.at-pv-row .l{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.at-pv-row .v{font-size:24px;font-weight:700;letter-spacing:-.02em}
.at-arrow{color:var(--muted);display:flex}
.at-pv-step{font-size:13px;color:var(--ink-soft);margin:8px 0 0;line-height:1.5}
.at-pv-hint{font-size:13px;margin:0}
.at-protected{margin:0}
.at-caution{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.5}
.at-caution-lg{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.55;max-width:64ch}
.at-offer{font-size:12.5px;color:var(--ink-soft)}
.at-offer .linkbtn{margin-left:4px}
.at-offer-note{margin:0 0 14px}
/* the person page card */
.at-sum{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:0 0 18px}
.at-big .v{display:block;font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
.at-big .l{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.at-sum-r p{margin:0 0 5px}
.at-line{font-size:13.5px;color:var(--ink-soft)}
.at-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin:0 0 6px}
.at-drops h3,.at-steps h3,.at-hist h3{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
.at-drops ul{list-style:none;margin:0;padding:0;font-size:13.5px;color:var(--ink-soft)}
.at-drops li{padding:4px 0}
.at-ackcell{white-space:normal}
.at-done{font-size:12.5px;color:var(--steel);display:block;max-width:240px}
.at-ev.voided .nm,.at-ev.voided .num{text-decoration:line-through;color:var(--muted)}
.at-ev.voided .meta{color:var(--muted)}
.at-kind{font-weight:500;color:var(--ink-soft);margin-left:4px}
.at-evr{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.at-void{font-size:12px;color:var(--muted)}
.at-void:hover{color:var(--bad)}
.at-hist .list .meta{white-space:normal;max-width:60ch}
/* settings */
.at-switch .check small,#at-form .check small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.5;max-width:60ch}
.at-krow{display:grid;grid-template-columns:minmax(0,1fr) 132px 36px;gap:8px;margin:0 0 8px;align-items:center}
.at-srow{margin:0 0 14px}
.at-srow-main{display:grid;grid-template-columns:auto 96px auto minmax(0,1fr) 36px;gap:8px;align-items:center}
.at-s-t{font-size:13px;color:var(--muted);font-weight:600}
.at-snote{margin-top:6px;font-size:13px}
.at-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--ink-soft)}
.at-inline input{width:92px}
.at-live{background:#FAFBFD;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:14px;color:var(--ink-soft);max-width:760px;line-height:1.5}
.at-live .l{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:2px}
/* the printable record */
.at-record{font-family:var(--sans);color:#0F172A;font-size:12.5px;line-height:1.5}
.at-rec-head{border-bottom:2px solid #0F172A;padding-bottom:10px;margin:0 0 14px}
.at-rec-k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#475569;font-weight:700;margin:0 0 4px}
.at-rec-head h2{font-size:24px;margin:0;letter-spacing:-.01em}
.at-rec-s{margin:4px 0 0;color:#475569;font-size:12.5px}
.at-rec-total{display:flex;align-items:baseline;gap:10px;margin:0 0 6px}
.at-rec-total .v{font-size:34px;font-weight:700;letter-spacing:-.02em}
.at-rec-total .l{font-size:13px;color:#334155}
.at-rec-p{font-size:12px;color:#475569;margin:0 0 4px;max-width:70ch}
.at-record h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:20px 0 6px;color:#0F172A}
.at-rec-t{width:100%;border-collapse:collapse;font-size:12px}
.at-rec-t th,.at-rec-t td{text-align:left;padding:6px 8px;border-bottom:1px solid #CBD5E1;vertical-align:top}
.at-rec-t th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#475569;background:#F8FAFC}
.at-rec-t .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.at-rec-t .nw{white-space:nowrap}
.at-rec-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:46px 0 0}
.at-rec-sign div{border-top:1px solid #64748B;padding-top:4px;font-size:11px;color:#475569}
.at-rec-sign span{display:none}
.at-rec-foot{font-size:10.5px;color:#64748B;margin:22px 0 0;border-top:1px solid #E2E8F0;padding-top:8px;line-height:1.5}
@media(max-width:899px){.at-cols{grid-template-columns:1fr}}
@media(max-width:760px){
  .at-tiles{grid-template-columns:1fr 1fr;gap:10px}
  .at-tiles .at-tile.static{grid-column:1 / -1}
  .at-tile{padding:12px 14px 11px}
  .at-tile .v{font-size:26px;margin-top:5px}
  .at-bar-row select{flex:1 1 calc(50% - 4px);max-width:none;min-width:0}
  .at-search{flex:1 1 100%;max-width:none}
  .at-chips{margin-left:0;width:100%}
  .at-wrap{border:none;background:none;box-shadow:none;overflow:visible}
  .at-tbl,.at-tbl tbody,.at-tbl tr,.at-tbl td{display:block}
  .at-tbl thead{display:none}
  .at-tbl tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin:0 0 10px;box-shadow:var(--shadow)}
  .at-tbl td{border:none;padding:5px 0;white-space:normal;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .at-tbl td::before{content:attr(data-l);font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:700;letter-spacing:.05em;flex:none;padding-top:4px}
  .at-tbl td.at-who{font-size:15px;padding-bottom:8px;border-bottom:1px solid var(--line-soft);margin-bottom:4px}
  .at-tbl td.at-who::before{display:none}
  .at-tbl td > .at-cell{text-align:right}
  .at-meter{margin-left:auto}
  .at-tbl td.at-empty{display:none}
  .at-tbl td.at-act{justify-content:flex-end;padding-top:8px}
  .at-tbl td.at-act::before{display:none}
  .at-krow{grid-template-columns:minmax(0,1fr) 36px;margin-bottom:12px}
  .at-krow input[name=kname]{grid-column:1 / -1}
  .at-krow .sfx{max-width:140px}
  .at-srow-main{grid-template-columns:auto 84px minmax(0,1fr) 36px}
  .at-srow-main input[name=sname]{grid-column:1 / -1;grid-row:2}
  .at-srow-main .xbtn{grid-column:4;grid-row:1}
  .at-big .v{font-size:38px}
  .at-sum{gap:16px}
  .at-evr{flex-direction:column;align-items:flex-end;gap:4px}
}
@media(prefers-reduced-motion:reduce){.at-tile{transition:none}.at-tile:hover{transform:none}}
@media print{
  .at-record{font-size:11.5px}
  .at-rec-t th{background:#fff!important;border-bottom:1.5px solid #0F172A}
}

/* ---------- pricing 3 and the policy editor: a quiet line with a button, the unit next to "How much a year?", the long list in a dialog ---------- */
.note.quiet{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap}
.note.quiet > span:first-child{flex:1;min-width:220px}
.note .nt-a{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.note .nt-a .btn.sm{min-height:0;padding:5px 12px;font-size:12.5px;line-height:1.3;box-shadow:none}
.amt-unit{display:flex;align-items:center;gap:8px}
.amt-unit input{flex:1 1 auto;min-width:0}
.amt-unit select{flex:none;width:auto;min-width:96px}
.md-list{max-height:min(46vh,320px);overflow:auto}
@media (max-width:640px){.note .nt-a .btn.sm{min-height:40px}}

/* ================= billing: plan cards, price and the Monthly / Yearly switch (billing.js) ================= */
.pc-grid{grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}
.bl-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.plan-card.pc{gap:4px}
.pc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.pc-price{display:flex;align-items:baseline;gap:5px;margin-top:4px}
.pc-price b{font-size:26px;font-weight:750;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.pc-price span{font-size:12.5px;color:var(--muted)}
.pc-sub{font-size:12.5px;color:var(--ink-soft);min-height:19px}
.plan-card .bl-note{line-height:1.45}
.plan-card .btn{align-self:flex-start;margin-top:6px}
@media (max-width:760px){.pc-grid{grid-template-columns:1fr}}
.plan-card.pc .btn{align-self:stretch;justify-content:center;text-align:center;padding-left:10px;padding-right:10px}

/* ================= accessibility (wave 5) ================= */
.skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:10px 16px;border-radius:9px;font-weight:600;font-size:14px;text-decoration:none;transition:top .12s}
.skip:focus{top:12px;text-decoration:none;outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px var(--ink)}
/* a link inside a sentence is underlined, so it is not told apart by colour alone */
:is(p,.sub,.hint,.note,.small,.muted,.meta,.empty,.form-err,.form-ok,.cmp-banner,.sb-note,.trial-banner) a:not(.btn):not(.tab):not(.xbtn){text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
:is(p,.sub,.hint,.note,.small,.muted,.meta,.empty,.form-err,.form-ok,.cmp-banner,.sb-note,.trial-banner) a:not(.btn):not(.tab):not(.xbtn):hover{text-decoration-thickness:2px}
.cmp-banner a{color:inherit;font-weight:600}
.note a:not(.btn),.sb-note a:not(.btn){color:#92400E}
/* an error toast stays until it is dismissed */
.toast .toast-x{border:0;background:transparent;color:inherit;width:28px;height:28px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;margin:-4px -8px -4px 10px;opacity:.9}
.toast .toast-x:hover{background:rgba(255,255,255,.18);opacity:1}
.toast .toast-x:focus-visible{outline:2px solid #fff;outline-offset:1px}
.toast.bad.show{pointer-events:auto;display:flex;align-items:center}
.toast .toast-x .ico{width:15px;height:15px}
.skip-target:focus{outline:none}
#view:focus,#view h1:focus,[tabindex="-1"]:focus{outline:none}
[data-a11y-scroll]:focus-visible{outline:2px solid var(--accent-dark);outline-offset:-2px}
.cal-row{display:contents}
@media(max-width:640px){
  .topbar,.tb-right{min-width:0;max-width:100%}
  .menu-btn{flex:0 1 auto;min-width:0}
}
/* US public agency comp time (FLSA 7(o)), toil.js */
.flsa-ot{color:var(--accent-dark);font-weight:600}
.flsa-note{margin:0 0 14px}
.flsa-fixed{margin:14px 0 0}
.flsa-fixed ul,.flsa-pay .note ul{margin:6px 0 0;padding-left:18px}
.flsa-fixed li,.flsa-pay .note li{margin:0 0 4px}
.flsa-law{margin:14px 0 0;font-size:13px;color:var(--ink-soft)}
.flsa-law summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.flsa-law ul{margin:6px 0 0;padding-left:18px}
.flsa-law li{margin:0 0 8px;line-height:1.45}
.flsa-person{margin:14px 0 0}
.flsa-box{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:0 0 14px;background:var(--surface)}
.flsa-box h3,.flsa-pay h3,.flsa-h{font-size:15px;margin:0 0 10px;font-weight:650}
.flsa-h{margin:22px 0 10px}
.flsa-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}
.flsa-tile{background:var(--line-soft);border-radius:9px;padding:10px 12px;min-width:0}
.flsa-tile .v{font-size:19px;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.flsa-tile .l{font-size:12px;color:var(--muted);margin-top:2px}
.flsa-box .actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0}
.flsa-cats label{align-items:flex-start}
.flsa-cats label small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:1px;line-height:1.4}
.flsa-cats input{margin-top:3px}
.flsa-pay{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:0 0 14px}
.flsa-pay p{margin:0 0 8px;font-size:14px;line-height:1.5}
.flsa-amt{font-size:17px}
@media(max-width:520px){.flsa-tiles{grid-template-columns:1fr 1fr 1fr;gap:6px}.flsa-tile{padding:8px 8px}.flsa-tile .v{font-size:16px}}
.sample-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.sample-note-t{flex:1;min-width:220px}
.wz-sample{margin:14px 0 0;font-size:14.5px;color:var(--ink-soft)}
.wz-pack-n{margin:18px 0 10px;font-size:15px}
.wz-pack{margin:0 0 6px}
.wz-pack .wz-chip{padding:6px 15px}
/* wellbeing: Reports, Time off and the Today card (wellbeing.js) */
.wb-controls{margin:0 0 16px}
.wb-show{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:0 0 14px}
.wb-show .lbl{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.wb-fields{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start}
.wb-fields .field{margin:0;min-width:150px}
.wb-fields .sfx{width:150px}
.wb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 16px}
.wb-head .sub{max-width:64ch}
.wb-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.wb-tiles .stat .v{font-size:26px}
.wb-body .rp-tbl-wrap{margin:0 0 12px}
.wb-tbl td{vertical-align:top}
.wb-tbl td.wb-why{white-space:normal;min-width:240px}
.wb-why-sm{display:none;margin-top:6px;white-space:normal}
.wb-why-sm .pill{margin:0 4px 4px 0}
.wb-tbl td.wb-why .pill{margin:0 4px 4px 0}
.wb-sub{font-weight:500;margin-top:1px}
.wb-sort{border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.wb-sort:hover{color:var(--ink)}
.wb-sort:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px;border-radius:4px}
.wb-small{margin:0 0 16px}
.wb-settings{margin:22px 0 0}
.wb-settings .wb-fields{margin:0 0 14px}
.wb-settings .check small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px;line-height:1.4}
.wb-slot:empty{display:none}
.wb-card{margin:0 0 18px}
.wb-blocks{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;align-items:start}
.wb-block{min-width:0}
@media(max-width:900px){.wb-blocks{grid-template-columns:1fr}.wb-block + .wb-block{padding-top:14px;border-top:1px solid var(--line-soft)}}
.wb-line{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ink)}
@media(max-width:640px){
  .wb-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .wb-fields .field,.wb-fields .sfx{width:100%;min-width:0}
  .wb-fields .field:nth-child(n+3){grid-column:1 / -1}
  .wb-why-sm{display:block}
  .wb-tiles{grid-template-columns:1fr}
  .wb-show .seg{flex-wrap:wrap}
}
@media print{
  .wb-head,.wb-controls,.wb-settings{display:none!important}
  .wb-tiles{grid-template-columns:repeat(3,1fr);gap:8pt;margin:0 0 10pt}
  .wb-tbl td.wb-why{min-width:0}
}

/* ================= checklists (checklists.js) ================= */
.ck-slot:empty{display:none}
.ck-today > .ck-card:only-child{grid-column:1 / -1}
.ck-card{margin:0 0 18px}
.ck-tasks{list-style:none;margin:0;padding:0}
.ck-task{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line-soft)}
.ck-task:first-child{border-top:0;padding-top:4px}
.ck-check{flex:none;width:24px;height:24px;margin:1px 0 0;padding:0;border-radius:50%;border:1.5px solid var(--field);background:var(--surface);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}
.ck-check:hover:not(:disabled){border-color:var(--steel);background:var(--steel-soft)}
.ck-check.on{background:var(--steel);border-color:var(--steel)}
.ck-check:disabled{opacity:.45;cursor:default}
.ck-main{min-width:0;flex:1}
.ck-title{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.ck-task.st-done .ck-title,.ck-task.st-skipped .ck-title{color:var(--muted);font-weight:500;text-decoration:line-through;text-decoration-color:var(--field)}
.ck-note{font-size:12.5px;color:var(--ink-soft);margin-top:2px;overflow-wrap:anywhere}
.ck-meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.ck-meta a{color:var(--ink-soft);font-weight:600}
.ck-link{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;font-weight:600;color:var(--accent-dark)!important}
.ck-link .ico{width:13px;height:13px}
.ck-r{flex:none;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;text-align:right}
.ck-bar{height:6px;min-width:72px;border-radius:999px;background:var(--line);overflow:hidden}
.ck-bar i{display:block;height:100%;border-radius:999px;background:var(--steel)}
.ck-run{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px 14px;margin:0 0 16px;background:var(--surface)}
.ck-run-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px 18px;margin:0 0 6px}
.ck-run-head h3{margin:0;font-size:15px;letter-spacing:-.005em}
.ck-run-head .sub{margin:2px 0 0}
.ck-prog{min-width:180px;max-width:100%}
.ck-prog-t{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:0 0 6px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ck-run-a{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0;padding-top:12px;border-top:1px solid var(--line-soft)}
.btn.ck-ghost{border-color:transparent;background:none;color:var(--muted)}
.btn.ck-ghost:hover:not(:disabled){background:var(--line-soft);border-color:transparent;color:var(--ink)}
.ck-textbtn{border:0;background:none;padding:0;margin-left:6px;font:inherit;font-size:12.5px;font-weight:600;color:var(--accent-dark);cursor:pointer}
.ck-textbtn:hover{text-decoration:underline}
.ck-offer{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r);padding:12px 14px;margin:0 0 14px}
.ck-offer-a{display:flex;gap:8px}
.ck-past{margin:6px 0 0}
.ck-past summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);padding:4px 0}
.ck-cal{margin:12px 0 0}
.ck-badge{margin-left:6px;text-decoration:none!important}
.ck-progcell{min-width:150px}
.ck-progcell .ck-bar{margin:0 0 4px}
.ck-starters{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ck-starter{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface)}
.ck-starter.ck-suggested{border-color:var(--accent-line);background:var(--accent-soft)}
.ck-lists{margin:0 0 22px}
.ck-lists-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 6px}
.ck-lists-h h3{margin:0;font-size:14px}
.ck-list-a{display:flex;gap:6px;white-space:normal}
.ck-ed-h{margin:18px 0 8px}
.ck-ed-h h3{margin:0;font-size:14px}
.ck-elist{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px}
.ck-erow{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--surface)}
.ck-erow-top{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.ck-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--line-soft);color:var(--muted);font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.ck-e-title{flex:1;min-width:0}
.ck-move{display:flex;gap:2px;flex:none}
.ck-up .ico{transform:rotate(180deg)}
.ck-erow-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.ck-erow-grid .field{margin:0 0 10px;min-width:0}
.ck-erow-grid label{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.ck-erow-grid select,.ck-erow-grid input{width:100%;margin-top:4px}
.ck-erow-grid .ck-due-f{grid-column:1 / -1}
.ck-due{display:flex;gap:8px;margin-top:4px}
.ck-due select{flex:1}
.ck-due input{width:72px;margin-top:0;flex:none}
.ck-due select{margin-top:0;min-width:0}
.ck-e-desc{width:100%}
@media(max-width:640px){
  .ck-task{flex-wrap:wrap}
  .ck-main{flex:1 1 calc(100% - 40px)}
  .ck-r{flex:1 1 100%;justify-content:flex-start;padding-left:36px;text-align:left}
  .ck-erow-grid{grid-template-columns:1fr}
  .ck-prog{width:100%}
  .ck-offer-a{width:100%}
  .ck-run{padding:14px 14px 12px}
}
@media print{.ck-run-a,.ck-offer,.ck-check{display:none!important}}

/* amounts with a days | hours switch (new request, edit request, adjustment, make-up time) and make-up time in the request drawer */
.amt{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.amt .sfx{flex:1 1 130px;min-width:0}
.seg-unit label span{padding:6px 12px;font-size:12.5px}
.mk{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.mk h3{margin:0 0 4px;font-size:15px}
.mk .hint{margin:0 0 10px}
.mk-sum{margin:0 0 8px;font-weight:600}
.mk-none{margin:0 0 10px}
.mk-list{list-style:none;margin:0 0 10px;padding:0}
.mk-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.mk-form{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mk-actions{display:flex;gap:8px;justify-content:flex-end}
.mk-hint{font-size:.92em}
@media (max-width:600px){.mk-list li{flex-wrap:wrap}.amt .seg{width:100%}.amt .seg label{flex:1 1 auto}.amt .seg label span{text-align:center}}

/* ================= make the first step easy (firststep.js, APP-SPEC-FIRSTSTEP.md) ================= */
/* the Add time off card at the top of Today */
.fs-add{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin:0 0 20px;padding:20px 24px;border:1px solid var(--accent-line);border-radius:var(--r-lg);
  background:linear-gradient(135deg,#fff 0%,#fff 55%,var(--accent-soft) 160%);box-shadow:var(--shadow)}
.fs-add-t{min-width:0;flex:1 1 320px}
.fs-add-t h2{font-size:18px;letter-spacing:-.015em}
.fs-add-t p{margin:4px 0 0;color:var(--muted);font-size:14px;max-width:56ch}
.fs-add .btn.big{flex:none}
@media(max-width:600px){.fs-add{padding:18px 16px}.fs-add .btn.big{width:100%}}
/* the search box over the people in the panel */
.fs-find{margin:0 0 10px}
.fs-find input{width:100%}
.fs-found{margin:6px 0 0;min-height:1.2em}
/* after saving */
.fs-done{text-align:center;padding:26px 6px 6px}
.fs-done-ico{display:inline-flex;width:52px;height:52px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-dark);align-items:center;justify-content:center;margin:0 0 16px}
.fs-done-ico .ico{width:24px!important;height:24px!important}
.fs-done h3{font-size:20px;letter-spacing:-.015em;margin:0 0 8px;line-height:1.25}
.fs-done p{margin:0 auto;color:var(--ink-soft);max-width:36ch;font-size:14.5px}
.fs-bal{margin:24px auto 0;display:inline-flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:4px 12px;padding:12px 20px;border:1px solid var(--line);border-radius:12px;background:var(--line-soft)}
.fs-bal .l{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fs-bal b{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fs-bal .p{color:var(--muted);font-size:13px}
/* a click on a day of the calendar */
.cal-d.addable{cursor:pointer;position:relative}
.cal-d.addable:hover{background:#FFFDF8}
.cal-d.addable::after{content:"+";position:absolute;right:7px;bottom:6px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;
  color:var(--accent-dark);background:var(--accent-soft);border:1px solid var(--accent-line);opacity:0;transition:opacity .15s;pointer-events:none}
.cal-d.addable:hover::after,.cal-d.addable:focus-visible::after{opacity:1}
.cal-d.addable:focus-visible{outline:2px solid var(--accent-dark);outline-offset:-2px;z-index:1}
.wk-day.addable{cursor:pointer}
.wk-add{flex:none;width:40px;height:40px;margin:-6px -6px -6px 4px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--accent-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.wk-add:hover{border-color:var(--accent);background:var(--accent-soft)}
.wk-add .ico{width:16px;height:16px}
.wk-day .dh .cal-badges{margin-left:auto}
.cal-hint{margin:12px 2px 0;font-size:12.5px;color:var(--muted)}
/* who records time off, in Settings, Company */
.fs-modes{border:0;margin:0 0 18px;padding:0;min-width:0}
.fs-modes legend{font-size:13px;font-weight:600;color:var(--ink);padding:0;margin:0 0 8px}
.fs-mode{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer}
.fs-mode:hover{border-color:#CBD5E1}
.fs-mode input{margin:3px 0 0;accent-color:var(--accent-dark);flex:none}
.fs-mode span{display:block;min-width:0}
.fs-mode b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.fs-mode small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.fs-mode:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.fs-mode:has(input:focus-visible){outline:2px solid var(--accent-dark);outline-offset:2px}
.checklist h3 .pill{margin-left:6px;vertical-align:1px;text-decoration:none}
/* end first step */
