:root{color-scheme:light;--bg:#f6f7fa;--surface:#fff;--surface-2:#eef0f5;--surface-3:#e3e6ee;--line:#dfe3ea;--line-strong:#c3c9d4;--fg:#16181d;--fg-muted:#4a5160;--fg-subtle:#5c6372;--accent:#2457e6;--accent-soft:#e8eefc;--accent-ink:#fff;--accent-hover:#1f4bc9;--accent-active:#1a40ad;--good:#157049;--good-soft:#e4f3eb;--warn:#8a5200;--warn-soft:#fbf0d9;--bad:#b02a2a;--bad-soft:#fae4e4;--on-bad:#fff;--scrim:rgba(22,24,29,0.4);--chart-1:var(--accent);--chart-2:var(--fg-subtle);--chart-3:var(--warn);--chart-4:#8fb0ff;--chart-5:var(--line-strong);--font-sans:"Pretendard Variable",Pretendard,"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;--font-mono:"Geist Mono","IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--sp-2:2px;--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--r-input:6px;--r-panel:8px;--r-pill:999px;--topbar-h:56px;--sidebar-w:232px;--rail-w:56px;--content-max:1280px;--gutter:24px;--tap:44px;--sticky-bar-h:69px;--btn-save-w:140px;--select-min:150px;--bar-label-w:150px;--indent-avatar:36px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1218;--surface:#161a22;--surface-2:#1d222c;--surface-3:#262c38;--line:#262c38;--line-strong:#3a4252;--fg:#eceff4;--fg-muted:#b3bbc8;--fg-subtle:#8690a0;--accent:#6b93ff;--accent-soft:#1c2748;--accent-ink:#0b1020;--accent-hover:#87a7ff;--accent-active:#a3bcff;--good:#4fc394;--good-soft:#15302a;--warn:#e6bb4a;--warn-soft:#332b14;--bad:#f08a8a;--bad-soft:#3a2020;--on-bad:#3a2020;--scrim:rgba(4,6,10,0.6);--chart-4:#3f5fb8}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1218;--surface:#161a22;--surface-2:#1d222c;--surface-3:#262c38;--line:#262c38;--line-strong:#3a4252;--fg:#eceff4;--fg-muted:#b3bbc8;--fg-subtle:#8690a0;--accent:#6b93ff;--accent-soft:#1c2748;--accent-ink:#0b1020;--accent-hover:#87a7ff;--accent-active:#a3bcff;--good:#4fc394;--good-soft:#15302a;--warn:#e6bb4a;--warn-soft:#332b14;--bad:#f08a8a;--bad-soft:#3a2020;--on-bad:#3a2020;--scrim:rgba(4,6,10,0.6);--chart-4:#3f5fb8}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;scrollbar-gutter:stable;scroll-padding-bottom:calc(var(--sticky-bar-h) + var(--sp-16))}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-14);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;word-break:keep-all;overflow-wrap:break-word}body,figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}.link,a.link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}.link:hover,a.link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}img,svg{display:block;max-width:100%}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:1px}::selection{background:var(--accent-soft)}.page-title{font-size:var(--fs-18);font-weight:700;letter-spacing:-.01em;line-height:1.3}.section-title{font-size:var(--fs-14);font-weight:600;letter-spacing:-.005em}.muted,.section-desc{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.help-text,.small{font-size:var(--fs-12)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-size:var(--fs-13);letter-spacing:0}.kbd,.mono{font-family:var(--font-mono)}.kbd{display:inline-block;padding:1px var(--sp-6);border:solid var(--line-strong);border-width:1px 1px 2px;border-radius:4px;background:var(--surface);font-size:var(--fs-12);line-height:1.4;color:var(--fg-muted)}.text-good{color:var(--good)}.text-warn{color:var(--warn)}.text-bad{color:var(--bad)}.text-accent{color:var(--accent)}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:var(--sp-16);top:var(--sp-8);z-index:80;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-12);border:1px solid var(--accent);border-radius:var(--r-input);background:var(--surface);color:var(--accent);font-size:var(--fs-13);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row{display:flex;align-items:center;gap:var(--sp-8)}.row,.row>.chart,.row>.progress,.row>.stack,.row>.stack-sm{min-width:0}.row-wrap{flex-wrap:wrap}.stack-xs{gap:var(--sp-4)}.row-baseline{align-items:baseline;gap:var(--sp-6)}.row-between{justify-content:space-between}.stack{gap:var(--sp-16)}.stack,.stack-sm{display:flex;flex-direction:column;min-width:0}.stack-sm{gap:var(--sp-8)}.spacer{flex:1 1}.gap-2{gap:var(--sp-2)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.gap-10{gap:var(--sp-10)}.gap-12{gap:var(--sp-12)}.gap-16{gap:var(--sp-16)}.gap-20{gap:var(--sp-20)}.row-inline{display:inline-flex}.row-start{align-items:flex-start}.row-end{justify-content:flex-end}.flex-fill{flex:1 1}.flex-fill,.min-w-0{min-width:0}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mt-10{margin-top:var(--sp-10)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.py-6{padding:var(--sp-6) 0}.py-8{padding:var(--sp-8) 0}.gap-row-2-8{gap:var(--sp-2) var(--sp-8)}.gap-row-6-12{gap:var(--sp-6) var(--sp-12)}.box{border:1px solid var(--line);border-radius:var(--r-panel)}.box,.box-pad{padding:var(--sp-10) var(--sp-12)}.m-0{margin:0}.ml-auto{margin-left:auto}.semibold{font-weight:600}.grid-2,.grid-3,.grid-4{display:grid;grid-gap:var(--sp-16);gap:var(--sp-16)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-16);gap:var(--sp-16)}.section{padding-top:var(--sp-20);margin-top:var(--sp-20);border-top:1px solid var(--line)}.section:first-child{margin-top:0;padding-top:0;border-top:0}.divider{height:1px;background:var(--line);margin:16px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-6);height:34px;padding:0 var(--sp-12);border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);color:var(--fg);font-size:var(--fs-13);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s}.btn:hover{background:var(--surface-2)}.btn:active{background:var(--surface-3)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn-ghost{border-color:transparent;background:transparent;color:var(--fg-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--fg)}.btn-danger{border-color:var(--bad);color:var(--bad);background:var(--surface)}.btn-danger:hover{background:var(--bad-soft)}.btn-danger.btn-solid{background:var(--bad);color:var(--on-bad)}.btn-sm{height:28px;padding:0 var(--sp-10);font-size:var(--fs-12)}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:28px}.btn-block{width:100%}.input,.select,.textarea{display:block;width:100%;min-height:34px;padding:var(--sp-6) var(--sp-10);border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);color:var(--fg);font-size:var(--fs-13);line-height:1.4;transition:border-color .12s}.input::placeholder,.textarea::placeholder{color:var(--fg-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--line-strong) 60%,var(--fg-subtle))}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--fg-subtle);cursor:not-allowed}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--bad)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 256 256' fill='%236e7684'><path d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.textarea{min-height:96px;resize:none}.input-sm,.select-sm{min-height:28px;padding:3px 8px;font-size:var(--fs-12)}.input-inline{width:auto;display:inline-block}.select-auto{width:auto;min-width:var(--select-min);max-width:100%}.select-auto-lg{--select-min:190px}.select-auto-sm{--select-min:120px}.select-prompt{max-width:min(360px,100%)}.btn-save-sm{--btn-save-w:120px}.btn-save-lg{--btn-save-w:180px}.btn-tap{height:var(--tap);font-size:var(--fs-14)}.section-title-lg{font-size:var(--fs-16)}.field{display:flex;flex-direction:column;gap:var(--sp-6)}.field-label{font-size:var(--fs-13);font-weight:500;color:var(--fg)}.field-label .req{color:var(--bad);margin-left:var(--sp-2)}.field-control{gap:var(--sp-4)}.field-help{font-size:var(--fs-12);color:var(--fg-subtle)}.field-error{font-size:var(--fs-12);color:var(--bad)}.field-row{display:grid;grid-template-columns:160px 1fr;grid-gap:var(--sp-8) var(--sp-16);gap:var(--sp-8) var(--sp-16);align-items:start}.field-row .field-label{padding-top:var(--sp-8)}.check{display:inline-flex;align-items:center;gap:var(--sp-8);font-size:var(--fs-13);cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.switch{position:relative;width:34px;height:20px;border-radius:var(--r-pill);background:var(--line-strong);transition:background .12s;flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .12s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translateX(14px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--line);min-height:48px}.card-head .section-title{display:flex;align-items:center;gap:var(--sp-6)}.card-head .section-desc{font-size:var(--fs-12);margin-top:var(--sp-2)}.card-body{padding:var(--sp-16)}.card-body-flush{padding:0}.card-foot{padding:var(--sp-10) var(--sp-16);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--fg-subtle)}.panel-soft{background:var(--surface-2);border-radius:var(--r-panel);padding:var(--sp-12) var(--sp-16)}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap-sticky{max-height:560px;overflow-y:auto}.table{width:100%;font-size:var(--fs-13);border-collapse:separate;border-spacing:0;table-layout:fixed}.table td,.table th{padding:9px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--fg-muted);font-size:var(--fs-12);font-weight:600;white-space:nowrap;text-align:center}.table td{background:var(--surface)}.table tbody tr:last-child td{border-bottom:0}.table .num,.table .right{text-align:right}.table .center{text-align:center}.table .col-name{min-width:180px;white-space:nowrap}.table .col-domain{min-width:160px;white-space:nowrap}.table .col-prompt{min-width:280px}.table .col-narrow{white-space:nowrap}.table-row-link{cursor:pointer}.table-row-link:hover td{background:var(--surface-2)}.table .row-selected td{background:var(--accent-soft)}.table .row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table .row-ours td{font-weight:600}.table .row-ours td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table-compact td,.table-compact th{padding:var(--sp-6) var(--sp-10)}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-10) var(--sp-12);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--fg-subtle)}.table .table-empty-cell{text-align:center}.table-empty-inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-8);padding:calc(var(--sp-16) + var(--sp-8)) var(--sp-12)}.card .table-wrap .table td:first-child,.card .table-wrap .table th:first-child{padding-left:var(--sp-16)}.card .table-wrap .table td:last-child,.card .table-wrap .table th:last-child{padding-right:var(--sp-16)}.badge{display:inline-flex;align-items:center;gap:var(--sp-4);height:22px;padding:0 var(--sp-8);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-muted);font-size:var(--fs-12);font-weight:500;line-height:1;white-space:nowrap;vertical-align:middle}.badge svg{flex-shrink:0}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-off{background:var(--surface-2);color:var(--fg-subtle)}.badge-run{background:var(--accent-soft);color:var(--accent)}.badge-accent{background:var(--accent);color:var(--accent-ink)}.badge-outline{background:transparent;border:1px solid var(--line-strong)}.badge-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-run .badge-dot{animation:badge-pulse 1.4s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.35}}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fg-subtle);vertical-align:middle;flex-shrink:0}.dot-good{background:var(--good)}.dot-warn{background:var(--warn)}.dot-bad{background:var(--bad)}.dot-run{background:var(--accent)}.dot-off{background:var(--line-strong)}.signal{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px 0 7px;border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:600;line-height:1;white-space:nowrap}.signal-good{background:var(--good-soft);color:var(--good)}.signal-warn{background:var(--warn-soft);color:var(--warn)}.signal-bad{background:var(--bad-soft);color:var(--bad)}.condition{display:inline-flex;align-items:center;gap:var(--sp-6);min-height:24px;padding:var(--sp-2) var(--sp-10);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--fg-muted);font-size:var(--fs-12);line-height:1.4}.condition svg{color:var(--fg-subtle);flex-shrink:0}.tabs-bar{display:flex;align-items:flex-end;gap:var(--sp-8);min-width:0;border-bottom:1px solid var(--line);margin-bottom:var(--sp-20)}.tabs-bar .tabs{flex:1 1 auto;min-width:0;border-bottom:0;margin-bottom:0}.tabs-actions{flex-shrink:0;padding-bottom:var(--sp-6)}.tabs{display:flex;align-items:flex-end;gap:var(--sp-2);border-bottom:1px solid var(--line);margin-bottom:var(--sp-20);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:var(--sp-6);height:38px;padding:0 var(--sp-12);margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--fg-muted);font-size:var(--fs-13);font-weight:500;white-space:nowrap;cursor:pointer;background:none;transition:color .12s}.tab:hover{color:var(--fg)}.tab-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-count{display:inline-flex;align-items:center;height:18px;padding:0 var(--sp-6);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-subtle);font-size:var(--fs-12);font-weight:600}.tab-active .tab-count{background:var(--accent-soft);color:var(--accent)}.segment{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-input);overflow:hidden}.segment button{height:28px;padding:0 var(--sp-10);font-size:var(--fs-12);color:var(--fg-muted);background:var(--surface);border-right:1px solid var(--line-strong)}.segment button:last-child{border-right:0}.segment button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.segment-time button{min-width:60px}.stat{display:flex;flex-direction:column;gap:var(--sp-6);padding:var(--sp-16);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);min-width:0}.stat-label{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-13);color:var(--fg-muted)}.stat-value{font-size:var(--fs-28);font-weight:700;letter-spacing:-.02em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-value .unit{font-size:var(--fs-16);font-weight:600;margin-left:2px;color:var(--fg-muted)}.stat-delta{display:inline-flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-12);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-delta-good{color:var(--good)}.stat-delta-bad{color:var(--bad)}.stat-delta .base,.stat-delta-flat{color:var(--fg-subtle)}.stat-delta .base{font-weight:400}.stat-condition{font-size:var(--fs-12);color:var(--fg-subtle);margin-top:var(--sp-2)}.stat-inline{display:flex;align-items:baseline;gap:var(--sp-8)}.stat-value-24{font-size:var(--fs-24)}.num-lg{font-size:var(--fs-20);font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-16);margin-bottom:var(--sp-20)}.page-head-text{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.page-head-actions{flex-shrink:0;justify-content:flex-end}.page-head-actions,.toolbar{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}.toolbar{margin-bottom:var(--sp-12)}.toolbar .input,.toolbar .select{width:auto;min-width:140px}.toolbar-spacer{flex:1 1}.toolbar-label{font-size:var(--fs-12);color:var(--fg-subtle)}.search{position:relative;display:inline-flex;align-items:center}.search svg{position:absolute;left:9px;color:var(--fg-subtle);pointer-events:none}.search .input{padding-left:30px}.search-input,.toolbar .search-input{width:220px}.search-input-sm,.toolbar .search-input-sm{width:180px}.chart-foot{margin-top:var(--sp-8)}.help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:var(--fg-subtle);vertical-align:middle;cursor:help}.help:focus-visible,.help:hover{color:var(--accent)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:40;width:max-content;max-width:260px;padding:var(--sp-6) var(--sp-8);border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);color:var(--fg);font-size:var(--fs-12);font-weight:400;line-height:1.4;white-space:normal;text-align:left;opacity:0;pointer-events:none;transition:opacity .1s}[data-tip]:focus-visible:after,[data-tip]:hover:after{opacity:1}[data-tip-side=right]:after{left:calc(100% + 8px);bottom:auto;top:50%;transform:translateY(-50%)}[data-tip-side=bottom]:after{bottom:auto;top:calc(100% + 6px)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-10);padding:40px 16px;text-align:center;color:var(--fg-muted);font-size:var(--fs-13);border:1px dashed var(--line-strong);border-radius:var(--r-panel);background:var(--surface)}.empty svg{color:var(--fg-subtle)}.empty-inline{padding:var(--sp-20) var(--sp-16);border:0;background:transparent}.menu-anchor{position:relative}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:200px;max-width:calc(100vw - var(--sp-24));padding:var(--sp-4);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-panel)}.menu-left{right:auto;left:0}.menu-wide{min-width:300px}.menu-wide-sm{min-width:240px}.menu-item{display:flex;align-items:center;gap:var(--sp-8);width:100%;padding:var(--sp-8) var(--sp-10);border-radius:var(--r-input);font-size:var(--fs-13);text-align:left;color:var(--fg);cursor:pointer}.menu-item:hover{background:var(--surface-2)}.menu-item-active,.menu-item[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.menu-item .menu-sub{display:block;font-size:var(--fs-12);font-weight:400;color:var(--fg-subtle)}.menu-item-mark{display:inline-flex;width:14px;flex-shrink:0}.menu-item-main{min-width:0}.menu-item-title{display:block}.menu-item-title-unread{font-weight:600}.menu-sep{height:1px;margin:4px 0;background:var(--line)}.menu-title{padding:var(--sp-6) var(--sp-10) var(--sp-4);font-size:var(--fs-12);font-weight:600;color:var(--fg-subtle)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-10) 0;border-bottom:1px solid var(--line);font-size:var(--fs-13)}.list-item:last-child{border-bottom:0}.list-item-tight{padding:var(--sp-8) 0}.list-item-main{flex:1 1;min-width:0}.list-item-title{font-weight:500}.list-item-sub{font-size:var(--fs-12);color:var(--fg-subtle)}.checklist-item{display:flex;align-items:flex-start;gap:var(--sp-10);padding:var(--sp-10) 0;border-bottom:1px solid var(--line)}.checklist-item:last-child{border-bottom:0}.checklist-item svg{margin-top:1px;flex-shrink:0}.chart{width:100%;color:var(--fg)}.chart svg{width:100%;height:auto;overflow:visible}.chart-axis,.chart-grid{stroke:var(--line);stroke-width:1}.chart-grid{stroke-dasharray:2 3}.chart-label{fill:var(--fg-subtle);font-size:var(--fs-12);font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-center-value{font-size:var(--fs-18)}.chart-value{fill:var(--fg);font-size:var(--fs-12);font-weight:600;font-family:var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-annot{stroke:var(--fg-subtle);stroke-width:1}.chart-annot-work{stroke:var(--warn)}.chart-annot-model{stroke:var(--fg-subtle);stroke-dasharray:3 3}.chart-annot-label{fill:var(--fg-muted);font-size:var(--fs-12);font-family:var(--font-sans)}.chart-annot-no{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--fg-muted);font-size:var(--fs-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-annot-no-work{border-color:var(--warn);color:var(--warn)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:var(--sp-8);font-size:var(--fs-12);color:var(--fg-muted)}.chart-legend-item{display:inline-flex;align-items:center;gap:var(--sp-6)}.chart-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.chart-legend-line{width:14px;height:0;border-top:2px solid;flex-shrink:0}.chart-legend-line.dotted{border-top-style:dotted}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--fg-subtle);font-size:var(--fs-12)}.sparkline{display:inline-block;vertical-align:middle}.bar-chart{display:flex;flex-direction:column;gap:var(--sp-6)}.bar-row{display:flex;align-items:center;gap:var(--sp-10);font-size:var(--fs-12);color:var(--fg-muted)}.bar-row-highlight{color:var(--accent);font-weight:600}.bar-label{display:flex;flex-direction:column;flex:0 0 var(--bar-label-w);max-width:45%;min-width:0;text-align:right;line-height:1.3}.bar-sub{font-size:var(--fs-12);font-weight:400;color:var(--fg-subtle)}.chart .bar-track{flex:1 1;min-width:0;width:auto;height:14px;border-radius:2px;overflow:hidden}.bar-value{width:52px;flex-shrink:0;color:var(--fg);font-weight:600}.place-head{gap:var(--sp-16);align-items:center}.place-head>.chart{flex:0 1 auto;min-width:0}.place-head>.stack-sm{flex:1 1 120px;min-width:0}.card-body-flush>.toolbar{padding:var(--sp-12) var(--sp-16) 0}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) 1fr;min-height:100vh}.topbar{grid-column:1/-1;position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-12);height:var(--topbar-h);padding:0 var(--sp-16);background:var(--surface);border-bottom:1px solid var(--line)}.topbar-brand{gap:var(--sp-8);font-size:var(--fs-16);letter-spacing:-.02em;color:var(--fg);margin-right:8px}.topbar-brand,.topbar-brand-mark{display:inline-flex;align-items:center;font-weight:800}.topbar-brand-mark{justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-size:var(--fs-12)}.topbar-sep{width:1px;height:20px;background:var(--line-strong)}.topbar-client{display:inline-flex;align-items:center;gap:var(--sp-6);height:32px;padding:0 var(--sp-10);border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);font-size:var(--fs-13);font-weight:500;max-width:280px}.topbar-client:hover{background:var(--surface-2)}.topbar-client .truncate{max-width:200px}.topbar-client-static{font-size:var(--fs-13);font-weight:500;color:var(--fg-muted)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-4)}.topbar-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-input);color:var(--fg-muted)}.topbar-iconbtn:hover{background:var(--surface-2);color:var(--fg)}.topbar-iconbtn .unread{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--bad);border:1.5px solid var(--surface)}.topbar-account{display:inline-flex;align-items:center;gap:var(--sp-8);height:34px;padding:0 var(--sp-8) 0 var(--sp-4);border-radius:var(--r-input);font-size:var(--fs-13)}.topbar-account:hover{background:var(--surface-2)}.avatar-lg{width:40px;height:40px;font-size:var(--fs-16)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-12);font-weight:700;flex-shrink:0}.indent-avatar{padding-left:var(--indent-avatar)}.topbar-menu-btn{display:none}.role-pill{display:inline-flex;align-items:center;height:18px;padding:0 var(--sp-6);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-subtle);font-size:var(--fs-12);font-weight:600}.role-pill-staff{background:var(--accent-soft);color:var(--accent)}.sidebar{grid-row:2;position:-webkit-sticky;position:sticky;top:var(--topbar-h);align-self:start;height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:var(--sp-12) var(--sp-10) var(--sp-24);background:var(--surface);border-right:1px solid var(--line)}.sidebar-group{margin-bottom:14px}.sidebar-group-label{padding:var(--sp-6) var(--sp-10) var(--sp-4);font-size:var(--fs-12);font-weight:600;color:var(--fg-subtle);letter-spacing:.02em}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--sp-10);height:34px;padding:0 var(--sp-10);border-radius:var(--r-input);color:var(--fg-muted);font-size:var(--fs-13);font-weight:500;white-space:nowrap}.sidebar-link:hover{background:var(--surface-2);color:var(--fg)}.sidebar-link svg{flex-shrink:0}.sidebar-link-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-link-active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 2px 2px 0;background:var(--accent)}.sidebar-link .count{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-subtle);font-size:var(--fs-12);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.sidebar-link-active .count{background:var(--surface);color:var(--accent)}.sidebar-foot{margin-top:auto;padding:var(--sp-12) var(--sp-10) 0;font-size:var(--fs-12);color:var(--fg-subtle)}.rail{grid-row:2;display:none;position:-webkit-sticky;position:sticky;top:var(--topbar-h);align-self:start;min-height:calc(100vh - var(--topbar-h));overflow:visible;padding:var(--sp-10) var(--sp-8);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:var(--sp-2)}.rail-sep{width:24px;height:1px;background:var(--line);margin:6px 0}.rail-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-input);color:var(--fg-muted)}.rail-link:hover{background:var(--surface-2);color:var(--fg)}.rail-link-active{background:var(--accent-soft);color:var(--accent)}.rail-link-active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:0 2px 2px 0;background:var(--accent)}.drawer-backdrop{inset:0;z-index:60;background:var(--scrim)}.drawer,.drawer-backdrop{display:none;position:fixed}.drawer{top:0;left:0;bottom:0;z-index:61;width:min(300px,86vw);background:var(--surface);border-right:1px solid var(--line);transform:translateX(-100%);transition:transform .18s ease-out;overflow-y:auto;padding:0 var(--sp-10) var(--sp-24);flex-direction:column}.drawer-head{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--sp-6);margin-bottom:var(--sp-8);border-bottom:1px solid var(--line)}.drawer-open .drawer{transform:translateX(0)}.drawer-open .drawer-backdrop{display:block}.drawer-client{margin:4px 0 12px;padding:var(--sp-10);border:1px solid var(--line);border-radius:var(--r-input);font-size:var(--fs-13)}.drawer-client .small{color:var(--fg-subtle)}.content{grid-row:2;min-width:0;width:100%;max-width:var(--content-max);padding:var(--gutter);margin:0 auto}@media (max-width:1024px){.shell{grid-template-columns:var(--rail-w) minmax(0,1fr)}.sidebar{display:none}.rail{display:flex}.content{padding:var(--sp-20)}.grid-3,.grid-4,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){:root{--gutter:16px;--bar-label-w:96px}.shell{grid-template-columns:minmax(0,1fr)}.rail,.sidebar{display:none}.drawer{display:flex}.topbar{padding:0 var(--sp-12);gap:var(--sp-8)}.topbar-menu-btn{display:inline-flex}.topbar-account .topbar-account-name,.topbar-client,.topbar-client-static,.topbar-sep{display:none}.content{padding:var(--sp-16);max-width:100%}.grid-2,.grid-3,.grid-4,.stat-grid{grid-template-columns:minmax(0,1fr)}.page-head{flex-direction:column;align-items:stretch}.page-head-actions{justify-content:flex-start}.field-row{grid-template-columns:1fr}.field-row .field-label{padding-top:0}.stat-value{font-size:var(--fs-24)}.table-wrap{margin:0 -16px;padding:0 var(--sp-16);width:auto}.card .table-wrap{margin:0;padding:0;width:100%}[data-tip]:after{max-width:200px}.table-wrap-cards{margin:0;padding:0;width:100%;overflow-x:visible}.table-wrap-cards.table-wrap-sticky{max-height:none;overflow-y:visible}.table-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-cards,.table-cards td,.table-cards tr{display:block;width:100%;min-width:0}.table-cards tbody{display:flex;flex-direction:column;gap:var(--sp-10)}.card .table-wrap-cards .table-cards tbody{padding:var(--sp-12) var(--sp-16)}.table-cards tr{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);padding:var(--sp-6) 0}.table-cards td{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-12);padding:6px 14px!important;border-bottom:0;background:transparent;text-align:left;white-space:normal;font-size:var(--fs-13);line-height:1.5}.table-cards td[data-label]:before{content:attr(data-label);flex:0 0 88px;color:var(--fg-subtle);font-size:var(--fs-12);font-weight:600;line-height:1.6;text-align:left}.table-cards td.card-hide{display:none}.table-cards .card-only{display:inline}.table-cards td[data-label]>*{min-width:0}.table-cards td[data-primary]{display:block;margin:0 0 4px;padding-bottom:8px!important;border-bottom:1px solid var(--line);font-weight:600}.table-cards td.num,.table-cards td.right{text-align:right}.table-cards .col-domain,.table-cards .col-name,.table-cards .col-narrow,.table-cards .col-prompt{width:100%;min-width:0;white-space:normal}.table-cards td .truncate{max-width:none!important;white-space:normal}.table-cards td .row{flex-wrap:wrap}.table-cards .row-ours td,.table-cards .row-selected td,.table-cards .table-row-link:hover td{background:transparent;box-shadow:none}.table-cards tr.row-selected{background:var(--accent-soft)}.table-cards tr.row-ours,.table-cards tr.row-selected{box-shadow:inset 3px 0 0 var(--accent)}.table-cards tr.table-row-link:active{background:var(--surface-2)}}@media (max-width:767px){.table-cards .table-row-link:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:-2px}.table-wrap-cards .table-foot{flex-direction:column;align-items:flex-start;gap:var(--sp-4)}}.card-only{display:none}@media (max-width:767px){.btn,.btn-sm{height:auto;min-height:44px}.btn-icon,.btn-icon.btn-sm{width:44px}.input,.input-sm,.select,.select-sm{min-height:44px}.tab{height:44px}.segment button{height:44px;padding:0 var(--sp-12)}.toolbar .input,.toolbar .select{max-width:100%}.drawer .sidebar-link{min-height:var(--tap);height:auto;padding:var(--sp-6) var(--sp-10)}}@media (hover:none){[data-tip]:active:after,[data-tip]:focus:after{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@media print{:root{--bg:#fff}body{background:#fff;color:#000;font-size:var(--fs-12)}.btn,.drawer,.drawer-backdrop,.no-print,.page-head-actions,.rail,.sidebar,.tabs,.tabs-bar,.toolbar,.topbar{display:none!important}.shell{display:block}.content{max-width:100%;padding:0}.card,.stat{border-color:#999;page-break-inside:avoid;break-inside:avoid}.table th{position:static;background:#f0f0f0}.table-wrap,.table-wrap-sticky{overflow:visible;max-height:none}a[href]:after{content:""}}.chips{display:flex;align-items:center;gap:var(--sp-6);max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:var(--sp-4);height:30px;padding:0 var(--sp-12);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--fg-muted);font-size:var(--fs-13);font-weight:500;line-height:1;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.chip:hover{background:var(--surface-2);color:var(--fg)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.chip:disabled{opacity:.5;cursor:not-allowed}.chip .num{color:var(--fg-subtle);font-weight:400}.chip[aria-pressed=true] .num{color:inherit}.sticky-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-8);flex-wrap:wrap}.sticky-bar .sticky-bar-note{margin-right:auto;font-size:var(--fs-12);color:var(--fg-subtle)}.sticky-bar .btn-primary{min-width:var(--btn-save-w);height:var(--tap);font-size:var(--fs-14)}.progress{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}.progress-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-8);font-size:var(--fs-13)}.progress-track{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .3s}.progress-bar-good{background:var(--good)}.progress-bar-warn{background:var(--warn)}.progress-bar-bad{background:var(--bad)}.grid-2-fixed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-16);gap:var(--sp-16)}[data-tip][data-tip-open=true]:after{opacity:1}@media (max-width:767px){.chip{height:44px}.toolbar .chips{flex:1 0 100%;margin:0 -16px;padding:0 var(--sp-16);max-width:none}.toolbar .input,.toolbar .select{flex:1 1 140px;min-width:0}.toolbar .search{flex:1 1 160px}.toolbar .search .input{width:100%!important}.topbar-iconbtn,.topbar-menu-btn{width:44px;height:44px}.topbar-account{min-height:44px}.help,.switch{position:relative}.help:before,.switch:before{content:"";position:absolute;inset:-12px -6px}.help:before{inset:-14px}.check{min-height:44px}.check input{width:20px;height:20px}.sticky-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:20;margin:0 -16px -16px;padding:var(--sp-12) var(--sp-16);padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);flex-wrap:nowrap}.sticky-bar .btn{flex:1 1;padding:0 var(--sp-10)}.sticky-bar .sticky-bar-note{display:none}.card .sticky-bar{border-radius:0 0 var(--r-panel) var(--r-panel)}.card-head{align-items:flex-start}.card-head,.card-head .row{flex-wrap:wrap}.bar-sub,.chart-annot-label,.chart-label,.chart-value,.kbd,.menu-item .menu-sub,.menu-title,.role-pill,.sidebar-foot,.sidebar-group-label,.tab-count{font-size:var(--fs-12)}[data-tip-side=bottom]:after,[data-tip-side=right]:after,[data-tip]:after{position:fixed;left:16px;right:16px;top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:none;padding:var(--sp-10) var(--sp-12);font-size:var(--fs-13);z-index:60}}.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-16);padding:var(--sp-24) var(--sp-16);background:var(--bg)}.login-card{width:100%;max-width:400px}.login-brand{gap:var(--sp-8);font-size:var(--fs-18);letter-spacing:-.01em;color:var(--fg)}.login-brand,.login-brand-mark{display:inline-flex;align-items:center;font-weight:700}.login-brand-mark{width:28px;height:28px;border-radius:var(--r-input);background:var(--accent);color:var(--accent-ink);justify-content:center;font-size:var(--fs-13)}.login-foot{font-size:var(--fs-12);color:var(--fg-subtle);text-align:center;line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:var(--sp-6)}.tag{gap:var(--sp-2);height:30px;padding:0 var(--sp-4) 0 var(--sp-10);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);font-size:var(--fs-13);color:var(--fg)}.tag,.tag-remove{display:inline-flex;align-items:center}.tag-remove{justify-content:center;width:22px;height:22px;border-radius:50%;color:var(--fg-subtle)}.tag-remove:hover{background:var(--surface-2);color:var(--fg)}.steps{display:flex;gap:var(--sp-4);margin:0;padding:0;list-style:none}.step{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-8) var(--sp-10) 0;border-top:3px solid var(--line);font-size:var(--fs-12);color:var(--fg-subtle)}.step-title{font-size:var(--fs-13);font-weight:500;color:var(--fg-muted);display:flex;align-items:center;gap:var(--sp-4)}.step-done{border-top-color:var(--good)}.step-done .step-title{color:var(--good)}.step-current{border-top-color:var(--accent)}.step-current .step-title{color:var(--accent);font-weight:600}.mark{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:var(--fs-13)}.mark-yes{color:var(--good)}.mark-no{color:var(--fg-subtle);font-weight:400}.notify-table td.center,.notify-table th.center{text-align:center}.notify-table td .check{justify-content:center;min-height:0}.faq{border-bottom:1px solid var(--line)}.faq:last-child{border-bottom:0}.faq summary{display:flex;align-items:center;gap:var(--sp-8);min-height:44px;padding:var(--sp-10) 0;cursor:pointer;list-style:none;font-size:var(--fs-14);font-weight:500;color:var(--fg)}.faq summary::-webkit-details-marker{display:none}.faq summary>svg{flex-shrink:0;margin-left:auto;color:var(--fg-subtle);transition:transform .12s}.faq[open] summary>svg{transform:rotate(180deg)}.faq-body{padding:0 0 14px;font-size:var(--fs-13);line-height:1.65;color:var(--fg-muted)}.faq-body p{margin:0 0 6px}.faq-body p:last-child{margin-bottom:0}.kv{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:var(--sp-8) var(--sp-12);gap:var(--sp-8) var(--sp-12);margin:0;font-size:var(--fs-13)}.kv dt{color:var(--fg-subtle)}.kv dd{margin:0;min-width:0}@media (max-width:767px){.steps{flex-direction:column;gap:0}.step{border-top:0;border-left:3px solid var(--line);padding:var(--sp-6) var(--sp-10)}.step-done{border-left-color:var(--good)}.step-current{border-left-color:var(--accent)}.tag{height:40px;padding-right:var(--sp-2)}.tag-remove{position:relative;width:36px;height:36px}.tag-remove:before{content:"";position:absolute;inset:-4px}.kv{grid-template-columns:96px minmax(0,1fr)}}.side-drawer-backdrop{position:fixed;inset:0;z-index:69;background:var(--scrim);animation:side-drawer-fade .18s ease-out}.side-drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(720px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line);animation:side-drawer-slide .22s cubic-bezier(.22,1,.36,1);will-change:transform}@keyframes side-drawer-fade{0%{opacity:0}}@keyframes side-drawer-slide{0%{transform:translateX(100%)}}.side-drawer-head{display:flex;align-items:flex-start;gap:var(--sp-12);padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--line);background:var(--surface)}.side-drawer-body{flex:1 1;min-height:0;overflow-y:auto;padding:var(--sp-16)}.side-drawer-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-8);padding:var(--sp-10) var(--sp-16);padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.side-drawer-foot .btn{min-width:96px}.side-drawer-foot .side-drawer-note{margin-right:auto;font-size:var(--fs-12);color:var(--fg-subtle)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--line);overflow:hidden}.week-day{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0;min-height:180px;padding:var(--sp-8);background:var(--surface)}.week-day-today{box-shadow:inset 0 3px 0 var(--accent)}.week-day-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);min-height:24px;font-size:var(--fs-12);font-weight:600;color:var(--fg-subtle)}.week-day-today .week-day-head{color:var(--accent)}.week-day-empty{font-size:var(--fs-12);color:var(--fg-subtle)}.week-chip{display:flex;align-items:flex-start;gap:var(--sp-6);width:100%;min-height:32px;padding:5px 8px;border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-input);background:var(--surface);font-size:var(--fs-12);line-height:1.35;color:var(--fg);text-align:left}.week-chip>svg{flex-shrink:0;margin-top:var(--sp-2);color:var(--fg-muted)}.week-chip-main{flex:1 1;min-width:0}.week-chip-title{display:block;font-weight:500}.week-chip-sub{display:block;color:var(--fg-subtle)}.week-chip-collect{border-left-color:var(--accent)}.week-chip-publish{border-left-color:var(--good)}.week-chip-due{border-left-color:var(--warn)}.week-chip-late{border-left-color:var(--bad);background:var(--bad-soft)}.week-chip-done{color:var(--fg-subtle)}.week-chip-done .week-chip-title{font-weight:400}.week-legend{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-12);color:var(--fg-muted)}.week-legend:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--line-strong)}.week-legend-collect:before{background:var(--accent)}.week-legend-publish:before{background:var(--good)}.week-legend-due:before{background:var(--warn)}.week-legend-late:before{background:var(--bad)}.key-box{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-10) var(--sp-12);border:1px solid var(--accent);border-radius:var(--r-input);background:var(--accent-soft)}.key-box code{flex:1 1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-13);color:var(--fg);overflow-wrap:anywhere}.side-panel-backdrop{position:fixed;inset:0;z-index:69;background:var(--scrim)}.side-panel{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(640px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line)}.side-panel-head{padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--line);background:var(--surface)}.side-panel-sub{margin-top:var(--sp-2)}.side-panel-body{flex:1 1;min-height:0;overflow-y:auto;padding:var(--sp-16)}.side-panel-foot{padding:var(--sp-10) var(--sp-16);padding-bottom:max(var(--sp-10),env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.answer-text{margin:0;padding:var(--sp-12) 14px;background:var(--surface-2);border-radius:var(--r-panel);font-family:inherit;font-size:var(--fs-13);line-height:1.65;white-space:pre-wrap;overflow-wrap:break-word;color:var(--fg)}.empty-left{align-items:flex-start;text-align:left;padding:var(--sp-8) 0}.input-group{display:flex;gap:var(--sp-6);align-items:stretch}.input-group .input{flex:1 1;min-width:0}@media (max-width:1024px){.week-day{padding:var(--sp-6);min-height:150px}.week-chip{padding:var(--sp-4) var(--sp-6)}.week-chip-sub{display:none}}@media (max-width:767px){.side-drawer{width:100vw}.side-drawer-foot .btn{flex:1 1;min-width:0}.side-drawer-foot .side-drawer-note{display:none}.week-grid{grid-template-columns:minmax(0,1fr)}.week-day{min-height:0;padding:var(--sp-10) var(--sp-12)}.week-day-today{box-shadow:inset 3px 0 0 var(--accent)}.week-chip{min-height:44px}.week-chip-sub{display:block}.input-group{flex-wrap:wrap}.input-group .input{flex:1 1 100%}.input-group .btn{flex:1 1}}.table .row-bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}@media (max-width:767px){.table-cards .row-bad{box-shadow:inset 3px 0 0 var(--bad)}}.cards-more{display:none}.cards-more-toggle{position:absolute;width:1px;height:1px;margin:0;opacity:0}@media (max-width:767px){.cards-limited .table-cards tbody tr.card-extra{display:none}.cards-limited:has(.cards-more-toggle:checked) .table-cards tbody tr.card-extra{display:block}.cards-limited .cards-more{display:flex;align-items:center;justify-content:center;gap:var(--sp-6);min-height:var(--tap);margin:0 var(--sp-16) var(--sp-12);border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface);color:var(--fg);font-size:var(--fs-13);font-weight:500;cursor:pointer}.cards-limited .cards-more:active{background:var(--surface-2)}.cards-limited:has(.cards-more-toggle:checked) .cards-more{display:none}.cards-more:has(.cards-more-toggle:focus-visible){outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:2px}.table-cards td a{position:relative;display:inline-flex;align-items:center;min-height:20px}.table-cards td a:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,var(--tap));height:var(--tap);transform:translate(-50%,-50%)}.toolbar>.toolbar-label{flex:1 0 100%;margin-bottom:calc(-1 * var(--sp-4));font-weight:600;color:var(--fg-muted)}.tabs{scroll-snap-type:x proximity}.tabs:after{content:"";flex:0 0 1px;align-self:center;height:20px;margin:0 var(--sp-4) 0 var(--sp-8);background:var(--line-strong)}.tab{scroll-snap-align:end}.content:has(.sticky-bar){padding-bottom:calc(var(--sticky-bar-h) + var(--sp-16))}.sticky-bar .btn-primary{min-width:0}}