:root{--banner-warn: #ffd27a;--brand: #25283a;--brand-dark: #25283a;--brand-soft: #eceefb;--ink: #25283a;--muted: #6f748f;--line: #e7e9f5;--bg: #eef0ff;--card: #ffffff;--surface-alt: #f6f7fd;--surface-hover: #f1f3fc;--track: #eceffa;--good: #12855f;--good-soft: #e3f7ee;--warn: #a8620a;--warn-soft: #fff1d6;--bad: #c2410c;--bad-soft: #ffe7de;--indigo: #4f46e5;--indigo-soft: #eceafe;--overlay: rgba(20, 22, 40, .72);--radius: 20px;--shadow: 0 6px 24px rgba(60, 70, 120, .1);--page: linear-gradient(160deg, #eef0ff 0%, #f6f1fb 55%, #fdf1ee 100%);--on-brand: #ffffff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--banner-warn: #fbbf24;--brand: #9aa1ff;--brand-dark: #e3e5ff;--brand-soft: rgba(154, 161, 255, .16);--ink: #eceef8;--muted: #9a9fbd;--line: #2d3150;--bg: #14162a;--card: #1e2138;--surface-alt: #232744;--surface-hover: #292d4d;--track: #2a2e4e;--good: #4ade9b;--good-soft: rgba(74, 222, 155, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--bad: #fb8a8a;--bad-soft: rgba(251, 113, 133, .14);--indigo: #a5acff;--indigo-soft: rgba(129, 140, 248, .18);--overlay: rgba(6, 7, 18, .8);--radius: 20px;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--page: linear-gradient(160deg, #14162a 0%, #1a1833 55%, #1f1a2e 100%);--on-brand: #14162a}}:root[data-theme=dark]{--banner-warn: #fbbf24;--brand: #9aa1ff;--brand-dark: #e3e5ff;--brand-soft: rgba(154, 161, 255, .16);--ink: #eceef8;--muted: #9a9fbd;--line: #2d3150;--bg: #14162a;--card: #1e2138;--surface-alt: #232744;--surface-hover: #292d4d;--track: #2a2e4e;--good: #4ade9b;--good-soft: rgba(74, 222, 155, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--bad: #fb8a8a;--bad-soft: rgba(251, 113, 133, .14);--indigo: #a5acff;--indigo-soft: rgba(129, 140, 248, .18);--overlay: rgba(6, 7, 18, .8);--radius: 20px;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--page: linear-gradient(160deg, #14162a 0%, #1a1833 55%, #1f1a2e 100%);--on-brand: #14162a}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:var(--page);background-attachment:fixed;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand-text, var(--brand));text-decoration:none}button{font:inherit}.shell{display:flex;min-height:100vh;padding:16px;gap:16px}.sidebar{width:232px;flex:0 0 232px;background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;position:sticky;top:16px;height:calc(100vh - 32px);overflow:hidden}.brand{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;font-weight:700;font-size:17px}.brand .dot{width:28px;height:28px;border-radius:50%;background:conic-gradient(from 200deg,#2bd48a,#4f8cff,#c084fc,#2bd48a);display:grid;place-items:center;color:var(--on-brand, #fff);font-size:13px}.brandlogo{object-fit:contain;display:block}.brand .brandlogo{max-height:32px;max-width:120px;flex:none}.brand .brandname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .brandlogo{background:#fffffff0;padding:4px 8px;border-radius:8px}}:root[data-theme=dark] .brandlogo{background:#fffffff0;padding:4px 8px;border-radius:8px}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav a{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;color:var(--muted);font-weight:500}.nav a:hover{background:var(--surface-hover);color:var(--ink)}.nav a.active{background:var(--brand);color:var(--on-brand, #fff);font-weight:600}.tz-picker{border-top:1px solid var(--line);padding:12px 16px 10px}.tz-picker select{width:100%;padding:6px 8px;font-size:13px}.sidebar .me{border-top:1px solid var(--line);padding:14px 16px;display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:var(--on-brand, #fff);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px 8px;flex-wrap:wrap}.topbar h1{margin:0;font-size:22px;letter-spacing:-.01em}.content{padding:12px 28px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.stat{padding:16px 18px}.stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat .value{font-size:28px;font-weight:700;margin-top:6px}.stat .value small{font-size:15px;color:var(--muted);font-weight:500}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;background:var(--surface-alt);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid var(--track);vertical-align:middle}tr:last-child td{border-bottom:none}th:not(:last-child),td:not(:last-child){border-right:1px solid var(--track)}th:not(:last-child){border-right-color:var(--line)}.table-wrap{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.pill .led{width:7px;height:7px;border-radius:50%;background:currentColor}.pill.working{background:var(--good-soft);color:var(--good)}.pill.idle{background:var(--warn-soft);color:var(--warn)}.pill.offline{background:var(--bad-soft);color:var(--bad)}.pill.clocked_out,.pill.off{background:var(--track);color:var(--muted)}.pill.absent{background:var(--bad-soft);color:var(--bad)}.pill.time_off{background:var(--indigo-soft);color:var(--indigo)}.pill.attended{background:var(--good-soft);color:var(--good)}.pill.below{background:var(--warn-soft);color:var(--warn)}.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--track);padding:3px 9px;border-radius:7px}.swatch{width:9px;height:9px;border-radius:3px;flex:none}button.btn,.btn{background:var(--brand);color:var(--on-brand, #fff);border:1px solid var(--brand);padding:8px 16px;border-radius:999px;font-weight:600;cursor:pointer}button.btn:hover{filter:brightness(.92)}button.btn.ghost,.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}button.btn.ghost:hover{background:var(--surface-hover)}button.btn.danger{background:var(--card);color:var(--bad);border-color:var(--bad-soft)}button:disabled{opacity:.55;cursor:not-allowed}.btn.small{padding:5px 12px;font-size:12px;border-radius:999px}input,select{font:inherit;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}input:focus,select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}label.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-weight:600}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.muted{color:var(--muted)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.right{margin-left:auto}.empty{padding:46px 20px;text-align:center;color:var(--muted)}.error{background:var(--bad-soft);color:var(--bad);padding:10px 12px;border-radius:9px;margin-bottom:12px;font-weight:500}.ok{background:var(--good-soft);color:var(--good);padding:10px 12px;border-radius:9px;margin-bottom:12px;font-weight:500}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth .card{width:100%;max-width:380px;padding:28px}.auth h1{margin:0 0 4px;font-size:20px}.auth form{display:flex;flex-direction:column;gap:14px;margin-top:18px}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.shot{overflow:hidden}.shot img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--track);cursor:zoom-in}.shot .meta{padding:10px 12px;font-size:12px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:24px;z-index:50}.lightbox img{max-width:100%;max-height:86vh;border-radius:8px}.lightbox>.card{max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain}.modal-actions{position:sticky;bottom:-20px;background:var(--card, var(--panel, #161b22));padding:12px 0 4px;margin-top:14px;border-top:1px solid var(--border, rgba(128,128,128,.25));z-index:1}.hourrow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-bottom:3px;padding:3px 0}.hourrow .hourlabel{display:flex;align-items:center;gap:8px;flex:0 0 132px;white-space:nowrap}.hourrow select{flex:1 1 0;min-width:0}.grid-scroll{overflow-x:auto}.att td,.att th{padding:7px 4px;text-align:center}.att td.name,.att th.name{text-align:left;padding-left:14px;position:sticky;left:0;background:var(--card);z-index:1;min-width:180px}.cell{width:20px;height:20px;border-radius:50%;margin:0 auto;display:block}.cell.attended{background:var(--brand)}.cell.below{background:var(--warn)}.cell.absent{background:var(--card);border:1.5px solid var(--bad-soft)}.cell.off{background:var(--track)}.cell.time_off{background:var(--indigo-soft)}.cell.future{background:transparent}.timeline{position:relative;height:26px;background:var(--track);border-radius:7px;overflow:hidden}.timeline span{position:absolute;top:0;bottom:0;background:var(--brand);opacity:.85}.timeline span.idle{background:var(--warn)}.bar{height:7px;border-radius:4px;background:var(--brand)}.bar-track{background:var(--track);border-radius:4px;overflow:hidden;width:100%;min-width:90px}@media (max-width: 760px){.sidebar{display:none}.content,.topbar{padding-left:14px;padding-right:14px}}.sched th,.sched td{text-align:left;vertical-align:top}.sched td.name,.sched th.name{position:sticky;left:0;background:var(--card);z-index:1;min-width:210px}.sched td.cellbox{cursor:pointer;min-width:132px}.sched td.cellbox:hover{background:var(--surface-hover)}.chip{display:block;font-size:12px;background:var(--track);border-radius:7px;padding:3px 7px;margin-bottom:4px;white-space:nowrap}.chip.off{background:var(--indigo-soft);color:var(--indigo);font-weight:600}.gaprow{padding:10px 0;border-bottom:1px solid var(--track);gap:12px}.gaprow:last-child{border-bottom:none}.chip-time{display:block}.chip-project{display:block;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.blockgrid th,.blockgrid td{padding:6px 8px}.blockgrid select{width:100%;min-width:108px;font-size:12px;padding:5px 6px}.inputbars{display:flex;align-items:flex-end;gap:1px;height:76px;background:var(--bg);border-radius:8px;padding:4px;overflow:hidden}.inputbars i{flex:1 1 auto;min-width:1px;background:var(--brand);border-radius:1px;display:block}.inputbars i.low{background:var(--bad-soft)}.btn.ghost.active{border-color:var(--brand);color:var(--brand-text, var(--brand));font-weight:700}.navbadge{margin-left:auto;background:var(--bad);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;font-weight:700}.quickbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 28px 0}.quickbar .muted{margin-right:2px}@media (max-width: 720px){.quickbar{padding-left:14px;padding-right:14px}}.shot-x{position:absolute;top:8px;right:8px;z-index:2;width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;border:none;border-radius:50%;background:#0f172ac7;color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 1px 4px #00000059}.shot-x:hover{background:var(--bad)}.shot-x:disabled{opacity:.6;cursor:wait}.avail{width:100%;border-collapse:separate;border-spacing:4px;min-width:560px}.avail th{font-size:12px;color:var(--muted);font-weight:600;text-align:center;padding:4px 0}.avail th.rowhead{text-align:left;white-space:nowrap;padding-right:8px}.avail td{padding:0}.avail-cell{width:100%;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.avail-cell:hover:not(:disabled){background:var(--surface-hover)}.avail-cell:disabled{cursor:default}.avail-cell.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-text, var(--brand))}.avail-cell.added{background:var(--good-soft);border-color:var(--good);color:var(--good)}.avail-cell.removed{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);text-decoration:line-through}.avail-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:10px}.avail-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid var(--line);margin-right:5px;vertical-align:-2px}.avail-legend i.on{background:var(--brand-soft);border-color:var(--brand)}.avail-legend i.added{background:var(--good-soft);border-color:var(--good)}.avail-legend i.removed{background:var(--bad-soft);border-color:var(--bad)}.pad{padding:16px 18px}.topgap{margin-top:14px}.topgap-s{margin-top:4px}.cardtitle{margin:0 0 12px;font-size:15px}.notice{background:var(--warn-soft);color:var(--warn);padding:10px 12px;border-radius:9px;font-weight:500;font-size:13px}.notice a{color:inherit;text-decoration:underline}.twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.quickbar[role=tablist]{padding:0 0 14px}.tag i.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.rbar{display:flex;width:100%;background:var(--track);border-radius:999px;overflow:hidden;min-height:8px}.rbar span{display:block;height:100%}.rbar.thin{height:6px;min-height:6px}.rbar.thin span.good{background:var(--good)}.rbar.thin span.warn{background:var(--warn)}.rbar.thin span.bad{background:var(--bad)}.sharecell{min-width:90px;display:grid;gap:4px}.flag{display:inline-flex;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:var(--track);color:var(--muted)}.flag.heavy,.flag.bad{background:var(--bad-soft);color:var(--bad)}.flag.light,.flag.idle,.flag.warn,.flag.productivity{background:var(--warn-soft);color:var(--warn)}.flag.adherence{background:var(--indigo-soft);color:var(--indigo)}.flag.good{background:var(--good-soft);color:var(--good)}.wl{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.wl.heavy{background:var(--bad-soft);color:var(--bad)}.wl.light{background:var(--warn-soft);color:var(--warn)}.wl.balanced{background:var(--good-soft);color:var(--good)}.wl.none{background:var(--track);color:var(--muted)}.flaglist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.flaglist li{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.flaglist-items{display:grid;gap:4px}.flagtext{font-size:13px}.toplist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.toplist-row{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}.toplist-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wlchart{display:grid;gap:10px;padding-top:12px}.wlrow{display:grid;grid-template-columns:160px 1fr 110px 80px;gap:12px;align-items:center}.wlname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wltrack{position:relative;background:var(--track);border-radius:999px;height:12px;overflow:hidden}.wlmark{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--ink)}.wlfill{display:block;height:100%;border-radius:999px;background:var(--brand)}.wlfill.heavy{background:var(--bad)}.wlfill.light{background:var(--warn)}@media (max-width: 720px){.wlrow{grid-template-columns:1fr 70px}.wlname{grid-column:1 / -1}.wltrack{grid-column:1}}.print-only{display:none}@media print{.sidebar,.no-print,.quickbar{display:none!important}.print-only,.shell{display:block}body{background:#fff}.card{box-shadow:none;break-inside:avoid}.content{padding:0}}.availlegend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:10px 0 12px}.availlegend span{display:inline-flex;align-items:center;gap:6px}.railswatch{display:inline-block;width:8px;height:14px;border-radius:3px;background:var(--border, rgba(128,128,128,.4))}.hourrail{flex:0 0 10px;align-self:stretch;border-radius:3px;background:var(--border, rgba(128,128,128,.4));opacity:.55}.hourrail.open,.railswatch.open{background:#22c55e;opacity:1}.hourrail.work,.railswatch.work{background:var(--brand);opacity:1}.hourrail.outside,.railswatch.outside{background:#f59e0b;opacity:1}.hourrail.none,.railswatch.none{background:var(--border, rgba(128,128,128,.4));opacity:.55}.hourstate{flex:0 0 150px;font-size:12px;font-weight:600;white-space:nowrap}.hourstate.open{color:#16a34a}.hourstate.work{color:var(--brand-text, var(--brand))}.hourstate.outside{color:#b45309}.hourstate.none,.hourstate.unknown{color:var(--muted, #6b7280);font-weight:500}.blockgrid td.availyes{background:#22c55e24}.blockgrid td.availno{background:#8080801f}.availtag{font-size:11px;margin-top:4px;display:inline-block;padding:1px 6px;border-radius:999px}.availtag.none{background:#f59e0b29;color:#b45309}.availnote{font-size:12px;font-weight:600}.availnote.open{color:#16a34a}.availnote.outside,.availnote.none{color:#b45309}.weeksum{margin-top:8px;padding-top:6px;border-top:1px solid var(--border, rgba(128,128,128,.25));line-height:1.5}.segmented{display:inline-flex;border:1px solid var(--border, rgba(128,128,128,.4));border-radius:8px;overflow:hidden}.segmented button{border:0;background:transparent;color:inherit;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.segmented button.on{background:var(--brand);color:var(--on-brand, #fff);font-weight:600}.seatsummary{margin:4px 0 8px;font-size:14px}.seatbad{color:#dc2626;font-weight:600}.seatwarn{color:#b45309;font-weight:600}.seatgood{color:#16a34a;font-weight:600}.seatgrid{width:100%;border-collapse:separate;border-spacing:3px}.seatgrid th{text-align:left;font-size:12px;padding:4px 6px}.seatgrid th.today{color:var(--brand-text, var(--brand))}.seathour{white-space:nowrap;font-weight:600;font-size:12px;padding-right:8px;vertical-align:middle}.seatcell{vertical-align:top;min-width:86px;padding:6px 7px;border-radius:8px;border:1px solid transparent;background:#80808014}.seatcell.today{border-color:var(--brand)}.seatcell.st-full,.seatcell.st-over{background:#22c55e29}.seatcell.st-partial{background:#f59e0b33}.seatcell.st-empty{background:#dc26262e}.seatcell.st-unplanned{background:#8080801a;border:1px dashed #f59e0b}.seatcell.st-unplanned.today{border-style:solid}.seatcell.st-off{background:#8080800f}.seatboxes{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}.seat{width:12px;height:12px;border-radius:3px;display:inline-block;box-sizing:border-box}.seat.filled{background:var(--brand)}.seat.vacant{border:2px solid #dc2626;background:transparent}.seatname{font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.seatswatch{display:inline-block;width:12px;height:12px;border-radius:3px;box-sizing:border-box}.seatswatch.filled{background:var(--brand)}.seatswatch.vacant{border:2px solid #dc2626}.seatswatch.off{background:#80808040}.seatswatch.extra{border:1px dashed #f59e0b;background:#8080801a}.taskline{margin:3px 0 0 2px;color:var(--muted)}.annbox{padding:18px 20px}.annmessage{width:100%;resize:vertical;font:inherit;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.annlabel{margin:16px 0 8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.annpick{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.annperson{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer}.annperson:hover{background:var(--track)}.annperson input{width:16px;height:16px;flex:none}.annperson .small{margin-left:auto}.annrow{padding:12px 0;border-top:1px solid var(--line)}.annrow:first-of-type{border-top:0}.annwho{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;padding:12px 14px;background:var(--bg);border-radius:9px}.actlist{max-height:max(380px,calc(100vh - 150px));overflow-y:auto}.actlist thead th{position:sticky;top:0;z-index:1}.seatbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 6px;font-size:14px}.legend .swatch-full,.legend .swatch-partial,.legend .swatch-empty{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.legend .swatch-full{background:var(--good)}.legend .swatch-partial{background:var(--warn)}.legend .swatch-empty{background:var(--bad)}.byproject td.seatday{min-width:150px;vertical-align:top}.byproject td.taskname{font-weight:600;padding-left:26px}.byproject tr.projecthead td{background:var(--surface-alt);border-bottom:1px solid var(--line)}.stretch{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:5px 7px;margin-bottom:6px;background:var(--card)}.stretch.st-full{border-left-color:var(--good)}.stretch.st-partial{border-left-color:var(--warn)}.stretch.st-empty{border-left-color:var(--bad)}.stretchhead{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.stretchtime{font-size:12px;font-weight:600;white-space:nowrap}.seatcount{white-space:nowrap;font-size:11px;font-weight:700;border:1px solid var(--line);background:var(--track);color:var(--ink);border-radius:999px;padding:1px 8px;cursor:pointer}.seatcount:hover{background:var(--surface-hover)}.seatcount.plain{cursor:default}.seatchip{display:block;width:100%;text-align:left;font-size:12px;border-radius:6px;padding:3px 7px;margin-bottom:3px;border:1px solid transparent}.seatchip.filled{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}button.seatchip{cursor:pointer}button.seatchip.filled:hover{filter:brightness(.95)}.seatchip.vacant{background:transparent;color:var(--bad);border:1px dashed var(--bad);font-weight:600}button.seatchip.vacant:hover{background:var(--bad-soft)}.seatsgrid td,.seatsgrid th{text-align:center}.seatsgrid td:first-child,.seatsgrid th:first-child{text-align:left}.seatinput{width:54px;text-align:center;padding:5px 4px}.face{--ring:var(--line);width:var(--size,44px);height:var(--size,44px);border-radius:50%;padding:3px;background:var(--ring);flex:none;display:inline-block}.face>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:calc(var(--size,44px)*.34);background:var(--tone-bg);color:var(--tone-ink);border:2px solid var(--card)}.face.working{--ring:var(--good)}.face.idle{--ring:var(--warn)}.face.offline,.face.absent{--ring:var(--bad)}.face.time_off{--ring:var(--indigo)}.face.clocked_out,.face.off{--ring:var(--line)}.tone0{--tone-bg:#ffd9b3;--tone-ink:#5a3410}.tone1{--tone-bg:#c9e2ff;--tone-ink:#173d66}.tone2{--tone-bg:#d6f3d8;--tone-ink:#1d4d25}.tone3{--tone-bg:#ffd3e0;--tone-ink:#6a1d38}.tone4{--tone-bg:#e3d8ff;--tone-ink:#3a2373}.tone5{--tone-bg:#fff0b3;--tone-ink:#5c4608}.tone6{--tone-bg:#c8f0ef;--tone-ink:#10514f}.tone7{--tone-bg:#ffd8cc;--tone-ink:#6b2a14}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .face>span{filter:saturate(.85) brightness(.92)}}:root[data-theme=dark] .face>span{filter:saturate(.85) brightness(.92)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:600;font-size:13px;cursor:pointer}.chip b{font-weight:800}.chip:hover{background:var(--surface-hover)}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff)}.chip .led{width:8px;height:8px;border-radius:50%;background:var(--muted)}.chip .led.working{background:var(--good)}.chip .led.idle{background:var(--warn)}.chip .led.offline,.chip .led.absent{background:var(--bad)}.chip .led.time_off{background:var(--indigo)}.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.person{padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;position:relative}.person .top{display:flex;gap:14px;align-items:center}.person .who{min-width:0}.person .who a{font-weight:800;font-size:16px;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person .who .sub{color:var(--muted);font-size:12.5px}.say{background:var(--surface-alt);border-radius:16px;padding:9px 12px;font-size:13px;min-height:40px}.say .small{display:block}.person .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.person .foot b{color:var(--ink);font-size:15px}.statbig{padding:16px 20px}.statbig .label{color:var(--muted);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0}.statbig .value{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{border:0;background:transparent;color:var(--muted);padding:5px 14px;border-radius:999px;font-weight:600;cursor:pointer}.seg button.on{background:var(--brand);color:var(--on-brand,#fff)}@media (max-width: 760px){.shell{padding:0;gap:0}.sidebar{border-radius:0}}.sidebar .me{padding:12px;gap:8px}.sidebar .me .btn{white-space:nowrap;padding:4px 10px}.banners:empty{display:none}.banners>div{border-radius:16px;margin-bottom:12px}.person .foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:start}.person .foot>div+div{border-left:1px solid var(--line);padding-left:14px}.person .foot .k{display:block;font-size:11.5px;font-weight:600;color:var(--muted)}.person .foot b{font-size:15px;color:var(--ink);font-weight:700}.person .top+div{min-height:26px}.pbox{background:var(--surface-alt);border-radius:16px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.pbox .k{font-size:11.5px;font-weight:600;color:var(--muted)}.pbox .pname{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbox .pname .swatch{width:10px;height:10px;border-radius:50%}.pbox .ptask{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.nav::-webkit-scrollbar{width:8px}.nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.nav::-webkit-scrollbar-track{background:transparent}.alertlist{display:flex;flex-direction:column;gap:12px}.alertcard{padding:16px 18px}.alertcard.done{opacity:.78}.alertmain{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.alertbody{flex:1 1 260px;min-width:0}.alertmsg{font-weight:700;font-size:15px;color:var(--ink)}.alertmeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.alertactions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.alertreview{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:7px;border:2px solid var(--muted);background:var(--card);display:inline-grid;place-content:center;cursor:pointer;flex:none;padding:0;vertical-align:middle;transition:background .12s,border-color .12s}input[type=checkbox]:hover{border-color:var(--brand)}input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{content:"";width:12px;height:12px;background:var(--on-brand,#fff);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat}input[type=checkbox]:focus-visible{outline:3px solid var(--brand-soft);outline-offset:1px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}input[type=radio]{accent-color:var(--brand)}.ruleform{padding:22px 24px;margin-bottom:18px;max-width:760px}.ruletitle{margin:0 0 14px;font-size:18px;letter-spacing:-.01em}.ruleform .field{display:block;margin-bottom:16px;font-weight:600;font-size:13px;color:var(--ink)}.ruleform .field input:not([type=checkbox]):not([type=number]){width:100%;margin-top:6px;font-weight:400}.ruleform .field .muted{display:block;margin-top:6px;font-weight:400}.ruleform .chips{font-weight:400}.rulepreview{background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-top:6px}.rulenote{background:var(--brand-soft);color:var(--ink);border-radius:16px;padding:12px 16px;font-size:13px;line-height:1.5;margin-bottom:16px;max-width:760px}.ruleicon{width:44px;height:44px;border-radius:50%;background:var(--surface-alt);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;color:var(--brand-text,var(--brand));flex:none}.annmessage{border-radius:18px;padding:14px 16px;background:var(--surface-alt)}.annpick{border:0;border-radius:0;gap:8px;max-height:260px;padding:2px}.personpick{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.personpick:hover{background:var(--surface-hover)}.personpick.on{border-color:var(--brand);background:var(--brand-soft)}.personpick .pn{display:flex;flex-direction:column;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.personpick .pn .small{font-weight:400}.personpick .tick{margin-left:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none;border:2px solid var(--line);color:var(--on-brand,#fff)}.personpick.on .tick{background:var(--brand);border-color:var(--brand)}.annsend{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.progress{height:8px;border-radius:99px;background:var(--track);overflow:hidden;flex:1;max-width:260px}.progress i{display:block;height:100%;border-radius:99px;background:var(--good)}.annprogress{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.annwho{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:transparent;padding:0;margin:0}.whochips{display:flex;flex-wrap:wrap;gap:8px}.whochip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--surface-alt);font-size:13px;font-weight:600}@media (max-width: 700px){.annwho{grid-template-columns:1fr}}.chip.part{border-color:var(--brand);background:var(--brand-soft)}.datefield{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);cursor:pointer;min-width:150px;text-align:left}.datefield:hover{border-color:var(--brand)}.datefield:focus-visible{outline:3px solid var(--brand-soft);outline-offset:1px;border-color:var(--brand)}.datefield.empty span{color:var(--muted)}.datefield svg{color:var(--muted);flex:none}.datefield:disabled{opacity:.5;cursor:not-allowed}.datefield-required{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;margin:0;padding:0;border:0}.datepanel{position:fixed;z-index:1000;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px #14162847;padding:14px;font-size:13px}.datepanel-row{display:flex;gap:14px}.datecal{width:252px}.datehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.datetitle{font-weight:800;font-size:14px}.datenav{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}.datenav:hover{background:var(--surface-hover)}.dategrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datedow{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}.dateday{height:32px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.dateday:hover{background:var(--surface-hover)}.dateday.other{color:var(--muted);opacity:.55}.dateday.today{box-shadow:inset 0 0 0 2px var(--brand)}.dateday.sel{background:var(--brand);color:var(--on-brand,#fff);font-weight:700;opacity:1}.dateday:disabled,.datemonth:disabled{opacity:.3;cursor:not-allowed}.datemonths{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.datemonth{height:40px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.datemonth:hover{background:var(--surface-hover)}.datemonth.sel{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff)}.datetime{display:flex;gap:6px;border-left:1px solid var(--line);padding-left:12px}.datecol{display:flex;flex-direction:column;gap:2px;max-height:268px;overflow-y:auto;width:48px;scrollbar-width:thin}.datecol.small{justify-content:flex-start}.datetick{height:32px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;cursor:pointer;flex:none}.datetick:hover{background:var(--surface-hover)}.datetick.sel{background:var(--brand);color:var(--on-brand,#fff);font-weight:700}.datefoot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.datelink{border:0;background:transparent;color:var(--brand-text,var(--brand));font:inherit;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:999px}.datelink:hover{background:var(--surface-hover)}.teamwall{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.person .top .utilbig{margin-left:auto;text-align:right;display:flex;flex-direction:column;line-height:1.1;flex:none}.utilbig b{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.utilbig span{font-size:11.5px;font-weight:600;color:var(--muted)}.pbox .stack{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--track);margin:6px 0 4px;gap:2px}.pbox .stack i{display:block;height:100%}.pbox .legend{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:12px;color:var(--muted)}.pbox .legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.pbox .legend i{width:8px;height:8px;border-radius:50%;flex:none}.pbox .legend b{color:var(--ink);font-weight:700;margin-left:auto}.pbox .legend{grid-template-columns:1fr;gap:4px}.pbox .legend i.hollow{background:transparent;box-shadow:inset 0 0 0 2px var(--muted)}.foot .idlek{display:inline-flex;align-items:center;gap:6px}.foot .idlek i{width:8px;height:8px;border-radius:50%;background:#aab0c6;display:inline-block}.person .pbox .ptask{white-space:normal}.foot .idlek i{margin-right:6px}.approval{padding:18px 20px}.apptitle{font-weight:800;font-size:16px;color:var(--ink)}.weekstep{display:inline-flex;align-items:center}.weekstep .weeklabel{padding:0 10px;font-weight:700;color:var(--ink);min-width:130px;text-align:center}.approvelist{display:flex;flex-direction:column;gap:8px;margin-top:14px}.approverow{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,1fr) minmax(170px,1.2fr) 90px;gap:12px;align-items:center;background:var(--surface-alt);border-radius:16px;padding:10px 14px}.approvewho{display:flex;align-items:center;gap:12px;min-width:0}.approvewho .who{display:flex;flex-direction:column;min-width:0}.approvewho .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.approvehours,.approvestatus{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.approvehours b{color:var(--ink);font-size:15px}.approveact{text-align:right}@media (max-width:760px){.approverow{grid-template-columns:1fr 1fr}.approveact{text-align:left}}.sheetlist{display:flex;flex-direction:column;gap:16px}.sheet{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.sheethead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.sheet .top{display:flex;gap:14px;align-items:center}.sheet .who a,.sheet .who b{font-weight:800;font-size:17px;color:var(--ink);display:block}.sheet .who .sub{color:var(--muted);font-size:12.5px}.sheetstats{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));gap:8px}.sheetstats .pbox{padding:8px 14px}.dayrows{display:flex;flex-direction:column;gap:8px}.dayrow{display:grid;grid-template-columns:70px minmax(150px,1.2fr) minmax(100px,.9fr) 90px 80px minmax(140px,2fr) auto;gap:12px;align-items:center;background:var(--surface-alt);border-radius:16px;padding:10px 14px}.dayname{display:flex;flex-direction:column;line-height:1.2}.dayname b{color:var(--ink)}.daycell{display:flex;flex-direction:column;gap:2px;min-width:0}.daycell .k{font-size:11.5px;font-weight:600;color:var(--muted)}.daycell b{color:var(--ink);font-size:14px;white-space:nowrap}.manualtag{align-self:flex-start;background:var(--warn-soft);color:var(--warn);border-radius:999px;font-size:11.5px;font-weight:600;padding:1px 8px;white-space:nowrap}.dayprojects{flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}.dayact{display:flex;gap:6px;justify-content:flex-end}@media (max-width:1100px){.dayrow{grid-template-columns:70px 1fr 1fr 1fr}.dayprojects,.dayact{grid-column:1/-1;justify-content:flex-start}}.approverow{grid-template-columns:minmax(180px,1.4fr) minmax(110px,1fr) minmax(170px,1.2fr) auto}.approveact{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.chip.static{cursor:default;display:inline-flex;align-items:center;gap:8px}.summary{display:flex;flex-direction:column;gap:14px}.sumhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.faces{display:flex;flex-wrap:wrap;gap:14px 18px}.facelink{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--muted);max-width:64px;text-decoration:none}.facelink span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:64px}.facelink:hover span{color:var(--ink)}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.convlist{display:flex;flex-direction:column;gap:12px}.convcard{display:flex;align-items:center;gap:16px;padding:16px 20px}.convmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.convmain a{font-weight:800;font-size:16px;color:var(--ink)}.convflags{display:flex;flex-direction:column;gap:6px;margin-top:8px}.convflags .flagtext{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.convcard{align-items:flex-start}.convcard>.btn{align-self:center}.kdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--warn)}.kdot.heavy{background:var(--bad)}.kdot.adherence{background:var(--indigo)}.kdot.light{background:#94a3b8}.chip.on .kdot{box-shadow:0 0 0 2px var(--on-brand)}.whobar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-bottom:16px}.whobar .top{display:flex;gap:14px;align-items:center}.whobar .who b{font-size:18px;font-weight:800;color:var(--ink)}.whobar .who .sub{color:var(--muted);font-size:12.5px}.daybar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.daybar .seg button{padding:5px 12px;font-size:16px;line-height:1}.lowlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}.lowcard strong,.lowcard .muted{display:block}.lowrow{background:var(--surface-alt)}.cards.sixcards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.hours{display:flex;align-items:stretch;gap:6px;height:200px;margin-top:14px}.hour{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;background:transparent;border:0;border-radius:14px;padding:6px 2px 4px;cursor:pointer;color:var(--muted);font:inherit}.hour:hover,.hour.on{background:var(--surface-alt)}.hour .hnum{font-size:11.5px;font-weight:700;color:var(--ink);min-height:14px}.hour .hbar{width:70%;max-width:46px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;flex:0 0 auto;min-height:0}.hour .hbar i{display:block;width:100%}.hour .hlabel{font-size:11.5px;font-weight:600;white-space:nowrap}.hour.empty .hlabel{opacity:.55}.hour.low .hbar{box-shadow:0 0 0 3px var(--warn)}.hours{align-items:stretch}.hour{height:100%}.hourdetail{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:12px;background:var(--surface-alt);border-radius:14px;padding:12px 16px;min-height:44px;font-size:13.5px}.hourdetail b{color:var(--ink)}.hourchart .legend i.hollow{background:transparent;box-shadow:inset 0 0 0 2px var(--warn)}.hour .hbarwrap{flex:1 1 0;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center}.hour .hbar{width:70%;max-width:46px}.hours{height:220px}.attwall{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.attname{font-weight:800;font-size:16px;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attlegend{margin-bottom:16px}.sq{display:inline-block;width:14px;height:14px;border-radius:5px;vertical-align:-2px;margin-right:2px}.sq.attended{background:var(--brand)}.sq.below{background:var(--warn)}.sq.absent{background:transparent;box-shadow:inset 0 0 0 2px var(--bad)}.sq.off{background:var(--track)}.sq.time_off{background:var(--indigo-soft);box-shadow:inset 0 0 0 1.5px var(--indigo)}.sq.future{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.sq.late{box-shadow:0 0 0 2px #f3c268}.calbox{padding:10px 12px}.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.caldow{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted)}.calday{width:auto;height:auto;aspect-ratio:1;margin:0;border:0;padding:0;display:grid;place-items:center;font:inherit;font-size:11px;font-weight:700;border-radius:9px;cursor:pointer;color:var(--ink)}.calday.attended{color:var(--on-brand)}.calday.below{color:#3a2a00}.calday.off,.calday.future{color:var(--muted);font-weight:600}.calday.pick{outline:2px solid var(--ink);outline-offset:1px}.weeklabel{font-weight:700;font-size:14px;color:var(--ink);padding:0 4px;white-space:nowrap}.schedwall{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.schedcard .attname{font-weight:800;font-size:16px;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sweek{display:flex;flex-direction:column;gap:6px}.sday{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:start;background:var(--surface-alt);border-radius:14px;padding:7px 12px;min-height:38px}.sday.editable{cursor:pointer}.sday.editable:hover{background:var(--surface-hover)}.sday.istoday{box-shadow:inset 0 0 0 2px var(--brand)}.sday .dname{display:flex;flex-direction:column;font-weight:800;font-size:13px;color:var(--ink);line-height:1.2;padding-top:2px}.sday .dname i{font-style:normal;font-weight:600;font-size:11.5px;color:var(--muted)}.sday .dbody{display:flex;flex-direction:column;gap:5px;min-width:0;justify-content:center;align-self:center}.shiftchip{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px 10px;min-width:0;white-space:nowrap}.shiftchip .sdot{width:9px;height:9px;border-radius:50%;flex:none}.shiftchip .stext{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.shiftchip .stime{font-weight:700;font-size:12.5px;color:var(--ink)}.shiftchip .sproj{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.shiftchip .sgive{border:0;background:var(--track);color:var(--muted);border-radius:999px;width:24px;height:24px;line-height:1;font-size:14px;cursor:pointer;flex:none}.shiftchip .sgive:hover{background:var(--brand-soft);color:var(--ink)}.availflags{gap:6px}.gapbanner{padding:14px 18px;margin-bottom:16px;background:var(--warn-soft);border-color:transparent}.covcard{padding:18px 20px;margin-top:6px}.covcard .gaprow{background:var(--surface-alt);border-radius:16px;padding:10px 14px;margin-bottom:8px;border-bottom:0}.covcard .gaprow:last-child{margin-bottom:0}.tag{border-radius:999px;padding:3px 10px;font-weight:600;color:var(--ink)}table.sched{border-collapse:separate;border-spacing:0}.sched th{font-size:12.5px;font-weight:700;color:var(--muted)}.sched th.istoday{color:var(--brand-text,var(--brand))}.sched td.cellbox .shiftchip{margin-bottom:5px;padding:4px 8px}.sched td.cellbox .shiftchip .sgive{width:20px;height:20px;font-size:12px}.sched td.name .availflags{margin-top:4px}.sched td.name .weeksum{border-top:0;padding-top:0;margin-top:8px}.stretch{border-radius:14px;border-width:1px;border-left-width:4px;padding:6px 9px}.seatchip{border-radius:999px;padding:4px 10px}.projecthead td{background:var(--surface-alt)}.seatbar{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 18px;margin:0 0 12px}.sday .dbody .pill{align-self:flex-start}.sched td.cellbox{min-width:128px;padding:8px}.sched td.name,.sched th.name{min-width:200px}.sched .shiftchip{white-space:normal;gap:7px;padding:5px 8px;position:relative}.sched .shiftchip .stime{font-size:12px}.sched .shiftchip .sgive{position:absolute;top:3px;right:3px;width:20px;height:20px;font-size:12px;opacity:0}.sched .shiftchip:hover .sgive,.sched .shiftchip .sgive:focus{opacity:1}.sched td .pill{margin-bottom:5px}.lightbox>.card.weeklybox{padding:18px 20px;width:min(1260px,96vw);max-width:none;max-height:calc(100vh - 24px)}.weeklygrid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}.weeklygrid th{font-size:12px;font-weight:700;color:var(--muted);text-align:left;padding:4px 6px}.weeklygrid td,.weeklygrid th{padding:0}.weeklygrid td{border-radius:12px;padding:2px;vertical-align:middle}.weeklygrid th.bl,.weeklygrid td.bl{width:104px;font-weight:700;font-size:12.5px;white-space:nowrap;padding:0 6px}.weeklygrid th.ap,.weeklygrid td.ap{width:92px}.weeklygrid td.availyes{background:var(--good-soft)}.weeklygrid td.availno{background:var(--surface-alt)}.pcell{width:100%;height:42px;display:flex;flex-direction:column;justify-content:center;gap:0;text-align:left;border:1px dashed var(--line);border-left-width:1px;border-radius:10px;background:transparent;color:var(--muted);padding:3px 8px;cursor:pointer;overflow:hidden;font:inherit;line-height:1.2}.pcell:hover{background:var(--surface-hover)}.pcell.on{border-style:solid;border-left:4px solid var(--pc,var(--muted));background:var(--card);color:var(--ink)}.pcell .poff{font-size:12px;opacity:.7}.pcell .pname1{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pcell .ptask1{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pcell.apply{height:32px;border-style:solid;border-radius:999px;text-align:center;font-size:12px;font-weight:600;align-items:center;color:var(--ink);background:var(--card)}.pickback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.pickmenu{position:fixed;z-index:91;width:260px;max-height:min(330px,60vh);overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 32px #14183c38;padding:6px}.pickitem{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:7px 10px;border-radius:10px;font:inherit;font-size:13px;cursor:pointer}.pickitem:hover{background:var(--surface-hover)}.pickitem.proj{font-weight:700}.pickitem.task{padding-left:30px;color:var(--muted)}.pickitem .sdot{width:9px;height:9px;border-radius:50%;flex:none}.cand{display:flex;align-items:center;gap:12px;background:var(--surface-alt);border-radius:16px;padding:10px 14px;margin-bottom:8px}.cand .candbody{flex:1;min-width:0}.cand .candname{font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cand .candact{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex:none;max-width:220px}.cand .candact .btn{white-space:normal;text-align:center}.placednote{margin-top:12px;padding:10px 14px;border-radius:14px;background:var(--good-soft);color:var(--good);font-size:13px;font-weight:600}.weeklygrid td{padding:0;background:none;border-radius:0}.weeklygrid td.availyes,.weeklygrid td.availno{background:none}.pcell{border:0;border-radius:12px;background:var(--surface-alt);color:var(--muted);transition:background .12s}.pcell.availyes{background:var(--good-soft)}.pcell.availno{background:var(--surface-alt)}.pcell:hover,.pcell.availyes:hover,.pcell.availno:hover,.pcell.on:hover,.pcell.apply:hover{background:var(--brand-soft);color:var(--ink)}.pcell.on{border:0;background:var(--card);color:var(--ink);box-shadow:inset 4px 0 0 var(--pc,var(--muted)),0 1px 4px #14183c24}.pcell.on:hover{box-shadow:inset 4px 0 0 var(--pc,var(--muted)),0 1px 4px #14183c24}.pcell.apply{border:0;background:var(--surface-alt)}.pcell.on{padding-left:12px}.pcell:hover,.pcell.availyes:hover,.pcell.availno:hover,.pcell.on:hover,.pcell.apply:hover{background:color-mix(in srgb,var(--brand) 20%,var(--card))}.openrow{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-bottom:8px}.openrow:last-child{margin-bottom:0}.openrow .openmain{min-width:0;flex:1}.openrow .openhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.openrow .openhead b{font-size:14.5px}.openrow .openact{display:flex;gap:8px;align-items:center;flex:none;flex-wrap:wrap;justify-content:flex-end;max-width:260px}.openrow .openact .btn{white-space:normal;text-align:center}.availcard{padding:18px 20px}.availnotice{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:16px;margin:0 0 14px;font-size:14px}.availnotice.warn{background:var(--warn-soft)}.availnotice.good{background:var(--good-soft)}.availnotice.bad{background:var(--bad-soft)}.avail{border-spacing:5px;min-width:520px}.avail th{font-size:12.5px;color:var(--muted);font-weight:700}.avail-count{display:block;font-size:11px;font-weight:600;min-height:14px;color:var(--brand)}.avail-cell{height:32px;border:0;border-radius:12px;background:var(--surface-alt);color:var(--muted);transition:background .12s}.avail-cell:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 20%,var(--card));color:var(--ink)}.avail-cell.on{background:var(--brand-soft);border:0;color:var(--brand-text,var(--brand))}.avail-cell.added{background:var(--good-soft);border:0;color:var(--good)}.avail-cell.removed{background:var(--bad-soft);border:0;color:var(--bad)}.avail-cell.on:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 32%,var(--card))}.avail-cell.added:hover:not(:disabled){background:color-mix(in srgb,var(--good) 30%,var(--card))}.avail-cell.removed:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 30%,var(--card))}.availkey{margin-top:12px;align-items:center}.availkey-on{background:var(--brand)}.availkey-added{background:var(--good)}.availkey-removed{background:var(--bad)}.avail th,.avail th.rowhead{background:none;border:0;box-shadow:none;text-transform:none;letter-spacing:0}.avail th.rowhead{font-size:13px;font-weight:600;color:var(--ink);padding-right:14px;width:1%}.avail th:not(.rowhead){text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.avail-cell.on:hover:not(:disabled){background:color-mix(in srgb,var(--indigo) 38%,var(--card))}.avail{table-layout:fixed}.avail th.rowhead{width:190px}.avail tr,.avail td,.avail tbody tr:hover{border:0;background:none}.personpick{border:0;border-radius:999px;background:var(--card);color:var(--ink);font-weight:600;font-size:13px;padding:9px 34px 9px 16px;box-shadow:0 1px 4px #14183c14;max-width:260px;cursor:pointer}.personpick:hover{background:color-mix(in srgb,var(--brand) 12%,var(--card))}.actcard{padding:18px 20px;margin-bottom:16px}.acthead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.acthead .top{display:flex;align-items:center;gap:12px}.acthead .sub{color:var(--muted);font-size:13px}.acttitle{font-size:15px;font-weight:700;margin-bottom:12px}.actgrid{display:grid;grid-template-columns:minmax(300px,1fr) 1.6fr;gap:16px;align-items:start}.actgrid .actcard{margin-bottom:0}@media (max-width:900px){.actgrid{grid-template-columns:1fr}}.timeline{height:30px;border-radius:999px;background:var(--surface-alt)}.timeline span{background:var(--brand);opacity:.9}.timeline span.idle{background:var(--warn);opacity:1}.actcard .actlist{max-height:max(380px,calc(100vh - 330px));overflow-y:auto;margin:0 -6px;padding:0 6px}.siterow{background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-bottom:8px}.siterow:last-child{margin-bottom:0}.sitetop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sitetop b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.siteright{display:flex;align-items:center;gap:10px;flex:none}.sitetime{font-size:13px;font-weight:600}.siterow .bar-track{height:8px;border-radius:999px;background:var(--card)}.siterow .bar{background:var(--brand);border-radius:999px;height:100%}.logrow{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;padding:9px 12px;border-radius:14px}.logrow:nth-child(odd){background:var(--surface-alt)}.logtime{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}.logwhat{min-width:0}.logmain{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logsub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actcard .empty{padding:20px;text-align:center;color:var(--muted)}.timeline span{opacity:1}.timeline span.shiftbase{background:var(--track)}.timeline span.entrybar{background:var(--muted)}.timeline span.idle,.idleswatch{background:repeating-linear-gradient(135deg,#fffffff2 0,#fffffff2 3px,#6b7280 3px,#6b7280 6px)}.timeline span.idle{box-shadow:0 0 0 1px #6b728099}.idleswatch{display:inline-block;width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 1px #6b728099;margin-right:2px}.logrow .flag .idleswatch{margin-right:6px;vertical-align:-1px}.shots{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.shot{position:relative;padding:10px;overflow:hidden;transition:transform .12s,box-shadow .12s}.shot:hover{transform:translateY(-2px);box-shadow:0 8px 22px #14183c24}.shotimg{display:block;width:100%;padding:0;border:0;background:none;border-radius:14px;overflow:hidden;cursor:zoom-in}.shot img{border-radius:14px;cursor:zoom-in}.shot .meta{padding:12px 4px 4px}.shot .meta .top{display:flex;align-items:center;gap:10px}.shot .meta .who b{font-size:14px}.shot .meta .sub{color:var(--muted);font-size:12.5px}.shotchips{margin-top:10px}.shotapp{margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shot-x{top:18px;right:18px}.lightbox>.card.shotview{width:min(1180px,96vw);padding:14px;overflow:hidden}.shotview img{display:block;width:100%;max-height:calc(100vh - 220px);object-fit:contain;border-radius:14px;background:var(--surface-alt)}.shotviewbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px}.shotviewbar .top{display:flex;align-items:center;gap:10px}.shotviewbar .sub{color:var(--muted);font-size:13px}.shottitle{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.colordot{width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;flex:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.colordot::-webkit-color-swatch-wrapper{padding:0}.colordot::-webkit-color-swatch{border:0;border-radius:50%}.colordot::-moz-color-swatch{border:0;border-radius:50%}.colordot.static{display:inline-block;cursor:default}.colordot:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}.addproject{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:0 0 16px}.addproject input:not(.colordot){flex:1;min-width:220px;max-width:360px}.projwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.projcard{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.projcard.archived{opacity:.6}.projcard .top{display:flex;align-items:center;gap:12px}.projcard .who b{font-size:16px}.projcard .sub{color:var(--muted);font-size:13px}.projstat{display:flex;align-items:baseline;gap:8px}.projhours{font-size:26px;font-weight:800;letter-spacing:-.02em}.projmodal{padding:20px 22px;width:100%;max-height:88vh;overflow:auto}.memberlist{max-height:340px;overflow-y:auto;display:grid;gap:6px}.memberrow{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:14px;background:var(--surface-alt);cursor:pointer;transition:background .12s}.memberrow:hover{background:color-mix(in srgb,var(--brand) 12%,var(--card))}.memberrow.on{background:var(--brand-soft)}.memberwho{flex:1;min-width:0;display:flex;flex-direction:column}.memberwho b{font-size:14px}.memberrow input{width:18px;height:18px;flex:none}.needin{width:60px;text-align:center;border:0;border-radius:12px;background:var(--surface-alt);padding:8px 4px;font-weight:600;-moz-appearance:textfield}.needin::-webkit-outer-spin-button,.needin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.needin:hover{background:color-mix(in srgb,var(--brand) 12%,var(--card))}.needin:focus{background:var(--brand-soft);outline:2px solid var(--brand)}.blockgrid th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:none}.blockgrid td{background:none}.seatcell{border-radius:12px;border:0;background:var(--surface-alt)}.seatcell.today{box-shadow:inset 0 0 0 2px var(--brand)}.seatcell.st-unplanned{border:0;box-shadow:inset 0 0 0 1px var(--warn)}.seatcell.st-full,.seatcell.st-over{background:var(--good-soft)}.seatcell.st-partial{background:var(--warn-soft)}.seatcell.st-empty{background:var(--bad-soft)}.seat{border-radius:50%}.seat.vacant{border-color:var(--bad)}.seatswatch{border-radius:50%}.seatbad{color:var(--bad)}.seatwarn{color:var(--warn)}.seatgood{color:var(--good)}.taskmodal .gaprow{background:var(--surface-alt);border-radius:16px;padding:8px 12px;margin-bottom:8px;border-bottom:0}.taskmodal .gaprow:last-of-type{margin-bottom:0}.taskmodal .gaprow input{background:var(--card)}.seatcell.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 30%,transparent)}.seatgrid th{background:none;border:0;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.seatgrid th.today{color:var(--ink)}.seatgrid td.seathour,.blockgrid td,.blockgrid th{border:0}.seatcell.today{box-shadow:none}.seatgrid th.today{color:var(--brand-text,var(--ink));font-weight:800}.softsearch{border:0;border-radius:999px;background:var(--card);box-shadow:0 1px 4px #14183c14;padding:10px 18px;width:min(340px,100%);font-size:14px}.availnotice.info{background:var(--brand-soft);font-size:13.5px}.addrating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;margin:0 0 16px}.addrating input{flex:1;min-width:200px;max-width:340px}.ratedrow{flex-wrap:wrap}.softselect{border:0;border-radius:999px;background:var(--card);color:var(--ink);font-size:13px;font-weight:600;padding:7px 30px 7px 14px;cursor:pointer;max-width:220px}.softselect:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 12%,var(--card))}.dangerchip{color:var(--bad)}.dangerchip:hover{background:var(--bad-soft)!important}.ratedgrid{display:grid;grid-template-columns:minmax(180px,1fr) 210px 300px 86px;gap:14px;align-items:center;background:var(--surface-alt);border-radius:16px;padding:10px 16px;margin-bottom:8px}.ratedgrid:last-child{margin-bottom:0}.ratedgrid .softselect{width:100%;max-width:none}.ratingseg{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);width:100%}.ratingseg button{padding:6px 4px;font-size:12.5px;white-space:nowrap}.ratingseg button:hover:not(.on){background:color-mix(in srgb,var(--brand) 12%,var(--card))}.ratingseg button.on.good{background:var(--good);color:#fff}.ratingseg button.on.bad{background:var(--bad);color:#fff}.ratingseg button.on.neutral{background:var(--muted);color:var(--card)}.ratedgrid .chip{justify-content:center;width:100%}@media (max-width:1100px){.ratedgrid{grid-template-columns:1fr 1fr}.ratedgrid .openmain{grid-column:1/-1}}.linkname{border:0;background:none;padding:0;font:inherit;font-weight:800;font-size:14.5px;color:var(--ink);cursor:pointer;text-align:left}.linkname:hover{text-decoration:underline;text-underline-offset:3px}.whorow{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;background:var(--surface-alt);color:inherit;text-decoration:none;transition:background .12s}.whorow:hover{background:color-mix(in srgb,var(--brand) 12%,var(--card))}.whomain{flex:1;min-width:0;display:grid;gap:5px}.whomain .bar-track{height:7px;border-radius:999px;background:var(--card)}.whomain .bar{height:100%;border-radius:999px;background:var(--brand)}.peoplemail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peoplerow{display:grid;grid-template-columns:minmax(220px,1.4fr) 90px 120px 60px 120px auto;gap:14px;align-items:center;background:var(--surface-alt);border-radius:16px;padding:10px 16px;margin-bottom:8px}.peoplerow:last-child{margin-bottom:0}.peoplerow.archived{opacity:.6}.peoplerow .top{display:flex;align-items:center;gap:10px;min-width:0}.peoplerow .who{min-width:0}.peoplerow .sub{color:var(--muted);font-size:12.5px}@media (max-width:1250px){.peoplerow{grid-template-columns:1fr 1fr}.peoplerow .chips{grid-column:1/-1}}.manageblock{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.manageblock .acttitle{margin-bottom:8px}.managefields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.softselect.wide{width:100%;max-width:none;margin-top:4px;padding:10px 30px 10px 14px;background:var(--surface-alt)}a.chip{text-decoration:none;color:inherit;display:inline-flex;align-items:center}.addrating select.softselect{background:var(--surface-alt)}.projmodal .memberrow input[type=checkbox]{margin-left:auto}.peoplerow{grid-template-columns:minmax(220px,1.3fr) 90px 110px 56px 120px 390px}.peoplerow>.chips{justify-content:flex-end;flex-wrap:nowrap}@media (max-width:1350px){.peoplerow{grid-template-columns:1fr 1fr}.peoplerow>.chips{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}}.payhead,.payrow{display:grid;grid-template-columns:minmax(220px,1.4fr) 130px 170px minmax(170px,1fr) 130px;gap:14px;align-items:center}.payhead{padding:0 16px 6px;font-size:12px;font-weight:700;color:var(--muted)}.payhead .r,.paytotal{text-align:right}.payrow{background:var(--surface-alt);border-radius:16px;padding:10px 16px;margin-bottom:8px}.paywho{display:flex;align-items:center;gap:12px;min-width:0}.paywho .who{display:flex;flex-direction:column;min-width:0}.paywho b{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payhours{font-weight:700;color:var(--ink);font-size:15px}.paywait{display:flex;align-items:center;gap:8px}.paytotal{font-weight:800;color:var(--ink);font-size:16px}.paysum{background:var(--brand-soft)}.paysum .paywho{padding-left:4px}.ratehead{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 230px;gap:14px;padding:0 16px 6px;font-size:12px;font-weight:700;color:var(--muted)}.raterow{background:var(--surface-alt);border-radius:16px;padding:10px 16px;margin-bottom:8px}.raterowtop{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 230px;gap:14px;align-items:center}.ratecurrent b{color:var(--ink);font-size:15px}.rateact{display:flex;gap:6px;justify-content:flex-end}.ratepanel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.ratepanel.history{flex-direction:column;align-items:stretch;gap:4px}.historyrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;color:var(--ink)}.ratehint{flex-basis:100%}@media (max-width:900px){.payhead{display:none}.payrow,.raterowtop{grid-template-columns:1fr 1fr}.ratehead{display:none}.paytotal{text-align:left}}.approverow{grid-template-columns:minmax(180px,1.4fr) 150px 200px 300px}@media (max-width:760px){.approverow{grid-template-columns:1fr 1fr}}.addrating .softsearch{background:var(--surface-alt)}.billgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;align-items:stretch}.billcard{padding:20px 22px}.billcard .cardtitle{margin:0 0 8px;color:var(--ink)}.billbtns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.billnote{display:flex;gap:10px;align-items:flex-start;margin:0;color:var(--ink)}.billnote .flag{flex:none;margin-top:2px}.billtotal{color:var(--muted)}.billtotal b{color:var(--ink);font-size:17px;margin-left:4px}.sectiontitle{margin:6px 0 10px;color:var(--ink)}.billhead,.billrow{display:grid;grid-template-columns:minmax(220px,1.6fr) 110px 90px 110px 170px 90px;gap:14px;align-items:center}.billhead{padding:0 16px 6px;font-size:12px;font-weight:700;color:var(--muted)}.billrow{background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-bottom:8px;color:var(--ink)}.billamount{font-weight:800}.billview{text-align:right}@media (max-width:900px){.billgrid{grid-template-columns:1fr}.billhead{display:none}.billrow{grid-template-columns:1fr 1fr}}.softfield{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--muted)}.softfield .softsearch{width:100%;background:var(--surface-alt);font-weight:400;color:var(--ink)}.intlog{margin-top:12px;background:var(--surface-alt);border-radius:14px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted);white-space:pre-wrap}.intprog{background:var(--surface-alt);border-radius:16px;padding:12px 16px}.intnum{font-weight:800;font-size:22px;color:var(--ink)}.runhead,.runrow{display:grid;grid-template-columns:minmax(200px,1.2fr) 180px minmax(180px,1.4fr) 110px;gap:14px;align-items:center}.runhead{padding:0 16px 6px;font-size:12px;font-weight:700;color:var(--muted)}.runrow{background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-bottom:8px;color:var(--ink)}@media (max-width:900px){.runhead{display:none}.runrow{grid-template-columns:1fr 1fr}}.runhead,.runrow{grid-template-columns:minmax(200px,1.2fr) 230px minmax(180px,1.4fr) 110px}.runrow>div:nth-child(2){white-space:nowrap}.devshown{align-items:flex-start}.devcode{display:block;padding:10px 12px;background:var(--card);border-radius:12px;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--ink);font-size:13px}.devprefix{background:var(--card);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--ink)}.keyhead,.keyrow{display:grid;grid-template-columns:minmax(200px,1.4fr) 170px 160px 200px 100px;gap:14px;align-items:center}.keyhead{padding:0 16px 6px;font-size:12px;font-weight:700;color:var(--muted)}.keyrow{background:var(--surface-alt);border-radius:16px;padding:12px 16px;margin-bottom:8px;color:var(--ink)}.hookcard{background:var(--surface-alt);border-radius:16px;padding:14px 18px;margin-bottom:10px}.hooktop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.hookurl{font-weight:700;color:var(--ink);word-break:break-all}.hookhist{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.delrow{display:grid;grid-template-columns:160px minmax(140px,1fr) minmax(200px,1.4fr) 100px;gap:14px;align-items:center;padding:6px 0;color:var(--ink)}@media (max-width:900px){.keyhead{display:none}.keyrow,.delrow{grid-template-columns:1fr 1fr}}.setcols{column-count:2;column-gap:16px}.setcard{break-inside:avoid;padding:20px 22px;margin-bottom:16px;display:block}.setcard .cardtitle{margin:0 0 6px;color:var(--ink)}.setrow{display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.setrow:first-of-type{border-top:0}.settext{display:flex;flex-direction:column;gap:2px;min-width:0}.settext b{color:var(--ink);font-weight:700}.setnum{width:100%;text-align:right;border:0;border-radius:12px;background:var(--surface-alt);padding:9px 12px;font-weight:700;color:var(--ink)}.settoggle{cursor:pointer;grid-template-columns:1fr auto}.settoggle.disabled{opacity:.55;cursor:default}input[type=checkbox].switch{width:42px;height:24px;border-radius:999px;border:0;background:var(--track);position:relative;display:block;padding:0;flex:none;cursor:pointer;transition:background .15s}input[type=checkbox].switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px #00000040;transition:transform .15s;-webkit-mask:none;mask:none}input[type=checkbox].switch:checked{background:var(--brand);border:0}input[type=checkbox].switch:checked:after{transform:translate(18px);width:18px;height:18px;background:var(--on-brand,#fff);-webkit-mask:none;mask:none}input[type=checkbox].switch:hover{border:0}.settzrow{display:flex;flex-direction:column;gap:8px}@media (max-width:900px){.setcols{column-count:1}}input[type=checkbox].switch{box-shadow:inset 0 0 0 1px var(--line)}input[type=checkbox].switch:checked{box-shadow:none}input[type=checkbox].switch:not(:checked):after{background:var(--muted);box-shadow:none}.chip.on{background:var(--accent,var(--brand));border-color:var(--accent,var(--brand));color:var(--on-accent,var(--on-brand,#fff))}.seg button.on{background:var(--accent,var(--brand));color:var(--on-accent,var(--on-brand,#fff))}body{font-family:var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif)}[data-sidebar] .sidebar{background:var(--side-bg);border-color:var(--side-line);color:var(--side-ink)}[data-sidebar] .sidebar .muted,[data-sidebar] .sidebar .nav a{color:var(--side-muted)}[data-sidebar] .sidebar .nav a:hover{background:var(--side-hover);color:var(--side-ink)}[data-sidebar] .sidebar .nav a.active{background:var(--side-active-bg);color:var(--side-active-ink)}[data-sidebar] .sidebar .me{border-top-color:var(--side-line)}[data-sidebar] .sidebar .btn.ghost{background:var(--side-hover);color:var(--side-ink);border-color:var(--side-line)}.sidebar:after{content:var(--powered);padding:0 18px 12px;font-size:11px;color:var(--muted);text-align:center}[data-sidebar] .sidebar:after{color:var(--side-muted)}.auth{position:relative;background-color:var(--login-bg,transparent);background-image:var(--login-img,none);background-size:cover;background-position:center}.auth:after{content:var(--powered);position:absolute;bottom:16px;left:50%;transform:translate(-50%);font-size:12px;color:var(--muted);background:var(--card);padding:3px 12px;border-radius:999px}.loginwelcome{margin:0 0 14px;color:var(--muted);font-size:15px}.brandlogo.logo-dark{display:none}:root[data-theme=dark] .brandlogo.logo-dark{display:block}:root[data-theme=dark] .brandlogo.logo-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brandlogo.logo-dark{display:block}:root:not([data-theme=light]) .brandlogo.logo-light{display:none}}[data-side-tone=dark] .sidebar .brandlogo.logo-dark{display:block}[data-side-tone=dark] .sidebar .brandlogo.logo-light,[data-side-tone=light] .sidebar .brandlogo.logo-dark{display:none}[data-side-tone=light] .sidebar .brandlogo.logo-light{display:block}[data-round=sharp]{--radius:8px}[data-round=round]{--radius:30px}[data-round=sharp] .say,[data-round=sharp] .banners>div,[data-round=sharp] .pbox,[data-round=sharp] .rulepreview,[data-round=sharp] .rulenote,[data-round=sharp] .approverow,[data-round=sharp] .dayrow,[data-round=sharp] .covcard .gaprow,[data-round=sharp] .pickmenu,[data-round=sharp] .cand,[data-round=sharp] .openrow,[data-round=sharp] .availnotice,[data-round=sharp] .siterow,[data-round=sharp] .taskmodal .gaprow,[data-round=sharp] .ratedgrid,[data-round=sharp] .peoplerow,[data-round=sharp] .payrow,[data-round=sharp] .raterow,[data-round=sharp] .billrow,[data-round=sharp] .intprog,[data-round=sharp] .runrow,[data-round=sharp] .keyrow,[data-round=sharp] .hookcard,[data-round=sharp] .datepanel,[data-round=sharp] .annmessage,[data-round=sharp] .projcard,[data-round=sharp] .card.stat{border-radius:8px}[data-round=sharp] .sidebar{border-radius:10px}[data-round=sharp] .nav a,[data-round=sharp] button.btn,[data-round=sharp] .btn,[data-round=sharp] .btn.small,[data-round=sharp] .chip,[data-round=sharp] .seg,[data-round=sharp] .seg button,[data-round=sharp] .softsearch,[data-round=sharp] .softselect,[data-round=sharp] .pill,[data-round=sharp] .whochip,[data-round=sharp] .datelink,[data-round=sharp] .navbadge,[data-round=sharp] .personpick,[data-round=sharp] .availtag,[data-round=sharp] .seatcount,[data-round=sharp] .tag,[data-round=sharp] input[type=text],[data-round=sharp] input[type=number],[data-round=sharp] input[type=email],[data-round=sharp] input[type=password],[data-round=sharp] input[type=date],[data-round=sharp] input[type=time],[data-round=sharp] input:not([type]),[data-round=sharp] select,[data-round=sharp] textarea,[data-round=sharp] .datefield,[data-round=sharp] .memberrow,[data-round=sharp] .whorow,[data-round=sharp] .logrow,[data-round=sharp] .placednote,[data-round=sharp] .intlog,[data-round=sharp] .hourdetail{border-radius:8px}[data-round=round] .say,[data-round=round] .banners>div,[data-round=round] .pbox,[data-round=round] .rulepreview,[data-round=round] .rulenote,[data-round=round] .approverow,[data-round=round] .dayrow,[data-round=round] .covcard .gaprow,[data-round=round] .pickmenu,[data-round=round] .cand,[data-round=round] .openrow,[data-round=round] .availnotice,[data-round=round] .siterow,[data-round=round] .taskmodal .gaprow,[data-round=round] .ratedgrid,[data-round=round] .peoplerow,[data-round=round] .payrow,[data-round=round] .raterow,[data-round=round] .billrow,[data-round=round] .intprog,[data-round=round] .runrow,[data-round=round] .keyrow,[data-round=round] .hookcard,[data-round=round] .datepanel,[data-round=round] .annmessage,[data-round=round] .projcard,[data-round=round] .card.stat{border-radius:28px}[data-round=round] .sidebar{border-radius:38px}[data-round=round] input[type=text],[data-round=round] input[type=number],[data-round=round] input[type=email],[data-round=round] input[type=password],[data-round=round] input[type=date],[data-round=round] input[type=time],[data-round=round] input:not([type]),[data-round=round] select,[data-round=round] textarea,[data-round=round] .datefield,[data-round=round] .memberrow,[data-round=round] .whorow,[data-round=round] .logrow,[data-round=round] .placednote,[data-round=round] .intlog,[data-round=round] .hourdetail{border-radius:20px}[data-density=compact],[data-density=compact] body{font-size:13px}[data-density=roomy],[data-density=roomy] body{font-size:15px}[data-density=compact] .nav a{padding-top:5px;padding-bottom:5px}[data-density=roomy] .nav a{padding-top:12px;padding-bottom:12px}[data-density=compact] .content{padding:6px 22px 28px}[data-density=roomy] .content{padding:18px 34px 52px}[data-density=compact] .card.stat{padding:12px 16px}[data-density=roomy] .card.stat{padding:26px}[data-density=compact] :is(.peoplerow,.payrow,.raterow,.billrow,.keyrow,.runrow,.siterow,.logrow,.openrow,.approverow){padding-top:6px;padding-bottom:6px}[data-density=roomy] :is(.peoplerow,.payrow,.raterow,.billrow,.keyrow,.runrow,.siterow,.logrow,.openrow,.approverow){padding-top:18px;padding-bottom:18px}.pvwrap[data-theme=dark]{--banner-warn: #fbbf24;--brand: #9aa1ff;--brand-dark: #e3e5ff;--brand-soft: rgba(154, 161, 255, .16);--ink: #eceef8;--muted: #9a9fbd;--line: #2d3150;--bg: #14162a;--card: #1e2138;--surface-alt: #232744;--surface-hover: #292d4d;--track: #2a2e4e;--good: #4ade9b;--good-soft: rgba(74, 222, 155, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--bad: #fb8a8a;--bad-soft: rgba(251, 113, 133, .14);--indigo: #a5acff;--indigo-soft: rgba(129, 140, 248, .18);--overlay: rgba(6, 7, 18, .8);--radius: 20px;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--page: linear-gradient(160deg, #14162a 0%, #1a1833 55%, #1f1a2e 100%);--on-brand: #14162a}.brandgrid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:20px;align-items:start}.brandside{position:sticky;top:16px}.brandcard{padding:20px 22px;margin-bottom:16px}.brandcard .cardtitle{margin:0 0 6px;color:var(--ink)}.brandfield,.brandpic{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.brandfield:first-of-type{border-top:0}.brandfieldtext{display:flex;flex-direction:column;gap:2px;min-width:200px;flex:1}.brandfieldtext b{color:var(--ink)}.brandfieldctl,.brandpicctl{display:flex;align-items:center;gap:8px}.brandhex{width:104px;text-transform:lowercase;background:var(--surface-alt)}.brandmode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0 4px;border-top:1px solid var(--line);margin-top:6px}.brandpicbox{min-width:56px;height:44px;border-radius:12px;background:var(--surface-alt);display:grid;place-items:center;padding:4px 8px;overflow:hidden}.brandpicbox.dark{background:#1d2036}.brandpicbox img{max-height:36px;max-width:100%;object-fit:contain}.presets{display:flex;gap:10px;flex-wrap:wrap}.preset{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:16px;padding:12px 16px;min-width:92px;font-weight:600;cursor:pointer}.preset:hover{border-color:var(--brand);background:var(--surface-hover)}.presetdots{display:flex}.presetdots i{width:22px;height:22px;border-radius:50%;margin-left:-6px;border:2px solid var(--card)}.presetdots i:first-child{margin-left:0}.pvwrap{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--bg);background-image:var(--page);color:var(--ink);font-family:var(--font,inherit);font-size:11px;position:relative}.pvshell{display:flex;gap:8px;padding:8px;min-height:340px}.pvwrap .sidebar{position:static;height:auto;width:128px;flex:0 0 128px;border-radius:16px}.pvwrap .sidebar .brand{padding:12px 12px 8px;font-size:12px}.pvwrap .sidebar .brand .dot{width:18px;height:18px}.pvwrap .nav{padding:4px 6px}.pvwrap .nav a{padding:5px 10px;font-size:11px;cursor:default}.pvwrap .sidebar .me{padding:8px 10px;gap:6px;font-size:10px;margin-top:auto}.pvface{width:22px;height:22px;border-radius:50%;background:var(--brand-soft);color:var(--brand-text);display:grid;place-items:center;font-size:9px;font-weight:700;flex:none}.pvmain{flex:1;min-width:0;padding:6px 4px}.pvtitle{font-size:15px;margin:0 0 8px;color:var(--ink)}.pvcards{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.pvwrap .card.stat{padding:8px 10px}.pvwrap .stat .value{font-size:16px;margin-top:2px}.pvwrap .stat .label{font-size:9px}.pvwrap .chip,.pvwrap .seg button{padding:3px 9px;font-size:10px}.pvwrap .btn.small{padding:3px 10px;font-size:10px}.pvwrap .flag{font-size:9px}.pvrow{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px}.pvlink{color:var(--brand-text);font-weight:600;margin-right:10px}.pvlinkrow{padding:2px 4px}.pvpowered{text-align:center;font-size:10px;color:var(--muted);padding:0 0 8px}.pvlogin{min-height:340px;display:grid;place-items:center;padding:18px;background-size:cover;background-position:center}.pvcard{width:230px;padding:18px}.pvinput{margin-top:8px;padding:7px 10px;border-radius:12px;background:var(--surface-alt);color:var(--muted);font-size:10px}.pvlogin .pvpowered{position:absolute;bottom:6px;left:0;right:0}@media (max-width:1100px){.brandgrid{grid-template-columns:1fr}.brandside{position:static;order:-1}}.pvrow b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pvrow .muted{white-space:nowrap}.welcomecard{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 28px 0;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);box-shadow:0 1px 2px #1418280a}.welcomecard .welcometitle{font-weight:700;font-size:16px;color:var(--ink)}.welcomecard .welcometext{color:var(--muted);margin-top:4px;line-height:1.5}.welcomecard.pvwelcome{margin:0 0 10px;padding:10px 12px;font-size:12px}.welcomecard.pvwelcome .welcometitle{font-size:13px}.menurows{display:flex;flex-direction:column;gap:6px}.menuhead,.menurow{display:grid;grid-template-columns:150px minmax(0,1fr) 90px;gap:12px;align-items:center}.menuhead{font-size:12px;color:var(--muted);padding:0 2px 4px}.menurow .softsearch{width:100%}.menurow input[type=checkbox].switch{justify-self:start}.helpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:760px}.helpcard{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.helpcard.wide{grid-column:1/-1}.helpicon{width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.helplabel{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.helpvalue{font-size:17px;font-weight:600;color:var(--ink);word-break:break-all}.helpnote{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}.pvmail{display:flex;flex-direction:column;gap:8px;background:#f5f6f8;border-radius:12px;padding:12px}.pvmailmeta{font-size:12px;color:#1b1f24}.pvmailcard{background:#fff;border-radius:10px;overflow:hidden;color:#1b1f24;font-size:12px}.pvmailband{padding:12px 16px;font-size:14px}.pvmaillogo{display:inline-block;background:#fff;border-radius:6px;padding:4px 8px}.pvmaillogo img{max-height:24px;max-width:120px;display:block}.pvmailbody{padding:16px}.pvmailbody p{margin:0 0 10px;line-height:1.5}.pvmailbtn{display:inline-block;padding:8px 14px;border-radius:7px;font-size:12px;margin:6px 0 14px}.pvmailfoot{border-top:1px solid #eee;padding-top:10px}.pvmailfoot p{margin:0 0 4px;font-size:11px;color:#666}.pvmailfoot .muted{color:#888}@media (max-width:700px){.menuhead,.menurow{grid-template-columns:110px minmax(0,1fr) 70px;gap:8px}.welcomecard{margin:12px 12px 0;flex-direction:column;align-items:flex-start}}textarea.softsearch{font-family:inherit;font-size:inherit;line-height:1.5;resize:vertical;border-radius:calc(var(--radius) + 2px);padding:10px 14px}.acct{display:flex;flex-direction:column;gap:18px;max-width:1040px}.acctprofile{display:flex;align-items:center;gap:20px;padding:24px 26px;flex-wrap:wrap}.acctname{font-size:22px;font-weight:700;color:var(--ink)}.acctchips{margin-top:10px}.acctgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;align-items:start}.acctcard{padding:22px 24px}.acctcard .cardtitle{margin:0 0 12px;color:var(--ink)}.acctrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.acctcard .availnotice{margin-bottom:14px}.twoform{max-width:420px;margin-top:6px}.twoform ol{color:var(--muted)}.twoqr{background:#fff;border-radius:18px;padding:10px;border:1px solid var(--line)}.twocodes{background:var(--surface-alt);border-radius:18px;padding:16px 18px;margin-bottom:14px}.twocodelist{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px;font-family:ui-monospace,monospace;font-size:14px}.twocodelist div{background:var(--card);border-radius:999px;padding:6px 14px;text-align:center}.acctcard .availnotice>span:first-child{flex:1;min-width:200px}.pvwrap[data-theme=light]{--banner-warn: #ffd27a;--brand: #25283a;--brand-dark: #25283a;--brand-soft: #eceefb;--ink: #25283a;--muted: #6f748f;--line: #e7e9f5;--bg: #eef0ff;--card: #ffffff;--surface-alt: #f6f7fd;--surface-hover: #f1f3fc;--track: #eceffa;--good: #12855f;--good-soft: #e3f7ee;--warn: #a8620a;--warn-soft: #fff1d6;--bad: #c2410c;--bad-soft: #ffe7de;--indigo: #4f46e5;--indigo-soft: #eceafe;--overlay: rgba(20, 22, 40, .72);--radius: 20px;--shadow: 0 6px 24px rgba(60, 70, 120, .1);--page: linear-gradient(160deg, #eef0ff 0%, #f6f1fb 55%, #fdf1ee 100%);--on-brand: #ffffff;color:var(--ink);color-scheme:light}.pvwrap[data-theme=dark]{color:var(--ink);color-scheme:dark}
