@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4f3ee;--surface:#fff;--surface-2:#eeede6;--surface-3:#e6e4dc;--rule:#dcdad2;--rule-strong:#c3c0b6;--ink:#1c2127;--ink-2:#464e58;--ink-3:#626a74;--ink-4:#8a919a;--line:#0f7a67;--line-strong:#0a5f50;--line-ink:#0b5c4e;--line-wash:#e2f0eb;--line-wash-2:#cfe6de;--info:#2c5a88;--info-wash:#e5edf6;--amber:#8f5c00;--amber-mark:#d19a1f;--amber-wash:#faf0d8;--crimson:#b3261e;--crimson-strong:#8f1d17;--crimson-wash:#fbe8e6;--neutral-wash:#ebeae4;--panel:#1c2127;--panel-2:#262c33;--panel-3:#313841;--panel-ink:#eef0f2;--panel-ink-2:#a4acb5;--panel-rule:#343b44;--font:"Archivo Variable", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-11:.6875rem;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-22:1.375rem;--fs-28:1.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--radius-s:4px;--radius:6px;--radius-l:10px;--shadow-1:0 1px 2px #1c21270f, 0 1px 1px #1c21270a;--shadow-2:0 6px 16px -4px #1c212724, 0 2px 4px #1c21270f;--shadow-3:0 24px 48px -12px #1c212747, 0 4px 12px #1c212714;--ease-out:cubic-bezier(.16, 1, .3, 1);--t-fast:.12s;--t:.2s;--rail-w:224px;--topbar-h:56px;--control-h:32px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-14);color:var(--ink);background:var(--paper);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55}#app{min-height:100%}::selection{background:var(--line-wash-2);color:var(--ink)}:focus-visible{outline:2px solid var(--line);outline-offset:2px;border-radius:var(--radius-s)}input,textarea{caret-color:var(--line)}h1,h2,h3,h4{letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:600;line-height:1.3}p{margin:0}a{color:var(--line-ink);text-underline-offset:3px;text-decoration:none;text-decoration-thickness:1px}a:hover{text-decoration:underline}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}pre{white-space:pre-wrap;word-break:break-word;margin:0}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}hr{border:0;border-top:1px solid var(--rule);margin:var(--s-4) 0}*{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--ink-4)}::-webkit-scrollbar-track{background:0 0}.num,.tnum{font-variant-numeric:tabular-nums}.code{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:560;font-stretch:88%}.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.nowrap{white-space:nowrap}.right{text-align:right}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100vh;display:grid}.rail{background:var(--panel);height:100vh;color:var(--panel-ink);border-right:1px solid #0f1317;flex-direction:column;display:flex;position:sticky;top:0}.rail-brand{align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-4);border-bottom:1px solid var(--panel-rule);color:var(--panel-ink);text-decoration:none;display:flex}.rail-brand:hover{text-decoration:none}.rail-brand strong{font-size:var(--fs-16);letter-spacing:.04em;font-weight:650}.rail-brand small{font-size:var(--fs-11);color:var(--panel-ink-2);letter-spacing:.08em;font-stretch:90%;display:block}.rail-nav{padding:var(--s-3) var(--s-2) var(--s-4);scrollbar-color:var(--panel-3) transparent;flex:1;overflow-y:auto}.rail-group+.rail-group{margin-top:var(--s-4)}.rail-group-title{align-items:center;gap:var(--s-2);padding:0 var(--s-3);margin-bottom:var(--s-1);font-size:var(--fs-12);color:var(--panel-ink-2);font-weight:500;display:flex}.rail-group-title:after{content:"";background:var(--panel-rule);flex:1;height:1px}.rail-link{align-items:center;gap:var(--s-3);height:34px;padding:0 var(--s-3);border-radius:var(--radius);color:var(--panel-ink-2);font-size:var(--fs-14);transition:background var(--t-fast), color var(--t-fast);display:flex;position:relative}.rail-link:hover{background:var(--panel-2);color:var(--panel-ink);text-decoration:none}.rail-link svg{flex:none;width:17px;height:17px}.rail-link[aria-current=page]{background:var(--panel-3);color:#fff;font-weight:560}.rail-link[aria-current=page] .rail-stop{background:var(--line);box-shadow:0 0 0 3px #0f7a6747}.rail-stop{width:7px;height:7px;transition:background var(--t);background:0 0;border-radius:50%;margin-left:auto}.rail-link .rail-ext{opacity:.55;width:13px;height:13px;margin-left:auto}.rail-foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--panel-rule);font-size:var(--fs-12);color:var(--panel-ink-2)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);align-items:center;gap:var(--s-4);padding:0 var(--s-6);-webkit-backdrop-filter:saturate(1.2)blur(8px);backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--rule);background:#f4f3eeeb;display:flex;position:sticky;top:0}.topbar-crumbs{align-items:center;gap:var(--s-2);min-width:0;font-size:var(--fs-13);color:var(--ink-3);display:flex}.topbar-crumbs a{color:var(--ink-3)}.topbar-crumbs a:hover{color:var(--ink)}.topbar-crumbs .sep{color:var(--ink-4)}.topbar-crumbs strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:560;overflow:hidden}.topbar-spacer{flex:1}.topbar-search{width:min(320px,32vw);position:relative}.topbar-search svg{width:15px;height:15px;color:var(--ink-4);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.topbar-search input{background:var(--surface);width:100%;padding-left:32px}.topbar-search kbd{font-size:var(--fs-11);color:var(--ink-4);border:1px solid var(--rule);background:var(--paper);border-radius:4px;padding:0 5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.icon-btn.menu-btn{display:none}.content{padding:var(--s-6) var(--s-6) var(--s-12);flex:1}.page{max-width:1320px;margin:0 auto}.page.narrow{max-width:960px}.user-chip{align-items:center;gap:var(--s-2);border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:999px;padding:3px 4px 3px 3px;display:flex}.user-chip:hover{border-color:var(--rule-strong)}.avatar{background:var(--ink);color:#fff;width:26px;height:26px;font-size:var(--fs-12);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.user-chip .who{flex-direction:column;padding-right:6px;line-height:1.15;display:flex}.user-chip .who b{font-size:var(--fs-13);font-weight:560}.user-chip .who small{font-size:var(--fs-11);color:var(--ink-3)}.page-head{align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-head-main{flex:1;min-width:260px}.page-head h1{font-size:var(--fs-22);letter-spacing:-.01em;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-weight:640;display:flex}.page-head p{color:var(--ink-3);margin-top:var(--s-1);max-width:72ch}.page-head-actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.code-tag{height:26px;padding:0 var(--s-2);border-radius:var(--radius-s);background:var(--ink);color:#fff;font-size:var(--fs-13);font-variant-numeric:tabular-nums;letter-spacing:.02em;align-items:center;font-weight:600;font-stretch:88%;display:inline-flex}.meta-row{gap:var(--s-1) var(--s-5);margin-top:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.meta-row b{color:var(--ink);font-weight:520}.btn{--btn-bg:var(--surface);--btn-fg:var(--ink);--btn-bd:var(--rule-strong);height:var(--control-h);padding:0 var(--s-3);border:1px solid var(--btn-bd);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-14);white-space:nowrap;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);justify-content:center;align-items:center;gap:6px;font-weight:520;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(.5px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn svg{flex:none;width:15px;height:15px}.btn.primary{--btn-bg:var(--line);--btn-fg:#fff;--btn-bd:var(--line);box-shadow:inset 0 1px #00000014,0 1px 2px #0a5f5033}.btn.primary:hover{background:var(--line-strong);border-color:var(--line-strong)}.btn.danger{--btn-fg:var(--crimson);--btn-bd:#e6b9b5}.btn.danger:hover{background:var(--crimson-wash)}.btn.danger.solid{--btn-bg:var(--crimson);--btn-fg:#fff;--btn-bd:var(--crimson)}.btn.danger.solid:hover{background:var(--crimson-strong)}.btn.ghost{--btn-bg:transparent;--btn-bd:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.sm{height:26px;padding:0 var(--s-2);font-size:var(--fs-13);border-radius:var(--radius-s)}.btn.icon{width:var(--control-h);padding:0}.btn.icon.sm{width:26px}.btn.loading{pointer-events:none;position:relative;color:#0000!important}.btn.loading:after{content:"";border:2px solid;border-color:var(--btn-fg) transparent var(--btn-fg) transparent;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.btn-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.linkish{color:var(--line-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.linkish:hover{text-decoration:underline}.linkish.danger{color:var(--crimson)}.input,.select,.textarea{width:100%;min-height:var(--control-h);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--fs-14);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:5px 10px}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}.input:focus,.select:focus,.textarea:focus{border-color:var(--line);outline:none;box-shadow:0 0 0 3px #0f7a6729}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.input[readonly]{background:var(--surface-2)}.textarea{resize:vertical;padding-top:7px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23626a74' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.select[multiple]{background-image:none;min-height:96px;padding-right:10px}.check{align-items:center;gap:var(--s-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--line);cursor:pointer;margin:0}input[type=checkbox]{accent-color:var(--line)}input[type=file].input{padding:4px}input[type=file]::file-selector-button{font:inherit;font-size:var(--fs-13);border:1px solid var(--rule-strong);background:var(--surface-2);border-radius:var(--radius-s);cursor:pointer;color:var(--ink);margin-right:10px;padding:2px 10px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span.label{font-size:var(--fs-13);color:var(--ink-2);align-items:baseline;gap:6px;font-weight:520;display:flex}.field>span.label em{color:var(--crimson);font-style:normal;font-weight:600}.field>small{color:var(--ink-3);font-size:var(--fs-12);line-height:1.45}.field.span-2{grid-column:span 2}.field.span-all{grid-column:1/-1}.form-grid{gap:var(--s-4) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{gap:var(--s-2);margin-top:var(--s-5);align-items:center;display:flex}.form-actions .spacer{flex:1}.form-note{font-size:var(--fs-13);color:var(--ink-3)}fieldset.group{border:0;margin:0;padding:0}fieldset.group+fieldset.group{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--rule)}fieldset.group>legend{float:left;width:100%;margin-bottom:var(--s-3);font-weight:600;font-size:var(--fs-14);padding:0}fieldset.group>legend+*{clear:both}fieldset.group>legend small{color:var(--ink-3);margin-left:var(--s-2);font-weight:400;font-size:var(--fs-12)}.line-editor{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:auto}.line-editor table{min-width:100%}.line-editor td{vertical-align:middle;padding:6px}.line-editor th{padding:8px 6px}.line-editor td .input,.line-editor td .select{height:28px;min-height:28px;font-size:var(--fs-13);min-width:84px;padding:3px 8px}.line-editor td.lbl{min-width:180px;max-width:280px;font-size:var(--fs-13)}.sheet{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.sheet+.sheet,.sheet+.section,.section+.sheet,.section+.section{margin-top:var(--s-6)}.sheet-head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);flex-wrap:wrap;min-height:52px;display:flex}.sheet-head h2,.sheet-head h3{font-size:var(--fs-16);font-weight:600}.sheet-head .count{color:var(--ink-3);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.sheet-head .spacer{flex:1}.sheet-body{padding:var(--s-5) var(--s-4)}.sheet-foot{padding:var(--s-3) var(--s-4);border-top:1px solid var(--rule);align-items:center;gap:var(--s-3);color:var(--ink-3);font-size:var(--fs-13);display:flex}.section-title{align-items:baseline;gap:var(--s-3);margin:var(--s-8) 0 var(--s-3);display:flex}.section-title:first-child{margin-top:0}.section-title h2{font-size:var(--fs-16);font-weight:620}.section-title p{color:var(--ink-3);font-size:var(--fs-13)}.section-title .spacer{flex:1}.toolbar{gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);background:var(--surface);border-radius:var(--radius-l) var(--radius-l) 0 0;flex-wrap:wrap;align-items:center;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.toolbar .grow{flex:1;min-width:220px}.toolbar .spacer{flex:1}.table-wrap{overflow-x:auto}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-14)}table.data th{z-index:1;text-align:left;font-weight:560;font-size:var(--fs-12);color:var(--ink-3);background:var(--surface-2);white-space:nowrap;border-bottom:1px solid var(--rule);padding:8px 12px;position:sticky;top:0}table.data th:first-child{border-top-left-radius:0}table.data td{vertical-align:top;border-bottom:1px solid #ebe9e2;padding:10px 12px}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr{transition:background var(--t-fast)}table.data tbody tr:hover{background:#faf9f5}table.data tbody tr.selected{background:var(--line-wash)}table.data tbody tr.clickable{cursor:pointer}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data td.act{white-space:nowrap;text-align:right}table.data td.act .btn+.btn,table.data td.act a+a,table.data td.act .linkish+.linkish,table.data td.act a+.linkish,table.data td.act .linkish+a{margin-left:var(--s-3)}table.data td.check-cell,table.data th.check-cell{width:36px;padding-right:0}table.data td .sub{font-size:var(--fs-12);color:var(--ink-3);margin-top:2px;display:block}table.data td.wrap{min-width:220px;max-width:420px}table.data.compact td{padding:7px 12px}table.data td.best{background:var(--line-wash);box-shadow:inset 0 0 0 1px var(--line-wash-2)}table.data td.best b{color:var(--line-ink)}.status{height:22px;font-size:var(--fs-12);white-space:nowrap;background:var(--neutral-wash);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 8px 0 7px;font-weight:540;display:inline-flex}.status:before{content:"";opacity:.85;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status.t-line{background:var(--line-wash);color:var(--line-ink)}.status.t-info{background:var(--info-wash);color:var(--info)}.status.t-amber{background:var(--amber-wash);color:var(--amber)}.status.t-crimson{background:var(--crimson-wash);color:var(--crimson)}.status.t-ink{background:var(--ink);color:#fff}.status.t-ink:before{background:#fff}.tag{border-radius:var(--radius-s);height:22px;font-size:var(--fs-12);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule);white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.tag.amber{background:var(--amber-wash);color:var(--amber);border-color:#ecd9a8}.tag.line{background:var(--line-wash);color:var(--line-ink);border-color:var(--line-wash-2)}.tag.crimson{background:var(--crimson-wash);color:var(--crimson);border-color:#efc4c0}.tags{flex-wrap:wrap;gap:6px;display:flex}.tabs{border-bottom:1px solid var(--rule);margin-bottom:var(--s-5);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--ink-3);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:10px 14px;font-weight:520;text-decoration:none;display:inline-flex;position:relative}.tab:hover{color:var(--ink);text-decoration:none}.tab[aria-selected=true]{color:var(--ink)}.tab[aria-selected=true]:after{content:"";background:var(--line);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:10px;right:10px}.tab .n{font-size:var(--fs-11);color:var(--ink-3);background:var(--surface-3);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px}.segmented{background:var(--surface-3);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;color:var(--ink-2);font-weight:520;font-size:var(--fs-13);background:0 0;border:0;border-radius:4px;padding:4px 12px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.kv{gap:var(--s-4) var(--s-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;display:grid}.kv.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kv>div{min-width:0}.kv dt{font-size:var(--fs-12);color:var(--ink-3);margin-bottom:2px}.kv dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.kv dd.empty-val{color:var(--ink-4)}.kv .span-all{grid-column:1/-1}.empty{padding:var(--s-10) var(--s-6);text-align:center;color:var(--ink-3)}.empty svg{width:28px;height:28px;margin:0 auto var(--s-3);color:var(--ink-4)}.empty b{color:var(--ink-2);margin-bottom:var(--s-1);font-weight:560;display:block}.empty p{max-width:46ch;font-size:var(--fs-13);margin:0 auto}.empty .btn{margin-top:var(--s-4)}.skeleton{padding:var(--s-4);gap:10px;display:grid}.skeleton i{background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:4px;height:14px;animation:1.4s ease-in-out infinite shimmer;display:block}.skeleton i:nth-child(3n){width:72%}.skeleton i:nth-child(3n+2){width:88%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.error-box{gap:var(--s-3);padding:var(--s-4);border-radius:var(--radius);background:var(--crimson-wash);color:var(--crimson-strong);align-items:flex-start;display:flex}.error-box svg{flex:none;width:18px;height:18px;margin-top:2px}.notice{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-13);align-items:flex-start;display:flex}.notice svg{width:16px;height:16px;color:var(--ink-3);flex:none;margin-top:2px}.notice.amber{background:var(--amber-wash);color:#6b4500}.notice.amber svg{color:var(--amber)}.notice.line{background:var(--line-wash);color:var(--line-ink)}.notice.line svg{color:var(--line)}.notice+.notice{margin-top:var(--s-2)}dialog.drawer,dialog.dialog{color:var(--ink);background:var(--surface);border:0;padding:0}dialog.drawer::backdrop,dialog.dialog::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#14181c61}dialog.drawer{height:100vh;max-height:100vh;width:min(var(--drawer-w,640px), 100vw);max-width:100vw;box-shadow:var(--shadow-3);animation:drawer-in var(--t) var(--ease-out);flex-direction:column;margin:0;display:flex;position:fixed;inset:0 0 0 auto}dialog.drawer:not([open]){display:none}dialog.drawer.wide{--drawer-w:960px}dialog.drawer.xwide{--drawer-w:1180px}@keyframes drawer-in{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{align-items:center;gap:var(--s-3);padding:0 var(--s-5);border-bottom:1px solid var(--rule);flex:none;height:60px;display:flex}.drawer-head h2{font-size:var(--fs-18);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.drawer-body{padding:var(--s-5);flex:1;overflow-y:auto}.drawer-foot{gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--rule);background:var(--paper);flex:none;align-items:center;display:flex}.drawer-foot .spacer{flex:1}dialog.dialog{border-radius:var(--radius-l);width:min(480px,100vw - 32px);box-shadow:var(--shadow-3);animation:dialog-in var(--t) var(--ease-out)}dialog.dialog.wide{width:min(720px,100vw - 32px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.dialog-body{padding:var(--s-5) var(--s-5) var(--s-4)}.dialog-body h2{font-size:var(--fs-18);margin-bottom:var(--s-2)}.dialog-body>p{color:var(--ink-2)}.dialog-body .field{margin-top:var(--s-4)}.dialog-foot{justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5);background:var(--paper);border-top:1px solid var(--rule);border-radius:0 0 var(--radius-l) var(--radius-l);display:flex}.pop-anchor{position:relative}.popover{z-index:40;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);width:360px;max-height:480px;box-shadow:var(--shadow-2);animation:dialog-in var(--t-fast) var(--ease-out);position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.popover.menu{width:240px;padding:var(--s-1)}.popover-head{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);align-items:center;font-weight:600;display:flex}.popover-head .spacer{flex:1}.menu-item{align-items:center;gap:var(--s-2);border-radius:var(--radius-s);cursor:pointer;text-align:left;width:100%;color:var(--ink);font-size:var(--fs-14);background:0 0;border:0;padding:8px 10px;display:flex}.menu-item:hover{background:var(--surface-2);text-decoration:none}.menu-item svg{width:15px;height:15px;color:var(--ink-3)}.menu-sep{background:var(--rule);height:1px;margin:var(--s-1) 0}.menu-label{font-size:var(--fs-12);color:var(--ink-3);padding:8px 10px 4px}.notif{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);grid-template-columns:8px 1fr;display:grid}.notif:last-child{border-bottom:0}.notif .dot{background:0 0;border-radius:50%;width:8px;height:8px;margin-top:7px}.notif.unread .dot{background:var(--line)}.notif b{font-weight:560;display:block}.notif p{color:var(--ink-3);font-size:var(--fs-13)}.notif .meta{gap:var(--s-3);font-size:var(--fs-12);color:var(--ink-4);align-items:center;margin-top:4px;display:flex}.icon-btn{width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-btn .badge-dot{background:var(--line);width:8px;height:8px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:6px;right:7px}.toasts{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--ink);color:#fff;min-width:240px;max-width:min(560px,100vw - 32px);box-shadow:var(--shadow-2);font-size:var(--fs-14);animation:toast-in var(--t) var(--ease-out);align-items:center;gap:10px;padding:10px 14px;display:flex}.toast svg{flex:none;width:16px;height:16px}.toast.success svg{color:#6fd3b8}.toast.error{background:#3b1512}.toast.error svg{color:#ff8f86}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.route{padding:var(--s-4) var(--s-2) var(--s-2);position:relative}.route-track{grid-template-columns:repeat(var(--stops), minmax(0, 1fr));display:grid;position:relative}.route-track:before{content:"";left:calc(50% / var(--stops));right:calc(50% / var(--stops));background:var(--rule);border-radius:4px;height:4px;position:absolute;top:13px}.route-track:after{content:"";left:calc(50% / var(--stops));background:var(--line);height:4px;width:calc(100% - 100% / var(--stops));transform:scaleX(var(--progress));transform-origin:0;transition:transform .4s var(--ease-out);border-radius:4px;position:absolute;top:13px}.route-stop{z-index:1;cursor:pointer;color:var(--ink-3);font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:0;display:flex;position:relative}.route-stop:disabled{cursor:default}.route-dot{background:var(--surface);border:3px solid var(--rule-strong);width:30px;height:30px;font-size:var(--fs-11);font-variant-numeric:tabular-nums;color:var(--ink-3);transition:transform var(--t-fast), box-shadow var(--t-fast);border-radius:50%;place-items:center;font-weight:650;font-stretch:88%;display:grid}.route-stop:not(:disabled):hover .route-dot{transform:scale(1.08)}.route-stop.done .route-dot{background:var(--line);border-color:var(--line);color:#fff}.route-stop.here .route-dot{background:var(--surface);border-color:var(--line);color:var(--line-ink);animation:here 2.4s var(--ease-out) infinite;box-shadow:0 0 0 5px #0f7a6729}@keyframes here{0%,to{box-shadow:0 0 0 5px #0f7a6729}50%{box-shadow:0 0 0 8px #0f7a670f}}.route-label{font-size:var(--fs-13);color:var(--ink-2);white-space:nowrap;font-weight:540}.route-sub{font-size:var(--fs-11);color:var(--ink-4);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:-4px}.route-stop.here .route-label{color:var(--ink);font-weight:650}.route-stop.upcoming .route-label{color:var(--ink-3);font-weight:480}.route-stop.active-tab .route-label{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;text-decoration-thickness:2px}.mini-route{align-items:center;gap:3px;display:inline-flex}.mini-route i{background:var(--rule);border-radius:2px;width:10px;height:4px}.mini-route i.on{background:var(--line)}.mini-route i.here{background:var(--surface);width:14px;height:8px;box-shadow:inset 0 0 0 2px var(--line);border-radius:4px}.mini-route-label{font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:8px}.qty-chain{align-items:stretch;gap:0;display:flex}.qty-chain>div{border-left:1px solid var(--rule);flex:1;min-width:56px;padding:4px 8px}.qty-chain>div:first-child{border-left:0;padding-left:0}.qty-chain small{font-size:var(--fs-11);color:var(--ink-3);display:block}.qty-chain b{font-variant-numeric:tabular-nums;font-weight:560}.qty-chain b.short{color:var(--amber)}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline li{padding:0 0 var(--s-4) 28px;position:relative}.timeline li:before{content:"";background:var(--rule);width:2px;position:absolute;top:8px;bottom:-8px;left:6px}.timeline li:last-child:before{display:none}.timeline li:after{content:"";background:var(--surface);border:2px solid var(--line);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:1px}.timeline .t-head{gap:var(--s-2);flex-wrap:wrap;align-items:baseline;display:flex}.timeline .t-head b{font-weight:560}.timeline .t-meta{font-size:var(--fs-12);color:var(--ink-3)}details.raw{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}details.raw+details.raw{margin-top:var(--s-2)}details.raw summary{cursor:pointer;font-size:var(--fs-13);color:var(--ink-2);padding:8px 12px;font-weight:520}details.raw pre{padding:var(--s-3);border-top:1px solid var(--rule);font-size:var(--fs-12);background:var(--surface);border-radius:0 0 var(--radius) var(--radius);max-height:360px;overflow:auto}.pager{align-items:center;gap:var(--s-2);display:flex}.pager span{font-variant-numeric:tabular-nums}.route-dot.wide{letter-spacing:-.02em;font-size:9px}.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--crimson)}.field-err{color:var(--crimson-strong)!important}.kv.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=900px){.kv.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mb-4{margin-bottom:var(--s-4)}.late{color:var(--crimson);font-weight:560}.mono,textarea.mono{font-family:var(--font-mono);font-size:var(--fs-13)}.big{font-size:var(--fs-22);font-weight:600}.h-sub{font-size:var(--fs-14);margin:var(--s-6) 0 var(--s-3);align-items:baseline;gap:var(--s-2);font-weight:620;display:flex}.h-sub:first-child{margin-top:0}.plain-list{margin:var(--s-2) 0 0;font-size:var(--fs-13);gap:4px;padding:0;list-style:none;display:grid}.stack>*+*{margin-top:0}code.hash{font-size:var(--fs-12);word-break:break-all;color:var(--ink-2);background:var(--surface-2);border-radius:4px;padding:2px 6px}.back-link{font-size:var(--fs-13);color:var(--ink-3);margin-bottom:var(--s-3);align-items:center;gap:6px;display:inline-flex}.back-link svg{display:inline}table.data tr.retired td{color:var(--ink-4)}table.data tr.retired td .status{opacity:.8}table.data tr.flagged td{background:#fffaf0}.split-2{gap:var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.split-2>.sheet+.sheet{margin-top:0}.split-2.wide-left{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.tab-panel{animation:panel-in var(--t) var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.danger-zone{border-color:#efc9c5}.danger-zone .sheet-head h2{color:var(--crimson)}.login{grid-template-columns:minmax(360px,5fr) 7fr;min-height:100vh;display:grid}.login-panel{justify-content:space-between;gap:var(--s-10);padding:var(--s-10) var(--s-10) var(--s-8);background:var(--panel);color:var(--panel-ink);flex-direction:column;display:flex;position:relative;overflow:hidden}.login-brand{align-items:center;gap:var(--s-3);z-index:1;display:flex;position:relative}.login-brand strong{font-size:var(--fs-18);letter-spacing:.06em;display:block}.login-brand small{font-size:var(--fs-12);color:var(--panel-ink-2);display:block}.login-route{z-index:1;margin:0;padding:0 0 0 4px;list-style:none;position:relative}.login-route li{align-items:center;gap:var(--s-4);height:44px;font-size:var(--fs-16);color:var(--panel-ink);animation:stop-in .52s var(--ease-out) both;animation-delay:calc(var(--i) * 55ms);display:flex;position:relative}.login-route li:before{content:"";background:var(--line);width:4px;height:44px;position:absolute;top:22px;left:15px}.login-route li:last-child:before{display:none}.login-dot{z-index:1;background:var(--panel);border:3px solid var(--line);width:34px;height:34px;font-size:var(--fs-11);color:#bfe6da;font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:650;font-stretch:88%;display:grid;position:relative}.login-route li:first-child .login-dot{background:var(--line);color:#fff}.login-route li:last-child .login-dot{color:var(--line-ink);background:#fff}@keyframes stop-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.login-caption{z-index:1;max-width:34ch;color:var(--panel-ink-2);font-size:var(--fs-14);line-height:1.7;position:relative}.login-form-wrap{padding:var(--s-10) var(--s-6);background:var(--paper);place-items:center;display:grid}.login-form{gap:var(--s-4);width:min(380px,100%);display:grid}.login-form h1{font-size:var(--fs-28);letter-spacing:-.01em;font-weight:650}.login-form>p.muted{margin-top:calc(var(--s-2) * -1);margin-bottom:var(--s-2)}.login-submit{height:40px;font-size:var(--fs-16);margin-top:var(--s-2)}.login-foot{font-size:var(--fs-12);color:var(--ink-3)}.signals{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius-l);margin-bottom:var(--s-6);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.signal{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--ink-3);transition:background var(--t-fast);display:flex}.signal:hover{background:#faf9f5;text-decoration:none}.signal svg{width:18px;height:18px;color:var(--ink-4);flex:none}.signal b{font-size:var(--fs-22);color:var(--ink-3);font-weight:620;line-height:1}.signal span{font-size:var(--fs-13)}.signal.on.crimson b,.signal.on.crimson svg{color:var(--crimson)}.signal.on.amber b,.signal.on.amber svg{color:var(--amber)}.signal.on span{color:var(--ink);font-weight:520}.wb-grid{gap:var(--s-6);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.wb-main>.sheet+.sheet,.wb-side>.sheet+.sheet{margin-top:var(--s-6)}.route-load{padding-top:var(--s-2)}.route-load-track{grid-template-columns:repeat(var(--stops), minmax(0, 1fr));display:grid;position:relative}.route-load-track:before{content:"";left:calc(50% / var(--stops));right:calc(50% / var(--stops));background:var(--line);border-radius:3px;height:3px;position:absolute;top:82px}.route-load-stop{color:var(--ink-3);flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.route-load-stop:hover{color:var(--ink);text-decoration:none}.route-load-stop .bar{justify-content:center;align-items:flex-end;width:14px;height:72px;display:flex;position:relative}.route-load-stop .bar:before{content:"";width:100%;height:calc(var(--h) * 100%);background:var(--line-wash-2);border-radius:3px 3px 0 0;min-height:0}.route-load-stop.has .bar:before{background:var(--line)}.route-load-stop .bar b{bottom:calc(var(--h) * 100% + 2px);font-size:var(--fs-12);color:var(--ink);font-weight:600;position:absolute}.route-load-stop .dot{background:var(--surface);border:3px solid var(--line);z-index:1;border-radius:50%;width:11px;height:11px}.route-load-stop.has .dot{background:var(--line)}.route-load-stop .lbl{text-align:center;width:2.4em;min-height:2.5em;font-size:11px;line-height:1.25}.route-load-foot{margin-top:var(--s-3);font-size:var(--fs-12);color:var(--ink-3)}.station-filter{margin-bottom:var(--s-4);flex-wrap:wrap;gap:6px;display:flex}.station-filter button{border:1px solid var(--rule);background:var(--surface);height:30px;color:var(--ink-2);cursor:pointer;font-size:var(--fs-13);transition:all var(--t-fast);border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 12px;display:inline-flex}.station-filter button b{color:var(--ink-4);font-weight:600;font-size:var(--fs-12)}.station-filter button.has b{color:var(--line-ink)}.station-filter button:hover{border-color:var(--rule-strong)}.station-filter button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.station-filter button[aria-selected=true] b{color:#9ee0cd}.route-sheet{margin-bottom:var(--s-5);padding:0 var(--s-4) var(--s-2);overflow-x:auto}.route-sheet .route{min-width:720px}.quote-cell+.quote-cell{border-top:1px dashed var(--rule);margin-top:6px;padding-top:6px}.quote-cell .tag{height:18px;margin-right:4px;font-size:11px}.quote-cell .sub{font-size:var(--fs-12);color:var(--ink-3);display:block}table.compare th.num,table.compare td.num{min-width:128px}.snapshot{display:inline}.snapshot .tag{vertical-align:1px;height:18px;margin-right:6px;font-size:11px}.snapshot .sub{display:inline!important}.cost{font-size:var(--fs-12);color:var(--ink-2);flex-direction:column;display:flex}.mapping-group{padding:var(--s-3) var(--s-4) var(--s-4);border-bottom:1px solid var(--rule)}.mapping-group:last-child{border-bottom:0}.mapping-head{gap:var(--s-2);margin-bottom:var(--s-2);align-items:center;display:flex}.mapping-group .table-wrap{border:1px solid var(--rule);border-radius:var(--radius)}.steps{margin-bottom:var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--surface);gap:0;display:flex;overflow-x:auto}.step{border:0;border-right:1px solid var(--rule);cursor:pointer;min-width:108px;color:var(--ink-2);font-size:var(--fs-13);white-space:nowrap;background:0 0;flex:1;align-items:center;gap:8px;padding:10px 14px;display:flex}.step:last-child{border-right:0}.step:hover{background:#faf9f5}.step-n{background:var(--surface-3);width:20px;height:20px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:11px;font-weight:650;display:grid}.step.on{color:var(--ink);background:var(--line-wash);font-weight:600}.step.on .step-n{background:var(--line);color:#fff}.workdays{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.workdays>div{padding:var(--s-2) var(--s-3);border-radius:var(--radius);background:var(--surface-2)}.workdays small{font-size:var(--fs-12);color:var(--ink-3);display:block}.workdays b{font-size:var(--fs-22);font-weight:620}.workspace{margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px solid var(--rule-strong)}.workspace-head h2{align-items:center;gap:10px;display:flex}.workspace-head h2:before{content:"";background:var(--surface);border:3px solid var(--line);border-radius:50%;flex:none;width:12px;height:12px}.workspace-head{margin-bottom:var(--s-4)}.workspace-head h2{font-size:var(--fs-18);font-weight:640}.workspace-head p{color:var(--ink-3);margin-top:2px}.ms-strip{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);align-items:center;gap:3px;display:flex}.ms-strip span{background:var(--rule);border-radius:3px;flex:1;max-width:48px;height:6px}.ms-strip span.on{background:var(--line)}.ms-strip span.na{background:repeating-linear-gradient(45deg, var(--rule), var(--rule) 3px, transparent 3px, transparent 6px)}.ms-strip b{margin-left:var(--s-3);font-size:var(--fs-13)}.tree-cell{padding-left:calc(var(--lvl) * 22px);align-items:center;gap:8px;display:inline-flex}.tree-mark{border:2px solid var(--ink-4);border-radius:50%;flex:none;width:8px;height:8px}.tree-cell b{font-weight:560}.check-tree{gap:8px;display:grid}.score-line{align-items:center;gap:var(--s-5);padding:var(--s-4);border-radius:var(--radius);background:var(--surface-2);margin-bottom:var(--s-2);display:flex}.score-line small{font-size:var(--fs-12);color:var(--ink-3);display:block}.score-line b{font-size:var(--fs-28);color:var(--line-ink);font-weight:650;line-height:1.1}.contact-list{gap:var(--s-2);display:grid}.contact{gap:2px var(--s-3);padding:var(--s-3);border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;display:grid}.contact-main{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.contact-meta{gap:4px var(--s-4);color:var(--ink-3);font-size:var(--fs-13);flex-wrap:wrap;grid-column:1;display:flex}.contact .btn{grid-area:1/2/span 2}.contact-form{padding:var(--s-4);border:1px solid var(--line-wash-2);border-radius:var(--radius);background:#fbfdfc}.comments{margin:0;padding:0;list-style:none}.comments li{gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--rule);grid-template-columns:30px 1fr;display:grid}.comments li:last-child{border-bottom:0}.comments .avatar{width:30px;height:30px}.c-head{gap:var(--s-2);font-size:var(--fs-13);flex-wrap:wrap;align-items:baseline;display:flex}.c-body{white-space:pre-wrap;margin-top:4px}.c-mentions{font-size:var(--fs-12);color:var(--line-ink);margin-top:4px}.mention-pick{margin-top:var(--s-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--rule);background:var(--surface);cursor:pointer;height:26px;font-size:var(--fs-12);color:var(--ink-2);border-radius:999px;padding:0 10px}.chip:hover{border-color:var(--rule-strong)}.chip.on{background:var(--line-wash);border-color:var(--line);color:var(--line-ink)}.knowledge{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.k-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.k-card header{align-items:flex-start;gap:var(--s-3);display:flex}.k-card h3{font-size:var(--fs-16);flex:1}.k-card footer{gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--rule);align-items:center;margin-top:auto;display:flex}.k-card footer .spacer{flex:1}.k-card .kv{gap:var(--s-2);grid-template-columns:1fr}.output-card{border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:var(--s-3);overflow:hidden}.output-card header{align-items:center;gap:var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--rule);padding:8px 12px;display:flex}.output-card header .spacer{flex:1}.output-card pre.json{padding:var(--s-3);font-size:var(--fs-12);max-height:280px;overflow:auto}.output-card details.raw{margin:0 var(--s-3) var(--s-3)}.figures{border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.figures>div{padding:var(--s-4) var(--s-5);border-left:1px solid var(--rule)}.figures>div:first-child{border-left:0}.figures small{font-size:var(--fs-12);color:var(--ink-3);display:block}.figures b{font-size:var(--fs-28);letter-spacing:-.01em;font-weight:620}.figures b span{font-size:var(--fs-16);color:var(--ink-3);margin-left:2px}.bars{gap:10px;display:grid}.bar-row{gap:var(--s-3);font-size:var(--fs-13);grid-template-columns:96px 1fr 48px 40px;align-items:center;display:grid}.bar-label{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:var(--line);border-radius:4px;height:100%;display:block}.bar-row b{text-align:right}.bar-pct{color:var(--ink-4);text-align:right;font-size:var(--fs-12)}.search-hero{gap:var(--s-2);display:flex;position:relative}.search-hero svg{width:18px;height:18px;color:var(--ink-4);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-hero .input{height:44px;font-size:var(--fs-16);padding-left:42px}.search-hero .btn{height:44px;padding:0 var(--s-5)}.search-results{margin-top:var(--s-6);gap:var(--s-4);display:grid}.search-results .sheet+.sheet{margin-top:0}.result-list{margin:0;padding:0;list-style:none}.result-list li a{padding:10px var(--s-4);color:var(--ink);border-bottom:1px solid #ebe9e2;display:block}.result-list li:last-child a{border-bottom:0}.result-list li a:hover{background:#faf9f5;text-decoration:none}.result-list b{font-weight:560}.month-label{text-align:center;min-width:110px;font-size:var(--fs-16)}.cal{background:var(--rule);border-radius:0 0 var(--radius-l) var(--radius-l);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cal-h{background:var(--surface-2);text-align:center;font-size:var(--fs-12);color:var(--ink-3);padding:8px 0;font-weight:560}.cal-d{background:var(--surface);text-align:left;cursor:pointer;min-height:76px;font:inherit;color:var(--ink);transition:background var(--t-fast);border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex;position:relative}.cal-d:disabled{cursor:default}.cal-d:not(:disabled):hover{background:#f8f7f2}.cal-d.empty{background:var(--paper);cursor:default}.cal-d b{font-size:var(--fs-16);font-weight:600}.cal-d span{font-size:var(--fs-12);color:var(--line-ink)}.cal-d.rest{background:#f6f5f0}.cal-d.rest b{color:var(--ink-3)}.cal-d.rest span{color:var(--ink-4)}.cal-d small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.cal-d.today b{color:#fff;background:var(--ink);border-radius:4px;padding:0 6px}.cal-d.set:after{content:"";background:var(--amber-mark);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;right:10px}.portal-shell{min-height:100vh}.portal-bar{z-index:20;background:var(--panel);color:var(--panel-ink);position:sticky;top:0}.portal-bar-inner{align-items:center;gap:var(--s-3);max-width:1120px;height:60px;padding:0 var(--s-6);margin:0 auto;display:flex}.portal-title strong{letter-spacing:.05em;display:block}.portal-title small{font-size:var(--fs-12);color:var(--panel-ink-2);display:block}.portal-user{color:var(--panel-ink-2);font-size:var(--fs-13)}.portal-bar .btn.ghost{color:var(--panel-ink-2)}.portal-bar .btn.ghost:hover{background:var(--panel-2);color:#fff}.portal-main{max-width:1120px;padding:var(--s-8) var(--s-6) var(--s-12);margin:0 auto}.portal-hero{margin-bottom:var(--s-6)}.portal-hero h1{font-size:var(--fs-28);font-weight:650}.portal-hero p{color:var(--ink-3);margin-top:4px}.agreement-text{white-space:pre-wrap;max-height:320px;padding:var(--s-4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin-top:var(--s-3);font-size:var(--fs-13);line-height:1.7;overflow:auto}@media (width<=1180px){.wb-grid{grid-template-columns:1fr}.figures{grid-template-columns:repeat(3,minmax(0,1fr))}.figures>div:nth-child(4){border-left:0}.figures>div:nth-child(n+4){border-top:1px solid var(--rule)}}@media (width<=960px){.shell{grid-template-columns:1fr}.rail{z-index:60;width:min(280px,86vw);transition:transform var(--t) var(--ease-out);position:fixed;top:0;left:0;transform:translate(-100%)}.rail.open{box-shadow:var(--shadow-3);transform:none}.rail-scrim{z-index:55;background:#14181c66;position:fixed;inset:0}.icon-btn.menu-btn{display:grid}.split-2,.split-2.wide-left,.login{grid-template-columns:1fr}.login-panel{padding:var(--s-6);gap:var(--s-6)}.login-route{flex-wrap:wrap;gap:6px 0;display:flex}.login-route li{height:auto;font-size:var(--fs-12);flex-direction:column;gap:4px;width:11%;min-width:48px}.login-route li:before{width:100%;height:4px;top:15px;left:50%}.login-dot{width:30px;height:30px}.login-caption{display:none}}@media (width<=720px){.content{padding:var(--s-4) var(--s-3) var(--s-10)}.topbar{padding:0 var(--s-3);gap:var(--s-2)}.topbar-search{flex:1;width:auto}.topbar-search kbd,.topbar-crumbs,.user-chip .who{display:none}.signals,.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figures>div{border-left:0;border-top:1px solid var(--rule)}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.field.span-2{grid-column:auto}.page-head h1{font-size:var(--fs-18)}.toolbar .input,.toolbar .select{flex:140px;min-width:0}.kv,.kv.two{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-main{padding:var(--s-5) var(--s-3) var(--s-10)}.portal-bar-inner{padding:0 var(--s-3)}.portal-user{display:none}.knowledge{grid-template-columns:1fr}.bar-row{grid-template-columns:72px 1fr 40px 34px}}.split-bar{background:var(--surface-2);border-radius:4px;width:160px;height:8px;display:flex;overflow:hidden}.split-bar i{background:var(--line);height:100%;display:block}.split-bar i.wait{background:var(--amber-mark)}.drawer-body>.meta-row:first-child+fieldset.group{margin-top:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}.wb-main,.wb-side{min-width:0}@media (width<=1180px){.wb-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.table-wrap table.data{min-width:640px}.page-head-actions{width:100%}}.chip-pick{flex-wrap:wrap;gap:6px;display:flex}.chip-pick .chip{cursor:pointer;height:28px;font-size:var(--fs-13);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip-pick .chip input{opacity:0;pointer-events:none;position:absolute}.chip-pick .chip:has(input:focus-visible){outline:2px solid var(--line);outline-offset:2px}.chip-pick .chip.disabled{opacity:.5;cursor:not-allowed}em.req{color:var(--crimson);margin-left:3px;font-style:normal}.src-ref{color:var(--info)}.notice.bad{background:var(--crimson-wash);color:var(--crimson-strong)}.filter-note{padding:8px var(--s-4);background:var(--line-wash);color:var(--line-ink);font-size:var(--fs-13);border-bottom:1px solid var(--rule)}.attr-filter{background:var(--paper);border-radius:0}.attr-filter .input,.attr-filter .select{min-width:120px}.perm-toolbar{margin:var(--s-5) 0 var(--s-3);border:1px solid var(--rule);border-radius:var(--radius)}.perm-groups{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.perm-group{border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s-2) var(--s-3) var(--s-3);background:var(--surface);margin:0}.perm-group legend{align-items:center;gap:var(--s-2);width:100%;padding:0 4px;font-weight:600;display:flex}.perm-group legend .muted{font-weight:400;font-size:var(--fs-12);margin-left:auto}.perm-list{gap:6px;margin-top:6px;display:grid}.perm-list .check{font-size:var(--fs-13);align-items:flex-start;line-height:1.4}.perm-list .check input{margin-top:2px}.figures.four{grid-template-columns:repeat(4,minmax(0,1fr))}.fig-sub{font-size:var(--fs-12);color:var(--ink-3);margin-top:2px;display:block}.meter{background:var(--surface-3);border-radius:2px;height:4px;margin-top:8px;display:block;overflow:hidden}.meter i{background:var(--line);height:100%;display:block}.ai-layout{gap:var(--s-6);grid-template-columns:260px minmax(0,1fr);align-items:start;display:grid}.cap-list{top:calc(var(--topbar-h) + 16px);max-height:calc(100vh - var(--topbar-h) - 48px);padding:6px;position:sticky;overflow:auto}.cap-item{border-radius:var(--radius);color:var(--ink);gap:1px;padding:8px 10px;display:grid}.cap-item:hover{background:var(--surface-2);text-decoration:none}.cap-item.on{background:var(--line-wash)}.cap-item .code{font-size:var(--fs-11);color:var(--ink-3)}.cap-item b{font-weight:560;font-size:var(--fs-13)}.cap-item small{font-size:var(--fs-11);color:var(--ink-3)}.cap-item.on small,.cap-item.on .code{color:var(--line-ink)}.ai-editor-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.ai-editor-head h2{font-size:var(--fs-18)}.ai-editor-head>div{margin-right:auto}.versions{margin:0;padding:0;list-style:none}.versions li{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);gap:6px;display:grid}.versions li:last-child{border-bottom:0}.versions li.on{background:#fbfdfc}.v-head{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.v-head .spacer{flex:1}.snap-list{padding:var(--s-3);font-size:var(--fs-13);background:var(--surface);gap:4px;display:grid}.sr{gap:var(--s-3);flex-direction:column;display:flex}.sr.expanded{z-index:70;background:var(--paper);padding:var(--s-4);position:fixed;inset:0}.sr-bar{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);flex-wrap:wrap;display:flex}.sr-bar>svg{width:18px;height:18px;color:var(--line)}.sr-bar .select{width:auto;min-width:240px;max-width:360px}.sr-msg{min-width:160px;font-size:var(--fs-13);color:var(--ink-3);flex:1}.sr-work{gap:var(--s-4);grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);height:calc(100vh - 300px);min-height:520px;display:grid}.sr.expanded .sr-work{flex:1;height:auto}.sr-doc,.sr-mat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);flex-direction:column;min-height:0;display:flex;overflow:hidden}.sr-panelbar{padding:8px var(--s-3);border-bottom:1px solid var(--rule);background:var(--surface-2);font-size:var(--fs-13);flex:none;align-items:center;gap:6px;display:flex}.sr-panelbar .spacer{flex:1}.sr-panelbar .sep{background:var(--rule-strong);width:1px;height:18px;margin:0 4px}.sr-zoom{text-align:center;min-width:40px}.sr-scroll{background:#e9e7df;flex:1;padding:20px;overflow:auto}.sr-empty{height:100%;color:var(--ink-3);place-items:center;display:grid}.sr-page{box-shadow:var(--shadow-2);background:#fff;margin:0 auto;position:relative}.sr-mark{cursor:pointer;background:#2c5a880f;border:2px solid #2c5a8859;border-radius:3px;padding:0;position:absolute}.sr-mark span{background:var(--info);color:#fff;font-variant-numeric:tabular-nums;border-radius:3px 0 0 3px;padding:1px 4px;font-size:10px;position:absolute;top:-2px;left:-2px;transform:translate(-100%)}.sr-mark.done{background:#0f7a670d;border-color:#0f7a6759}.sr-mark.done span{background:var(--line)}.sr-mark.on{border-color:var(--amber-mark);background:#d19a1f24;box-shadow:0 0 0 3px #d19a1f40}.sr-mark.on span{background:var(--amber-mark)}.sr-foot{padding:6px var(--s-3);font-size:var(--fs-12);color:var(--ink-3);border-top:1px solid var(--rule);flex:none}.sr-list{flex:1;min-height:120px;overflow:auto}.sr-row{gap:var(--s-3);width:100%;padding:10px var(--s-3);text-align:left;cursor:pointer;font:inherit;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #ebe9e2;grid-template-columns:48px 1fr auto;display:grid}.sr-row:hover{background:#faf9f5}.sr-row.on{background:var(--line-wash)}.sr-no{font-weight:600}.sr-sum{gap:2px;min-width:0;display:grid}.sr-item{font-size:var(--fs-12);color:var(--ink-3)}.sr-desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sr-qty{font-size:var(--fs-13);justify-items:end;gap:4px;display:grid}.sr-editor{border-top:1px solid var(--rule-strong);max-height:55%;padding:var(--s-3) var(--s-4) var(--s-4);gap:var(--s-3);background:#fcfcfa;flex:none;display:grid;overflow:auto}.sr-editor-head{gap:var(--s-3);align-items:baseline;display:flex}.sr-fields{gap:var(--s-3);border:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;display:grid}.sr-editor .form-actions{margin-top:0}.sr-editor .form-actions .spacer{flex:1}.ci{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(420px,1fr);height:calc(100vh - 110px);display:grid}.ci-left,.ci-right{border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.ci-pane-title{gap:var(--s-3);padding:10px var(--s-3);border-bottom:1px solid var(--rule);background:var(--surface-2);font-size:var(--fs-13);align-items:baseline;display:flex}.ci-grid{flex:1;overflow:auto}.ci-grid table{border-collapse:collapse;font-size:var(--fs-12)}.ci-grid th{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--rule);padding:4px 8px;font-weight:560;position:sticky;top:0}.ci-grid tbody th{position:sticky;left:0}.ci-grid td{white-space:nowrap;text-overflow:ellipsis;border:1px solid #ebe9e2;max-width:220px;padding:4px 8px;overflow:hidden}.ci-grid td.on{background:var(--amber-wash);box-shadow:inset 0 0 0 2px var(--amber-mark)}.ci-rows{padding:var(--s-2);border-bottom:1px solid var(--rule);flex:none;gap:4px;display:flex;overflow-x:auto}.ci-row{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-width:76px;font:inherit;font-size:var(--fs-13);color:var(--ink);justify-items:start;padding:4px 10px;display:grid}.ci-row small{color:var(--ink-3);font-size:11px}.ci-row.bad small{color:var(--crimson)}.ci-row.on{border-color:var(--line);background:var(--line-wash)}.ci-editor{padding:var(--s-4);flex:1;overflow:auto}.ci-unmapped{gap:var(--s-2);display:grid}.ci-unmapped-row{gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px dashed var(--rule-strong);border-radius:var(--radius);grid-template-columns:1fr 200px auto;align-items:center;display:grid}.ci-contact{padding:var(--s-3);border:1px solid var(--rule);border-radius:var(--radius)}.ci-contact+.ci-contact{margin-top:var(--s-3)}.ci-contact-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.ci-contact-head .select{width:auto;min-width:200px;margin-left:auto}.ci-actions{bottom:calc(var(--s-4) * -1);background:var(--surface);padding:var(--s-3) 0;border-top:1px solid var(--rule);position:sticky}@media (width<=1180px){.ai-layout{grid-template-columns:1fr}.cap-list{max-height:240px;position:static}.sr-work,.ci{grid-template-columns:1fr;height:auto}.sr-doc{height:70vh}.ci-left{height:50vh}.figures.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.sr-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-unmapped-row,.perm-groups{grid-template-columns:1fr}}.captcha{border-radius:var(--radius-l);background:var(--surface);width:min(360px,100vw - 24px);color:var(--ink);border:0;padding:0;overflow:visible;box-shadow:0 24px 60px #14181647}.captcha::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14181673}.captcha-head{font-size:var(--fs-14);color:var(--line-ink);align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.captcha-head b{color:var(--ink);font-weight:620}.captcha-head .spacer{flex:1}.captcha .icon-btn{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.captcha .icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.captcha .icon-btn:disabled{opacity:.4;cursor:default}.captcha-stage{background:var(--surface-2);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:10px;margin:0 14px;position:relative;overflow:hidden}.captcha-bg{object-fit:cover;width:100%;height:100%;display:block}.captcha-piece{cursor:grab;filter:drop-shadow(0 3px 5px #00000073);transition:none;position:absolute}.captcha-stage.dragging .captcha-piece{cursor:grabbing;filter:drop-shadow(0 6px 10px #00000080)}.captcha-stage.ready .captcha-piece,.captcha-stage.fail .captcha-piece{transition:left .26s var(--ease-out)}.captcha-stage.fail .captcha-piece{animation:.36s captcha-shake}.captcha-veil{font-size:var(--fs-13);color:var(--ink-3);background:var(--surface-2);place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.captcha-veil.err{color:var(--crimson-strong);text-align:center;padding:0 16px}.captcha-veil .spin{border:2px solid var(--rule);border-top-color:var(--line);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.captcha-toast{font-size:var(--fs-13);color:#fff;animation:captcha-rise .18s var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:7px;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.captcha-toast.success{background:#0f765aeb}.captcha-toast.fail{background:#b02a37eb}.captcha-track{background:var(--surface-2);border:1px solid var(--rule);border-radius:10px;height:44px;margin:12px 14px 0;position:relative;overflow:hidden}.captcha-fill{background:var(--line-wash);border-right:1px solid color-mix(in srgb, var(--line) 35%, transparent);position:absolute;top:0;bottom:0;left:0}.captcha-track.success .captcha-fill{background:#0f765a29}.captcha-track.fail .captcha-fill{background:#b02a371f}.captcha-hint{font-size:var(--fs-13);color:var(--ink-3);pointer-events:none;place-items:center;padding-left:44px;transition:opacity .16s;display:grid;position:absolute;inset:0}.captcha-track.dragging .captcha-hint,.captcha-track.success .captcha-hint,.captcha-track.fail .captcha-hint{opacity:0}.captcha-handle{width:44px;color:var(--line-ink);box-shadow:0 1px 3px #0000002e, 0 0 0 1px var(--rule);cursor:grab;touch-action:none;background:#fff;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:0;bottom:0}.captcha-track.ready .captcha-handle,.captcha-track.fail .captcha-handle{transition:left .26s var(--ease-out)}.captcha-track.dragging .captcha-handle{cursor:grabbing;background:var(--line);color:#fff}.captcha-track.success .captcha-handle{background:var(--line);color:#fff}.captcha-track.fail .captcha-handle{background:var(--crimson);color:#fff}.captcha-handle:focus-visible{outline:2px solid var(--line);outline-offset:2px}.captcha-handle:disabled{cursor:default}.captcha-foot{font-size:var(--fs-12);color:var(--ink-3);margin:10px 14px 14px}@keyframes captcha-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes captcha-rise{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.captcha-stage.fail .captcha-piece{animation:none}.captcha-piece,.captcha-handle{transition:none!important}}.code-row{gap:var(--s-2);display:flex}.code-row .input{flex:1}.amber-text{color:#8a5a00}.ok-text{color:var(--line-ink)}.src-link{font-size:var(--fs-12);align-items:center;gap:4px;display:inline-flex}.sr-work[hidden]{display:none!important}.cmp-head{align-items:center;gap:var(--s-4);padding:10px var(--s-4);border-bottom:1px solid var(--rule);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.cmp-head .spacer{flex:1}.cmp-ex{align-items:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);background:var(--amber-wash);display:flex}.cmp-ex .field{flex:1}.doc-cands,.fb-cands{display:grid}.doc-cand,.fb-cand{padding:var(--s-4);border-bottom:1px solid var(--rule);gap:var(--s-3);display:grid}.doc-cand:last-child,.fb-cand:last-child{border-bottom:0}.doc-cand.ok{background:#fbfdfc}.doc-cand.no{opacity:.6}.doc-cand fieldset{border:0;margin:0;padding:0}.doc-cand-head,.fb-head{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.doc-sugg{font-size:var(--fs-13);padding:var(--s-2) var(--s-3);background:var(--info-wash,#eef4fa);border-radius:var(--radius)}.doc-cand .form-actions{margin-top:0}.self-end{align-self:end}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.wbp{gap:var(--s-3);display:grid}.wbp-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wbp-bar .select{width:auto;min-width:140px}.wbp-bar .spacer{flex:1}.wbp-body{gap:var(--s-3);grid-template-columns:220px minmax(0,1fr);height:min(64vh,640px);display:grid}.wbp-mats{font-size:var(--fs-13);align-content:start;gap:4px;padding-right:4px;display:grid;overflow:auto}.wbp-mat{text-align:left;border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius);cursor:pointer;font:inherit;color:var(--ink);padding:6px 8px;display:grid}.wbp-mat small{color:var(--ink-3);font-size:var(--fs-11)}.wbp-mat.on{border-color:var(--line);background:var(--line-wash)}.wbp-grid{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;overflow:auto}.wbp-grid table{border-collapse:collapse;font-size:var(--fs-12)}.wbp-grid th{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--rule);z-index:1;padding:3px 8px;font-weight:560;position:sticky;top:0}.wbp-grid tbody th{z-index:0;left:0}.wbp-grid td{white-space:pre-wrap;vertical-align:top;border:1px solid #ebe9e2;max-width:260px;padding:3px 8px}.wbp-grid td img{max-width:120px;max-height:90px;margin-top:4px;display:block}.wbp-grid tr.src-row td{background:#eef4fa}.wbp-grid td.src-cell{box-shadow:inset 0 0 0 2px var(--info);background:#dfeaf6}@media (width<=1180px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.wbp-body{grid-template-columns:1fr;height:auto}.wbp-grid{height:60vh}}.paths{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.path{padding:var(--s-3);border:1px solid var(--rule);border-radius:var(--radius);opacity:.6;gap:4px;display:grid}.path.on{opacity:1;border-color:var(--line);background:var(--line-wash)}.path span{font-size:var(--fs-12);color:var(--ink-3)}.std-progress{gap:var(--s-3);background:var(--surface-2);font-size:var(--fs-12);color:var(--ink-3);border-radius:999px;padding:3px 10px;display:inline-flex}.std-progress b{color:var(--ink)}.std{gap:var(--s-4);display:grid}.std-src{padding:var(--s-4);border:1px solid var(--rule);border-radius:var(--radius-l);background:var(--surface-2);gap:var(--s-2);display:grid}.std-label{font-size:var(--fs-12);color:var(--ink-3)}.std-orig{font-size:var(--fs-16);white-space:pre-wrap;margin:0;line-height:1.5}.std-sku-now{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--radius);background:var(--surface-2);display:flex}.std-results{gap:4px;max-height:260px;display:grid;overflow:auto}.std-result{align-items:center;gap:var(--s-3);padding:8px var(--s-3);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 120px 1fr auto;display:grid}.std-result.on{border-color:var(--line);background:var(--line-wash)}.std-r-desc{display:grid}.std-r-desc small{color:var(--ink-3)}.std-actions{bottom:calc(var(--s-5) * -1);background:var(--surface);padding:var(--s-3) 0;border-top:1px solid var(--rule);margin-top:0;position:sticky}.std-spec{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.std-spec b{background:var(--amber-wash);color:#6b4a00;border-radius:4px;padding:1px 8px;font-weight:600}.gate{align-items:center;gap:var(--s-4);margin-top:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid #e3c98a;border-left:4px solid var(--amber-mark);border-radius:var(--radius-l);background:var(--amber-wash);display:flex}.gate>div{flex:1}.gate p{color:var(--ink-2);font-size:var(--fs-13);margin:4px 0 0}.gate.soft{border-color:var(--rule);border-left-color:var(--info);background:var(--surface)}.file-state{align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:var(--radius);flex-wrap:wrap;display:flex}.file-state>span{flex:1}.file-state.ok{background:var(--line-wash);color:var(--line-ink)}.file-state.missing{background:var(--amber-wash);color:#7a5200}.ai-suggest{border:1px solid color-mix(in srgb, var(--info) 30%, var(--rule));border-radius:var(--radius-l);padding:var(--s-3) var(--s-4);gap:var(--s-2);background:#f6f9fc;display:grid}.ai-suggest-head{color:var(--info);align-items:center;gap:8px;display:flex}.ai-suggest-head b{color:var(--ink)}.ai-suggest-head .muted{font-size:var(--fs-12)}.ai-suggest-head .spacer{flex:1}.ai-suggest-list{gap:4px;margin:0;display:grid}.ai-suggest-list>div{gap:var(--s-3);border-bottom:1px dashed var(--rule);grid-template-columns:96px 1fr auto;align-items:baseline;padding:4px 0;display:grid}.ai-suggest-list dt{font-size:var(--fs-12);color:var(--ink-3)}.ai-suggest-list dd{margin:0}.ai-suggest-note{font-size:var(--fs-12);color:#7a5200;margin:0}
