:root{--ink: #14304a;--ink-2: #1c4163;--ink-3: #2a5680;--paper: #eef1f4;--surface: #ffffff;--surface-2: #f6f8fa;--line: #d5dce3;--line-2: #e6ebf0;--text: #17222d;--muted: #586878;--tape: #f2b705;--tape-2: #ffcb2e;--tape-ink: #241c00;--good: #1e7f55;--good-bg: #e3f3ea;--warn: #9a6408;--warn-bg: #fdf1d6;--bad: #b3361f;--bad-bg: #fbe6e1;--info: #285f9e;--info-bg: #e2ecf8;--tone-a: #2a5680;--tone-b: #1e7f55;--tone-c: #a8590f;--tone-d: #6b4fa0;--tone-e: #8a6a00;--font: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-cond: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--r-sm: 4px;--r: 6px;--r-lg: 10px;--shadow: 0 1px 2px rgba(20, 48, 74, .06), 0 2px 8px rgba(20, 48, 74, .05);--shadow-pop: 0 10px 30px rgba(20, 48, 74, .18);--side-w: 248px;--rail-w: 76px;--top-h: 56px;--focus: 0 0 0 3px rgba(242, 183, 5, .55)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.modal-open{overflow:hidden}h1,h2,h3{font-family:var(--font-cond);font-weight:600;line-height:1.15;margin:0;letter-spacing:-.005em}h1{font-size:1.75rem}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0 0 .75rem}a{color:var(--info)}code{font-size:.875em;background:var(--surface-2);padding:.1em .35em;border-radius:var(--r-sm);border:1px solid var(--line-2)}:focus-visible{outline:none;box-shadow:var(--focus)}.muted{color:var(--muted)}.fine{color:var(--muted);font-size:.8125rem;margin-top:.75rem}.pre{white-space:pre-wrap}.text-bad{color:var(--bad)}.spacer{flex:1}.num,.stat-value,.clock-timer,.stub-pay{font-variant-numeric:tabular-nums}.skip-link{position:absolute;left:-999px;top:8px;background:var(--tape);color:var(--tape-ink);padding:8px 12px;z-index:100;border-radius:var(--r)}.skip-link:focus{left:8px}.print-only{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}.logo-word{font-family:var(--font-cond);font-weight:700;font-size:1.25rem;letter-spacing:.01em;color:inherit;white-space:nowrap}.shell{min-height:100dvh;display:grid;grid-template-columns:var(--side-w) 1fr}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--ink);color:#dfe8f1;padding:14px 12px;z-index:40;--rail-a: #ffffff;--rail-b: var(--tape)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 18px}.sidebar-brand{color:#fff;text-decoration:none}.sidebar .sidebar-close{display:none;color:#fff}.sidebar-nav{flex:1;overflow-y:auto}.nav-group{margin-bottom:18px}.nav-group-label{font-size:.75rem;color:#8ea6bd;padding:0 12px 6px;font-weight:500}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;min-height:44px;color:#d3dfeb;text-decoration:none;border-radius:var(--r);font:inherit;font-weight:500;background:none;border:0;cursor:pointer;text-align:left;position:relative}.nav-link:hover,.nav-link.is-active{background:var(--ink-2);color:#fff}.nav-link.is-active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:4px;background:var(--tape);border-radius:0 2px 2px 0}.nav-link svg{flex:none}.sidebar-foot{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.me{display:flex;align-items:center;gap:10px;padding:4px 12px 10px}.me-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.me-text strong{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-text span{font-size:.8125rem;color:#8ea6bd}.avatar{flex:none;width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink-3);color:#fff;font-weight:600;font-size:.8125rem;letter-spacing:.02em}.main-col{min-width:0;display:flex;flex-direction:column}.topbar{display:none;position:sticky;top:0;z-index:30;height:var(--top-h);align-items:center;gap:8px;padding:0 8px;background:var(--ink);color:#fff;--rail-a: #fff;--rail-b: var(--tape)}.topbar .icon-btn{color:#fff}.topbar-brand{color:#fff;text-decoration:none}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.page{padding:28px 32px 64px;width:100%;max-width:1360px;outline:none}.scrim{display:none}.demo-pill{font-size:.75rem;font-weight:600;background:var(--tape);color:var(--tape-ink);padding:2px 8px;border-radius:999px}.offline-bar{display:flex;gap:8px;align-items:center;justify-content:center;background:var(--warn-bg);color:var(--warn);font-size:.875rem;padding:6px 12px}@media(min-width:768px){.topbar{display:flex;background:transparent;color:var(--text);height:auto;padding:14px 32px 0;position:static}.topbar .menu-btn,.topbar-brand{display:none}.topbar .icon-btn{color:var(--text)}.topbar-right:empty{display:none}.page{padding-top:8px}}@media(min-width:768px)and (max-width:1199px){.shell{grid-template-columns:var(--rail-w) 1fr}.sidebar{padding:14px 10px;align-items:center}.sidebar-top{padding:4px 0 18px}.logo-word,.nav-label,.nav-group-label,.me-text{display:none}.nav-link{justify-content:center;padding:10px}.nav-link.is-active:before{left:-10px}.me{justify-content:center;padding:4px 0 10px}.page{padding:8px 24px 56px}.topbar{padding:14px 24px 0}}@media(max-width:767px){.shell{display:block}.topbar{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,300px);transform:translate(-102%);transition:transform .22s ease;box-shadow:var(--shadow-pop)}.sidebar .sidebar-close{display:inline-grid}.drawer-open .sidebar{transform:none}.drawer-open .scrim{display:block;position:fixed;inset:0;background:#0a182673;z-index:35}.page{padding:18px 16px 48px}h1{font-size:1.5rem}}@supports (padding: env(safe-area-inset-top)){.topbar{padding-top:env(safe-area-inset-top);height:calc(var(--top-h) + env(safe-area-inset-top))}.sidebar{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.page{padding-bottom:calc(48px + env(safe-area-inset-bottom))}@media(min-width:768px){.topbar{padding-top:14px;height:auto}}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 20px;flex-wrap:wrap}.page-sub{color:var(--muted);margin:4px 0 0;max-width:70ch}.page-sub strong{color:var(--text)}.page-sub .badge{vertical-align:1px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.grid-2-wide-left{grid-template-columns:1.4fr 1fr}@media(max-width:1023px){.grid-2,.grid-2-wide-left{grid-template-columns:1fr}}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar .input{width:auto;min-width:180px}.input-search{flex:1;max-width:360px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow)}.panel-flush{padding:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-flush>.panel-head{padding:16px 20px 0}.panel-link{font-size:.875rem;font-weight:500;color:var(--info);text-decoration:none;display:inline-block;margin-top:10px}.panel-head .panel-link{margin-top:0}.panel-link:hover{text-decoration:underline}.panel-flush .empty,.panel-flush .loading{padding:36px 20px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat-row-2{grid-template-columns:1fr 1fr}.stat-row-3{grid-template-columns:repeat(3,1fr)}.stat-row-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.stat-row-4{grid-template-columns:1fr 1fr}}@media(max-width:420px){.stat-row-3{grid-template-columns:1fr 1fr}}.stat{padding:2px 0;min-width:0}.stat-label{font-size:.8125rem;color:var(--muted);font-weight:500}.stat-value{font-family:var(--font-cond);font-size:1.75rem;font-weight:600;line-height:1.15}.stat-note{font-size:.8125rem;color:var(--muted)}.stat-good .stat-value{color:var(--good)}.stat-warn .stat-value{color:var(--warn)}.stat-bad .stat-value{color:var(--bad)}.stat-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 20px;box-shadow:var(--shadow);margin-bottom:20px;gap:0}.stat-strip .stat{padding:0 18px;border-left:1px solid var(--line-2)}.stat-strip .stat:first-child{padding-left:0;border-left:0}@media(max-width:900px){.stat-strip{gap:14px 0}.stat-strip .stat:nth-child(odd){padding-left:0;border-left:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;border-radius:var(--r);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .12s,border-color .12s,color .12s}.btn-md{min-height:42px;padding:0 16px;font-size:.9375rem}.btn-sm{min-height:34px;padding:0 11px;font-size:.875rem;gap:6px}.btn-primary{background:var(--tape);color:var(--tape-ink);border-color:#d9a300}.btn-primary:hover:not(:disabled){background:var(--tape-2)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.btn-secondary:hover:not(:disabled){border-color:#b8c3ce;background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:#982a16}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r);border:0;background:transparent;color:var(--muted);cursor:pointer;flex:none}.icon-btn:hover{background:#7f91a324;color:var(--text)}.link-btn{background:none;border:0;padding:0;color:var(--info);font:inherit;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:.875rem;font-weight:600}.field-hint{font-size:.8125rem;color:var(--muted)}.field-wide{grid-column:1 / -1}.input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid #c4cdd6;border-radius:var(--r);padding:9px 11px;min-height:42px}.input:hover{border-color:#a8b5c2}.input:focus{outline:none;border-color:var(--ink-3);box-shadow:var(--focus)}.input:disabled{background:var(--surface-2);color:var(--muted)}.input-lg{min-height:52px;font-size:1.0625rem}.input-sm{min-height:34px;padding:4px 8px;width:auto;font-size:.875rem}textarea.input{resize:vertical;min-height:64px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23586878' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}input[type=range]{width:100%;accent-color:var(--ink-3);height:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.form-grid,.form-grid-3{grid-template-columns:1fr}}.fieldset{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px 16px;margin:0}.fieldset legend{font-weight:600;padding:0 6px;font-size:.9375rem}.fieldset .segmented{margin-bottom:14px}.toggle,.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.9375rem}.toggle input,.check input{width:18px;height:18px;accent-color:var(--ink-3);flex:none}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.inline-form{display:flex;gap:8px;margin-top:12px}.details summary{cursor:pointer;font-weight:600;padding:4px 0}.details[open] summary{margin-bottom:12px}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:3px;gap:2px;flex-wrap:wrap}.segmented button{font:inherit;font-size:.875rem;font-weight:500;border:0;background:none;padding:6px 12px;border-radius:4px;cursor:pointer;color:var(--muted);min-height:34px}.segmented button:hover{color:var(--text)}.segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #14304a26;font-weight:600}.pool-preview{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline;margin-top:14px;padding:12px 14px;background:var(--surface-2);border-radius:var(--r);border-left:4px solid var(--tape)}.pool-preview strong{font-family:var(--font-cond);font-size:1.25rem}.pool-preview .muted{flex-basis:100%;font-size:.875rem}.photo-pick{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed rgba(255,255,255,.35);border-radius:var(--r);cursor:pointer;font-size:.9375rem;color:#dfe8f1}.photo-pick input{display:none}.photo-pick:hover{border-color:var(--tape)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5;background:var(--surface-2);color:var(--muted);border:1px solid var(--line-2)}.badge-good{background:var(--good-bg);color:var(--good);border-color:transparent}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.badge-bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}.badge-info{background:var(--info-bg);color:var(--info);border-color:transparent}.badge-accent{background:var(--ink);color:#fff;border-color:transparent}.error-note{display:flex;gap:8px;align-items:flex-start;background:var(--bad-bg);color:#7d2412;border-radius:var(--r);padding:10px 12px;margin-bottom:12px;font-size:.9375rem}.error-note svg{flex:none;margin-top:2px}.success-note{background:var(--good-bg);color:#145a3c;padding:10px 12px;border-radius:var(--r)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 12px;color:var(--muted)}.empty-title{font-weight:600;color:var(--text);margin:4px 0 0}.empty-body{max-width:46ch}.loading{display:flex;align-items:center;gap:10px;color:var(--muted);padding:20px 0}.meter{position:relative;height:10px;background:var(--line-2);border-radius:999px;overflow:hidden;min-width:90px}.meter-fill{height:100%;border-radius:inherit;background:var(--good);transition:width .3s ease}.meter-warn .meter-fill{background:#d99a0b}.meter-bad .meter-fill{background:var(--bad)}.meter-col{width:18%;min-width:110px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table th{text-align:left;font-size:.8125rem;font-weight:600;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}.table td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:top}.table tbody tr:last-child td{border-bottom:0}.table tfoot td{font-weight:600;border-top:1px solid var(--line);background:var(--surface-2)}.table .num{text-align:right;white-space:nowrap}.table-compact td,.table-compact th{padding:7px 10px}.panel:not(.panel-flush) .table th{background:none}.row-link{cursor:pointer}.row-link:hover td{background:#f8fafc}.row-flag td:first-child{box-shadow:inset 4px 0 0 var(--tape)}.row-muted td{color:var(--muted)}.row-actions{text-align:right;white-space:nowrap}.strong-link{font-weight:600;color:var(--ink)}.cell-note{font-size:.8125rem;color:var(--muted);white-space:pre-line;margin-top:2px}.cell-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.cell-badges:empty{display:none}.person{display:flex;align-items:center;gap:10px}.person>span:last-child{display:flex;flex-direction:column}.person .avatar{background:var(--info-bg);color:var(--ink)}@media(max-width:640px){.table thead{display:none}.table,.table tbody,.table tr,.table td,.table tfoot{display:block;width:100%}.table tr{padding:10px 16px;border-bottom:1px solid var(--line-2)}.table td{border:0;padding:3px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;text-align:right}.table td .cell-note,.table td .cell-badges{flex-basis:100%;text-align:left;justify-content:flex-start}.table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.8125rem;text-align:left;flex:none;padding-top:1px}.table td:first-child{font-weight:600;text-align:left;display:block}.table td:first-child:before{display:none}.table td:first-child .cell-note{font-weight:400}.table .num{text-align:right}.table tfoot tr{display:flex;justify-content:space-between}.table tfoot td{display:inline;width:auto;background:none;border:0}.table tfoot td:empty{display:none}.meter-col{width:100%}.meter-col .meter{flex:1;max-width:60%;align-self:center}.row-actions{justify-content:flex-end;padding-top:6px!important}.row-flag td:first-child{box-shadow:none}.row-flag{box-shadow:inset 4px 0 0 var(--tape)}}.clock-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:1023px){.clock-layout{grid-template-columns:1fr}}.clock-panel{--miter: 44px;position:relative;background:var(--ink);color:#fff;border-radius:var(--r-lg);clip-path:polygon(0 0,calc(100% - var(--miter)) 0,100% var(--miter),100% 100%,0 100%);box-shadow:var(--shadow)}.clock-panel:after{content:"";position:absolute;top:0;right:0;width:var(--miter);height:var(--miter);background:linear-gradient(225deg,var(--tape) 50%,transparent 50%)}.clock-panel.is-running:after{background:linear-gradient(225deg,#3fcf8e 50%,transparent 50%)}.clock-panel-inner{padding:26px 26px 28px;display:flex;flex-direction:column;gap:14px}.clock-greeting{font-size:1.125rem;font-weight:500;color:#a9bdd0;font-family:var(--font)}.clock-panel.is-running .clock-greeting{color:#6fe0aa}.clock-timer{font-family:var(--font-cond);font-weight:600;font-size:clamp(3.25rem,11vw,5rem);line-height:1;letter-spacing:-.01em}.clock-timer.is-idle{color:#fff}.clock-meta{color:#c4d3e1;margin:0}.clock-meta strong{color:var(--tape);font-weight:600;margin-right:4px}.clock-empty{color:#c4d3e1;background:var(--ink-2);padding:12px 14px;border-radius:var(--r);margin:0}.clock-panel .field-label{color:#dfe8f1}.clock-panel .input{background:#0f263b;border-color:#2c5072;color:#fff}.clock-panel .input::placeholder{color:#7f98b0}.clock-panel .input:focus{border-color:var(--tape)}.clock-panel select.input{background-repeat:no-repeat;background-position:right 12px center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2b705' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.clock-panel .error-note{margin:0}.clock-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;font-family:var(--font-cond);font-size:1.5rem;font-weight:700;letter-spacing:.01em;background:var(--tape);color:var(--tape-ink);border:0;border-radius:var(--r);cursor:pointer;transition:background-color .12s,transform .08s}.clock-btn:hover:not(:disabled){background:var(--tape-2)}.clock-btn:active:not(:disabled){transform:translateY(1px)}.clock-btn:disabled{opacity:.6;cursor:progress}.clock-btn.is-out{background:#fff;color:var(--ink)}.clock-btn.is-out:hover:not(:disabled){background:#e9eff5}.clock-side .panel:last-child{margin-bottom:0}.agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.agenda-item{display:grid;grid-template-columns:1fr auto;padding:10px 12px 10px 14px;border-radius:var(--r);background:var(--surface-2);border-left:4px solid var(--tone-a);gap:2px 8px}.agenda-item>.icon-btn{grid-column:2;grid-row:1 / span 3;align-self:center}.agenda-time{font-size:.8125rem;color:var(--muted);font-weight:600;grid-column:1}.agenda-title{font-weight:600;grid-column:1}.agenda-sub{font-size:.875rem;color:var(--muted);grid-column:1;display:inline-flex;gap:4px;align-items:center;white-space:pre-line}.agenda-sub.link{color:var(--info);text-decoration:none}.tone-a{--tone: var(--tone-a)}.tone-b{--tone: var(--tone-b)}.tone-c{--tone: var(--tone-c)}.tone-d{--tone: var(--tone-d)}.tone-e{--tone: var(--tone-e)}.agenda-item[class*=tone-]{border-left-color:var(--tone)}.cal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.cal-title{font-size:1.25rem}.cal-nav{display:flex;align-items:center;gap:4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line)}.cal-wd{font-size:.75rem;font-weight:600;color:var(--muted);padding:8px;border-bottom:1px solid var(--line-2);background:var(--surface-2)}.cal-day{position:relative;min-height:104px;border:0;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--surface);padding:6px 6px 8px;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0}.cal-day:nth-child(7n){border-right:0}.cal-day:hover{background:#f8fafc}.cal-day.is-out{background:#fafbfc;color:#9aa7b4}.cal-day.is-selected{background:#fff8de;box-shadow:inset 0 0 0 2px var(--tape)}.cal-num{font-size:.875rem;font-weight:600;width:26px;height:26px;display:inline-grid;place-items:center;border-radius:50%}.cal-day.is-today .cal-num{background:var(--ink);color:#fff}.cal-dots{display:none;gap:3px}.cal-dots i{width:6px;height:6px;border-radius:50%;background:var(--tone);display:block}.cal-previews{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-chip{font-size:.75rem;line-height:1.3;padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--tone) 13%,white);color:color-mix(in srgb,var(--tone) 80%,black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.cal-more{font-size:.75rem;color:var(--muted);padding-left:4px}.cal-agenda{padding:16px 20px 20px;border-top:1px solid var(--line)}.cal-agenda h3{margin-bottom:10px}@media(max-width:1023px){.cal-day{min-height:54px;align-items:center;padding:6px 2px}.cal-previews{display:none}.cal-dots{display:flex}.cal-head{padding:14px 14px 10px}.cal-wd{text-align:center;padding:6px 0}}.live-list{list-style:none;margin:0;padding:0}.live-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}.live-list li:last-child{border-bottom:0}.live-list .avatar{background:var(--good-bg);color:var(--good);box-shadow:0 0 0 2px var(--surface),0 0 0 4px #9ee0bf}.live-who,.live-time{display:flex;flex-direction:column;line-height:1.3;min-width:0}.live-who{flex:1}.live-who span,.live-time span{font-size:.8125rem;color:var(--muted)}.live-time{text-align:right}.live-time strong{font-family:var(--font-cond);font-size:1.125rem;font-variant-numeric:tabular-nums}.attention{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.attention li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.attention a{font-weight:600;color:var(--ink)}.attention .muted{flex-basis:100%;font-size:.875rem}.margin-tune{display:flex;align-items:flex-end;gap:12px;margin:16px 0 6px}.margin-tune .field{flex:1}.plan-summary{margin:12px 0}.crew-list{list-style:none;margin:0;padding:0}.crew-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-2)}.crew-list .muted{font-size:.875rem;margin-left:6px}.dropzone{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1.5px dashed #b8c3ce;border-radius:var(--r-lg);color:var(--muted);background:var(--surface-2)}.dropzone.is-drag{border-color:var(--tape);background:#fff8de}.file-list{list-style:none;margin:12px 0 0;padding:0}.file-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.file-list li:last-child{border-bottom:0}.file-list .file-name{font-weight:500;flex:1;min-width:140px;overflow-wrap:anywhere}.file-list .muted,.file-list .toggle{font-size:.8125rem}.stub-list{list-style:none;margin:0;padding:0}.stub{border-bottom:1px solid var(--line-2)}.stub:last-child{border-bottom:0}.stub-head{width:100%;display:grid;grid-template-columns:1fr auto 24px;grid-template-areas:"period pay caret" "meta meta caret";align-items:center;gap:2px 12px;background:none;border:0;padding:12px 0;font:inherit;text-align:left;cursor:pointer;color:inherit}.stub-period{grid-area:period;font-weight:600}.stub-pay{grid-area:pay;font-family:var(--font-cond);font-size:1.25rem;font-weight:600}.stub-meta{grid-area:meta;font-size:.875rem;color:var(--muted);display:flex;gap:8px;align-items:center}.stub-caret{grid-area:caret;color:var(--muted);transition:transform .15s}.stub.is-open .stub-caret{transform:rotate(180deg)}.stub-body{padding:0 0 14px}.stub-body .btn{margin-top:8px}.payroll-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:1023px){.payroll-layout{grid-template-columns:1fr}}.period-list{list-style:none;margin:0;padding:6px;max-height:70vh;overflow-y:auto}@media(max-width:1023px){.period-list{display:flex;overflow-x:auto;max-height:none;gap:6px}.period-list li{flex:none;width:220px}}.period-list button{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border:0;background:none;border-radius:var(--r);font:inherit;text-align:left;cursor:pointer;color:inherit}.period-list button:hover{background:var(--surface-2)}.period-list button.is-on{background:#fff8de;box-shadow:inset 3px 0 0 var(--tape)}.period-dates{font-weight:600}.period-pay{font-size:.8125rem;color:var(--muted);grid-column:1}.period-list .badge{grid-column:2;grid-row:1 / span 2;align-self:center}.steps{display:flex;flex-direction:column;border-top:1px solid var(--line-2);margin-top:6px}.step{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2)}.step:last-child{border-bottom:0;padding-bottom:0}.step-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-family:var(--font-cond)}.step.is-done .step-n{background:var(--good);color:#fff;border-color:var(--good)}.step-text{display:flex;flex-direction:column}.step-text span{font-size:.875rem;color:var(--muted)}@media(max-width:560px){.step{grid-template-columns:32px 1fr}.step-action{grid-column:2}}.export-opts{display:flex;flex-direction:column;gap:10px;margin:14px 0 16px;align-items:flex-start}.issues ul{margin:0 0 10px;padding-left:20px;font-size:.875rem;color:#7d2412}.file-preview{background:var(--ink);color:#dfe8f1;padding:12px;border-radius:var(--r);font-size:.75rem;overflow-x:auto;white-space:pre;line-height:1.5}.export-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.export-list li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.9375rem}.export-list .muted{font-size:.8125rem}.audit{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}.audit h3{margin-bottom:8px}.audit ul{margin:0;padding-left:18px;font-size:.875rem;display:flex;flex-direction:column;gap:4px}.audit time{color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#0a182680;z-index:60;display:grid;place-items:center;padding:16px;animation:fade .15s ease}.modal{background:var(--surface);border-radius:var(--r-lg);width:min(520px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;box-shadow:var(--shadow-pop)}.modal-wide{width:min(760px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px 22px;border-bottom:1px solid var(--line-2)}.modal-head h2{font-size:1.25rem}.modal-body{padding:18px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 22px 16px;border-top:1px solid var(--line-2);flex-wrap:wrap}@media(max-width:640px){.modal-backdrop{place-items:end stretch;padding:0}.modal,.modal-wide{width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh}.modal-foot .btn{flex:1}.modal-foot .spacer{display:none}}@keyframes fade{0%{opacity:0}}.bell{position:relative}.bell-count{position:absolute;top:4px;right:3px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--tape);color:var(--tape-ink);font-size:.6875rem;font-weight:700;display:grid;place-items:center}.bell-menu{position:absolute;right:0;top:46px;width:min(360px,calc(100vw - 16px));background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);z-index:50;overflow:hidden}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-2)}.bell-head .link-btn{font-size:.875rem}.bell-enable{display:flex;gap:8px;align-items:center;width:100%;border:0;background:#fff8de;padding:10px 14px;font:inherit;font-size:.875rem;cursor:pointer;text-align:left;color:var(--text)}.bell-menu ul{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto}.bell-menu li button{display:flex;gap:10px;width:100%;padding:10px 14px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:inherit;border-bottom:1px solid var(--line-2)}.bell-menu li button:hover{background:var(--surface-2)}.bell-menu li.is-unread button{background:#fffbeb}.bell-item-text{display:flex;flex-direction:column;line-height:1.35}.bell-item-text span{font-size:.875rem;color:var(--muted)}.bell-item-text time{font-size:.75rem;color:var(--muted)}.bell-empty{padding:18px 14px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;margin-top:7px;flex:none}.dot-in{background:var(--good)}.dot-out{background:#9aa7b4}.clock-banners{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100vw - 24px))}.clock-banner{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:12px 8px 12px 16px;border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:drop .28s cubic-bezier(.2,.9,.3,1.2);border-left:6px solid #3fcf8e}.clock-banner.is-out{border-left-color:#8ea6bd}.clock-banner .icon-btn{color:#c4d3e1}.clock-banner-dot{width:10px;height:10px;border-radius:50%;background:#3fcf8e;box-shadow:0 0 0 4px #3fcf8e40;flex:none}.clock-banner.is-out .clock-banner-dot{background:#8ea6bd;box-shadow:none}.clock-banner-text{display:flex;flex-direction:column;flex:1;line-height:1.35}.clock-banner-text span{color:#c4d3e1;font-size:.875rem}@keyframes drop{0%{transform:translateY(-16px);opacity:0}}.toasts{position:fixed;bottom:16px;right:16px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 32px)}.toast{display:flex;gap:8px;align-items:center;background:var(--text);color:#fff;padding:11px 14px;border-radius:var(--r);box-shadow:var(--shadow-pop);font-size:.9375rem;animation:fade .2s ease}.toast-good svg{color:#6fe0aa}.toast-bad{background:var(--bad)}@media(max-width:640px){.toasts{left:16px;right:16px;bottom:16px}}.update-bar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:75;display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;padding:8px 8px 8px 14px;border-radius:var(--r-lg);box-shadow:var(--shadow-pop);width:max-content;max-width:calc(100vw - 24px)}.auth{min-height:100dvh;display:grid;grid-template-columns:1fr minmax(360px,480px);background:var(--surface)}.auth-art{position:relative;background:var(--ink);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;overflow:hidden;--rail-a: #fff;--rail-b: var(--tape)}.auth-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}.auth-art>*{position:relative}.auth-art-line{font-family:var(--font-cond);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;line-height:1.15;max-width:16ch;margin:0}.auth-card{display:flex;flex-direction:column;gap:14px;padding:56px 44px;justify-content:center;--rail-a: var(--ink);--rail-b: var(--tape)}.auth-card .logo{color:var(--ink);margin-bottom:12px}.auth-card h1{font-size:2rem}.auth-card>.link-btn{align-self:flex-start;font-size:.9375rem}.demo-hint{font-size:.875rem;color:var(--muted);background:var(--surface-2);padding:10px 12px;border-radius:var(--r)}@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-card{padding:40px 22px;justify-content:flex-start;max-width:480px;margin:0 auto;width:100%}}.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;--rail-a: var(--ink);--rail-b: var(--tape);color:var(--ink)}@media print{body{background:#fff}.sidebar,.topbar,.page-head,.toasts,.update-bar,.no-print,.clock-banners{display:none!important}.shell{display:block}.panel{border:0;box-shadow:none}body:has(.stub.is-open) .page>*:not(:has(.stub.is-open)){display:none}body:has(.stub.is-open) .stub:not(.is-open){display:none}.print-only{display:block;margin-bottom:12px}}
