.atd-intro{max-width:72ch}.atd-filters{align-items:end}.atd-table td{vertical-align:middle}.atd-current{display:inline-flex;align-items:center;gap:var(--space-2)}.atd-edit{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2)}.atd-saved{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-pip-strong);font-weight:600}.atd-input{font:var(--text-base) var(--font-mono);padding:var(--space-1) var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-fg)}.atd-input:focus-visible{border-color:var(--color-accent)}.atd-table tbody tr.is-stale td{color:var(--color-muted);background:var(--color-bg)}.atd-table tbody tr.is-target td{background:var(--color-warn-soft)}.atd-table tbody tr.is-target td:first-child{box-shadow:inset 4px 0 0 var(--color-cta)}.atd-pending{font-size:var(--text-xs);color:var(--color-muted);font-style:italic}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--color-line);white-space:nowrap}th{font:600 var(--text-xs) var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--color-on-accent);background:var(--color-accent);position:sticky;top:0}tr.th-group th{text-align:center;border-bottom:1px solid rgba(255,255,255,.35)}th.l,td.l{text-align:left}.table-wrap :is(th,td)+:is(th,td){border-left:1px solid var(--color-line)}.table-wrap thead th+th{border-left-color:#ffffff40}.table-wrap th.gs,.table-wrap td.gs{border-left:2px solid var(--color-line-strong)}.table-wrap thead th.gs{border-left-color:#ffffff8c}td.z{color:var(--color-line)}td.empty-row{color:var(--color-muted);padding:var(--space-4) 10px}tbody tr:nth-child(2n) td{background:var(--color-surface-2)}tr.total td{font-weight:700;background:var(--color-accent-soft)!important;color:var(--color-accent)}tbody tr.grp{cursor:pointer}tbody tr.grp:hover td{background:var(--color-accent-soft)}tbody tr.grp:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}tr.sub td{background:var(--color-surface)!important;font-size:var(--text-sm);text-align:left;white-space:normal}.th-sort{all:unset;cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:focus-visible{outline:2px solid var(--color-surface);outline-offset:2px}th[aria-sort] .th-sort:after{content:" ↕";opacity:.5}th[aria-sort=ascending] .th-sort:after{content:" ▲";opacity:1}th[aria-sort=descending] .th-sort:after{content:" ▼";opacity:1}.est{color:var(--color-muted);font-size:var(--text-2xs);margin-left:3px}td.age-hot{color:var(--color-bad);font-weight:700}td.age-warm{color:var(--color-warn);font-weight:600}.aging td.b0{background:var(--color-ok-soft)}.aging td.hot{background:var(--color-bad-soft);color:var(--color-bad);font-weight:600}.aging td.warm{background:var(--color-warn-soft);color:var(--color-warn)}.sla{margin:10px 0 0;font-size:var(--text-sm);color:var(--color-muted)}.sla b{color:var(--color-bad)}.atd-missing{display:inline-flex;align-items:center;gap:var(--space-2)}.atd-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-accent)}.atd-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.map-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.map-card{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1.4fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-line);border-left:4px solid var(--color-cta);border-radius:var(--radius);background:var(--color-surface)}.map-card .code{font-weight:700;font-size:var(--text-2xl);color:var(--color-accent)}.map-card .where{font-size:var(--text-sm);color:var(--color-muted)}.map-card .field input{text-transform:none;letter-spacing:0;font-weight:400}.map-card .sugg{font-size:var(--text-sm);margin-top:var(--space-1)}@media(max-width:860px){.map-card{grid-template-columns:minmax(0,1fr)}}.map-card .sugg .link-btn{white-space:normal}.moved-views{margin-bottom:var(--space-3)}.history-total{margin:0 0 var(--space-3);font-size:var(--text-base);font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:var(--space-3)}.bar-row{display:grid;grid-template-columns:52px minmax(0,1fr) 60px;gap:10px;align-items:center;font-size:var(--text-base)}.bar-row b{font-weight:600}.bar{display:flex;height:22px;border-radius:3px;overflow:hidden;background:var(--color-surface-2)}.bar i{display:block;height:100%}.bdp-f{background:var(--color-seg-bdp-laden)}.bdp-e{background:var(--color-seg-bdp-empty)}.pip-f{background:var(--color-seg-pip-laden)}.pip-e{background:var(--color-seg-pip-empty)}.unk{background:var(--color-muted);opacity:.45}.bar i+i{box-shadow:inset 1px 0 #ffffffd9}.bar-row .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--color-muted);margin-top:14px}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}th.row-head{background:transparent;color:var(--color-fg);text-transform:none;letter-spacing:0;font:600 var(--text-md) var(--font-body);position:static}tbody tr:nth-child(2n) th.row-head{background:var(--color-surface-2)}.alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.alerts li{padding:10px var(--space-3);border-radius:var(--radius);font-size:var(--text-base);display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.alerts li.warn{background:var(--color-warn-soft)}.alerts li.bad{background:var(--color-bad-soft)}.alerts li.info{background:var(--color-accent-soft)}.alerts li.ok{background:var(--color-ok-soft);color:var(--color-ok)}.alerts li.skipped{padding-block:6px;color:var(--color-muted);font-size:var(--text-sm)}.alert-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.alerts .alert-skip{font-weight:500;color:var(--color-muted)}.alerts .alert-skip:hover{color:var(--color-fg);text-decoration:underline}.alerts .link-btn:disabled{opacity:.5;cursor:wait}.alert-port{margin-right:6px}.alerts li.bad .alert-port{color:var(--color-bad)}.alerts li.warn .alert-port{color:var(--color-warn)}.files{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.file{border:1px solid var(--color-line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0;border-left:4px solid var(--color-ok)}.file b{font-weight:600;color:var(--color-accent)}.file span{font-size:12px;color:var(--color-muted);overflow-wrap:anywhere}.file.warn{border-left-color:var(--color-warn);background:var(--color-warn-soft)}.file.bad{border-left-color:var(--color-bad);background:var(--color-bad-soft)}.file .file-warn{color:var(--color-fg)}@media(max-width:860px){.files{grid-template-columns:minmax(0,1fr)}}.dest-table td{vertical-align:middle}.code-input{font-family:var(--font-mono)!important;width:150px;font-weight:500}.code-input.pip{background:var(--color-pip-soft);color:var(--color-pip-strong);border-color:transparent}.code-input.bdp{background:var(--color-bdp-soft);color:var(--color-bdp);border-color:transparent}.code-input:focus-visible{border-color:var(--color-accent)}tr.has-error td{background:var(--color-bad-soft)!important}.form-errors{margin:var(--space-3) 0 0;padding-left:18px;color:var(--color-bad);font-size:var(--text-base)}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:14px}.settings-actions .note{margin:0 0 0 var(--space-2)}.slot-group{font:600 12px var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:var(--space-4) 0 var(--space-2)}.slot-group:first-of-type{margin-top:0}.slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slot{border:1.5px solid var(--color-line);border-radius:var(--radius);padding:var(--space-3);display:flex;flex-direction:column;gap:6px;background:var(--color-surface);min-width:0}.slot.warn{border-color:var(--color-warn);background:var(--color-warn-soft)}.slot.bad{border-color:var(--color-bad);background:var(--color-bad-soft)}.slot.drag{border-style:dashed;border-color:var(--color-accent);background:var(--color-accent-soft)}.slot-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.slot-head b{font-weight:600;color:var(--color-accent)}.slot-cover{font-size:12px;color:var(--color-muted)}.slot-file{display:flex;flex-direction:column;gap:4px}.slot .fname{font-size:var(--text-sm);color:var(--color-fg);overflow-wrap:anywhere}.slot-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--color-muted)}.slot-rejected{border-top:1px dashed var(--color-line);padding-top:6px}.slot-sub{font-size:12px;color:var(--color-muted)}.slot-warnings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.slot-warnings li{padding-left:10px;border-left:3px solid}.slot-warnings li.bad{border-color:var(--color-bad);color:var(--color-bad)}.slot-warnings li.warn{border-color:var(--color-warn);color:var(--color-warn)}.slot-drop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid var(--color-line);padding-top:var(--space-2);font-size:12px;color:var(--color-muted)}.slot-drop label.btn{color:var(--color-accent);font-weight:600}.slot-drop:focus-within label.btn{outline:2px solid var(--color-accent);outline-offset:1px}.slot-drop label.is-busy{opacity:.6;cursor:progress}.steps{margin:0;padding-left:18px;color:var(--color-muted);font-size:var(--text-base);display:flex;flex-direction:column;gap:var(--space-1)}.steps-actions{margin-top:14px;display:flex;gap:var(--space-2);flex-wrap:wrap}@media(max-width:860px){.slots{grid-template-columns:minmax(0,1fr)}}.upload-error{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-bad);border-left-width:4px;border-radius:var(--radius);background:var(--color-bad-soft);color:var(--color-bad);font-size:var(--text-base)}.missing-cols{margin:var(--space-1) 0 0;padding-left:18px}.wb{--wb-bg: var(--color-brand-tint-3);--wb-panel: var(--color-surface);--wb-panel-2: var(--color-surface-2);--wb-line: #d5e2ee;--wb-fg: #13294b;--wb-muted: #587089;--wb-brand: var(--color-brand-primary);--wb-navy: var(--color-brand-navy);--wb-on-brand: #ffffff;--wb-on-brand-muted: rgba(255, 255, 255, .8);--wb-on-brand-chip: rgba(255, 255, 255, .16);--wb-up: #0f9d55;--wb-up-soft: rgba(15, 157, 85, .3);--wb-down: #d93636;--wb-down-soft: rgba(217, 54, 54, .28);--wb-warn: #c98a00;--wb-chip: var(--color-brand-tint-1);--wb-gutter: max(16px, env(safe-area-inset-left, 0px));--wb-flash: 1.1s;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:14px;padding-inline:var(--wb-gutter);background:var(--wb-bg);color:var(--wb-fg);font:400 15px / 1.45 var(--font-body)}.wb.is-idle{cursor:none}.wb-hero{display:grid;gap:14px;padding-block:14px 16px;margin-inline:calc(-1 * var(--wb-gutter));padding-inline:var(--wb-gutter);background:var(--wb-brand);color:var(--wb-on-brand);border-bottom:4px solid var(--wb-navy)}.wb-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}.wb-top .spacer{flex:1}@media(min-width:1101px){.wb-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 22px;grid-template-areas:"brand controls clock" "live live clock"}.wb-top .spacer{display:none}.wb-brand{grid-area:brand;min-width:0}.wb-brand>div{min-width:0}.wb-brand h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-top .wb-live{grid-area:live}.wb-top .wb-controls{grid-area:controls;flex-wrap:nowrap}.wb-top .wb-clock{grid-area:clock;align-self:center;min-width:5.4em;text-align:right}}.wb-brand{display:flex;align-items:center;gap:12px}.wb-brand .mark{flex:none;display:block;padding:6px 10px;border-radius:10px;background:var(--wb-on-brand)}.wb-brand .mark img{display:block;height:44px;width:auto}.wb-brand h1{font:700 clamp(18px,1.7vw,26px) / 1.2 var(--font-body);text-wrap:balance}.wb-brand .sub{color:var(--wb-on-brand-muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.wb-live{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--wb-on-brand-muted)}.wb-live b{color:var(--wb-on-brand);font-weight:600;font-variant-numeric:tabular-nums}.wb-live .dot{width:10px;height:10px;border-radius:50%;background:#4fe39a;flex:none}.wb-live.lost .dot{background:#b8c4d4}.wb-live.lost b,.wb-live b.warn{color:var(--color-brand-yellow)}.wb-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;transition:opacity .3s}.wb.is-idle .wb-controls{opacity:0;pointer-events:none}.wb-seg{display:flex;background:var(--wb-on-brand-chip);border-radius:9px;padding:3px}.wb-seg button,.wb-btn{all:unset;cursor:pointer;font:600 13px / 1 var(--font-body);padding:8px 12px;border-radius:7px}.wb-seg button{color:var(--wb-on-brand-muted)}.wb-seg button[aria-pressed=true]{background:var(--wb-on-brand);color:var(--wb-brand)}.wb-btn{display:inline-flex;align-items:center;gap:7px;background:var(--wb-on-brand-chip);color:var(--wb-on-brand)}.wb-btn.primary{background:var(--color-brand-yellow);color:var(--wb-navy)}.wb-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.wb-btn:hover{filter:brightness(1.08)}.wb-seg button:focus-visible,.wb-btn:focus-visible{outline:2px solid var(--color-brand-yellow);outline-offset:2px}.wb-clock{font:700 clamp(22px,2.1vw,32px) / 1 var(--font-body);font-variant-numeric:tabular-nums}.wb-clock small{display:block;font:500 12px / 1.3 var(--font-body);color:var(--wb-on-brand-muted);letter-spacing:.04em;text-align:right}.wb-note{font-size:13px;color:var(--color-brand-yellow)}.wb-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.wb-kpi{background:var(--wb-panel);color:var(--wb-fg);border-radius:10px;padding:12px 16px;box-shadow:0 6px 18px #081e462e}.wb-kpi .lbl{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--wb-navy)}.wb-kpi .val{display:flex;align-items:baseline;gap:10px;margin-top:6px}.wb-kpi .num{position:relative;border-radius:6px;padding-inline:2px;color:var(--wb-brand);font:700 clamp(30px,3vw,48px) / 1 var(--font-body);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.wb-kpi.good .num{color:var(--wb-up)}.wb-kpi.alert .num{color:var(--wb-warn)}.wb-kpi .unit{font:500 15px / 1 var(--font-body);color:var(--wb-muted)}.wb-kpi .foot{font-size:13px;color:var(--wb-muted);margin-top:4px;font-variant-numeric:tabular-nums}.wb-kpi .wb-delta{position:absolute;left:calc(100% + 4px);top:-2px}.wb-main{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:14px;min-height:0}.wb-side{display:grid;grid-template-rows:minmax(0,max-content) minmax(140px,1fr);gap:14px;min-height:0}.wb-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--wb-panel);border:1px solid var(--wb-line);border-radius:10px}.wb-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 16px;margin-bottom:6px;background:var(--color-brand-tint-1);border-bottom:1px solid var(--wb-line);border-radius:10px 10px 0 0}.wb-panel h2{font:700 16px / 1.2 var(--font-body);color:var(--wb-brand)}.wb .hint{font-size:12px;color:var(--wb-muted)}.wb-empty{padding:12px 16px;color:var(--wb-muted)}.wb-message{padding:40px 0;font-size:18px;color:var(--wb-muted);text-align:center}.wb-message.error{color:var(--wb-down)}.wb-table-wrap{overflow:auto;min-height:0;padding:0 8px 10px}.wb .wb-grid{width:100%;border-collapse:separate;border-spacing:0 6px;font-variant-numeric:tabular-nums}.wb .wb-grid th,.wb .wb-grid td{border-bottom:0;background:none;position:static}.wb .wb-grid tbody th,.wb .wb-grid tfoot th{text-transform:none;letter-spacing:0}.wb .wb-grid thead th{padding:4px 12px;text-align:right;white-space:nowrap;color:var(--wb-muted);font:600 11.5px / 1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.wb .wb-grid thead th:first-child{text-align:left}.wb .wb-grid tr.grp th{padding-bottom:0}.wb .wb-grid tr.grp th span{display:block;padding:6px 4px;border-radius:6px;text-align:center;letter-spacing:.05em;background:var(--color-bdp);color:var(--wb-on-brand);font-size:12px}.wb .wb-grid tr.grp th.pip span{background:var(--color-pip)}.wb .wb-grid tbody td,.wb .wb-grid tbody th{position:relative;padding:10px 12px;text-align:right;white-space:nowrap;background:var(--wb-panel-2);font:600 clamp(20px,1.8vw,30px) / 1 var(--font-body);color:var(--wb-fg)}.wb .wb-grid tbody th.port{text-align:left;border-radius:8px 0 0 8px;color:var(--wb-navy);box-shadow:inset 4px 0 0 var(--wb-brand);font-size:clamp(18px,1.6vw,26px);font-weight:700}.wb .wb-grid tbody th.port.stale{box-shadow:inset 4px 0 0 var(--wb-warn)}.wb .wb-grid tbody th.port small{display:block;margin-top:3px;font:500 11.5px / 1.3 var(--font-body);color:var(--wb-muted);letter-spacing:.01em}.wb .wb-grid :is(tbody,tfoot) :is(th,td)+td{border-left:1px solid var(--wb-line)}.wb .wb-grid :is(tbody,tfoot) td:is(:nth-child(2),:nth-child(4),:nth-child(6)){border-left:2px solid var(--color-line-strong)}.wb .wb-fifo tbody :is(th,td)+td{border-left:1px solid var(--wb-line)}.wb .wb-grid tbody th.port.stale small{color:var(--wb-warn);font-weight:600}.wb .wb-grid tbody td:last-child{border-radius:0 8px 8px 0}.wb .wb-grid td.total{color:var(--wb-brand)}.wb .wb-grid td.old{color:var(--wb-warn)}.wb .wb-grid td.moved{color:var(--wb-up)}.wb .wb-grid td.muted-cell{color:var(--wb-muted)}.wb .wb-grid tfoot td,.wb .wb-grid tfoot th{padding:8px 12px;text-align:right;border-top:1px solid var(--wb-line);color:var(--wb-muted);font:700 clamp(17px,1.5vw,24px) / 1 var(--font-body)}.wb .wb-grid tfoot th{text-align:left;font:600 12px / 1 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.wb-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;animation:wb-flash var(--wb-flash) ease-out}.wb-flash.good{background:var(--wb-up-soft)}.wb-flash.bad{background:var(--wb-down-soft)}.wb-delta{position:absolute;right:12px;bottom:3px;font:600 12px / 1 var(--font-body)}.wb-delta.good{color:var(--wb-up)}.wb-delta.bad{color:var(--wb-down)}@keyframes wb-flash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.wb-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0 16px 12px;font-size:12.5px;color:var(--wb-muted)}.wb-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px}.wb-legend i.up{background:var(--wb-up)}.wb-legend i.down{background:var(--wb-down)}.wb-legend i.warn{background:var(--wb-warn)}.wb-feed{list-style:none;margin:0;padding:0 12px 12px;display:grid;gap:6px}.wb .wb-fifo{width:100%;border-collapse:separate;border-spacing:0 4px;font-variant-numeric:tabular-nums}.wb .wb-fifo th,.wb .wb-fifo td{position:static;border-bottom:0;background:none;color:var(--wb-fg);white-space:nowrap}.wb .wb-fifo thead th{padding:4px 6px;text-align:right;color:var(--wb-muted);font:600 11px / 1.2 var(--font-body);letter-spacing:.04em;text-transform:none}.wb .wb-fifo thead th:first-child{text-align:left}.wb .wb-fifo thead th.tone-warm{color:var(--wb-warn)}.wb .wb-fifo thead th.tone-hot{color:var(--wb-down)}.wb .wb-fifo tbody th,.wb .wb-fifo tbody td{position:relative;padding:7px 6px;background:var(--wb-panel-2);text-align:right;font:600 clamp(15px,1.15vw,19px) / 1 var(--font-body);text-transform:none;letter-spacing:0}.wb .wb-fifo tbody th{text-align:left;border-radius:8px 0 0 8px;font-weight:700;color:var(--wb-navy)}.wb .wb-fifo tbody td:last-child{border-radius:0 8px 8px 0}.wb .wb-fifo td.zero{color:var(--wb-line)}.wb .wb-fifo td.tone-warm{background:color-mix(in srgb,var(--wb-warn) 14%,var(--wb-panel));color:#8a5d00}.wb .wb-fifo td.tone-hot{background:color-mix(in srgb,var(--wb-down) 13%,var(--wb-panel));color:#a32020}.wb .wb-fifo td.total{color:var(--wb-brand)}.wb .wb-fifo td.undated{color:var(--wb-muted);background:repeating-linear-gradient(135deg,var(--wb-panel-2) 0 6px,var(--wb-chip) 6px 12px)}.wb .wb-fifo td.days{font-size:13px;font-weight:600;color:var(--wb-muted)}.wb .wb-fifo.dense{border-spacing:0 2px}.wb .wb-fifo.dense tbody :is(th,td){padding-block:3px;font-size:clamp(13px,.9vw,15px)}.wb .wb-fifo tr.late th{box-shadow:inset 4px 0 0 var(--wb-down)}.wb .wb-fifo .wb-delta{right:4px;bottom:1px;font-size:10px}.wb .wb-fifo tfoot td,.wb .wb-fifo tfoot th{padding:6px;font:500 12.5px / 1.3 var(--font-body);color:var(--wb-muted);text-align:left;text-transform:none;letter-spacing:0}.wb .wb-fifo tfoot :is(tr.long,tr.undated) :is(th,td){background:var(--color-brand-tint-1)}.wb .wb-fifo tfoot :is(tr.long,tr.undated) th{border-radius:8px 0 0 8px;font-weight:700;color:var(--wb-navy)}.wb .wb-fifo tfoot :is(tr.long,tr.undated) td{white-space:normal}.wb .wb-fifo tfoot :is(tr.long,tr.undated) :is(td.total,td.days){text-align:right;white-space:nowrap}.wb .wb-fifo tfoot :is(tr.long,tr.undated) td:last-child{border-radius:0 8px 8px 0}.wb-sla-tag{margin-left:6px;padding:3px 5px;border-radius:4px;vertical-align:2px;letter-spacing:.04em;font:700 10px / 1 var(--font-body);background:var(--wb-down);color:#fff}.wb-feed{overflow:auto;align-content:start;max-height:46vh}.wb-feed li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px 10px;border-radius:8px;background:var(--wb-panel-2);font-size:13.5px;animation:wb-rise .5s ease-out}.wb-feed .ic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font:700 13px / 1 var(--font-body);color:#fff}.wb-feed li.down .ic{background:var(--wb-up)}.wb-feed li.up .ic{background:var(--wb-down)}.wb-feed .hint{display:block}.wb-feed time{font:600 13px / 1 var(--font-body);color:var(--wb-muted);font-variant-numeric:tabular-nums}.wb .cno{font:600 13.5px / 1 var(--font-mono);letter-spacing:.02em}@keyframes wb-rise{0%{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}.wb-ticker{overflow:hidden;margin-inline:calc(-1 * var(--wb-gutter));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--wb-navy)}.wb-ticker .track{display:inline-flex;gap:40px;padding:10px 0;white-space:nowrap;animation:wb-scroll 60s linear infinite;will-change:transform}.wb-ticker span{font-size:14px;color:var(--wb-on-brand-muted)}.wb-ticker b.g{color:#4fe39a}.wb-ticker b.r{color:#ff8a8a}.wb-ticker b.w{color:var(--color-brand-yellow)}@keyframes wb-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.wb-ticker.still .track{display:block;animation:none;padding-inline:var(--wb-gutter);overflow:hidden;text-overflow:ellipsis}.wb-toasts{position:fixed;z-index:20;top:calc(14px + env(safe-area-inset-top,0px));right:var(--wb-gutter);display:grid;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}.wb-toast{display:grid;grid-template-columns:6px minmax(0,1fr);overflow:hidden;border-radius:12px;background:var(--wb-panel);border:1px solid var(--wb-line);box-shadow:0 12px 32px #081e464d;animation:wb-slide .35s ease-out}.wb-toast:before{content:"";background:var(--wb-up)}.wb-toast.up:before{background:var(--wb-down)}.wb-toast .body{padding:12px 14px}.wb-toast .head{font:700 12px / 1 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--wb-up)}.wb-toast.up .head{color:var(--wb-down)}.wb-toast .msg{margin-top:6px;font-size:15px}.wb-toast .msg .cno{font-size:16px}.wb-toast .sub{margin-top:4px;font-size:12.5px;color:var(--wb-muted)}@keyframes wb-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.wb-mock{position:fixed;left:var(--wb-gutter);bottom:44px;font-size:11.5px;color:var(--wb-muted)}@media(min-width:1101px){.wb{height:100vh}.wb .wb-main>.wb-panel>.wb-table-wrap{flex:1 1 0;container-type:size;overflow:hidden}.wb .wb-grid{border-spacing:0 min(4px,.7cqh)}.wb .wb-grid :is(thead,tbody,tfoot) :is(td,th){padding-inline:clamp(4px,.95cqw,12px)}.wb .wb-grid tbody td,.wb .wb-grid tbody th{padding-block:min(7px,.9cqh);font-size:clamp(11px,min(2.7cqw,5.4cqh),46px)}.wb .wb-grid tbody th.port{font-size:clamp(11px,min(2.35cqw,4.7cqh),40px)}.wb .wb-grid tbody th.port small{margin-top:min(3px,.4cqh);font-size:clamp(8px,min(.93cqw,1.95cqh),15px)}.wb .wb-grid thead th{padding-block:min(4px,.6cqh);font-size:clamp(8px,min(.93cqw,1.95cqh),15px)}.wb .wb-grid tr.grp th span{padding-block:min(6px,.9cqh);font-size:clamp(9px,min(.97cqw,2cqh),15px)}.wb .wb-grid tfoot :is(td,th){padding-block:min(8px,1.2cqh)}.wb .wb-grid tfoot :is(td,th):not(:first-child){font-size:clamp(11px,min(2.2cqw,4.6cqh),38px)}.wb .wb-grid tfoot th:first-child{font-size:clamp(8px,min(.97cqw,2cqh),15px)}.wb .wb-grid{height:100%}.wb .wb-grid :is(thead,tfoot) tr{height:1px}.wb .wb-kpi{padding-block:min(12px,1vh)}.wb .wb-kpi .num{font-size:clamp(22px,min(3vw,4.4vh),48px)}.wb .wb-fifo{border-spacing:0 min(4px,.25vh)}.wb .wb-fifo tbody :is(th,td):not(.days){padding-block:min(7px,.55vh);font-size:clamp(10px,min(2.95cqw,1.8vh),19px)}.wb .wb-side .wb-table-wrap{container-type:inline-size;overflow-x:hidden}.wb .wb-fifo :is(thead,tbody,tfoot) :is(th,td){padding-inline:clamp(2px,1cqw,6px)}.wb .wb-fifo thead th{font-size:clamp(9px,1.85cqw,11px)}.wb .wb-fifo td.days{font-size:clamp(10px,2.2cqw,13px)}}@media(max-width:1100px){.wb-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.wb-main{grid-template-columns:minmax(0,1fr)}.wb-side{grid-template-rows:auto auto}.wb-feed{max-height:360px}.wb .wb-main>.wb-panel>.wb-table-wrap{container-type:inline-size}.wb .wb-grid :is(thead,tbody,tfoot) :is(td,th){padding-inline:clamp(3px,.9cqw,12px)}.wb .wb-grid tbody td{font-size:clamp(13px,2.7cqw,30px)}.wb .wb-grid tbody th.port{font-size:clamp(13px,2.35cqw,26px)}.wb .wb-grid tbody th.port small,.wb .wb-grid thead th{font-size:clamp(9px,1.05cqw,12px)}.wb .wb-grid tfoot :is(td,th):not(:first-child){font-size:clamp(12px,2.2cqw,24px)}}@media(max-width:560px){.wb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-top .spacer{display:none}.wb-clock small{text-align:left}}@media(prefers-reduced-motion:reduce){.wb-feed li,.wb-toast{animation:none}.wb-flash{animation:none;opacity:.7}}@media(min-width:1101px)and (max-height:800px){.wb-hero{gap:8px;padding-block:8px 10px}.wb-brand .mark img{height:34px}.wb-kpi .lbl{font-size:11px}}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;gap:var(--space-4);padding:10px var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-line)}.logo{display:flex;flex-direction:column;align-items:center;line-height:1}.logo .mark{display:block;height:40px;width:auto}.search{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:10px;padding:var(--space-2) var(--space-3);color:var(--color-muted);width:min(300px,40vw);background:var(--color-surface)}.search:focus-within{border-color:var(--color-accent)}.search svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2}.search input[type=search]{all:unset;flex:1;min-width:0;color:var(--color-fg);font-size:var(--text-md)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--color-fg);color:var(--color-surface);display:grid;place-items:center;font-weight:600;font-size:var(--text-base);flex:none}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:calc(100% - 64px)}nav.side{padding:var(--space-5) 14px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--color-line);background:var(--color-bg)}.nav-group{font-size:var(--text-base);color:var(--color-muted);font-weight:500;padding:14px var(--space-3) var(--space-1)}.nav-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:10px;color:var(--color-fg);font-size:var(--text-lg)}.nav-btn svg{width:22px;height:22px;flex:none;stroke:var(--color-muted);fill:none;stroke-width:1.6}.nav-btn:hover{background:var(--color-nav-active-bg)}.nav-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.nav-btn[aria-current=page]{background:var(--color-nav-active-bg);color:var(--color-nav-active-fg);font-weight:500}.nav-btn[aria-current=page] svg{stroke:var(--color-nav-active-fg)}.nav-count{margin-left:auto;font:700 var(--text-2xs) / 1 var(--font-body);background:var(--color-cta);color:var(--color-cta-fg);padding:4px 7px;border-radius:var(--radius-pill)}.nav-ext{margin-left:auto;font-size:var(--text-base);color:var(--color-muted)}@media(prefers-reduced-motion:no-preference){.nav-btn,.nav-toggle{transition:background var(--duration-fast)}}.nav-toggle{all:unset;cursor:pointer;align-self:flex-end;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--color-muted);margin-bottom:var(--space-1)}.nav-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}.nav-toggle:hover{background:var(--color-nav-active-bg);color:var(--color-fg)}.nav-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.app.is-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.is-collapsed nav.side{padding-inline:10px;align-items:center}.is-collapsed .nav-toggle{align-self:center}.is-collapsed .nav-toggle svg{transform:scaleX(-1)}.is-collapsed .nav-group{height:1px;padding:0;margin:var(--space-2) 6px;width:calc(100% - 12px);background:var(--color-line);font-size:0}.is-collapsed .nav-btn{position:relative;justify-content:center;padding:10px}.is-collapsed .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.is-collapsed .nav-count{position:absolute;top:2px;right:0;margin:0;padding:3px 5px}.is-collapsed .nav-ext{display:none}main{min-width:0;padding-block:var(--space-4) var(--space-7);padding-inline:var(--space-6)}.toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.banner{background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius) var(--radius) 0 0;padding:var(--space-4) 22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}.banner h1{margin:0;font:700 var(--text-2xl) / 1.25 var(--font-body);text-wrap:balance}.banner .sub{font-size:var(--text-base);opacity:.92}.banner .meta{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--space-4)}.banner .meta>div{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.banner .meta>div>span:not(.scope){background:var(--color-surface);color:var(--color-fg);font:500 var(--text-base) var(--font-body);text-transform:none;letter-spacing:0;padding:6px 10px;border-radius:var(--radius-sm);min-width:110px}.content{background:var(--color-surface);border:1px solid var(--color-line);border-top:0;border-radius:0 0 var(--radius) var(--radius);padding:var(--space-5) 22px var(--space-6)}.proto-note{font-size:12px;color:var(--color-muted);margin-top:var(--space-4)}@media(max-width:860px){.top{padding:10px var(--space-4)}.search{width:auto;flex:1 1 0;min-width:0;max-width:220px}.search input[type=search]{width:100%}.app,.app.is-collapsed{grid-template-columns:minmax(0,1fr)}.nav-toggle{display:none}.is-collapsed nav.side{padding-inline:var(--space-4);align-items:stretch}.is-collapsed .nav-group{display:none}.is-collapsed .nav-btn{padding:7px 10px}.is-collapsed .nav-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none}.is-collapsed .nav-count{position:static;margin-left:2px;padding:4px 7px}.is-collapsed .nav-ext,.nav-ext{display:inline;margin-left:2px}nav.side{flex-direction:row;flex-wrap:wrap;padding:10px var(--space-4);border-right:0;border-bottom:1px solid var(--color-line);gap:var(--space-1)}.nav-group{display:none}.nav-btn{padding:7px 10px;font-size:var(--text-base);gap:6px}.nav-btn svg{width:16px;height:16px}.nav-count{margin-left:2px}main{padding-inline:var(--space-4)}.banner .meta{margin-left:0}.content{padding:var(--space-4)}}@media(max-width:480px){.top{gap:var(--space-3)}.logo .mark{height:32px}.banner{padding:14px var(--space-4)}.banner h1{font-size:19px}}:root{color-scheme:light;--color-brand-primary: #1275bc;--color-brand-cyan: #0ebff1;--color-brand-navy: #22356b;--color-brand-tint-1: #e2f0f6;--color-brand-tint-2: #d5edf8;--color-brand-tint-3: #ebf1f5;--color-brand-yellow: #fedc00;--color-bg: #f4f5f7;--color-surface: #ffffff;--color-surface-2: #f3f7fc;--color-line: #e3e7ee;--color-line-strong: #c5cfdc;--color-fg: #1f2937;--color-muted: #6b7280;--color-accent: #1f6fc0;--color-accent-soft: #e6f0fb;--color-on-accent: #ffffff;--color-bdp: #1f5fae;--color-bdp-soft: #dfe9f6;--color-pip: #3fa9e0;--color-pip-soft: #dcf0fb;--color-pip-strong: #1b7fb5;--color-seg-bdp-laden: #6a8cc7;--color-seg-bdp-empty: #e9a37a;--color-seg-pip-laden: #94bb7d;--color-seg-pip-empty: #e8cb78;--color-nav-active-fg: #d9480f;--color-nav-active-bg: #eceef2;--color-cta: #fbbf24;--color-cta-fg: #7c2d12;--color-ok: #15803d;--color-ok-soft: #dcfce7;--color-warn: #b45309;--color-warn-soft: #fef3c7;--color-bad: #c2410c;--color-bad-soft: #ffedd5;--font-body: "Be Vietnam Pro", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--text-2xs: 11px;--text-xs: 11.5px;--text-sm: 12.5px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 17px;--text-2xl: 22px;--text-kpi: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 40px;--radius: 8px;--radius-sm: 4px;--radius-pill: 99px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .05);--shadow-pop: 0 8px 24px rgba(15, 23, 42, .15);--duration-fast: .15s;--sidebar-width: 250px;--sidebar-collapsed-width: 72px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-fg);font:var(--text-md) / 1.5 var(--font-body)}h1,h2,h3,p{margin:0}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.btn{font:500 var(--text-md) / 1 var(--font-body);padding:10px 14px;border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-fg);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.btn:hover{border-color:var(--color-accent)}.btn:disabled{opacity:.6;cursor:progress}.btn.cta{background:var(--color-cta);border-color:var(--color-cta);color:var(--color-cta-fg);font-weight:600}.btn.cta:hover{filter:brightness(1.05)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn.small{padding:7px 10px;font-size:var(--text-base)}.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.link-btn{all:unset;cursor:pointer;font-weight:600;color:var(--color-accent);white-space:nowrap}.link-btn:focus-visible{outline:2px solid var(--color-accent)}@media(prefers-reduced-motion:no-preference){.btn{transition:background var(--duration-fast),border-color var(--duration-fast)}}select,input[type=search],input[type=text]{font:var(--text-base) var(--font-body);padding:8px 10px;border:1px solid var(--color-line);border-radius:6px;background:var(--color-surface);color:var(--color-fg);min-width:0}.field input[type=date]{font:var(--text-base) var(--font-body);padding:7px 10px;border:1px solid var(--color-line);border-radius:6px;background:var(--color-surface);color:var(--color-fg);text-transform:none;letter-spacing:0}.field{display:flex;flex-direction:column;gap:3px;font-size:var(--text-xs);color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);align-items:end}.count-note{font-size:var(--text-sm);color:var(--color-muted);margin-left:auto}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-4);min-width:0}.panel+.panel{margin-top:var(--space-4)}.panel+.sec{margin-top:var(--space-5)}.panel h3{font:500 14.5px / 1.3 var(--font-body);margin:0 0 var(--space-3)}.panel h3 .hint{font-size:var(--text-sm);color:var(--color-muted);margin-left:6px;font-weight:400}.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.note{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-3)}@media(max-width:1100px){.grid-2{grid-template-columns:minmax(0,1fr)}}.note-top{margin:0 0 var(--space-3)}.pill{display:inline-block;font:600 var(--text-2xs) / 1 var(--font-body);padding:4px 8px;border-radius:var(--radius-pill);white-space:nowrap}.pill.mono{font-family:var(--font-mono)}.pill.pip{background:var(--color-pip-soft);color:var(--color-pip-strong)}.pill.bdp{background:var(--color-bdp-soft);color:var(--color-bdp)}.pill.ok{background:var(--color-ok-soft);color:var(--color-ok)}.pill.no{background:var(--color-bad-soft);color:var(--color-bad)}.pill.wait{background:var(--color-warn-soft);color:var(--color-warn)}.pill.info{background:var(--color-accent-soft);color:var(--color-accent)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:22px}.kpi{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:14px var(--space-4);box-shadow:var(--shadow-card)}.kpi .label{font-size:13.5px;color:var(--color-fg);font-weight:500}.kpi .val{font:700 var(--text-kpi) / 1.1 var(--font-body);font-variant-numeric:tabular-nums;margin-top:10px;text-align:center}.kpi .meta{font-size:var(--text-sm);color:var(--color-muted);text-align:center}.kpi.lead .val{color:var(--color-accent)}.kpi.alert .val{color:var(--color-bad)}.kpi-link{display:block;color:inherit;text-decoration:none}.kpi-link:hover{border-color:var(--color-accent)}.kpi-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.sec{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-3)}.sec .no{background:var(--color-accent);color:var(--color-on-accent);font:700 var(--text-base) / 1 var(--font-body);padding:7px 9px;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.sec h2{margin:0;font:600 var(--text-xl) / 1.2 var(--font-body);color:var(--color-accent)}.sec:after{content:"";flex:1;height:1px;background:var(--color-line)}.spaced{margin-top:var(--space-5)}.scope{display:inline-flex;gap:2px;background:#ffffff2e;padding:3px;border-radius:var(--radius-sm)}.scope button{all:unset;cursor:pointer;padding:5px 12px;border-radius:var(--radius-sm);font:600 var(--text-base) var(--font-body);color:var(--color-on-accent);text-transform:none;letter-spacing:0}.scope button[aria-pressed=true]{background:var(--color-surface);color:var(--color-accent)}.scope button:focus-visible{outline:2px solid var(--color-surface);outline-offset:1px}.toast{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-line);border-left:4px solid var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:13.5px;box-shadow:var(--shadow-pop);max-width:min(420px,calc(100vw - 40px))}.toast.error{border-left-color:var(--color-bad);background:var(--color-bad-soft);color:var(--color-bad)}.empty-state{padding:var(--space-5);border:1px dashed var(--color-line);border-radius:var(--radius);text-align:center;color:var(--color-muted)}.empty-state .empty-title{font-weight:600;color:var(--color-fg)}.empty-state.error{border-color:var(--color-bad);background:var(--color-bad-soft)}.empty-state.error .empty-title{color:var(--color-bad)}.empty-body{margin-top:var(--space-1);font-size:var(--text-base)}.loading{color:var(--color-muted);padding:var(--space-4) 0}td:has(>.count-btn){position:relative;padding-left:30px}.count-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;position:absolute;left:4px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;opacity:0;transition:opacity var(--duration-fast)}.count-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}tr:hover .count-btn,tr:focus-within .count-btn{opacity:.75}.count-btn:hover,.count-btn:focus-visible{opacity:1;background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-line-strong)}.count-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media(hover:none){.count-btn{opacity:.75}}.count-btn.has-notes{opacity:1}.count-btn-notes{position:absolute;top:-6px;right:-8px;min-width:14px;height:14px;padding:0 3px;box-sizing:border-box;border-radius:var(--radius-pill);background:var(--color-warn);color:#fff;font:700 9px / 14px var(--font-body);text-align:center;font-variant-numeric:tabular-nums}.panel-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.panel .panel-head h3{flex:1;margin:0}.panel-fs-btn{margin-left:auto;flex:none}.panel:fullscreen,.panel.is-fallback-fullscreen{display:flex;flex-direction:column;width:100%;height:100%;margin:0;border:0;border-radius:0;padding:var(--space-5) var(--space-6);background:var(--color-surface);overflow:hidden}.panel.is-fallback-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15}.panel:fullscreen::backdrop{background:var(--color-bg)}.panel:fullscreen>*,.panel.is-fallback-fullscreen>*{flex:none}.panel:fullscreen>.table-wrap,.panel.is-fallback-fullscreen>.table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.panel:fullscreen thead,.panel.is-fallback-fullscreen thead{position:sticky;top:0;z-index:1}.panel:fullscreen thead th,.panel.is-fallback-fullscreen thead th{position:static}.cont-dialog{padding:0;border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-pop);width:min(880px,calc(100vw - 32px));max-height:min(80vh,760px);background:var(--color-surface);color:var(--color-fg);overflow:hidden}.cont-dialog[open]{display:flex;flex-direction:column}.cont-dialog::backdrop{background:#0f172a4d}.cont-dialog-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-on-accent)}.cont-dialog-head h2{margin:0;flex:1;font:600 var(--text-lg) / 1.35 var(--font-body)}.cont-dialog-count{font:700 var(--text-sm) / 1 var(--font-body);padding:5px 9px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent);white-space:nowrap;font-variant-numeric:tabular-nums}.cont-dialog-x{all:unset;cursor:pointer;width:28px;height:28px;text-align:center;font-size:22px;line-height:26px;border-radius:var(--radius-sm)}.cont-dialog-x:hover{background:#ffffff2e}.cont-dialog-x:focus-visible{outline:2px solid var(--color-surface);outline-offset:1px}.cont-dialog-info{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border-bottom:1px solid var(--color-line);font-size:var(--text-sm)}.cont-dialog-info dt{color:var(--color-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em}.cont-dialog-info dd{margin:2px 0 0;font-weight:600}.cont-dialog-body{flex:1;min-height:0;overflow:auto}.cont-dialog-body td.idx{color:var(--color-muted);width:1%}.cont-dialog-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line);background:var(--color-surface)}.cont-dialog-filter+.cont-dialog-note{margin-right:0}.cont-dialog-note{margin-right:auto;color:var(--color-ok);font-size:var(--text-sm);font-weight:600}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-line);background:var(--color-surface)}.pager-info{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-inline:var(--space-2)}.pager .btn:disabled{opacity:.45;cursor:default}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-self:end}.chip{font:500 var(--text-base) / 1 var(--font-body);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-fg);cursor:pointer}.chip:hover{border-color:var(--color-accent)}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.chip{transition:background var(--duration-fast),border-color var(--duration-fast)}}.note-edit{display:flex;align-items:center;gap:var(--space-2);min-width:220px}.note-input{flex:1;min-width:160px;font:var(--text-sm) var(--font-body);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-fg)}.note-input:hover{border-color:var(--color-line)}.note-input:focus-visible{border-color:var(--color-accent);background:var(--color-surface);outline:none}.note-input::placeholder{color:var(--color-muted);opacity:0}tr:hover .note-input::placeholder,.note-input:focus::placeholder{opacity:1}.note-error{display:block;margin-top:2px;color:var(--color-bad);font-size:var(--text-xs)}.cont-dialog-body .note-edit{min-width:240px}.cont-dialog-filter{margin-right:auto;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer}
