@layer reset,tokens,base,components,utilities;@layer components{.iw-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.iw-sources{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.iw-source{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);text-align:left;font:inherit;color:var(--color-text-main);background-color:var(--color-bg-surface-sunken);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.iw-source:hover,.iw-source:focus-visible{border-color:var(--color-brand);background-color:var(--color-bg-surface)}.iw-source-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.iw-source-name{font-weight:600}.iw-source-tag{flex-shrink:0;padding:2px var(--space-2);font-size:var(--text-xs);text-transform:capitalize;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.iw-source-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.iw-source-text{font-size:var(--text-xs);color:var(--color-text-muted);max-width:60ch}.iw-reasons{margin:var(--space-1) 0 0;padding-left:var(--space-5);font-size:var(--text-sm)}.iw-reasons li+li{margin-top:var(--space-1)}.iw-hints{margin-top:var(--space-3);font-size:var(--text-sm)}.iw-banner-actions{margin-top:var(--space-2)}.iw-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3)}.iw-fact-label{font-size:var(--text-xs);color:var(--color-text-muted)}.iw-fact-value{margin-top:2px;font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums}.iw-fact-value.is-text{font-size:var(--text-base);font-weight:600}.iw-fact-sub{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.iw-note-list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm)}.iw-note-list li+li{margin-top:var(--space-2)}.iw-note-detail{display:block;color:var(--color-text-muted);font-size:var(--text-xs)}.iw-question{padding:var(--space-4);background-color:var(--color-bg-surface-sunken);border:1px solid var(--color-suggested-border);border-radius:var(--radius-md)}.iw-question+.iw-question{margin-top:var(--space-3)}.iw-question-title{font-weight:600;font-size:var(--text-sm)}.iw-question-detail{margin:var(--space-1) 0 var(--space-3);max-width:90ch;font-size:var(--text-xs);color:var(--color-text-muted)}.iw-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.iw-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.iw-option.is-chosen{background-color:var(--color-bg-surface);border-color:var(--color-brand)}.iw-option-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.iw-table-wrap{overflow-x:auto}.iw-table-wrap .table{margin:0;font-size:var(--text-sm)}.iw-table-wrap .table .iw-num{text-align:right;font-variant-numeric:tabular-nums}.iw-credit{color:var(--color-matched-text);font-weight:600}.iw-debit{color:var(--color-unmatched-text);font-weight:600}.iw-more{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.iw-details>summary{cursor:pointer;font-weight:600;font-size:var(--text-sm)}.iw-details[open]>summary{margin-bottom:var(--space-3)}.iw-busy{opacity:.6;pointer-events:none}.iw-updating{font-size:var(--text-sm);color:var(--color-text-muted)}.iw-footer{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.iw-done{padding:var(--space-8) var(--space-4);text-align:center}.iw-done h2{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:700}.iw-done p{margin:0 auto var(--space-5);max-width:60ch;color:var(--color-text-muted)}.iw-done-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.iw-checkbox{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);background-color:var(--color-bg-surface-sunken);border-radius:var(--radius-md);cursor:pointer}}@layer reset,tokens,base,components,utilities;@layer components{.rc-page{display:flex;flex-direction:column;gap:var(--space-4);max-width:1280px;margin:0 auto;padding-bottom:var(--space-8);min-width:0}.rc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.rc-head h1{font-size:var(--text-xl);font-weight:700}.rc-lead{margin-top:var(--space-1);max-width:78ch;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.rc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:var(--space-4);align-items:start}.rc-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}@media(max-width:1040px){.rc-grid{grid-template-columns:minmax(0,1fr)}}.rc-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.rc-toolbar .rc-search{flex:1 1 240px;max-width:320px}.rc-count{font-size:var(--text-xs);color:var(--color-text-muted)}.rc-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.rc-empty h2{font-size:var(--text-md);font-weight:600;color:var(--color-text-main)}.rc-empty p{max-width:460px;margin:var(--space-1) auto var(--space-4);font-size:var(--text-sm)}.rc-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.rc-table th{text-align:left;padding:var(--space-2);color:var(--color-text-muted);font-weight:600;font-size:var(--text-xs);border-bottom:1px solid var(--color-border);white-space:nowrap}.rc-table td{padding:var(--space-3) var(--space-2);vertical-align:top;border-bottom:1px solid var(--color-border-subtle)}.rc-table .rc-right{text-align:right}.rc-table tbody tr.rc-pick{cursor:pointer}.rc-table tbody tr.rc-pick:hover{background:var(--color-bg-surface-hover)}.rc-table tbody tr.rc-pick:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.rc-table tbody tr.rc-selected{background:var(--color-brand-bg)}.rc-name{font-weight:600;color:var(--color-text-main)}.rc-sub{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.rc-actions{display:inline-flex;gap:var(--space-1)}.rc-warn{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-warning);font-weight:600}.rc-num{font-variant-numeric:tabular-nums}.rc-facts{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.rc-facts strong{color:var(--color-text-main);font-weight:600}.rc-days{display:inline-block;margin-top:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-suggested-bg);border:1px solid var(--color-suggested-border);color:var(--color-suggested-text);font-size:var(--text-2xs);font-weight:600}.rc-check{display:flex;flex-direction:column;gap:var(--space-3)}.rc-check-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.rc-result{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface-sunken);padding:var(--space-3);min-height:3rem}.rc-lines{display:grid;grid-template-columns:1fr auto;row-gap:var(--space-1);font-size:var(--text-sm)}.rc-lines dt{color:var(--color-text-muted);padding-right:var(--space-3)}.rc-lines dd{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.rc-lines .rc-total{margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);color:var(--color-text-main);font-weight:700}.rc-lines .rc-net{color:var(--color-success);font-weight:700}.rc-working{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.rc-working summary{cursor:pointer;font-weight:600;color:var(--color-text-main)}.rc-working ol{margin:var(--space-2) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);line-height:var(--leading-normal)}.rc-note{font-size:var(--text-sm);color:var(--color-text-muted)}.rc-note ul{margin:var(--space-1) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.rc-note-warn{color:var(--color-mismatch-text)}.rc-note-warn strong{display:block}.rc-form{display:flex;flex-direction:column;gap:var(--space-4)}.rc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-3);align-items:start}.rc-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3);margin:0;min-width:0}.rc-section>legend{padding:0 var(--space-2);font-size:var(--text-sm);font-weight:600}.rc-hint{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.rc-rules{display:flex;flex-direction:column;gap:var(--space-3)}.rc-rule{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface-sunken);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.rc-rule-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2)}.rc-rule-head h3{font-size:var(--text-sm);font-weight:700}.rc-rule-tools{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.rc-sub-title{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}.rc-checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;cursor:pointer}.rc-problems{margin:var(--space-1) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.rc-footer{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.rc-footer .alert{max-height:32vh;overflow-y:auto}.rc-footer-buttons{display:flex;justify-content:flex-end;gap:var(--space-2)}}@layer reset,tokens,base,components,utilities;@layer components{.cs-page{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);min-width:0}.cs-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.cs-head h1{font-size:var(--text-xl);font-weight:700}.cs-lead{margin-top:var(--space-1);max-width:78ch;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.cs-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:flex-end;justify-content:space-between}.cs-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.cs-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.cs-field label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.cs-field .input-text,.cs-field .input-select{min-height:var(--density-input-height);min-width:11rem}.cs-downloads{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cs-downloads .input-select{min-height:var(--density-btn-height);min-width:13rem}.cs-period{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted)}.cs-period strong{color:var(--color-text-main);font-weight:600}.cs-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.cs-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.cs-tab:hover{color:var(--color-text-main);background-color:var(--color-bg-surface-hover)}.cs-tab[aria-selected=true]{color:var(--color-brand-text);border-bottom-color:var(--color-brand);font-weight:600}.cs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-3)}.cs-kpi{display:flex;flex-direction:column;gap:var(--space-1)}.cs-kpi-label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.cs-kpi-value{font-size:var(--text-lg);font-weight:700;font-variant-numeric:tabular-nums}.cs-kpi-note{font-size:var(--text-xs);color:var(--color-text-muted)}.cs-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-3)}.cs-route{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.cs-route-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.cs-route-title{font-size:var(--text-base);font-weight:600}.cs-route-sub{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.cs-route-text{font-size:var(--text-sm);color:var(--color-text-main);line-height:var(--leading-normal)}.cs-owed{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-bg-surface-sunken);border:1px solid var(--color-border-subtle)}.cs-owed-value{font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums}.cs-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);margin:0}.cs-facts>div{min-width:0}.cs-facts dt{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.cs-facts dd{margin:0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cs-run{font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-2)}.cs-run a{text-decoration:underline}.cs-table-wrap{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-bg-surface)}.cs-table{width:100%;min-width:720px;border-collapse:collapse}.cs-table caption{text-align:left;padding:var(--space-3);font-weight:600;font-size:var(--text-sm);border-bottom:1px solid var(--color-border-subtle)}.cs-table th{background-color:var(--color-bg-surface-sunken);color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:600;text-align:left;padding:var(--density-padding-y) var(--space-2);border-bottom:1px solid var(--color-border);vertical-align:bottom;line-height:1.25;text-transform:uppercase;letter-spacing:.04em}.cs-table td{padding:var(--density-padding-y) var(--space-2);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);vertical-align:middle;white-space:nowrap}.cs-table th:first-child,.cs-table td:first-child{position:sticky;left:0;z-index:1;background-color:var(--color-bg-surface);box-shadow:1px 0 0 var(--color-border-subtle)}.cs-table th:first-child{background-color:var(--color-bg-surface-sunken);z-index:2}.cs-table .num{text-align:right;font-variant-numeric:tabular-nums}.cs-table tbody tr:hover td{background-color:var(--color-bg-surface-hover)}.cs-table tfoot td{font-weight:700;background-color:var(--color-bg-surface-sunken);border-top:1px solid var(--color-border)}.cs-table tfoot td:first-child{background-color:var(--color-bg-surface-sunken)}.cs-table tr.cs-weekend td{color:var(--color-text-muted)}.cs-table tr.cs-late td:first-child{box-shadow:inset 3px 0 0 var(--color-unmatched-border),1px 0 0 var(--color-border-subtle)}.cs-table .cs-group{text-align:center;border-left:1px solid var(--color-border)}.cs-table .cs-edge{border-left:1px solid var(--color-border-subtle)}.cs-mute{color:var(--color-text-subtle)}.cs-bad{color:var(--color-danger);font-weight:600}.cs-warn{color:var(--color-warning);font-weight:600}.cs-good{color:var(--color-success)}.cs-info{color:var(--color-suggested-text)}.cs-flag{display:block;font-size:var(--text-2xs);line-height:1.2;color:var(--color-warning);font-weight:600}.cs-roll{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.cs-roll-term{display:flex;flex-direction:column;gap:1px}.cs-roll-term span:first-child{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-weight:600}.cs-roll-op{color:var(--color-text-subtle);font-weight:700}.cs-roll-notes{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.cs-roll-notes p{margin:0;max-width:90ch}.cs-section{display:flex;flex-direction:column;gap:var(--space-3)}.cs-section-title{font-size:var(--text-base);font-weight:600}.cs-notes{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.cs-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}.cs-help summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--color-brand-text)}.cs-help ol{margin:var(--space-2) 0 0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.cs-steps{width:100%}.cs-steps td,.cs-steps th{vertical-align:top}.cs-steps-detail{color:var(--color-text-muted);font-size:var(--text-xs);white-space:normal;max-width:38ch}.cs-check{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm)}.cs-check input{margin-top:3px}@media(max-width:720px){.cs-facts{grid-template-columns:1fr}.cs-field .input-text,.cs-field .input-select{min-width:9rem}}}@layer reset,tokens,base,components,utilities;@layer tokens{:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-2xs: .75rem;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-0-5: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--motion-fast: .12s ease-out;--motion-normal: .2s ease-out;--focus-ring-width: 2px;--focus-ring-offset: 2px;--density-row-height: 44px;--density-btn-height: 36px;--density-input-height: 38px;--density-padding-y: var(--space-2);--density-padding-x: var(--space-3)}[data-density=compact]{--density-row-height: 32px;--density-btn-height: 30px;--density-input-height: 32px;--density-padding-y: var(--space-1);--density-padding-x: var(--space-2);--text-base: .875rem}:root,[data-theme=light]{color-scheme:light;--color-bg-page: #F6F7F9;--color-bg-surface: #FFFFFF;--color-bg-surface-raised: #FFFFFF;--color-bg-surface-sunken: #ECEEF2;--color-bg-surface-hover: #F0F2F5;--color-bg-surface-active: #E6EAF0;--color-text-main: #1B2330;--color-text-muted: #4B5565;--color-text-subtle: #5B6779;--color-text-inverse: #FFFFFF;--color-brand: #1F4FB5;--color-brand-hover: #173E92;--color-brand-bg: #EAF0FC;--color-brand-text: #1F4FB5;--color-border-subtle: #E2E6ED;--color-border: #CED4DF;--color-border-strong: #8A93A3;--color-focus: #1F4FB5;--color-matched-text: #0E6636;--color-matched-bg: #E2F3E8;--color-matched-border: #A3D8B4;--color-suggested-text: #1C4B8C;--color-suggested-bg: #E3EDFA;--color-suggested-border: #A5C4F0;--color-mismatch-text: #7F4400;--color-mismatch-bg: #FFF0D2;--color-mismatch-border: #E8BF7A;--color-unmatched-text: #9B1B2A;--color-unmatched-bg: #FDE6E9;--color-unmatched-border: #F5A4AD;--color-neutral-text: #4B5565;--color-neutral-bg: #ECEEF2;--color-neutral-border: #CED4DF;--color-critical-badge-text: #FFFFFF;--color-critical-badge-bg: #B3162A;--shadow-sm: 0 1px 2px rgba(27, 35, 48, .05);--shadow-md: 0 4px 6px -1px rgba(27, 35, 48, .08), 0 2px 4px -2px rgba(27, 35, 48, .05);--shadow-lg: 0 10px 15px -3px rgba(27, 35, 48, .1), 0 4px 6px -4px rgba(27, 35, 48, .05)}[data-theme=dark]{color-scheme:dark;--color-bg-page: #0F141B;--color-bg-surface: #161C25;--color-bg-surface-raised: #1C2430;--color-bg-surface-sunken: #11161F;--color-bg-surface-hover: #222B3A;--color-bg-surface-active: #293447;--color-text-main: #E6EAF0;--color-text-muted: #A9B2C0;--color-text-subtle: #98A2B3;--color-text-inverse: #0F141B;--color-brand: #8DB2FF;--color-brand-hover: #ADC8FF;--color-brand-bg: #142A4A;--color-brand-text: #8DB2FF;--color-border-subtle: #242D3C;--color-border: #354256;--color-border-strong: #6B7586;--color-focus: #8DB2FF;--color-matched-text: #7FDCA4;--color-matched-bg: #12301F;--color-matched-border: #225C3C;--color-suggested-text: #9CC3FF;--color-suggested-bg: #142A4A;--color-suggested-border: #244C82;--color-mismatch-text: #FFC76B;--color-mismatch-bg: #3A2A08;--color-mismatch-border: #6B4E0F;--color-unmatched-text: #FF9AA6;--color-unmatched-bg: #3B1119;--color-unmatched-border: #6E202F;--color-neutral-text: #A9B2C0;--color-neutral-bg: #222A36;--color-neutral-border: #354256;--color-critical-badge-text: #0F141B;--color-critical-badge-bg: #FF8A97;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -4px rgba(0, 0, 0, .4)}:root,[data-theme=light],[data-theme=dark]{--color-success: var(--color-matched-text);--color-danger: var(--color-unmatched-text);--color-error: var(--color-unmatched-text);--color-warning: var(--color-mismatch-text);--color-text: var(--color-text-main);--color-text-tertiary: var(--color-text-subtle);--color-bg-subtle: var(--color-bg-surface-sunken);--color-bg-card: var(--color-bg-surface);--text-md: 1.125rem;--space-5: 20px;--space-7: 28px;--shadow-xl: 0 20px 25px -5px rgba(27, 35, 48, .12), 0 8px 10px -6px rgba(27, 35, 48, .06)}[data-theme=dark]{--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .65), 0 8px 10px -6px rgba(0, 0, 0, .45)}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-normal: 0ms}}@media(forced-colors:active){:root{--color-bg-page: Canvas;--color-bg-surface: Canvas;--color-bg-surface-hover: Highlight;--color-text-main: CanvasText;--color-text-muted: CanvasText;--color-brand: Highlight;--color-border: ButtonBorder;--color-focus: Highlight}}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-main);background-color:var(--color-bg-page);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea,select{font:inherit;color:inherit}input,textarea,select{background-color:var(--color-bg-surface)}button{cursor:pointer;background:none;border:none}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);color:var(--color-text-main)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}}@layer base{.tabular-nums,[data-tabular=true]{font-variant-numeric:tabular-nums}.font-mono{font-family:var(--font-mono)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-100px;left:var(--space-4);background:var(--color-brand);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:9999;font-weight:600;transition:top var(--motion-fast)}.skip-link:focus{top:var(--space-4)}}@keyframes spin{to{transform:rotate(360deg)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--density-btn-height);padding:0 var(--density-padding-x);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast);white-space:nowrap;text-decoration:none;border:1px solid transparent}.btn:hover{text-decoration:none}.btn-primary{background-color:var(--color-brand);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-hover)}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-text-main);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-surface-hover);border-color:var(--color-border-strong)}.btn-quiet{background-color:transparent;color:var(--color-text-muted)}.btn-quiet:hover:not(:disabled){background-color:var(--color-bg-surface-hover);color:var(--color-text-main)}.btn-danger{background-color:var(--color-unmatched-text);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{min-height:28px;padding:0 var(--space-2);font-size:var(--text-xs)}.btn-icon{width:var(--density-btn-height);padding:0;border-radius:var(--radius-sm)}.field-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-main);display:flex;align-items:center;justify-content:space-between}.field-label-required:after{content:" *";color:var(--color-unmatched-text)}.field-help{font-size:var(--text-xs);color:var(--color-text-muted)}.field-error{font-size:var(--text-xs);color:var(--color-unmatched-text);font-weight:500}.input-text,.input-select,.input-textarea,.field-input{width:100%;min-height:var(--density-input-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-surface);color:var(--color-text-main);font-size:var(--text-sm);transition:border-color var(--motion-fast)}.input-textarea{min-height:80px;padding:var(--space-2) var(--space-3);resize:vertical}.input-text:hover,.input-select:hover,.input-textarea:hover,.field-input:hover{border-color:var(--color-border-strong)}.input-text:focus,.input-select:focus,.input-textarea:focus,.field-input:focus{border-color:var(--color-focus);outline:none}.field-input[multiple]{padding:var(--space-1) var(--space-2)}.input-error{border-color:var(--color-unmatched-text)!important}.password-wrap{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;line-height:1.4;border:1px solid transparent}.status-matched{background-color:var(--color-matched-bg);color:var(--color-matched-text);border-color:var(--color-matched-border)}.status-suggested{background-color:var(--color-suggested-bg);color:var(--color-suggested-text);border-color:var(--color-suggested-border)}.status-mismatch{background-color:var(--color-mismatch-bg);color:var(--color-mismatch-text);border-color:var(--color-mismatch-border)}.status-unmatched{background-color:var(--color-unmatched-bg);color:var(--color-unmatched-text);border-color:var(--color-unmatched-border)}.status-neutral{background-color:var(--color-neutral-bg);color:var(--color-neutral-text);border-color:var(--color-neutral-border)}.badge-critical{background-color:var(--color-critical-badge-bg);color:var(--color-critical-badge-text);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-main)}.data-table-container{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-bg-surface)}.data-table th{background-color:var(--color-bg-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;text-align:left;padding:var(--density-padding-y) var(--density-padding-x);border-bottom:1px solid var(--color-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:var(--density-padding-y) var(--density-padding-x);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);color:var(--color-text-main);vertical-align:middle}.data-table tr:hover td{background-color:var(--color-bg-surface-hover)}.app-shell{display:flex;min-height:100vh;background-color:var(--color-bg-page)}.app-sidebar{width:260px;flex-shrink:0;background-color:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;transition:width var(--motion-normal)}.app-sidebar-header{height:56px;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.app-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-lg);color:var(--color-text-main);letter-spacing:-.02em}.app-sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-4)}.nav-group-title{padding:0 var(--space-2);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;color:var(--color-text-subtle);letter-spacing:.05em;margin-bottom:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:background-color var(--motion-fast),color var(--motion-fast)}.nav-item:hover{background-color:var(--color-bg-surface-hover);color:var(--color-text-main);text-decoration:none}.nav-item-active{background-color:var(--color-brand-bg);color:var(--color-brand-text);font-weight:600}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{height:56px;background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6)}.topbar-left{display:flex;align-items:center;gap:var(--space-4)}.topbar-right{display:flex;align-items:center;gap:var(--space-3)}.app-content{flex:1;padding:var(--space-6);max-width:1600px;width:100%;margin:0 auto}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.breadcrumb-separator{color:var(--color-text-subtle)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.alert-info{background-color:var(--color-suggested-bg);color:var(--color-suggested-text);border:1px solid var(--color-suggested-border)}.alert-warning{background-color:var(--color-mismatch-bg);color:var(--color-mismatch-text);border:1px solid var(--color-mismatch-border)}.alert-error{background-color:var(--color-unmatched-bg);color:var(--color-unmatched-text);border:1px solid var(--color-unmatched-border)}.alert-success{background-color:var(--color-matched-bg);color:var(--color-matched-text);border:1px solid var(--color-matched-border)}.error-summary{background-color:var(--color-unmatched-bg);border:1px solid var(--color-unmatched-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6)}.error-summary-title{color:var(--color-unmatched-text);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.error-summary-list{list-style-type:disc;margin-left:var(--space-4);color:var(--color-unmatched-text);font-size:var(--text-sm)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f141b99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:560px;width:100%;max-height:calc(100vh - var(--space-6) * 2);display:flex;flex-direction:column;overflow:hidden;animation:modal-enter var(--motion-normal)}.modal-content:focus{outline:none}@keyframes modal-enter{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-body{padding:var(--space-6);overflow-y:auto;overflow-x:hidden;flex:1 1 auto;max-height:calc(85vh - 130px);overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-subtle);background-color:var(--color-bg-surface-sunken);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-shrink:0}.kv-list{display:grid;grid-template-columns:140px 1fr;row-gap:var(--space-2);column-gap:var(--space-4);font-size:var(--text-sm)}.kv-key{color:var(--color-text-muted);font-weight:500}.kv-val{color:var(--color-text-main)}.file-drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-6);background-color:var(--color-bg-surface-sunken);text-align:center;cursor:pointer;transition:border-color var(--motion-fast),background-color var(--motion-fast);outline:none;position:relative}.file-drop-zone:hover,.file-drop-zone:focus-visible{border-color:var(--color-brand);background-color:var(--color-bg-surface)}.file-drop-zone.dragover{border-color:var(--color-brand);background-color:var(--color-matched-bg)}.file-drop-zone.disabled{opacity:.6;cursor:not-allowed;border-color:var(--color-border);background-color:var(--color-bg-surface-sunken)}.file-drop-icon{width:48px;height:48px;margin:0 auto var(--space-3);color:var(--color-brand);opacity:.85}.file-drop-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-main);margin-bottom:var(--space-1)}.file-drop-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.file-drop-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.file-drop-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-3)}.stepper{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--space-8);position:relative}.stepper-step{display:flex;align-items:center;gap:var(--space-3);position:relative;z-index:1;background:transparent;border:none;padding:0;cursor:default;color:var(--color-text-muted)}.stepper-step.interactive{cursor:pointer}.stepper-step.interactive:hover .stepper-badge{border-color:var(--color-brand)}.stepper-badge{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm);border:2px solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-muted);transition:all var(--motion-fast)}.stepper-step.active .stepper-badge{border-color:var(--color-brand);background-color:var(--color-brand);color:var(--color-text-inverse)}.stepper-step.completed .stepper-badge{border-color:var(--color-matched-text);background-color:var(--color-matched-text);color:var(--color-text-inverse)}.stepper-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.stepper-step.active .stepper-label{color:var(--color-brand);font-weight:600}.stepper-step.completed .stepper-label{color:var(--color-text-main)}.stepper-divider{flex:1;height:2px;background-color:var(--color-border);margin:0 var(--space-3)}.stepper-divider.completed{background-color:var(--color-matched-text)}.verdict-banner{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.verdict-banner.ready{background-color:var(--color-matched-bg);border:1px solid var(--color-matched-border);color:var(--color-matched-text)}.verdict-banner.confirm{background-color:var(--color-suggested-bg);border:1px solid var(--color-suggested-border);color:var(--color-suggested-text)}.verdict-banner.blocking{background-color:var(--color-unmatched-bg);border:1px solid var(--color-unmatched-border);color:var(--color-unmatched-text)}.verdict-title{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-1)}.verdict-desc{font-size:var(--text-sm)}.grid-container{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface)}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-surface-sunken)}.grid-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);background-color:var(--color-bg-surface-sunken);font-size:var(--text-xs);color:var(--color-text-muted)}.grid-pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.page-container{min-width:0}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6)}.page-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text-main);letter-spacing:-.01em}.page-subtitle{margin-top:var(--space-1);max-width:78ch;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.table-responsive{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background-color:var(--color-bg-surface)}.table{width:100%;border-collapse:collapse}.table th{background-color:var(--color-bg-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;text-align:left;padding:var(--density-padding-y) var(--density-padding-x);border-bottom:1px solid var(--color-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.table td{padding:var(--density-padding-y) var(--density-padding-x);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);color:var(--color-text-main);vertical-align:middle}.table tbody tr:hover td{background-color:var(--color-bg-surface-hover)}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab-btn:hover{color:var(--color-text-main);background-color:var(--color-bg-surface-hover)}.tab-btn.active{color:var(--color-brand-text);border-bottom-color:var(--color-brand);font-weight:600}.filter-editor{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.filter-editor-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text-main)}.filter-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:var(--space-2);align-items:center}.filter-summary{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.filter-problem{font-size:var(--text-xs);color:var(--color-unmatched-text);font-weight:500}@media(max-width:720px){.filter-row{grid-template-columns:1fr 1fr}}.ai-markdown-content{font-size:13px;line-height:1.6;color:#1e293b;word-break:break-word}.ai-markdown-content p{margin:0 0 10px}.ai-markdown-content p:last-child{margin-bottom:0}.ai-markdown-content h1,.ai-markdown-content h2,.ai-markdown-content h3,.ai-markdown-content h4{color:#0f172a;font-weight:700;margin:16px 0 8px;line-height:1.35}.ai-markdown-content h1{font-size:17px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.ai-markdown-content h2{font-size:15px}.ai-markdown-content h3{font-size:14px}.ai-markdown-content h4{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#475569}.ai-markdown-content ul,.ai-markdown-content ol{margin:8px 0 12px;padding-left:22px}.ai-markdown-content li{margin-bottom:6px;line-height:1.55}.ai-markdown-content strong{font-weight:600;color:#0f172a}.ai-markdown-content em{color:#475569}.ai-markdown-content hr{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.ai-markdown-content blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid #0284c7;background-color:#f0f9ff;border-radius:0 6px 6px 0;color:#0369a1;font-size:12.5px}.ai-markdown-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:2px 6px;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#0f172a}.ai-markdown-content pre{margin:12px 0;padding:12px 14px;background-color:#0f172a;color:#f8fafc;border-radius:8px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.ai-markdown-content pre code{background:transparent;border:none;padding:0;color:inherit}.ai-markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:14px 0;font-size:12px;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000d;background-color:#fff;display:block;overflow-x:auto}.ai-markdown-content thead{background-color:#f8fafc}.ai-markdown-content th{padding:10px 14px;text-align:left;font-weight:700;font-size:11px;color:#334155;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #cbd5e1;border-right:1px solid #e2e8f0;white-space:nowrap}.ai-markdown-content th:last-child{border-right:none}.ai-markdown-content td{padding:9px 14px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;color:#1e293b;line-height:1.45;white-space:nowrap;font-variant-numeric:tabular-nums}.ai-markdown-content td:last-child{border-right:none}.ai-markdown-content tbody tr:last-child td{border-bottom:none}.ai-markdown-content tbody tr:nth-child(2n){background-color:#f8fafc}.ai-markdown-content tbody tr:hover{background-color:#f0fdf4}}
