@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{--brand-primary: #42658f;--brand-primary-hover: #345273;--brand-primary-active: #29435f;--brand-primary-soft: rgba(66, 101, 143, .105);--brand-primary-softer: rgba(66, 101, 143, .055);--compass-app-brand: var(--brand-primary);--compass-app-brand-soft: var(--brand-primary-soft);--brand-accent: #6e829a;--brand-success: #2f7055;--brand-warn: #9a681b;--brand-danger: #a94438;--bg-page: #ffffff;--bg-elevated: #ffffff;--bg-shell: #ffffff;--bg-card: #ffffff;--bg-card-hover: #eef2f6;--bg-subtle: #f7f8fa;--bg-selected: #edf3fa;--bg-inset: #f1f4f7;--border-subtle: #e8ebef;--border-default: #dce2e8;--border-strong: #c8d0d9;--border-focus: #6e8caf;--text-strong: #1b2530;--text-base: #2d3844;--text-muted: #667382;--text-soft: #919ba7;--text-on-accent: #ffffff;--status-pending-bg: #fbf3e3;--status-pending-border: #e7cf9c;--status-pending-text: #8d5e16;--status-success-bg: #eaf4ee;--status-success-border: #bed8c9;--status-success-text: #2f6b50;--status-danger-bg: #f8ecea;--status-danger-border: #e2bbb5;--status-danger-text: #9b3f35;--status-info-bg: #edf3fa;--status-info-border: #c5d4e5;--status-info-text: #3d628d;--status-neutral-bg: #eef1f4;--status-neutral-border: #d4dae1;--status-neutral-text: #5f6b78;--topbar-h: 48px;--sidebar-w: 208px;--sidebar-w-collapsed: 56px;--row-h: 36px;--row-h-sm: 28px;--font-body-size: 13px;--font-meta-size: 12px;--font-floor: 11px;--font-floor-dense: 10px;--chart-1: #42658f;--chart-2: #4c8791;--chart-3: #7a6f9b;--chart-4: #b08342;--chart-5: #b85f59;--chart-6: #6f8062;--chart-grid: rgba(15, 23, 42, .06);--shadow-sm: 0 1px 2px rgba(29, 47, 66, .055);--shadow-md: 0 10px 30px rgba(29, 47, 66, .085);--shadow-lg: 0 26px 64px rgba(29, 47, 66, .13);--radius-control: 7px;--radius-panel: 12px;--radius-feature: 18px;--space-page-inline: clamp(18px, 3vw, 44px);--space-page-block: clamp(22px, 3vw, 38px);--layer-dropdown: 40;--layer-overlay: 60;--layer-toast: 80;--font-body: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", sans-serif;--tracking-tight: -.02em;--tracking-eyebrow: .1em;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur-base: .24s;--dur-slow: .6s;--app-header-band-height: var(--topbar-h);--vibe-bg-0: var(--bg-page);--vibe-bg-1: var(--bg-elevated);--vibe-bg-2: var(--bg-card);--vibe-card: var(--bg-card);--vibe-card-strong: var(--bg-card-hover);--vibe-border: var(--border-default);--vibe-text: var(--text-base);--vibe-muted: var(--text-muted);--vibe-primary: var(--brand-primary);--vibe-accent: var(--brand-accent);--vibe-glow: var(--shadow-md);--ds-btn-primary-bg: linear-gradient(135deg, var(--brand-primary-hover) 0%, var(--brand-primary) 100%);--ds-btn-secondary-bg: var(--brand-primary-soft);--ds-btn-danger-bg: var(--status-danger-bg);--ds-btn-border: var(--border-strong);--ds-btn-text: var(--text-strong);--ds-btn-text-dark: var(--text-on-accent);--ds-control-bg: var(--bg-elevated);--ds-control-border: var(--border-default);--ds-control-focus: var(--brand-primary);--ds-table-head-bg: var(--brand-primary-soft);--ds-table-row-border: var(--border-default);--ds-status-pending-bg: var(--status-pending-bg);--ds-status-pending-text: var(--status-pending-text);--ds-status-success-bg: var(--status-success-bg);--ds-status-success-text: var(--status-success-text);--ds-status-danger-bg: var(--status-danger-bg);--ds-status-danger-text: var(--status-danger-text);--compliance-map-highlight: var(--brand-accent);--compliance-map-dim: var(--border-strong);--compliance-timeline-selected-bg: var(--brand-primary-soft);--compliance-timeline-selected-dot: var(--brand-accent);--compliance-timeline-selected-text: var(--brand-accent);--font-app: var(--font-body);--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--color-accent: var(--brand-primary);--color-accent-soft: var(--brand-primary-soft);--color-accent-bg: var(--brand-primary-soft);--color-msg-bg: var(--brand-primary-soft);--color-danger: var(--brand-danger);--color-danger-bg: var(--status-danger-bg);--color-ok: var(--status-success-text);--color-warn: var(--brand-warn);--color-app-bg: var(--bg-page);--color-panel: var(--bg-card);--color-card-bg: rgba(70, 86, 106, .035);--color-hover-bg: rgba(70, 86, 106, .055);--color-tag-bg: rgba(70, 86, 106, .07);--color-input-bg: var(--bg-elevated);--color-input-bar-bg: #f5f5f7;--color-code-bg: rgba(15, 23, 42, .06);--color-bg-subtle: var(--bg-subtle);--color-surface: var(--bg-card);--surface-page: var(--bg-page);--surface-shell: var(--bg-shell);--surface-elevated: var(--bg-elevated);--surface-subtle: var(--bg-subtle);--color-app-fg: var(--text-strong);--color-text: var(--text-base);--color-fg: var(--text-base);--color-fg-muted: var(--text-muted);--color-fg-faint: var(--text-soft);--color-border: var(--border-default);--color-border-strong: var(--border-strong);--color-brand: var(--brand-primary)}html,body{font-family:var(--font-body);font-size:var(--font-body-size);color:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{color-scheme:light;accent-color:var(--brand-primary);scrollbar-color:#b8c1cb var(--bg-page)}::selection{background:var(--brand-primary-soft);color:var(--text-strong)}.app-title-level-1{margin:0;padding:0;font-size:clamp(1.32rem,1.04rem + .78vw,1.78rem);font-weight:760;line-height:1.25;letter-spacing:-.018em;color:var(--vibe-text);text-wrap:balance}.app-title-level-2{margin:0;padding:0;font-size:.98rem;font-weight:650;line-height:1.45;letter-spacing:-.006em;color:#334155;display:flex;align-items:center;gap:8px}.app-title-level-2:before{content:"";width:3px;height:.96em;border-radius:999px;background:var(--brand-accent);opacity:.82;flex-shrink:0}.app-section-divider{margin:10px 0 8px;border-top:1px solid var(--vibe-border)}.app-section-divider+.app-title-level-2{margin-top:0;margin-bottom:10px}.lang-toggle-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:32px;padding:0 10px;border-radius:6px;border:1px solid rgba(31,41,35,.18);background:#ffffffd9;color:#1f2923;font-size:13px;font-weight:600;gap:4px;transition:background .15s ease,box-shadow .15s ease;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px 3px #0000000f}.lang-toggle-btn:hover{background:#fffffff2;box-shadow:0 2px 6px #0000001a}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.kpi-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.kpi-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.kpi-card__label{font-size:11px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}.kpi-card__value{font-size:24px;font-weight:650;letter-spacing:var(--tracking-tight);color:var(--text-strong);line-height:1.1}.kpi-card__delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.kpi-card__delta--up{color:var(--status-success-text)}.kpi-card__delta--down{color:var(--status-danger-text)}.kpi-card__delta--flat{color:var(--text-muted)}.section-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:10px;padding:20px}.section-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-card__title{font-size:14px;font-weight:600;letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0}.section-card__subtitle{font-size:12px;color:var(--text-muted);margin:2px 0 0}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.6;white-space:nowrap}.status-chip:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-chip--info{background:var(--status-info-bg);color:var(--status-info-text)}.status-chip--success{background:var(--status-success-bg);color:var(--status-success-text)}.status-chip--warn,.status-chip--pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.status-chip--danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.status-chip--neutral{background:var(--bg-card-hover);color:var(--text-muted)}.data-table-v2{width:100%;border-collapse:collapse;font-size:var(--font-body-size);color:var(--text-base)}.data-table-v2 thead th{height:32px;padding:0 12px;text-align:left;font-size:11px;font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);background:var(--brand-primary-soft);border-bottom:1px solid var(--border-default)}.data-table-v2 tbody td{height:var(--row-h);padding:0 12px;border-bottom:1px solid var(--border-default);vertical-align:middle}.data-table-v2 tbody tr:hover{background:var(--bg-card-hover)}.data-table-v2 tbody tr:last-child td{border-bottom:none}.toolbar-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.toolbar-row__spacer{flex:1}.toast-container{position:fixed;top:calc(var(--topbar-h, 48px) + 12px);right:16px;z-index:var(--layer-toast, 80);display:flex;flex-direction:column;gap:8px;pointer-events:none;width:min(320px,calc(100vw - 32px))}.toast-item{pointer-events:auto;background:var(--bg-card, #111214);border:1px solid var(--border-default, #1f2024);border-left-width:3px;border-radius:10px;padding:10px 12px 10px 14px;display:flex;align-items:flex-start;gap:8px;box-shadow:0 8px 24px #02061747;font-size:13px;color:var(--text-base, #d0d6e0);cursor:default;will-change:transform,opacity}.toast-item--success{border-left-color:var(--status-success-text, #4ade80)}.toast-item--error{border-left-color:var(--status-danger-text, #f87171)}.toast-item--warn{border-left-color:var(--status-pending-text, #fbbf24)}.toast-item--info{border-left-color:var(--status-info-text, #7170ff)}.toast-item__dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0}.toast-item--success .toast-item__dot{background:var(--status-success-text, #4ade80)}.toast-item--error .toast-item__dot{background:var(--status-danger-text, #f87171)}.toast-item--warn .toast-item__dot{background:var(--status-pending-text, #fbbf24)}.toast-item--info .toast-item__dot{background:var(--status-info-text, #7170ff)}.toast-item__msg{flex:1;line-height:1.5;word-break:break-word}.toast-item__close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted, #8a8f98);font-size:18px;line-height:1;margin-top:-2px;transition:color .12s}.toast-item__close:hover{color:var(--text-base, #d0d6e0)}[data-theme=light] .toast-item{box-shadow:0 4px 16px #0000001a}@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-page, #ffffff);color:var(--vibe-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}._backdrop_jcxpz_1{position:fixed;inset:0;background:#1824326b;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}._dialog_jcxpz_11{background:var(--card-bg, #fff);border-radius:10px;box-shadow:0 24px 56px #1d2f423d;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;flex-direction:column}._header_jcxpz_23{padding:16px 20px;font-size:15px;font-weight:600;border-bottom:1px solid var(--border-default, #e5e7eb);color:var(--vibe-text, #111827)}._body_jcxpz_33{padding:20px;overflow:auto;color:var(--vibe-text, #111827)}._footer_jcxpz_35{padding:12px 20px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-default, #e5e7eb)}._danger_jcxpz_43 ._header_jcxpz_23{color:var(--status-danger-text)}
