.app-icon{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em}.global-search[data-v-f50db2c4]{position:relative;width:100%;max-width:420px}.search-box[data-v-f50db2c4]{display:flex;align-items:center;gap:.4rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.4rem .6rem}.search-box[data-v-f50db2c4]:focus-within{border-color:var(--color-accent);background:var(--color-surface)}.icon[data-v-f50db2c4]{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}.search-box input[data-v-f50db2c4]{border:none;background:none;outline:none;flex:1;font-size:var(--fs-md);min-width:0;color:var(--color-text)}.clear[data-v-f50db2c4]{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--fs-lg);line-height:1;padding:0 .2rem}.dropdown[data-v-f50db2c4]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:60vh;overflow-y:auto;z-index:100;padding:.4rem}.dropdown-msg[data-v-f50db2c4]{padding:.75rem;color:var(--color-text-muted);font-size:var(--fs-base);text-align:center}.group+.group[data-v-f50db2c4]{margin-top:.3rem;border-top:1px solid var(--color-border);padding-top:.3rem}.group-label[data-v-f50db2c4]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.3rem .5rem;font-weight:600}.result[data-v-f50db2c4]{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:none;background:none;padding:.45rem .5rem;border-radius:var(--radius-md);cursor:pointer}.result[data-v-f50db2c4]:hover,.result.active[data-v-f50db2c4]{background:var(--color-accent-soft)}.result-title[data-v-f50db2c4]{font-size:var(--fs-md);color:var(--color-text);font-weight:500}.result-subtitle[data-v-f50db2c4]{font-size:var(--fs-sm);color:var(--color-text-muted)}.notif-wrap[data-v-330e33c5]{position:relative}.bell-btn[data-v-330e33c5]{position:relative;border:1px solid transparent;background:none;color:var(--color-text-muted);cursor:pointer;padding:.45rem;border-radius:var(--radius-md);display:flex}.bell-btn[data-v-330e33c5]:hover,.bell-btn.active[data-v-330e33c5]{background:var(--color-bg);color:var(--color-text)}.bell-icon[data-v-330e33c5]{width:19px;height:19px}.badge[data-v-330e33c5]{position:absolute;top:2px;right:2px;background:var(--status-problem);color:#fff;font-size:var(--fs-xs);font-weight:700;line-height:1;padding:2px 4px;border-radius:var(--radius-pill);min-width:15px;text-align:center}.panel[data-v-330e33c5]{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:100}.panel-header[data-v-330e33c5]{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;font-weight:600;font-size:var(--fs-base);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface)}.mark-all[data-v-330e33c5]{border:none;background:none;color:var(--color-accent);font-size:var(--fs-sm);cursor:pointer;font-weight:500}.panel-msg[data-v-330e33c5]{padding:1.2rem .9rem;color:var(--color-text-muted);font-size:var(--fs-base);text-align:center}.notif-row[data-v-330e33c5]{display:flex;align-items:flex-start;gap:.5rem;width:100%;text-align:left;border:none;background:none;border-bottom:1px solid var(--color-border);padding:.65rem .9rem;cursor:pointer}.notif-row[data-v-330e33c5]:hover{background:var(--color-bg)}.notif-row.unread[data-v-330e33c5]{background:var(--color-accent-soft)}.notif-row.unread[data-v-330e33c5]:hover{background:var(--color-accent-soft-strong)}.dot[data-v-330e33c5]{width:7px;height:7px;border-radius:50%;background:var(--color-accent);margin-top:.4rem;flex-shrink:0}.notif-body[data-v-330e33c5]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.notif-title[data-v-330e33c5]{font-size:var(--fs-base);color:var(--color-text);font-weight:500}.notif-sub[data-v-330e33c5]{font-size:var(--fs-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time[data-v-330e33c5]{font-size:var(--fs-xs);color:var(--color-text-muted)}.identity-picker[data-v-ef4ad9bf]{position:relative}.trigger[data-v-ef4ad9bf]{display:flex;align-items:center;gap:.4rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);padding:.3rem .7rem .3rem .3rem;cursor:pointer;max-width:220px}.trigger[data-v-ef4ad9bf]:hover{background:var(--color-bg)}.avatar[data-v-ef4ad9bf]{width:22px;height:22px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.label[data-v-ef4ad9bf]{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron[data-v-ef4ad9bf]{width:10px;height:7px;color:var(--color-text-muted);flex-shrink:0}.menu[data-v-ef4ad9bf]{position:absolute;top:calc(100% + 8px);right:0;width:220px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:100;padding:.4rem}.menu-label[data-v-ef4ad9bf]{font-size:var(--fs-xs);color:var(--color-text-muted);padding:.3rem .5rem .5rem;line-height:1.3}.trigger.impersonating[data-v-ef4ad9bf]{border-color:var(--status-in-progress);background:color-mix(in srgb,var(--status-in-progress) 12%,var(--color-surface))}.trigger.impersonating .avatar[data-v-ef4ad9bf]{background:var(--status-in-progress)}.divider[data-v-ef4ad9bf]{height:1px;background:var(--color-border);margin:.3rem 0}.muted[data-v-ef4ad9bf]{color:var(--color-text-muted);font-weight:400}.menu-item[data-v-ef4ad9bf]{display:block;width:100%;text-align:left;border:none;background:none;padding:.4rem .5rem;border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base)}.menu-item[data-v-ef4ad9bf]:hover{background:var(--color-accent-soft)}.menu-item.active[data-v-ef4ad9bf]{background:var(--color-accent-soft-strong);font-weight:600}.user-menu[data-v-a0195e31]{position:relative}.trigger[data-v-a0195e31]{border:none;background:none;padding:0;cursor:pointer;display:flex}.avatar[data-v-a0195e31]{width:30px;height:30px;border-radius:50%;background:var(--color-text);color:#fff;font-size:var(--fs-sm);font-weight:700;display:flex;align-items:center;justify-content:center}.menu[data-v-a0195e31]{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:100;padding:.4rem}.menu-header[data-v-a0195e31]{padding:.5rem .6rem .6rem;border-bottom:1px solid var(--color-border);margin-bottom:.3rem}.name[data-v-a0195e31]{font-size:var(--fs-md);font-weight:600;color:var(--color-text)}.role[data-v-a0195e31]{font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:.1rem}.theme-row[data-v-a0195e31]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .6rem .5rem}.theme-label[data-v-a0195e31]{font-size:var(--fs-sm);color:var(--color-text-muted)}.theme-row .seg>button[data-v-a0195e31]{padding:.25rem .55rem;font-size:var(--fs-sm)}.menu-item[data-v-a0195e31]{display:block;width:100%;text-align:left;border:none;background:none;padding:.45rem .6rem;border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-base);color:var(--color-text)}.menu-item[data-v-a0195e31]:hover{background:var(--color-accent-soft)}.menu-item.danger[data-v-a0195e31]:hover{background:color-mix(in srgb,var(--status-problem) 12%,var(--color-surface));color:var(--status-problem)}.readonly-badge[data-v-97c12344]{font-size:var(--fs-xs);font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border)}.app-header[data-v-97c12344]{display:flex;align-items:center;gap:1.25rem;padding:.55rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.brand[data-v-97c12344]{display:flex;align-items:center;gap:.5rem;border:none;background:none;cursor:pointer;color:var(--color-text);flex-shrink:0;padding:.2rem}.brand-logo[data-v-97c12344]{height:24px;width:auto;display:block}.brand-text[data-v-97c12344]{font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;white-space:nowrap}.header-search[data-v-97c12344]{flex:1;display:flex;justify-content:center;margin:0 auto}.header-actions[data-v-97c12344]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media(max-width:720px){.header-search[data-v-97c12344]{display:none}}.modal[data-v-0b14b9a9]{color:var(--color-text);width:1000px;font-size:var(--fs-md)}.head[data-v-0b14b9a9]{display:flex;justify-content:space-between;gap:1rem}h2[data-v-0b14b9a9]{margin:0;font-size:var(--fs-xl)}.head p[data-v-0b14b9a9]{margin:.25rem 0 0}.roles[data-v-0b14b9a9]{width:100%;border-collapse:collapse}.roles th[data-v-0b14b9a9]{text-align:left;font-size:var(--fs-sm);color:var(--color-text-muted);padding:.4rem;border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:var(--fw-semibold);text-transform:none}.roles td[data-v-0b14b9a9]{padding:.35rem .4rem;border-bottom:1px solid var(--color-border)}.roles .c[data-v-0b14b9a9]{text-align:center}input[data-v-0b14b9a9]:not([type=checkbox]),select[data-v-0b14b9a9]{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:var(--fs-base);font-family:inherit;background:var(--color-surface);color:var(--color-text);width:100%}.name[data-v-0b14b9a9]{font-weight:600;min-width:130px}.desc[data-v-0b14b9a9]{min-width:200px}.new[data-v-0b14b9a9]{display:grid;grid-template-columns:1fr 220px auto;gap:.5rem}.muted[data-v-0b14b9a9]{color:var(--color-text-muted)}.small[data-v-0b14b9a9]{font-size:var(--fs-sm);margin:0}.error[data-v-0b14b9a9]{color:var(--status-problem);margin:0}.modal[data-v-4fecab02]{color:var(--color-text);width:980px;font-size:var(--fs-md)}.head[data-v-4fecab02]{display:flex;justify-content:space-between;gap:1rem}h2[data-v-4fecab02]{margin:0;font-size:var(--fs-xl)}.head p[data-v-4fecab02]{margin:.25rem 0 0}.layout[data-v-4fecab02]{display:grid;grid-template-columns:240px 1fr;gap:1rem}.list[data-v-4fecab02]{display:flex;flex-direction:column;gap:.35rem}.tpl[data-v-4fecab02]{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:.5rem .65rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;color:var(--color-text)}.tpl.on[data-v-4fecab02]{border-color:var(--color-accent);background:var(--color-accent-soft)}.tpl-name[data-v-4fecab02]{font-weight:600;display:flex;gap:.4rem;align-items:center}.default[data-v-4fecab02]{font-size:var(--fs-xs);font-weight:700;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-accent-soft-strong);border-radius:var(--radius-pill);padding:0 .4rem}.new[data-v-4fecab02]{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem;border-top:1px solid var(--color-border);padding-top:.6rem}input[data-v-4fecab02]:not([type=checkbox]),select[data-v-4fecab02],textarea[data-v-4fecab02]{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .55rem;font-size:var(--fs-base);font-family:inherit;background:var(--color-surface);color:var(--color-text)}.detail[data-v-4fecab02]{display:flex;flex-direction:column;gap:.55rem;min-width:0}.row[data-v-4fecab02]{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.name[data-v-4fecab02]{flex:1;font-weight:600;font-size:var(--fs-lg)}.desc[data-v-4fecab02]{resize:vertical}.apply[data-v-4fecab02]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.45rem;background:var(--color-surface-muted)}.projects[data-v-4fecab02]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.2rem .8rem;max-height:180px;overflow-y:auto}.projects label[data-v-4fecab02]{display:flex;gap:.4rem;align-items:center}.matrix-wrap[data-v-4fecab02]{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.matrix[data-v-4fecab02]{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.matrix th[data-v-4fecab02]{text-align:center;font-size:var(--fs-sm);color:var(--color-text-muted);padding:.45rem .5rem;border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:var(--fw-semibold);text-transform:none}.matrix th[data-v-4fecab02]:first-child{text-align:left}.matrix td[data-v-4fecab02]{padding:.3rem .5rem;border-bottom:1px solid var(--color-border)}.matrix .cell[data-v-4fecab02]{text-align:center}.group-row td[data-v-4fecab02]{background:var(--color-surface-muted);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.muted[data-v-4fecab02]{color:var(--color-text-muted)}.small[data-v-4fecab02]{font-size:var(--fs-sm)}.error[data-v-4fecab02]{color:var(--status-problem);margin:0}.vis-toolbar[data-v-2f249549]{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:900;width:min(1100px,calc(100vw - 32px));display:flex;align-items:center;flex-wrap:nowrap;gap:.75rem;background:#0f172a;color:#e2e8f0;border-radius:var(--radius-lg);padding:.7rem 1rem;box-shadow:0 12px 32px #0f172a59;font-size:var(--fs-base)}.intro[data-v-2f249549]{display:flex;flex-direction:column;gap:.1rem;max-width:210px;flex-shrink:0}.intro span[data-v-2f249549]{color:var(--color-text-subtle);font-size:var(--fs-sm)}.eye-sample[data-v-2f249549]{color:#93c5fd}.ctl[data-v-2f249549]{display:flex;align-items:center;gap:.4rem;white-space:nowrap;color:var(--color-border-strong);font-size:var(--fs-sm)}.ctl select[data-v-2f249549]{background:#1e293b;color:var(--color-surface-muted);border:1px solid #334155;border-radius:var(--radius-md);padding:.3rem .45rem;font-size:var(--fs-base)}.badge[data-v-2f249549]{background:var(--color-accent-hover);color:#fff;border-radius:var(--radius-pill);padding:.05rem .45rem;font-size:var(--fs-xs)}.err[data-v-2f249549]{color:#fca5a5;font-size:var(--fs-sm)}.btn.done[data-v-2f249549]{margin-left:auto}.app-shell[data-v-4d9195a3]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-body[data-v-4d9195a3]{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.app-body[data-v-4d9195a3]>*{width:-webkit-fill-available;width:-moz-available;width:stretch}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-surface-sunken: #f1f5f9;--color-border: #e2e5ea;--color-border-strong: #cbd5e1;--color-text: #1a1d23;--color-text-muted: #6b7280;--color-text-subtle: #94a3b8;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-soft: #eef2ff;--color-accent-soft-strong: #e0e7ff;--color-on-accent: #ffffff;--color-success: #16a34a;--color-success-soft: #f0fdf4;--color-success-text: #15803d;--color-warning: #f59e0b;--color-warning-soft: #fffbeb;--color-warning-text: #b45309;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-danger-text: #b91c1c;--color-info: #0891b2;--color-info-soft: #ecfeff;--color-info-text: #0e7490;--font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;--fs-xs: .72rem;--fs-sm: .8rem;--fs-base: .85rem;--fs-md: .9rem;--fs-lg: 1rem;--fs-xl: 1.15rem;--fs-2xl: 1.5rem;--fs-3xl: 1.8rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 1px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .12), 0 2px 6px rgba(15, 23, 42, .06);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .2);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .25);--overlay: rgba(15, 23, 42, .45);--logo-filter: none;--page-max: 1200px;--z-sticky: 20;--z-dropdown: 100;--z-modal: 250;--z-toast: 400;--status-na: #9ca3af;--status-todo: #f97316;--status-in-progress: #f59e0b;--status-complete: #16a34a;--status-problem: #dc2626;--tone-orange: #ea580c;--action-no-action: #16a34a;--action-replace: #f59e0b;--action-remove: #dc2626;--action-relocate: #ea580c;--action-install: #c026d3;--action-blue: #2563eb;--action-teal: #0d9488;--action-violet: #7c3aed;--action-pink: #db2777;--action-lime: #65a30d;--action-brown: #92400e;--action-slate: #64748b;--zone-external: #7c3aed;--zone-internal: #0891b2;--issue-open: #dc2626;--issue-in-progress: #d97706;--issue-resolved: #2563eb;--issue-closed: #16a34a;--priority-low: #64748b;--priority-medium: #2563eb;--priority-high: #ea580c;--priority-urgent: #dc2626;font-family:var(--font-sans)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0e1116;--color-surface: #161a22;--color-surface-muted: #1b2029;--color-surface-sunken: #222833;--color-border: #2a313c;--color-border-strong: #3b4452;--color-text: #e6e9ee;--color-text-muted: #9aa4b2;--color-text-subtle: #667085;--color-accent: #4f8df7;--color-accent-hover: #6ba1fa;--color-accent-soft: #172a4d;--color-accent-soft-strong: #1f3a6b;--color-success: #22c55e;--color-success-soft: #0f2a1b;--color-success-text: #4ade80;--color-warning: #f59e0b;--color-warning-soft: #2b2209;--color-warning-text: #fbbf24;--color-danger: #ef4444;--color-danger-soft: #2f1517;--color-danger-text: #f87171;--color-info: #22b8cf;--color-info-soft: #0b2a30;--color-info-text: #5ad1e3;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 3px rgba(79, 141, 247, .4);--overlay: rgba(0, 0, 0, .65);--logo-filter: brightness(1.7) saturate(1.1)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-bg: #0e1116;--color-surface: #161a22;--color-surface-muted: #1b2029;--color-surface-sunken: #222833;--color-border: #2a313c;--color-border-strong: #3b4452;--color-text: #e6e9ee;--color-text-muted: #9aa4b2;--color-text-subtle: #667085;--color-accent: #4f8df7;--color-accent-hover: #6ba1fa;--color-accent-soft: #172a4d;--color-accent-soft-strong: #1f3a6b;--color-success: #22c55e;--color-success-soft: #0f2a1b;--color-success-text: #4ade80;--color-warning: #f59e0b;--color-warning-soft: #2b2209;--color-warning-text: #fbbf24;--color-danger: #ef4444;--color-danger-soft: #2f1517;--color-danger-text: #f87171;--color-info: #22b8cf;--color-info-soft: #0b2a30;--color-info-text: #5ad1e3;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 3px rgba(79, 141, 247, .4);--overlay: rgba(0, 0, 0, .65);--logo-filter: brightness(1.7) saturate(1.1)}}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:var(--fs-base);-webkit-font-smoothing:antialiased}#app{min-height:100vh}img[src$="dte-logo.png"]{filter:var(--logo-filter)}button,input,select,textarea{color:var(--color-text);font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:where(h1){font-size:var(--fs-2xl);font-weight:var(--fw-bold)}:where(h2){font-size:var(--fs-xl);font-weight:var(--fw-semibold)}:where(h3){font-size:var(--fs-lg);font-weight:var(--fw-semibold)}:where(h4){font-size:var(--fs-md);font-weight:var(--fw-semibold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.5rem .9rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s}.btn:hover:not(:disabled){background:var(--color-surface-sunken)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:var(--fw-semibold)}.btn.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn.success{background:var(--color-success);border-color:var(--color-success);color:#fff;font-weight:var(--fw-semibold)}.btn.danger{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-surface)}.btn.danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn.danger.primary{background:var(--color-danger);color:#fff}.btn.danger.primary:hover:not(:disabled){background:var(--color-danger-text);border-color:var(--color-danger-text)}.btn.ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn.ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.btn.small,.btn.tiny{padding:.3rem .65rem;font-size:var(--fs-sm)}.btn.icon{padding:.4rem;line-height:0}.link-btn,button.link{border:none;background:none;padding:0;font:inherit;color:var(--color-accent);cursor:pointer}.link-btn:hover:not(:disabled),button.link:hover:not(:disabled){text-decoration:underline}.link-btn.danger,button.link.danger{color:var(--color-danger)}.link-btn.strong{font-weight:var(--fw-semibold)}.link-btn:disabled,button.link:disabled{opacity:.5;cursor:not-allowed}.icon-btn,button.x,button.close,button.close-btn{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;height:1.9rem;padding:0 .3rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--fs-xl);line-height:1;cursor:pointer}.icon-btn:hover:not(:disabled),button.x:hover:not(:disabled),button.close:hover:not(:disabled),button.close-btn:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.icon-btn.danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}:is(.seg,.segmented,.view-toggle){display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}:is(.seg,.segmented,.view-toggle)>button{border:none;background:transparent;padding:.4rem .8rem;font:inherit;font-size:var(--fs-base);color:var(--color-text-muted);cursor:pointer}:is(.seg,.segmented,.view-toggle)>button+button{border-left:1px solid var(--color-border)}:is(.seg,.segmented,.view-toggle)>button:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}:is(.seg,.segmented,.view-toggle)>button:is(.active,.on){background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--fw-semibold)}.tab-bar{display:flex;gap:var(--space-1);box-shadow:inset 0 -1px 0 var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tab{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem 1rem;border:none;border-bottom:2px solid transparent;background:none;color:var(--color-text-muted);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap;text-decoration:none;cursor:pointer}.tab:hover:not(:disabled){color:var(--color-text)}.tab:is(.active,.on,.router-link-active){color:var(--color-accent);border-bottom-color:var(--color-accent)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){padding:.45rem .65rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--fs-base);line-height:1.3}:where(input,select,textarea):focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}:where(input,select,textarea):disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}:where(fieldset){min-width:0}::placeholder{color:var(--color-text-subtle)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--overlay)}.modal{display:flex;flex-direction:column;gap:var(--space-3);width:520px;max-width:100%;max-height:90vh;overflow-y:auto;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.page-title{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.01em}.page-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--fs-base)}.section-title{margin:0 0 var(--space-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}:where(th){color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:left}.card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .55rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.5;white-space:nowrap}.chip.success{background:var(--color-success-soft);color:var(--color-success-text);border-color:transparent}.chip.warning{background:var(--color-warning-soft);color:var(--color-warning-text);border-color:transparent}.chip.danger{background:var(--color-danger-soft);color:var(--color-danger-text);border-color:transparent}.chip.info{background:var(--color-accent-soft);color:var(--color-accent);border-color:transparent}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.data-table th{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);text-align:left}.data-table td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:top}.empty-state{padding:var(--space-6) var(--space-4);color:var(--color-text-muted);font-size:var(--fs-base);text-align:center}input.ocr-filled.ocr-filled,select.ocr-filled.ocr-filled,textarea.ocr-filled.ocr-filled{background:var(--color-accent-soft);border-color:var(--color-accent)}input.ocr-check.ocr-check,select.ocr-check.ocr-check,textarea.ocr-check.ocr-check{background:var(--color-warning-soft);border-color:var(--color-warning)}.vis-dimmed{opacity:.45;outline:2px dashed var(--status-problem);outline-offset:2px}a.vis-dimmed,button.vis-dimmed{outline:none;text-decoration:line-through}
