@charset "UTF-8";:root{color-scheme:light;--chrome: #0e2228;--chrome-raised: #16333b;--chrome-line: #27444d;--chrome-text: #e9f2f4;--chrome-muted: #a3b7bc;--chrome-faint: #7f979d;--chrome-accent: #7fd2e2;--chrome-hover: #1d3d46;--ground: #f9fbfc;--surface: #ffffff;--surface-tint: #fbfcfd;--surface-sunken: #f6f8f9;--canvas: #f2f4f6;--surface-dim: #f1f3f5;--raised: #f4f6f8;--active: #ebedee;--border-strong: #c2c9ce;--border: #d9dee2;--rule: #e8ebee;--control: #8f969b;--control-hover: #727b80;--control-soft: #c2c9cd;--icon-disabled: #c9cdd1;--text: #131416;--muted: #4c5256;--faint: #5d6468;--text-inverse: #ffffff;--text-strong: #000000;--accent: #1b6c80;--accent-weak: #eaf2f4;--brand-ink: #143f4b;--brand-night: #0b2c36;--brand-day: #ffd9a0;--brand-star: #eaf6f8;--font-brand: "Noto Serif SC", "STZhongsong", "Songti SC", "SimSun", serif;--danger: #b42318;--danger-weak: #fdecea;--danger-border: #e3b5b0;--warning-ink: #92400e;--warning-bg: #fffbeb;--warning-border: #fde68a;--overtime-bg: #ffc98f;--overtime-ink: #7a3f0a;--todo-ink: #c1712a;--todo-tone-1-bg: #fff3cf;--todo-tone-1-ink: #7a4b00;--todo-tone-2-bg: #ffe4e6;--todo-tone-2-ink: #9f1239;--todo-tone-3-bg: #e3f2fd;--todo-tone-3-ink: #0b5a8a;--todo-tone-4-bg: #e6f7ec;--todo-tone-4-ink: #166534;--todo-tone-5-bg: #f1eaff;--todo-tone-5-ink: #5b21b6;--todo-tone-6-bg: #ffe8d6;--todo-tone-6-ink: #9a3412;--pay-1-bg: #e9eff2;--pay-1-ink: #4e6470;--pay-2-bg: #ddf3e4;--pay-2-ink: #2c6a41;--pay-3-bg: #ffe0a8;--pay-3-ink: #7a4400;--shift-day-bg: #dff3ff;--shift-day-ink: #02689f;--shift-night-bg: #1e3a5f;--shift-night-ink: #eef4fb;--shift-rest-bg: #dcfce7;--shift-rest-ink: #047857;--shift-dayx-bg: #fff0c2;--shift-dayx-ink: #b45309;--shift-nightx-bg: #fde7c7;--shift-nightx-ink: #9a3412;--shift-leave-bg: #e5e7eb;--shift-leave-ink: #475467;--shift-day-on-dark: #7cc7ea;--shift-night-on-dark: #7e9fe0;--shift-rest-on-dark: #6fae8a;--shift-dayx-on-dark: #ffd27a;--shift-nightx-on-dark: #f0a56a;--shift-leave-on-dark: #9aa6b0;--radius-mark: 3px;--radius-sub: 4px;--radius-control: 6px;--radius-card: 8px;--radius-dialog: 12px;--radius-panel: 12px;--radius-sheet: 16px;--radius-pill: 999px;--shadow-raised: 0 1px 2px rgba(19, 20, 22, .04), 0 10px 24px rgba(19, 20, 22, .06);--shadow-floating: 0 2px 6px rgba(19, 20, 22, .05), 0 10px 24px rgba(19, 20, 22, .09);--shadow-overlay: 0 18px 48px rgba(6, 14, 18, .28);--shadow-sheet: 0 10px 34px rgba(2, 10, 13, .26);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sidebar-width: 228px;--topbar-height: 48px;--gap: var(--sp-5);--pad: var(--sp-5);--row-height: 40px;--control-height: 30px;--matrix-name-width: 120px;--matrix-name-cell: 56px;--matrix-pill-gap: 4px;--fs-micro: 10px;--fs-label: 11px;--fs-small: 12px;--fs-control: 13px;--fs-body: 14px;--fs-subhead: 16px;--fs-section: 17px;--fs-metric-sm: 18px;--fs-metric-md: 20px;--fs-metric-lg: 22px;--fs-title: 26px;--fs-kpi: 28px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .18s}@media (max-width: 1023px){:root{--pad: var(--sp-4);--gap: var(--sp-4);--control-height: 36px}}@media (max-width: 639px){:root{--pad: var(--sp-3);--gap: var(--sp-3)}}@media (max-width: 1023px) and (pointer: coarse){.input{font-size:16px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.is-focus-silent:focus-visible{outline:none!important}@media (prefers-reduced-motion: reduce){.rail-item,.rail-icon,.month-step,.month-today,.segmented-item,.select-arrow,.scroll-overlay-thumb{transition:none}}h1,h2,h3,p{margin:0}.visually-hidden{position:fixed;top:0;left:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.muted{color:var(--muted)}.t-day{--tone-bg: var(--shift-day-bg);--tone-ink: var(--shift-day-ink);background:var(--tone-bg);color:var(--tone-ink)}.t-night{--tone-bg: var(--shift-night-bg);--tone-ink: var(--shift-night-ink);background:var(--tone-bg);color:var(--tone-ink)}.t-rest{--tone-bg: var(--shift-rest-bg);--tone-ink: var(--shift-rest-ink);background:var(--tone-bg);color:var(--tone-ink)}.t-dayx{--tone-bg: var(--shift-dayx-bg);--tone-ink: var(--shift-dayx-ink);background:var(--tone-bg);color:var(--tone-ink)}.t-nightx{--tone-bg: var(--shift-nightx-bg);--tone-ink: var(--shift-nightx-ink);background:var(--tone-bg);color:var(--tone-ink)}.t-leave{--tone-bg: var(--shift-leave-bg);--tone-ink: var(--shift-leave-ink);background:var(--tone-bg);color:var(--tone-ink)}.badge-self{flex:0 0 auto;padding:0 4px;height:15px;border-radius:var(--radius-mark);background:var(--accent-weak);color:var(--accent);font-size:var(--fs-micro);font-weight:600;line-height:15px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);padding:0 var(--sp-3);border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-size:var(--fs-control);font-weight:500;white-space:nowrap}.btn:hover:not(:disabled){background:var(--raised)}.btn:disabled{border-color:var(--border);background:var(--raised);color:var(--faint)}.btn-quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn-quiet:hover:not(:disabled){background:var(--active);color:var(--text)}.btn-primary{border-color:var(--text);background:var(--text);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--text-strong)}.btn-danger{border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-weak)}.btn-add{align-self:flex-start;border-style:dashed;color:var(--muted)}.input{width:100%;height:var(--control-height);padding:0 var(--sp-2);border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);font-size:var(--fs-control)}.input:hover{border-color:var(--control-hover)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}.input-compact{width:auto;min-width:132px}.select-trigger{position:relative;display:flex;align-items:center;width:100%;min-width:0;height:var(--control-height);padding:0 26px 0 8px;border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);font-size:var(--fs-control);text-align:left}.select-trigger:hover:not(:disabled){border-color:var(--control-hover)}.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}.select-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}.select-trigger:disabled{background:var(--raised);color:var(--muted)}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-arrow{position:absolute;right:8px;width:12px;height:12px;color:var(--faint);transition:transform .12s ease;pointer-events:none}.select-trigger[aria-expanded=true] .select-arrow{color:var(--accent);transform:rotate(180deg)}.select-popup{position:fixed;z-index:70;padding:var(--sp-1);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-floating)}.select-popup::-webkit-scrollbar{width:8px}.select-popup::-webkit-scrollbar-track{background:transparent}.select-popup::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:rgba(19,20,22,.14);background-clip:content-box}.select-popup::-webkit-scrollbar-thumb:hover{background:rgba(19,20,22,.24);background-clip:content-box}.select-popup::-webkit-scrollbar-button{display:none}.select-group{padding:6px 8px 3px;color:var(--muted);font-size:var(--fs-label);line-height:1.4}.select-option{height:28px;padding:0 var(--sp-2);overflow:hidden;border-radius:var(--radius-sub);font-size:var(--fs-control);line-height:28px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.select-option.is-active{background:var(--raised)}.select-option.is-selected{color:var(--accent);font-weight:500}.select-option.is-selected.is-active{background:var(--accent-weak)}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr);height:100vh;background:var(--chrome)}.rail{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;padding:var(--sp-3);min-height:0;color:var(--chrome-muted)}.rail-brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);border-left:3px solid var(--chrome-accent)}.rail-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.rail-brand-tick{align-self:stretch;height:3px;border-radius:var(--radius-pill);background:var(--brand-day)}.rail-mark{display:block;width:45px;height:45px;flex:0 0 auto;border-radius:11px;box-shadow:inset 0 0 0 1px #ffffff24}.rail-mark-plate{fill:var(--brand-ink)}.rail-mark-night{fill:var(--brand-night)}.rail-mark-day{fill:var(--brand-day)}.rail-mark-star{fill:var(--brand-star)}.rail-name{font-family:var(--font-brand);font-size:var(--fs-section);font-weight:700;line-height:23px;letter-spacing:.1em;color:var(--chrome-text)}.rail-version{color:var(--chrome-muted);font-size:var(--fs-small);line-height:16px}.rail-nav,.rail-foot{display:flex;flex-direction:column;gap:2px}.rail-group-label{margin:0 0 var(--sp-1);padding:0 var(--sp-2);color:var(--chrome-faint);font-size:var(--fs-label);letter-spacing:.08em}.rail-foot{margin-top:auto;padding-top:var(--sp-2);border-top:1px solid var(--chrome-line)}.rail-item{display:flex;align-items:center;gap:var(--sp-3);height:34px;padding:0 var(--sp-2);border:0;border-radius:var(--radius-card);background:transparent;color:var(--chrome-muted);font-size:var(--fs-body);font-weight:500;text-align:left;text-decoration:none;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.skip-link{position:fixed;top:8px;left:50%;z-index:100;padding:8px 14px;transform:translate(-50%,-200%);border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);font-size:var(--fs-small);text-decoration:none}.skip-link:focus-visible{transform:translate(-50%)}.rail-icon{flex:0 0 auto;width:16px;height:16px;color:var(--chrome-faint);transition:color var(--dur-fast) ease}.rail-item:hover:not(:disabled){background:var(--chrome-raised);color:var(--chrome-text)}.rail-item:hover:not(:disabled) .rail-icon{color:var(--chrome-muted)}.rail-item.is-active{background:rgba(127,210,226,.14);color:var(--chrome-accent)}.rail-item.is-active .rail-icon{color:var(--chrome-accent)}.rail-item:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:1px}.rail-item:disabled{color:var(--chrome-faint)}.topbar{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-4);padding:0 var(--sp-4);min-width:0;color:var(--chrome-muted)}.month-track{grid-column:2;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);min-width:0}.month-switch{display:flex;align-items:stretch;height:var(--control-height);overflow:hidden;border:1px solid var(--chrome-line);border-radius:var(--radius-control);background:var(--chrome-raised)}.month-step{display:inline-flex;align-items:center;justify-content:center;width:30px;padding:0;border:0;background:transparent;color:var(--chrome-muted)}.month-step:hover:not(:disabled){background:rgba(255,255,255,.08);color:var(--chrome-text)}.month-step:active:not(:disabled){background:rgba(255,255,255,.14)}.month-step:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:-2px}.month-icon{width:14px;height:14px}.month-title{display:flex;align-items:center;justify-content:center;min-width:116px;padding:0 10px;border-right:1px solid var(--chrome-line);border-left:1px solid var(--chrome-line);color:var(--chrome-text);font-size:var(--fs-control);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.month-today{padding:0 12px;border:0;border-left:1px solid var(--chrome-line);background:transparent;color:var(--chrome-accent);font-size:var(--fs-control);font-weight:500;white-space:nowrap}.month-today:hover:not(:disabled){background:rgba(127,210,226,.12)}.month-today:active:not(:disabled){background:rgba(127,210,226,.2)}.month-today:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:-2px}.month-today:disabled{color:var(--chrome-faint)}.year-track-pad{padding-left:8px}.topbar-right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);min-width:0}.topbar .btn{border-color:var(--chrome-line);background:var(--chrome-raised);color:var(--chrome-text)}.topbar .btn:hover:not(:disabled){background:var(--chrome-hover)}.topbar .btn:focus-visible{outline-color:var(--chrome-accent)}.sheet{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;margin:0 var(--sp-2) var(--sp-2) 0;border:1px solid rgba(0,0,0,.35);border-radius:var(--radius-sheet);background:var(--canvas);color:var(--text);box-shadow:var(--shadow-sheet);overflow:hidden}.canvas{display:flex;flex:1;flex-direction:column;gap:var(--sp-4);min-height:0;padding:var(--pad);overflow:auto;animation:canvas-in var(--dur-fast) var(--ease-out)}.canvas.is-pinned{overflow:hidden}.canvas-flow{display:flex;flex-direction:column;gap:var(--sp-4);min-height:0}.canvas.is-pinned>.canvas-flow{flex:1 1 auto;overflow-y:auto;padding-top:var(--sp-4);border-top:1px solid var(--rule)}.canvas::-webkit-scrollbar,.canvas-flow::-webkit-scrollbar,.matrix-scroll::-webkit-scrollbar,.dialog::-webkit-scrollbar{width:0}.scroll-overlay{position:fixed;top:0;left:0;width:0;height:0;z-index:60;pointer-events:none}.scroll-overlay-thumb{position:fixed;width:8px;border-radius:var(--radius-sub);background:rgba(19,20,22,.24);pointer-events:auto;cursor:default;opacity:0;transition:opacity .18s ease-out,background-color .18s ease-out}.scroll-overlay-thumb.is-visible{opacity:1}.scroll-overlay-thumb:not(.is-visible){pointer-events:none}.scroll-overlay-thumb:hover,.scroll-overlay-thumb.is-dragging{background:rgba(19,20,22,.42)}.canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.canvas-title{text-wrap:balance;font-size:var(--fs-title);font-weight:600;letter-spacing:-.02em;line-height:1.2}.canvas-sub{display:inline-block;margin-top:6px;padding:2px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--raised);font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.canvas-tools{display:flex;align-items:center;gap:var(--sp-2)}.segmented{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.segmented-item{height:28px;padding:0 var(--sp-3);border:0;background:transparent;color:var(--muted);font-size:var(--fs-small);font-weight:500}.segmented-item:hover{background:var(--raised)}.segmented-item.is-on{background:var(--text);color:var(--text-inverse)}@keyframes canvas-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.canvas{animation:none}}@media (max-width: 1023px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:calc(var(--topbar-height) + env(safe-area-inset-top)) minmax(0,1fr) auto;height:100vh;height:100dvh}.topbar{grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr);padding:env(safe-area-inset-top) var(--sp-3) 0;gap:0}.month-track{grid-column:1}.topbar-right{display:none}.sheet{grid-column:1;grid-row:2;margin:0;border:0;border-radius:0;box-shadow:none}.rail{grid-column:1;grid-row:3;flex-direction:row;align-items:stretch;gap:2px;padding:var(--sp-1) var(--sp-2) calc(var(--sp-1) + env(safe-area-inset-bottom));border-top:1px solid var(--chrome-line)}.rail-brand,.rail-group-label{display:none}.rail-nav,.rail-foot{display:contents}.rail-nav a[href="#/overview"]{order:-1}.rail-item{flex:1 1 0;flex-direction:column;justify-content:center;gap:3px;height:48px;padding:0 var(--sp-1);font-size:var(--fs-label)}.rail-icon{width:18px;height:18px}.canvas-head{flex-wrap:wrap;gap:var(--sp-2)}.canvas-tools{margin-left:auto}}@media (hover: none){.scroll-overlay{display:none}}@media (max-width: 639px){.canvas{gap:var(--sp-3)}.canvas-title{font-size:var(--fs-metric-lg)}.canvas-sub{white-space:normal;border-radius:var(--radius-control);line-height:1.5}.segmented-item{height:32px}}.summary{position:relative;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-radius:var(--radius-panel);background:var(--chrome);color:var(--chrome-text);box-shadow:var(--shadow-raised)}.summary-cell{position:relative;display:flex;flex-direction:column;gap:2px;min-height:123px;padding:var(--sp-3) var(--sp-4);border-right:1px solid var(--chrome-line)}.summary-cell:last-child{border-right:0}.summary-label{color:var(--chrome-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;line-height:14px}.summary-value{color:var(--chrome-text);font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.summary-unit{margin-left:4px;color:var(--chrome-muted);font-size:var(--fs-small);font-weight:500}.summary-names{margin:4px 0 0;overflow:hidden;font-size:var(--fs-control);line-height:1.5;color:var(--chrome-muted);text-overflow:ellipsis;white-space:nowrap}.summary-more{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--chrome-accent);font-size:var(--fs-small);line-height:1.5;transition:color var(--dur-fast) ease}.summary-more:hover{color:var(--chrome-text);text-decoration:underline}.summary-more:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:2px}.summary-special{display:inline-block;margin-left:3px;padding:0 3px;border-radius:var(--radius-mark);background:var(--shift-dayx-bg);color:var(--shift-dayx-ink);font-size:var(--fs-micro);line-height:14px;vertical-align:1px}.summary-special.is-night{background:var(--shift-nightx-bg);color:var(--shift-nightx-ink)}.summary-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:5;width:50%;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow-floating)}.summary-popover:focus{outline:none}.summary-popover-head{display:flex;align-items:baseline;gap:6px;padding-bottom:6px;border-bottom:1px solid var(--rule)}.summary-popover-title{font-size:var(--fs-control);font-weight:600}.summary-popover-count{color:var(--muted);font-size:var(--fs-small)}.summary-popover-close{margin-left:auto;padding:0 4px;border:0;background:transparent;color:var(--faint);font-size:var(--fs-subhead);line-height:1}.summary-popover-close:hover{color:var(--text)}.summary-popover-list{display:flex;flex-direction:column;max-height:300px;margin:4px 0 0;padding:0;overflow-y:auto;list-style:none}.summary-popover-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:5px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-control)}.summary-popover-name{min-width:0}.summary-popover-item:last-child{border-bottom:0}.summary-popover-position{color:var(--muted);font-size:var(--fs-small)}.summary-popover-list::-webkit-scrollbar{width:8px}.summary-popover-list::-webkit-scrollbar-track{background:transparent}.summary-popover-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:rgba(19,20,22,.14);background-clip:content-box}.summary-popover-list::-webkit-scrollbar-thumb:hover{background:rgba(19,20,22,.24);background-clip:content-box}.matrix{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.matrix-frame{position:relative;display:flex;flex-direction:column;min-height:0}.matrix-edge{position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to left,var(--surface),rgba(255,255,255,0));clip-path:inset(0 round 0 var(--radius-panel) var(--radius-panel) 0);pointer-events:none;transition:opacity var(--dur-fast) ease}.matrix-edge.is-hidden{opacity:0}.matrix-scroll{flex:1 1 auto;min-height:0;overflow:auto;border:0;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-raised);scrollbar-width:none}.matrix-scroll::-webkit-scrollbar{width:0;height:0}.matrix-head,.matrix-row{display:grid;grid-template-columns:var(--matrix-name-width) minmax(0,1fr);min-width:max-content}.matrix-head{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--border);background:var(--surface-tint)}.matrix-body{min-width:max-content}.matrix-row{border-bottom:1px solid var(--rule)}.matrix-row:last-child{border-bottom:0}.matrix-row:hover .matrix-name-cell{background:var(--surface-tint)}.matrix-row.is-focused{background:var(--accent-weak)}.matrix-row.is-focused .matrix-name-cell{background:var(--accent-weak);border-left-color:var(--accent)}.matrix-name-cell{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:1px;width:var(--matrix-name-width);height:var(--row-height);padding:0 10px;border:0;border-right:1px solid var(--border);border-left:2px solid transparent;background:var(--surface);text-align:left;cursor:pointer}.matrix-head .matrix-name-cell{z-index:4;background:var(--surface-tint);border-bottom:0;color:var(--muted);font-size:var(--fs-small);font-weight:500;cursor:default}.matrix-name-line{display:flex;align-items:center;gap:4px;min-width:0}.matrix-name{overflow:hidden;font-size:var(--fs-body);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.matrix-pattern{overflow:hidden;font-size:var(--fs-label);color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.matrix-days{display:grid;grid-template-columns:repeat(var(--days, 30),minmax(22px,1fr))}.matrix-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:var(--row-height);border-right:1px solid var(--rule);color:var(--muted);font-size:var(--fs-label);line-height:1.1}.matrix-day:last-child{border-right:0}.matrix-day.is-weekend{background:var(--surface-tint)}.matrix-day.is-today{background:var(--accent-weak);color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.matrix-day-num{font-variant-numeric:tabular-nums}.matrix-day-week{color:var(--faint);font-size:var(--fs-label)}.matrix-cell{position:relative;isolation:isolate;height:var(--row-height);padding:0;border:0;border-right:1px solid var(--rule);border-radius:0;background:transparent;font-size:var(--fs-small);font-weight:500;line-height:1}.matrix-cell:before{position:absolute;inset:var(--matrix-pill-gap);z-index:-1;border-radius:var(--radius-mark);background:var(--tone-bg, transparent);content:""}.matrix-cell:last-child{border-right:0}.matrix-cell:focus-visible,.matrix-name-cell:focus-visible{z-index:3;outline:2px solid var(--accent);outline-offset:-2px}.matrix-cell:hover{filter:brightness(.97)}.matrix-cell.is-blank{color:var(--faint)}.matrix-cell.is-today{box-shadow:none}.matrix.is-by-name .matrix-days{grid-template-columns:repeat(var(--days, 30),minmax(var(--matrix-name-cell),1fr))}.matrix.is-by-name .matrix-cell{font-size:var(--fs-label)}.matrix.is-by-name .matrix-name-cell{flex-direction:row;align-items:center;justify-content:flex-start;gap:5px}.matrix.is-by-name .matrix-pattern{font-size:var(--fs-small);color:var(--muted)}.matrix-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);padding:0 2px;font-size:var(--fs-small);color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:var(--radius-mark)}.legend-hint{margin-left:auto;color:var(--muted)}.legend-hint-touch{display:none}@media (hover: none) and (max-width: 1023px){.legend-hint{display:none}.legend-hint-touch{display:inline;margin-left:auto;color:var(--muted)}}.calendar{display:contents}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:6px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-label);text-align:center;grid-column:1;grid-row:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;overflow:hidden;border:0;border-radius:var(--radius-panel);background:var(--rule);box-shadow:var(--shadow-raised);grid-column:1;grid-row:2}.cal-cell{position:relative;display:flex;flex-direction:column;gap:3px;min-height:74px;padding:6px 7px;border:0;border-radius:0;background:var(--surface);text-align:left}.cal-cell:hover:not(.is-outside){background:var(--surface-tint)}.cal-cell.is-outside{background:var(--surface-sunken);cursor:default}.cal-cell.is-outside>*{opacity:.45}.cal-cell.is-today{background:var(--accent-weak);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day{display:inline-block;align-self:flex-start;color:var(--muted);font-size:var(--fs-control);font-variant-numeric:tabular-nums;line-height:1.15}.cal-day.is-todo{padding-bottom:2px;border-bottom:2px solid var(--todo-ink)}.cal-cell.is-today .cal-day{color:var(--text);font-weight:600}.cal-meta{color:var(--faint);font-size:var(--fs-label);line-height:1.2}.cal-meta.is-festival{color:var(--warning-ink)}.cal-shift{margin-top:auto;padding:3px 0;border-radius:var(--radius-mark);font-size:var(--fs-small);font-weight:500;text-align:center;white-space:nowrap}.cal-corner{position:absolute;top:4px;right:5px;display:flex;align-items:center;gap:4px}.cal-ot{height:15px;padding:0 4px;border-radius:var(--radius-mark);background:var(--overtime-bg);color:var(--overtime-ink);font-size:var(--fs-micro);font-weight:700;line-height:15px;white-space:nowrap;font-variant-numeric:tabular-nums}.cal-leave{height:15px;padding:0 4px;border-radius:var(--radius-mark);background:var(--raised);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);font-size:var(--fs-micro);font-weight:600;line-height:15px;white-space:nowrap}.cal-legal{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--radius-mark);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border);color:var(--warning-ink);font-size:var(--fs-micro);font-weight:600;line-height:1}.calendar-legend{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--muted);grid-column:1;grid-row:3}.calendar-legend .legend-text:not(:last-child){margin-right:var(--sp-4)}.cal-shift.is-blank{color:var(--faint)}.cal-shift.is-changed{box-shadow:inset 0 0 0 1px #13141673}.cal-shift.t-night.is-changed{box-shadow:inset 0 0 0 1px #eef4fb8c}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:rgba(15,20,24,.26);animation:backdrop-in var(--dur-base) ease-out}.dialog{width:420px;max-width:100%;max-height:calc(100vh - 48px);overflow-y:auto;border-radius:var(--radius-dialog);background:var(--surface);box-shadow:var(--shadow-overlay);animation:dialog-in var(--dur-base) var(--ease-out)}.dialog:focus,.dialog:focus-visible{outline:none}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--rule)}.dialog-title{font-size:var(--fs-section);font-weight:600}.dialog-sub{margin-top:2px;font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.dialog-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2);padding:var(--sp-4)}.option{position:relative;height:44px;border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--fs-body);font-weight:500}.option:disabled{border-color:var(--border);background:var(--raised);color:var(--faint);cursor:not-allowed}.option.is-on:after{position:absolute;top:4px;right:7px;font-size:var(--fs-label);line-height:1;content:"✓"}.option:hover{filter:brightness(.97)}.option.is-on{border-color:var(--text)}.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4) var(--sp-4)}.dialog{overscroll-behavior:contain}.dialog-actions{display:flex;gap:8px}.dialog-discard{color:var(--warning-ink);font-size:var(--fs-small)}.dialog-day{width:480px;--day-content-height: 316px}.dialog-day .dialog-page{height:var(--day-content-height);min-height:0;padding-bottom:12px}.dialog-day .dialog-page>.stat-empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;margin:0}.dialog-day .todo-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 6px}.dialog-day .todo-list::-webkit-scrollbar{width:8px}.dialog-day .todo-list::-webkit-scrollbar-track{background:transparent}.dialog-day .todo-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:rgba(19,20,22,.14);background-clip:content-box}.dialog-day .dialog-options{padding-bottom:14px}.dialog-section{height:83px;margin:0 var(--sp-4) var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--ground)}.dialog-section.is-disabled{opacity:.55}.dialog-section>:last-child{min-height:30px}.dialog-section>.segmented{display:flex;width:fit-content;align-items:center}.dialog-section>p.section-note{display:flex;align-items:center;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:18px;margin-bottom:9px}.section-title{font-size:var(--fs-small);font-weight:600}.section-note{font-size:var(--fs-label);color:var(--muted)}.ot-row{display:flex;align-items:center;gap:var(--sp-3)}.ot-presets{display:flex;gap:6px}.chip-mini{min-width:48px;height:26px;padding:0 10px;border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.chip-mini:hover:not(:disabled){background:var(--raised)}.chip-mini.is-on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.chip-mini:disabled{border-color:var(--border);color:var(--faint);cursor:not-allowed}.ot-empty{font-size:var(--fs-small);color:var(--muted)}.ot-input{display:flex;align-items:center;gap:6px;margin-left:auto}.ot-input .input{width:84px}.ot-unit{font-size:var(--fs-small);color:var(--muted)}.segmented-sm .segmented-item{height:26px;padding:0 14px}.segmented-sm .segmented-item:disabled{color:var(--faint);cursor:not-allowed}.segmented-sm .segmented-item.is-on:disabled{background:var(--control);color:var(--surface)}.dialog-warn{margin:0 var(--sp-4) var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-control);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border);color:var(--warning-ink);font-size:var(--fs-small);line-height:1.5}.empty{padding:48px 24px;border:0;border-radius:var(--radius-panel);background:var(--surface-sunken);text-align:center}.empty-title{margin-bottom:6px;font-size:var(--fs-subhead);font-weight:600}.empty-text{font-size:var(--fs-control);color:var(--muted)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sheet-backdrop,.dialog{animation:none}}@media (max-width: 1023px){.summary-cell{min-height:96px;padding:var(--sp-2) var(--sp-3)}.summary-value{font-size:28px}.summary-names{font-size:var(--fs-small)}.summary-popover{width:min(320px,100vw - var(--sp-5))}.summary-cell:nth-child(2) .summary-popover,.summary-cell:nth-child(3) .summary-popover{left:auto;right:0}.summary-popover-list{max-height:220px}.matrix{--matrix-name-width: 88px;--row-height: 36px;--matrix-name-cell: 48px;--matrix-pill-gap: 3px}.matrix-name-cell{padding:0 6px}.matrix-name{font-size:var(--fs-control)}.matrix-pattern{font-size:var(--fs-micro)}.matrix-cell{font-size:var(--fs-label)}.matrix-scroll{-webkit-overflow-scrolling:touch}.matrix-legend{gap:var(--sp-3)}.dialog-section{height:auto;min-height:83px}.dialog-day{--day-content-height: auto}.dialog-day .dialog-page{height:auto}.dialog-day .todo-list{max-height:45dvh}}@media (max-width: 639px){.summary-cell{position:static;min-height:88px}.summary-cell .summary-popover,.summary-cell:nth-child(2) .summary-popover,.summary-cell:nth-child(3) .summary-popover{left:0;right:0;width:auto}.summary-popover-list{max-height:38dvh}.cal-cell{min-height:0;padding:4px 5px;gap:2px}.cal-day{position:relative;font-size:var(--fs-small)}.cal-day.is-todo{padding-bottom:0;border-bottom:0}.cal-day.is-todo:before{position:absolute;top:50%;left:-4px;width:3px;height:12px;transform:translateY(-50%);border-radius:2px;background:var(--todo-ink);content:""}.cal-meta{font-size:var(--fs-micro);line-height:1.3}.cal-shift{padding:2px 0;font-size:var(--fs-label)}.cal-corner{display:contents}.cal-corner>.cal-legal{position:absolute;top:4px;right:5px;width:13px;height:13px;font-size:var(--fs-micro)}.cal-ot,.cal-leave{align-self:flex-start;height:14px;padding:0 3px;font-size:var(--fs-micro);line-height:14px}.calendar-legend{flex-wrap:wrap;gap:var(--sp-1) var(--sp-2)}.calendar-legend .legend-text:not(:last-child){margin-right:0}.sheet-backdrop{align-items:flex-end;padding:0}.dialog,.dialog-day,.dialog-wide,.dialog-narrow{width:100%;max-height:88dvh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}.dialog-head{padding:var(--sp-3)}.dialog-foot{padding:0 var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom))}.dialog-options{padding:var(--sp-3);gap:6px}.option{height:42px}.dialog-warn{margin:0 var(--sp-3) var(--sp-2)}}.canvas.is-overview{width:100%;max-width:1228px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}.plaque{flex:none;overflow:hidden;border-radius:var(--radius-panel);background:var(--chrome);color:var(--chrome-text);box-shadow:var(--shadow-raised)}.plaque-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr)}.plaque-cell{min-width:0;padding:12px 20px 10px}.plaque-cell+.plaque-cell{border-left:1px solid var(--chrome-line)}.plaque-label{display:block;color:var(--chrome-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;line-height:14px}.plaque-shift{display:block;max-width:100%;margin-top:4px;padding:0;overflow:hidden;border:0;background:transparent;color:var(--chrome-text);font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1;text-align:left;text-overflow:ellipsis;white-space:nowrap}button.plaque-shift{cursor:pointer;transition:color var(--dur-fast) ease}button.plaque-shift:hover{color:var(--chrome-accent)}button.plaque-shift:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:2px}.plaque-shift.is-static{cursor:default}.plaque-range{margin-top:6px;overflow:hidden;color:var(--chrome-muted);font-size:var(--fs-small);letter-spacing:.02em;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.plaque-cd{margin-top:4px;font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.plaque-cd small{margin:0 4px 0 2px;color:var(--chrome-muted);font-size:13px;font-weight:500;letter-spacing:.02em}.plaque-cd.is-text{font-size:22px;letter-spacing:0}.plaque-progress{position:relative;height:2px;margin-top:10px;background:var(--chrome-line)}.plaque-progress i{position:absolute;inset:0 auto 0 0;background:var(--chrome-accent)}.plaque-progress em{position:absolute;top:-3px;width:2px;height:8px;background:var(--chrome-accent)}.plaque-tally{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.plaque-tally div{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.plaque-tally i{display:inline-block;width:8px;height:8px;border-radius:2px}.plaque-tally b{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.plaque-tally span{color:var(--chrome-muted);font-size:var(--fs-label);letter-spacing:.06em}.plaque-today{margin-top:8px;color:var(--chrome-muted);font-size:var(--fs-small);line-height:16px}.plaque-today b{color:var(--chrome-text);font-weight:700}.plaque-rhythm-wrap{padding:8px 20px 10px;border-top:1px solid var(--chrome-line)}.plaque-rhythm-head{display:flex;justify-content:space-between;padding-bottom:4px;color:var(--chrome-muted);font-size:var(--fs-micro);letter-spacing:.12em;line-height:12px;font-variant-numeric:tabular-nums}.plaque-rhythm{display:flex;gap:2px}.plaque-rhythm i{display:block;flex:1 1 0;min-width:0;height:20px;border-radius:2px}.plaque-rhythm-gap{flex:0 0 var(--sp-1)}.plaque-rhythm i.is-rest{background:var(--shift-rest-on-dark)}.plaque-rhythm i.is-today{box-shadow:inset 0 0 0 1px var(--chrome-text)}.plaque-tally i.is-day,.plaque-rhythm i.is-day{background:var(--shift-day-on-dark)}.plaque-tally i.is-night,.plaque-rhythm i.is-night{background:var(--shift-night-on-dark)}.plaque-tally i.is-rest{background:var(--shift-rest-on-dark)}.plaque-tally i.is-dayx,.plaque-rhythm i.is-dayx{background:var(--shift-dayx-on-dark)}.plaque-tally i.is-nightx,.plaque-rhythm i.is-nightx{background:var(--shift-nightx-on-dark)}.plaque-tally i.is-leave,.plaque-rhythm i.is-leave{background:var(--shift-leave-on-dark)}.stat-card-detail{position:relative;display:block;padding:0}.stat-card-fill{position:absolute;inset:0;display:flex;flex-direction:column;gap:var(--sp-3);min-height:0;padding:var(--sp-4)}.stat-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:0;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-raised)}.stat-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--rule)}.stat-title{text-wrap:balance;font-size:var(--fs-body);font-weight:600}.stat-card:first-child .stat-title:before{content:"";display:inline-block;width:3px;height:12px;margin-right:7px;border-radius:2px;background:var(--accent);vertical-align:-1px}.stat-note{font-size:var(--fs-label);color:var(--muted);white-space:nowrap}.stat-foot{margin-top:auto;padding-top:var(--sp-2);border-top:1px solid var(--rule);font-size:var(--fs-control);color:var(--muted);font-variant-numeric:tabular-nums}.stat-foot strong{color:var(--text);font-weight:600}.stat-hint{font-size:var(--fs-label);color:var(--muted)}.stat-empty{padding:4px 0;font-size:var(--fs-small);color:var(--muted)}.stat-empty-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.day-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.day-count{display:flex;align-items:baseline;gap:6px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-card);background:var(--surface-sunken);color:var(--muted)}.day-count.is-day{background:var(--shift-day-bg);color:var(--shift-day-ink)}.day-count.is-night{background:var(--shift-night-bg);color:var(--shift-night-ink)}.day-count.is-rest{background:var(--shift-rest-bg);color:var(--shift-rest-ink)}.day-count.is-special{background:var(--shift-dayx-bg);color:var(--shift-dayx-ink)}.day-count.is-leave{background:var(--shift-leave-bg);color:var(--shift-leave-ink)}.day-count.is-legal{background:var(--warning-border);color:var(--warning-ink)}.day-count-num{font-size:var(--fs-metric-sm);font-weight:600;font-variant-numeric:tabular-nums}.day-count-label{font-size:var(--fs-small);color:inherit;opacity:.72}.day-count-extra{margin-left:auto;padding:0 5px;border-radius:var(--radius-mark);background:var(--overtime-bg);color:var(--overtime-ink);font-size:var(--fs-label);font-weight:600;line-height:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.day-count-extra.is-leave{background:var(--raised);box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);font-weight:500}.stat-card-ot{position:relative;display:block;padding:0}.stat-card-ot-fill{position:absolute;inset:0;display:flex;flex-direction:column;gap:var(--sp-3);min-height:0;padding:var(--sp-4)}.ot-chart{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.ot-plot-row{display:flex;align-items:flex-end;gap:var(--sp-3);flex:1 1 auto;min-height:0;border-bottom:1px solid var(--border)}.ot-axis-row{display:flex;gap:var(--sp-3);padding-top:5px}.ot-col{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;height:100%}.ot-col-plot{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;flex:1 1 auto;min-height:0;padding-top:17px}.ot-bar-wrap{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;flex:1 1 auto;min-height:0}.ot-col-value{position:absolute;left:0;right:0;font-size:var(--fs-label);line-height:1.2;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.ot-col-value.is-day{color:var(--shift-day-ink)}.ot-col-value.is-night{color:var(--shift-night-bg)}.ot-col-value.is-dayx{color:var(--shift-dayx-ink)}.ot-col-value.is-nightx{color:var(--shift-nightx-ink)}.ot-col-value.is-legal{color:var(--warning-ink)}.ot-bar{width:100%;max-width:64px;border-radius:var(--radius-mark) var(--radius-mark) 0 0;min-height:2px}.ot-bar.is-day{background:var(--shift-day-bg)}.ot-bar.is-night{background:var(--shift-night-bg)}.ot-bar.is-dayx{background:var(--shift-dayx-bg)}.ot-bar.is-nightx{background:var(--shift-nightx-bg)}.ot-bar.is-legal{background:var(--warning-border)}.ot-col-label{flex:1 1 0;min-width:0;font-size:var(--fs-label);color:var(--muted);text-align:center;white-space:nowrap}.money-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.money-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;column-gap:var(--sp-4);padding:5px 0;font-size:var(--fs-control);color:var(--muted);font-variant-numeric:tabular-nums}.money-row>span:last-child,.money-group>span:last-child{text-align:right}.money-row.is-deduct span:last-child{color:var(--danger)}.money-group{display:grid;grid-template-columns:minmax(0,1fr) 96px;column-gap:var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--rule);font-size:var(--fs-control);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.money-group>span:first-child:before{content:"";display:inline-block;width:2px;height:10px;margin-right:6px;border-radius:1px;background:var(--control);vertical-align:-1px}.money-group:first-child{margin-top:0;padding-top:0;border-top:0}.money-row.is-sub{padding-left:var(--sp-4)}.money-rate{margin-left:6px;padding:0 4px;border-radius:var(--radius-mark);background:var(--raised);color:var(--muted);font-size:var(--fs-label);font-style:normal;line-height:16px;font-variant-numeric:tabular-nums}.money-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border-strong)}.money-summary-item{display:flex;flex-direction:column;gap:3px;min-width:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-control);background:var(--surface-sunken)}.money-summary-item.is-total{background:var(--accent-weak)}.money-summary-label{color:var(--muted);font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;line-height:16px}.money-summary-value{color:var(--text);font-size:var(--fs-metric-sm);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.detail-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none}.detail-scroll::-webkit-scrollbar{width:0;height:0}.detail-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--fs-control)}.detail-table th:nth-child(1){width:22%}.detail-table th:nth-child(2){width:30%}.detail-table th:nth-child(3){width:20%}.detail-table th:nth-child(4){width:28%}.detail-table th{padding:7px 0 6px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-small);font-weight:500;text-align:center}.detail-table thead th{position:sticky;top:0;z-index:1;border-bottom:0;background:var(--surface-tint);box-shadow:inset 0 -1px 0 var(--border)}.detail-table td{padding:6px 0;border-bottom:1px solid var(--rule);text-align:center}.detail-table tr:last-child td{border-bottom:0}.detail-table .is-num{font-variant-numeric:tabular-nums}.detail-week{margin-left:4px;color:var(--faint);font-size:var(--fs-label)}.detail-shift-wrap{position:relative;display:inline-block}.detail-shift{padding:1px 6px;border-radius:var(--radius-mark);font-size:var(--fs-label)}.detail-legal{position:absolute;top:50%;left:calc(100% + 3px);transform:translateY(-50%);padding:0 4px;border-radius:var(--radius-mark);background:var(--warning-bg);box-shadow:inset 0 0 0 1px var(--warning-border);color:var(--warning-ink);font-size:var(--fs-micro);line-height:1.5;white-space:nowrap}.pay-pill{display:inline-block;min-width:55px;padding:2px 9px;border-radius:var(--radius-pill);background:var(--pay-1-bg);color:var(--pay-1-ink);font-weight:600;text-align:center;white-space:nowrap}.pay-pill.is-t2{background:var(--pay-2-bg);color:var(--pay-2-ink)}.pay-pill.is-t3{background:var(--pay-3-bg);color:var(--pay-3-ink)}@media (max-width: 1023px){.plaque-top{grid-template-columns:repeat(2,minmax(0,1fr))}.plaque-cell:nth-child(3){grid-column:1/-1;border-top:1px solid var(--chrome-line);border-left:0}.stats-grid{grid-template-columns:minmax(0,1fr)}.stat-card-detail,.stat-card-ot{position:static;padding:var(--sp-4)}.stat-card-fill,.stat-card-ot-fill{position:static;inset:auto;padding:0}.detail-scroll{max-height:280px}.ot-chart{flex:none;height:210px}}@media (max-width: 639px){.plaque-cell{padding:12px var(--sp-3) 10px}.plaque-shift{font-size:34px}.plaque-cd{font-size:28px}.plaque-tally{gap:6px var(--sp-3)}.plaque-rhythm-wrap{padding:var(--sp-2) var(--sp-3) 10px}.plaque-rhythm i{height:16px}.stat-card{padding:var(--sp-3)}.day-counts{gap:6px}.day-count{gap:var(--sp-1);padding:var(--sp-1) var(--sp-2)}.day-count-num{font-size:var(--fs-subhead)}.day-count-label{font-size:var(--fs-label)}.money-row,.money-group{grid-template-columns:minmax(0,1fr) 76px;column-gap:var(--sp-2)}.money-summary{gap:6px}.money-summary-item{padding:var(--sp-2)}.ot-chart{height:190px}}.overview-top{display:grid;grid-template-columns:840px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:var(--sp-4);row-gap:var(--sp-3);width:100%}.todo-card{position:relative;display:block;grid-column:2;grid-row:2;align-self:stretch;min-width:0;min-height:0;padding:0;border:0;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-raised);overflow:hidden}.todo-card-fill{position:absolute;inset:0;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4)}.todo-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--rule)}.todo-card-title{font-size:var(--fs-body);font-weight:600}.todo-card-stat{font-size:var(--fs-small);color:var(--muted);white-space:nowrap}.todo-empty{padding:var(--sp-4) var(--sp-3);border:0;border-radius:var(--radius-panel);background:var(--surface-sunken);color:var(--muted);font-size:var(--fs-small);line-height:1.7;text-align:center}.todo-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none}.todo-scroll::-webkit-scrollbar{width:0;height:0}.todo-group+.todo-group{margin-top:var(--sp-4)}.todo-group-date{display:flex;align-items:baseline;gap:6px;margin:0 0 6px;font-size:var(--fs-label);font-variant-numeric:tabular-nums}.todo-group-day{color:var(--text);font-weight:500}.todo-group-week{color:var(--faint)}.todo-items{display:flex;flex-direction:column;gap:var(--sp-1);margin:0;padding:0;list-style:none}.todo-tone-1{--todo-bg: var(--todo-tone-1-bg);--todo-ink: var(--todo-tone-1-ink)}.todo-tone-2{--todo-bg: var(--todo-tone-2-bg);--todo-ink: var(--todo-tone-2-ink)}.todo-tone-3{--todo-bg: var(--todo-tone-3-bg);--todo-ink: var(--todo-tone-3-ink)}.todo-tone-4{--todo-bg: var(--todo-tone-4-bg);--todo-ink: var(--todo-tone-4-ink)}.todo-tone-5{--todo-bg: var(--todo-tone-5-bg);--todo-ink: var(--todo-tone-5-ink)}.todo-tone-6{--todo-bg: var(--todo-tone-6-bg);--todo-ink: var(--todo-tone-6-ink)}.todo-item,.todo-list-item{background:var(--todo-bg, transparent);color:var(--todo-ink, var(--text))}.todo-item{display:flex;align-items:flex-start;gap:7px;margin:0;padding:5px 8px;border-radius:var(--radius-control);font-size:var(--fs-control);line-height:1.5}.todo-item:hover,.todo-list-item:hover{background-image:linear-gradient(rgba(19,20,22,.035),rgba(19,20,22,.035))}.todo-check{flex:0 0 auto;width:14px;height:14px;margin-top:2.75px;padding:0;border:1px solid var(--control);border-radius:var(--radius-mark);background:var(--surface);cursor:pointer}.todo-check:hover{border-color:var(--accent)}.todo-item.is-done .todo-check,.todo-list-item.is-done .todo-check{border-color:var(--accent);background:var(--accent);background-image:linear-gradient(45deg,transparent 45%,var(--text-inverse) 45%,var(--text-inverse) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--text-inverse) 45%,var(--text-inverse) 55%,transparent 55%);background-size:7px 7px,7px 7px;background-position:3px 6px,3px 3px;background-repeat:no-repeat}.todo-text{min-width:0;word-break:break-word}.todo-item.is-done .todo-text,.todo-list-item.is-done .todo-text{color:var(--todo-ink, var(--faint));opacity:.55;text-decoration:line-through}.dialog-tabs{display:flex;gap:var(--sp-1);padding:0 var(--sp-4);border-bottom:1px solid var(--rule)}.dialog-tab{padding:var(--sp-2) var(--sp-3);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted);font-size:var(--fs-control);cursor:pointer}.dialog-tab:hover{color:var(--text)}.dialog-tab.is-on{border-bottom-color:var(--accent);color:var(--text);font-weight:500}.dialog-tab-count{display:inline-block;min-width:17px;margin-left:5px;padding:0 4px;border-radius:var(--radius-card);background:var(--raised);color:var(--muted);font-size:var(--fs-label);font-weight:500;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.dialog-tab.is-on .dialog-tab-count{background:var(--accent-weak);color:var(--accent)}.dialog-page{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-1)}.todo-add{display:flex;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius-card);background:var(--raised)}.todo-add .input{flex:1 1 auto;min-width:0}.dialog-page>.stat-empty{padding:var(--sp-4) var(--sp-3);border:0;border-radius:var(--radius-panel);background:var(--surface-sunken);text-align:center}.todo-list{display:flex;flex-direction:column;gap:var(--sp-1);margin:0;padding:0;list-style:none}.todo-list-item{display:flex;align-items:flex-start;gap:var(--sp-2);margin:0 -6px;padding:5px 6px;border-radius:var(--radius-sub);font-size:var(--fs-control);line-height:1.5}.todo-list-item .todo-text{flex:1 1 0}.todo-remove{flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-mark);background:transparent;color:var(--todo-ink, var(--faint));font-size:var(--fs-body);line-height:18px;opacity:.55;cursor:pointer}.todo-list-item .todo-remove:hover{background:rgba(255,255,255,.6);color:var(--danger);opacity:1}.dialog-tip{margin:0;font-size:var(--fs-label);color:var(--muted)}.dialog-actions-end{margin-left:auto}@media (max-width: 1399px){.overview-top{grid-template-columns:minmax(0,1fr)}.calendar-weekdays,.calendar-grid,.calendar-legend{width:100%;max-width:840px;justify-self:start}.todo-card{grid-column:1;grid-row:4;position:relative}.todo-card-fill{position:static;inset:auto}.todo-scroll{max-height:40vh;max-height:40dvh}}@media (max-width: 639px){.todo-card-fill{padding:var(--sp-3)}}.settings-section{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--gap);padding-bottom:var(--sp-5);border-bottom:1px solid var(--rule)}.settings-section:last-of-type{border-bottom:0}.settings-label h2{margin-bottom:6px;font-size:var(--fs-subhead);font-weight:600}.settings-label h2:before{content:"";display:inline-block;width:3px;height:13px;margin-right:8px;border-radius:2px;background:var(--accent);vertical-align:-2px}.settings-label p{margin-bottom:6px;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}.settings-meta{color:var(--muted)!important;font-variant-numeric:tabular-nums}.settings-panel{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:0;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-raised)}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.settings-hint{font-size:var(--fs-small);color:var(--muted)}.backup-dir{display:flex;align-items:center;gap:var(--sp-2);padding-top:2px}.backup-dir-label{flex:0 0 auto;font-size:var(--fs-small);color:var(--muted)}.backup-dir-path{flex:1 1 auto;min-width:0;overflow:hidden;padding:0 8px;height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--raised);color:var(--text);font-size:var(--fs-small);line-height:calc(var(--control-height) - 2px);text-overflow:ellipsis;white-space:nowrap}.backup-dir-path.is-default{color:var(--faint)}.settings-footnote{padding-top:4px;font-size:var(--fs-small);color:var(--muted)}.member-editor{display:flex;flex-direction:column;gap:var(--sp-2)}.member-editor-head,.member-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.8fr) 60px;gap:var(--sp-2);align-items:center}.member-editor.is-sortable .member-editor-head,.member-editor.is-sortable .member-row{grid-template-columns:16px minmax(0,1fr) minmax(0,1.1fr) minmax(0,.8fr) 112px}.member-handle{display:flex;align-items:center;justify-content:center;height:24px;color:var(--faint);font-size:var(--fs-control);line-height:1;cursor:grab;user-select:none}.member-handle:hover{color:var(--muted)}.member-handle:active{cursor:grabbing}.member-row-actions{display:flex;align-items:center;justify-self:end;gap:2px}.btn-icon{width:24px;height:24px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:var(--fs-small);line-height:1}.btn-icon:hover:not(:disabled){background:var(--raised);color:var(--text)}.btn-icon:disabled{background:transparent;color:var(--icon-disabled)}.member-row.is-dragging{opacity:.45}.member-row.is-drop-target{box-shadow:0 -2px 0 var(--accent)}.member-editor-head{padding:0 0 var(--sp-2);border-bottom:1px solid var(--rule);color:var(--muted);font-size:var(--fs-small)}.member-row:hover{background:var(--surface-tint)}.member-head-label{padding-left:9px}.member-row .input{min-width:0}.member-editor-empty{padding:8px 2px;font-size:var(--fs-small);color:var(--muted)}.pattern-group .member-editor-empty{padding:16px 12px;border:0;border-radius:var(--radius-panel);background:var(--surface-sunken);color:var(--muted);text-align:center}.error-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:8px 10px 8px 26px;border-radius:var(--radius-control);background:var(--danger-weak);color:var(--danger);font-size:var(--fs-small);line-height:1.6}.danger-row{display:flex;align-items:center;gap:8px}.danger-row .input{max-width:220px}.pattern-block{display:flex;flex-direction:column;gap:var(--sp-4)}.pattern-group{display:flex;flex-direction:column;gap:var(--sp-2)}.pattern-group-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--fs-small);color:var(--muted)}.pattern-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pattern-chip{display:flex;flex-direction:column;gap:6px;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);text-align:left;transition:border-color .12s ease,background .12s ease}.pattern-chip:hover{border-color:var(--control);background:var(--surface-tint)}.pattern-chip.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pattern-chip.is-on .pattern-chip-name{color:var(--accent)}.pattern-chip-name{font-size:var(--fs-small);font-weight:600;font-variant-numeric:tabular-nums}.pattern-bar{display:flex;gap:2px;height:14px;padding:2px;overflow:hidden;border-radius:var(--radius-control);background:var(--raised)}.pattern-bar-seg{display:block;flex:1 1 0;border-radius:2px;min-width:0}.pattern-rows,.pattern-item{display:flex;flex-direction:column;gap:6px}.pattern-row{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr) 58px auto;gap:var(--sp-3);align-items:center;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.pattern-row.is-open{border-color:var(--control)}.pattern-row-name{overflow:hidden;font-size:var(--fs-control);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.pattern-row-usage{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.pattern-row-actions{display:flex;gap:2px}.pattern-preview{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.pattern-preview-inline{border-color:var(--control);background:var(--surface-tint)}.pattern-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.pattern-preview-title{font-size:var(--fs-body);font-weight:600}.pattern-preview-note{font-size:var(--fs-label);color:var(--muted)}.pattern-grid{display:flex;flex-direction:column;gap:var(--sp-1)}.pattern-grid-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-1)}.shift-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:46px;padding:0;border:0;border-radius:var(--radius-sub);line-height:1.1}button.shift-cell:hover{filter:brightness(.97)}.shift-cell.is-on{box-shadow:inset 0 0 0 1px var(--text)}.shift-cell.is-readonly{height:42px}.shift-cell-num{font-size:var(--fs-micro);font-variant-numeric:tabular-nums;opacity:.65}.shift-cell-text{font-size:var(--fs-control);font-weight:500}.shift-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.palette-option{height:34px;border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--fs-control);font-weight:500}.palette-option:hover{filter:brightness(.97)}.palette-option.is-on{font-weight:600}.dialog-wide{width:560px}.dialog-narrow{width:460px}.dialog-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4)}.field{display:flex;flex-direction:column;gap:5px}.field-label{display:flex;flex-direction:column;gap:1px;font-size:var(--fs-small);color:var(--muted)}.field-note{font-size:var(--fs-label);font-weight:400;color:var(--muted)}.editor-active{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.editor-hint{font-size:var(--fs-small);color:var(--muted)}.editor-warn{padding:var(--sp-2) var(--sp-3);border:1px solid var(--warning-border);border-radius:var(--radius-control);background:var(--warning-bg);color:var(--warning-ink);font-size:var(--fs-small);line-height:1.6}.confirm-names{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-control);background:var(--danger-weak);color:var(--danger);font-size:var(--fs-small);line-height:1.6}.confirm-label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-small);color:var(--muted)}.profile-block{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.profile-title{display:flex;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--rule);font-size:var(--fs-body);font-weight:600}.profile-tag{padding:1px 6px;border-radius:var(--radius-pill);background:var(--raised);color:var(--faint);font-size:var(--fs-label);font-weight:400}.profile-form,.salary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.money-input{display:flex;align-items:center;gap:6px}.money-input .input{flex:1;min-width:0;text-align:right;font-variant-numeric:tabular-nums}.money-unit{font-size:var(--fs-small);color:var(--faint)}.impact-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:var(--sp-4);list-style:none;font-size:var(--fs-control);line-height:1.6;color:var(--muted)}.impact-list strong{color:var(--danger);font-variant-numeric:tabular-nums}.member-locked{display:flex;align-items:center;gap:6px;min-width:0;height:var(--control-height);padding:0 8px;border-radius:var(--radius-control);background:var(--surface);box-shadow:inset 0 0 0 1px var(--control-soft);color:var(--muted);font-size:var(--fs-control)}.member-locked-name{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.member-locked-pattern{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.member-locked-position{overflow:hidden;font-size:var(--fs-small);color:var(--muted);text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1023px){.settings-section{grid-template-columns:minmax(0,1fr);gap:var(--sp-3);padding-bottom:var(--sp-4)}.pattern-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name usage" "bar bar" "actions actions";row-gap:var(--sp-2)}.pattern-row>.pattern-row-name{grid-area:name}.pattern-row>.pattern-bar{grid-area:bar}.pattern-row>.pattern-row-usage{grid-area:usage;text-align:right}.pattern-row>.pattern-row-actions{grid-area:actions;justify-content:flex-end}.member-editor-head{display:none}.member-editor.is-sortable .member-row{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"handle name name actions" "handle pattern position actions";row-gap:var(--sp-2)}.member-editor:not(.is-sortable) .member-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"name name actions" "pattern position actions";row-gap:var(--sp-2)}.member-handle{grid-area:handle;align-self:center}.member-field-name{grid-area:name}.member-field-pattern{grid-area:pattern}.member-field-position{grid-area:position}.member-row-actions{grid-area:actions;align-self:center}.danger-row{flex-wrap:wrap}.danger-row .input{max-width:none;flex:1 1 140px}.backup-dir{flex-wrap:wrap}.backup-dir-label{flex:0 0 100%}.backup-dir-path{flex:1 1 140px}}@media (max-width: 639px){.dialog-wide,.dialog-narrow{width:100%}.dialog-body,.settings-panel{padding:var(--sp-3)}.pattern-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-preview{padding:var(--sp-2)}.pattern-grid-row{gap:3px}.shift-cell{height:38px}.shift-cell-text{font-size:var(--fs-label)}.profile-form,.salary-grid{grid-template-columns:minmax(0,1fr)}}.wizard{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--sp-6);background:var(--ground)}.wizard-card{display:flex;flex-direction:column;gap:var(--sp-4);width:760px;max-width:100%;padding:var(--sp-6) var(--sp-6) var(--sp-5);border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface)}.wizard-step{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.wizard-title{text-wrap:balance;margin-top:4px;font-size:var(--fs-title);font-weight:600;letter-spacing:-.02em;line-height:1.2}.wizard-body{min-height:236px}.wizard-lead{margin-bottom:var(--sp-4);font-size:var(--fs-body);line-height:1.75}.wizard-list{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding-left:var(--sp-4);font-size:var(--fs-control);line-height:1.7;color:var(--muted)}.wizard-list strong{font-weight:600}.wizard-self{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-sunken)}.wizard-summary-row.is-self{background:var(--accent-weak);font-weight:600}.wizard-note{margin-top:var(--sp-4);font-size:var(--fs-small);color:var(--muted)}.wizard-summary{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card)}.wizard-summary-row{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--rule);font-size:var(--fs-control)}.wizard-summary-row:last-child{border-bottom:0}.wizard-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--rule)}.wizard-foot-left{display:flex;gap:var(--sp-2)}@media (max-width: 639px){.wizard{align-items:flex-start;min-height:100vh;min-height:100dvh;padding:var(--sp-3)}.wizard-card{width:100%;padding:var(--sp-4);border-radius:var(--radius-panel)}.wizard-title{font-size:var(--fs-metric-lg)}.wizard-self{grid-template-columns:minmax(0,1fr)}.wizard-body{min-height:0}}.toast-layer{position:fixed;bottom:var(--sp-5);left:50%;z-index:80;display:flex;flex-direction:column;gap:var(--sp-2);align-items:center;width:max-content;max-width:min(560px,100vw - 48px);transform:translate(-50%);pointer-events:none}.toast{position:relative;display:flex;align-items:flex-start;gap:var(--sp-2);width:max-content;max-width:100%;padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-floating);color:var(--text);font-size:var(--fs-control);line-height:1.5;pointer-events:auto;animation:toast-in .18s ease-out}.toast:before{position:absolute;top:8px;bottom:8px;left:0;width:3px;border-radius:0 2px 2px 0;background:var(--accent);content:""}.toast--warning:before{background:var(--warning-ink)}.toast--error:before{background:var(--danger)}.toast.is-leaving{animation:toast-out .15s ease-in forwards}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-text{white-space:pre-wrap;overflow-wrap:anywhere}.toast-detail{color:var(--muted);font-size:var(--fs-small);white-space:pre-wrap;overflow-wrap:anywhere}.toast-action{flex:none;margin-top:1px;padding:0 4px;border:0;border-radius:var(--radius-sub);background:transparent;color:var(--accent);font-size:var(--fs-small);font-weight:500;white-space:nowrap;cursor:pointer}.toast-action:hover,.toast-action:focus-visible{background:var(--accent-weak)}.toast-close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:22px;margin-top:-2px;border:0;border-radius:var(--radius-sub);background:transparent;color:var(--faint);cursor:pointer}.toast-close:hover,.toast-close:focus-visible{background:var(--raised);color:var(--text)}.toast-close svg{width:12px;height:12px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.toast,.toast.is-leaving{animation:none}.toast.is-leaving{opacity:0}}
