@charset "UTF-8";:root{--bg-canvas: #F9FAFB;--bg-paper: #F2F7F8;--bg-surface: #FFFFFF;--bg-deep: #1D3137;--bg-deeper: #122125;--overlay: rgba(18, 33, 37, .48);--ink: #374151;--ink-soft: #4B5666;--ink-muted: #626D7C;--ink-faint: #9DA5B0;--ink-on-deep: #F1F7F8;--primary-50: #EFFCFF;--primary-100: #E2F0F4;--primary-200: #C7DEE4;--primary-300: var(--secondary-500);--primary-400: #7DA3AC;--primary-500: #5C848E;--primary-600: #47727C;--primary-700: #355E67;--primary-800: #274A52;--primary-900: #1C363C;--secondary-100: #E9F0F5;--secondary-500: #A9C4CB;--secondary-600: #97B4BB;--secondary-700: #546E75;--secondary-900: #1E343A;--accent-50: #FFF6EF;--accent-100: #FFEBDA;--accent-200: #FFD5B4;--accent-500: #F4A261;--accent-600: #C7783B;--accent-700: #A05A20;--accent-800: #7C4617;--accent-900: #5D3412;--accent: var(--accent-600);--highlight-50: #FFFCEC;--highlight-100: #FFF6D0;--highlight-500: #FDE68A;--amber-100: var(--highlight-100);--amber-500: #AD8522;--amber-700: #866617;--amber-800: #674E0F;--danger-50: #FFF4F2;--danger-100: #FFE4E0;--danger-200: #FFCBC5;--danger-500: #EF4444;--danger-600: #D22D32;--danger-700: #B52529;--danger-800: #942223;--warn-100: var(--danger-100);--warn-500: var(--danger-600);--warn-700: var(--danger-700);--success-50: #F0FAF2;--success-100: #DCF4E2;--success-500: #347F4D;--success-700: #2A6A3F;--info-50: #F1F8FF;--info-100: #E0EFFF;--info-500: #286CAB;--info-700: #16558C;--line: #E5E7EB;--line-soft: #EEF0F3;--line-deep: #838D98;--result-pass-fg: var(--success-700);--result-pass-bg: var(--success-100);--result-fail-fg: var(--amber-800);--result-fail-bg: var(--highlight-500);--result-fail-row: var(--highlight-100);--result-undetermined-fg: var(--ink-muted);--result-undetermined-bg: var(--bg-paper);--result-undetermined-border: var(--line-deep);--status-draft-fg: var(--info-700);--status-draft-bg: var(--info-100);--status-submitted-fg: var(--primary-800);--status-submitted-bg: var(--primary-100);--status-void-fg: var(--ink-muted);--status-void-bg: var(--line-soft);--tag-postclose-fg: var(--accent-800);--tag-postclose-bg: var(--accent-100);--tag-postclose-border: var(--accent-200);--report-changed-fg: var(--amber-800);--report-changed-bg: var(--highlight-100);--report-changed-icon: var(--amber-500);--required-mark: var(--danger-700);--import-error-row-bg: var(--danger-50);--cert-valid-fg: var(--ink-soft);--cert-valid-bg: var(--bg-paper);--cert-due-3m-fg: var(--amber-800);--cert-due-3m-bg: var(--highlight-100);--cert-due-1m-fg: var(--amber-800);--cert-due-1m-bg: var(--highlight-500);--cert-expired-fg: var(--danger-700);--cert-expired-bg: var(--danger-100);--btn-primary-bg: var(--primary-600);--btn-primary-bg-hover: var(--primary-700);--btn-primary-bg-active: var(--primary-800);--btn-primary-fg: var(--bg-surface);--btn-secondary-bg: var(--secondary-500);--btn-secondary-bg-hover: var(--secondary-600);--btn-secondary-bg-active: var(--primary-400);--btn-secondary-fg: var(--secondary-900);--btn-danger-bg: var(--danger-600);--btn-danger-bg-hover: var(--danger-700);--btn-danger-bg-active: var(--danger-800);--btn-danger-fg: var(--bg-surface);--btn-ghost-bg: var(--bg-surface);--btn-ghost-bg-hover: var(--primary-50);--btn-ghost-bg-active: var(--primary-100);--btn-ghost-fg: var(--primary-700);--btn-ghost-border: var(--line-deep);--disabled-bg: var(--line-soft);--disabled-fg: var(--ink-muted);--disabled-border: var(--line-deep);--input-bg: var(--bg-surface);--input-border: var(--line-deep);--input-border-hover: var(--ink-muted);--input-placeholder: var(--ink-muted);--input-error-bg: var(--danger-50);--input-error-border: var(--danger-600);--input-error-fg: var(--danger-700);--focus-ring: var(--primary-500);--focus-ring-on-deep: var(--primary-200);--focus-ring-width: 2px;--focus-ring-offset: 2px;--checkbox-bg: var(--bg-surface);--checkbox-border: var(--ink-muted);--checkbox-checked-bg: var(--primary-600);--checkbox-check: var(--bg-surface);--table-head-bg: var(--bg-paper);--table-stripe-bg: var(--bg-canvas);--table-row-hover-bg: var(--primary-50);--table-row-selected-bg: var(--secondary-100);--nav-bg: var(--primary-800);--nav-fg: var(--ink-on-deep);--nav-group-fg: var(--primary-200);--nav-item-hover-bg: var(--primary-700);--nav-item-active-bg: var(--primary-100);--nav-item-active-fg: var(--primary-900);--calendar-marked-fg: var(--secondary-900);--calendar-marked-bg: var(--secondary-500);--calendar-today-ring: var(--primary-800);--heat-0-bg: var(--bg-surface);--heat-0-fg: var(--ink-muted);--heat-1-bg: var(--primary-100);--heat-1-fg: var(--ink);--heat-2-bg: var(--secondary-500);--heat-2-fg: var(--secondary-900);--heat-3-bg: var(--primary-400);--heat-3-fg: var(--secondary-900);--heat-4-bg: var(--primary-600);--heat-4-fg: var(--bg-surface);--alert-info-bg: var(--info-50);--alert-info-border: var(--info-500);--alert-info-fg: var(--info-700);--alert-success-bg: var(--success-50);--alert-success-border: var(--success-500);--alert-success-fg: var(--success-700);--alert-warn-bg: var(--highlight-50);--alert-warn-border: var(--amber-500);--alert-warn-fg: var(--amber-800);--alert-danger-bg: var(--danger-50);--alert-danger-border: var(--danger-600);--alert-danger-fg: var(--danger-700);--gis-pass: var(--success-500);--gis-watch: var(--amber-500);--gis-fail: var(--danger-500);--gis-marker-stroke: var(--bg-surface);--series-1: var(--primary-500);--series-2: #D87448;--series-3: #004A85;--series-4: #A88600;--series-5: #854E98;--series-6: #488944;--series-other: #878D94;--chart-grid: var(--line);--chart-axis: var(--ink-muted);--font-display: "Inter", "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", system-ui, sans-serif;--font-body: "Inter", "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Noto Sans TC", Menlo, Consolas, monospace;--font-num-features: "tnum" 1, "lnum" 1;--type-scale: 1;--fs-display-l: 44px;--fs-display-m: 36px;--fs-display-s: 28px;--fs-h1: calc(24px * var(--type-scale));--fs-h2: calc(20px * var(--type-scale));--fs-h3: calc(18px * var(--type-scale));--fs-h4: calc(16px * var(--type-scale));--fs-body-lg: calc(16px * var(--type-scale));--fs-body: calc(14px * var(--type-scale));--fs-body-sm: calc(13px * var(--type-scale));--fs-caption: calc(12px * var(--type-scale));--fs-meta-lg: 13px;--fs-meta: 12px;--fs-meta-sm: 11px;--fs-kpi-l: 36px;--fs-kpi-m: 28px;--fs-kpi-s: 20px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-display-tight: 1.2;--lh-display-snug: 1.3;--lh-heading: 1.4;--lh-body: 1.6;--lh-dense: 1.45;--ls-display-tight: -.01em;--ls-display-snug: -.005em;--ls-meta-wide: .06em;--ls-meta-wider: .08em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(18, 33, 37, .06), 0 1px 3px rgba(18, 33, 37, .04);--shadow-2: 0 4px 12px rgba(18, 33, 37, .08);--shadow-3: 0 12px 28px rgba(18, 33, 37, .12);--shadow-modal: 0 24px 56px rgba(18, 33, 37, .18), 0 4px 12px rgba(18, 33, 37, .08);--icon-xs: 14px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--control-h-sm: 32px;--control-h: 36px;--control-h-lg: 44px;--touch-target-min: 44px;--table-row-h: 44px;--table-row-h-compact: 36px;--table-head-h: 40px;--table-cell-x: 12px;--table-cell-x-compact: 8px;--header-h: 56px;--sidebar-w: 240px;--sidebar-w-collapsed: 64px;--page-gutter: 24px;--page-gutter-mobile: 16px;--bp-lg: 768px;--bp-xl: 1200px;--z-base: 0;--z-sticky: 10;--z-header: 20;--z-sidebar: 30;--z-dropdown: 40;--z-popover: 50;--z-drawer: 60;--z-modal: 70;--z-toast: 80;--z-loading: 90;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--dur-instant: 80ms;--dur-fast: .12s;--dur-quick: .16s;--dur-base: .2s;--dur-medium: .28s;--dur-slow: .36s;--dur-loop-skeleton: 1.6s}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1200px){.container{max-width:1200px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;overflow-x:hidden}em,i{font-style:normal}a{color:var(--primary-700);text-underline-offset:2px}a:hover{color:var(--primary-800)}strong,b{font-weight:var(--fw-bold)}code{font-family:var(--font-mono);font-size:.9em;color:var(--primary-800);background:var(--bg-paper);border:1px solid var(--line-soft);padding:0 var(--space-1);border-radius:var(--radius-xs);overflow-wrap:anywhere}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);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:0}.num,.tnum{font-feature-settings:var(--font-num-features)}@keyframes ds-spin{to{transform:rotate(360deg)}}@keyframes ds-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes ds-fade{0%{opacity:0}to{opacity:1}}@keyframes ds-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ds-indet{0%{left:-40%}to{left:100%}}@keyframes ds-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes ds-pulse{50%{opacity:.55}}.icon{width:var(--icon-sm);height:var(--icon-sm);flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.icon--xs{width:var(--icon-xs);height:var(--icon-xs)}.icon--md{width:var(--icon-md);height:var(--icon-md)}.icon--lg{width:var(--icon-lg);height:var(--icon-lg)}.spinner{width:1em;height:1em;flex:none;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ds-spin calc(var(--dur-loop-skeleton) / 2) linear infinite}.btn{--btn-h: var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.btn:focus-visible,.btn.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.btn--sm{--btn-h: var(--control-h-sm);padding:0 var(--space-3);gap:var(--space-1);font-size:var(--fs-body-sm)}.btn--sm .icon{width:var(--icon-xs);height:var(--icon-xs)}.btn--lg{--btn-h: var(--control-h-lg);padding:0 var(--space-5);font-size:var(--fs-body-lg)}.btn--lg .icon{width:var(--icon-md);height:var(--icon-md)}.btn--icon{width:var(--btn-h);padding:0}.btn--block{width:100%}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn--primary:hover,.btn--primary.force-hover{background:var(--btn-primary-bg-hover)}.btn--primary:active,.btn--primary.force-active{background:var(--btn-primary-bg-active)}.btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}.btn--secondary:hover,.btn--secondary.force-hover{background:var(--btn-secondary-bg-hover)}.btn--secondary:active,.btn--secondary.force-active{background:var(--btn-secondary-bg-active)}.btn--ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-fg);border-color:var(--btn-ghost-border)}.btn--ghost:hover,.btn--ghost.force-hover{background:var(--btn-ghost-bg-hover);border-color:var(--primary-500)}.btn--ghost:active,.btn--ghost.force-active{background:var(--btn-ghost-bg-active);border-color:var(--primary-600)}.btn--danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.btn--danger:hover,.btn--danger.force-hover{background:var(--btn-danger-bg-hover)}.btn--danger:active,.btn--danger.force-active{background:var(--btn-danger-bg-active)}.btn--danger-ghost{background:var(--bg-surface);color:var(--danger-700);border-color:var(--danger-200)}.btn--danger-ghost:hover,.btn--danger-ghost.force-hover{background:var(--danger-50);border-color:var(--danger-600)}.btn--danger-ghost:active,.btn--danger-ghost.force-active{background:var(--danger-100);border-color:var(--danger-700)}.btn--text{background:transparent;color:var(--btn-ghost-fg);padding:0 var(--space-2)}.btn--text:hover,.btn--text.force-hover{background:var(--btn-ghost-bg-hover)}.btn--text:active,.btn--text.force-active{background:var(--btn-ghost-bg-active)}.btn--text-danger{background:transparent;color:var(--danger-700);padding:0 var(--space-2)}.btn--text-danger:hover,.btn--text-danger.force-hover{background:var(--danger-50)}.btn--text-danger:active,.btn--text-danger.force-active{background:var(--danger-100)}.btn:disabled,.btn.is-disabled{background:var(--disabled-bg);color:var(--disabled-fg);border-color:transparent;box-shadow:none;cursor:not-allowed}.btn--ghost:disabled,.btn--ghost.is-disabled,.btn--danger-ghost:disabled,.btn--danger-ghost.is-disabled{background:var(--disabled-bg);border-color:var(--disabled-border)}.btn--text:disabled,.btn--text.is-disabled,.btn--text-danger:disabled,.btn--text-danger.is-disabled{background:transparent}.btn.is-loading{cursor:progress;pointer-events:none}.btn-group{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.btn-reason{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-caption);color:var(--ink-muted)}.btn-reason .icon{color:var(--danger-600)}.form-note{font-size:var(--fs-caption);color:var(--ink-muted)}.form-note .field__req{margin-right:2px}.field{display:grid;gap:var(--space-1);align-content:start;min-width:0}.field__label{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--space-1);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--ink)}.field__req{color:var(--required-mark);font-weight:var(--fw-bold)}.field__either{font-size:var(--fs-caption);font-weight:var(--fw-regular);color:var(--ink-muted);margin-left:var(--space-1)}.field__help{font-size:var(--fs-caption);color:var(--ink-muted)}.field__error{display:flex;gap:var(--space-1);align-items:flex-start;font-size:var(--fs-caption);color:var(--input-error-fg)}.field__error .icon{width:var(--icon-xs);height:var(--icon-xs);margin-top:2px}.field__ok{display:flex;gap:var(--space-1);align-items:center;font-size:var(--fs-caption);color:var(--success-700)}.field__readonly{min-height:var(--control-h);display:flex;align-items:center;color:var(--ink);font-size:var(--fs-body)}.input,.select,.textarea{display:block;width:100%;min-width:0;height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-body);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.input::placeholder,.textarea::placeholder{color:var(--input-placeholder);opacity:1}.input:hover,.select:hover,.textarea:hover,.force-hover.input,.force-hover.select,.force-hover.textarea{border-color:var(--input-border-hover)}.input:focus,.select:focus,.textarea:focus,.force-focus.input,.force-focus.select,.force-focus.textarea{outline:none;border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.input--sm,.select--sm{height:var(--control-h-sm);font-size:var(--fs-body-sm);padding:0 var(--space-2)}.input--num{text-align:right;font-feature-settings:var(--font-num-features)}.input--mono{font-family:var(--font-mono)}.textarea{height:auto;min-height:88px;padding:var(--space-2) var(--space-3);resize:vertical}.select{appearance:none;-webkit-appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.is-invalid.input,.is-invalid.select,.is-invalid.textarea,.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--input-error-border);background:var(--input-error-bg)}.is-invalid.input:focus,.is-invalid.textarea:focus,.input[aria-invalid=true]:focus,.force-focus.is-invalid,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{border-color:var(--input-error-border);box-shadow:0 0 0 1px var(--input-error-border)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-fg);cursor:not-allowed}.input:disabled::placeholder,.textarea:disabled::placeholder{color:var(--disabled-fg)}.input[readonly]:not(.input--picker){background:var(--bg-paper);border-color:var(--line)}.input-group{position:relative;display:flex;align-items:stretch;min-width:0}.input-group>.input{flex:1}.input-group__lead{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none;display:flex}.input-group__lead+.input{padding-left:calc(var(--space-3) + var(--icon-sm) + var(--space-2))}.input-group__unit{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--fs-caption);color:var(--ink-muted);pointer-events:none}.input-group__unit~.input,.input:has(+.input-group__unit){padding-right:var(--space-8)}.input-group__btn{flex:none;margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group:has(.input-group__btn)>.input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group__btn.btn--ghost{border-color:var(--input-border);color:var(--ink-soft)}.input-group__btn.btn--ghost:hover{color:var(--btn-ghost-fg)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5)}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid__full{grid-column:1/-1}.query-bar{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:flex-start;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md)}.query-bar .field{width:180px}.query-bar__actions{display:flex;gap:var(--space-2);margin-left:auto;flex-wrap:wrap;margin-top:calc(var(--fs-body-sm) * var(--lh-body) + var(--space-1))}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.list-toolbar__title{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.list-toolbar__title b{font-size:var(--fs-h3)}.list-toolbar__count{font-size:var(--fs-body-sm);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.list-toolbar__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.row-actions{display:flex;flex-wrap:nowrap;gap:2px;align-items:center}.icon-cell{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-paper);color:var(--ink-soft)}.field__warn{display:flex;gap:var(--space-1);align-items:flex-start;font-size:var(--fs-caption);color:var(--amber-700)}.field__warn .icon{width:var(--icon-xs);height:var(--icon-xs);margin-top:2px;color:var(--amber-500)}.field__foot{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.field__count{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features);white-space:nowrap;margin-left:auto}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4)}.field-pair__msg{grid-column:1/-1}.form-panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);display:grid;gap:var(--space-5)}.form-panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft)}.form-panel__head b{font-size:var(--fs-h4)}.form-section-title{font-size:var(--fs-body-sm);font-weight:var(--fw-bold);color:var(--ink-soft);grid-column:1/-1;padding-top:var(--space-2)}.dropdown{position:relative;display:inline-block}.popover{position:absolute;z-index:var(--z-popover);top:calc(100% + var(--space-1));left:0;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:ds-pop var(--dur-quick) var(--ease-decelerate)}.popover--right{left:auto;right:0}.popover--static{position:static;animation:none}.menu{list-style:none;min-width:180px;padding:var(--space-1);display:grid;gap:1px}.menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:var(--fs-body);text-align:left;cursor:pointer;white-space:nowrap}.menu__item .icon{color:var(--ink-muted)}.menu__item:hover,.menu__item.force-hover,.menu__item:focus-visible{background:var(--table-row-hover-bg);outline:none}.menu__item:focus-visible,.menu__item.force-focus{box-shadow:inset 0 0 0 var(--focus-ring-width) var(--focus-ring)}.menu__item.is-selected{background:var(--table-row-selected-bg);font-weight:var(--fw-semibold)}.menu__item.is-selected:after{content:"";margin-left:auto;width:10px;height:6px;box-shadow:inset 2px -2px 0 var(--primary-700);transform:rotate(-45deg) translateY(-2px)}.menu__item--danger,.menu__item--danger .icon{color:var(--danger-700)}.menu__item--danger:hover,.menu__item--danger.force-hover{background:var(--danger-50)}.menu__item:disabled,.menu__item.is-disabled{color:var(--disabled-fg);background:transparent;cursor:not-allowed}.menu__item:disabled .icon{color:var(--disabled-fg)}.menu__sep{height:1px;background:var(--line-soft);margin:var(--space-1) 0}.menu__group{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--fs-caption);color:var(--ink-muted);font-weight:var(--fw-semibold)}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);text-align:left;cursor:pointer;background-image:none;padding-right:var(--space-3)}.select-trigger .icon{color:var(--ink-muted);transition:transform var(--dur-fast) var(--ease-standard)}.select-trigger[aria-expanded=true]{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.select-trigger[aria-expanded=true] .icon{transform:rotate(180deg)}.select-trigger__ph{color:var(--ink-muted)}.datefield{position:relative;display:grid;gap:var(--space-1);align-content:start;min-width:0}.datefield .input-group{width:100%}.datefield .input--picker{text-align:left}.datefield--date{max-width:200px}.datefield--month{max-width:170px}.datefield--year{max-width:140px}.date-range{display:flex;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap}.date-range__sep{height:var(--control-h);display:flex;align-items:center;color:var(--ink-muted)}.date-range--sm .date-range__sep{height:var(--control-h-sm)}.date-range .datefield{flex:1 1 150px}.cal{width:304px;max-width:calc(100vw - 2 * var(--page-gutter-mobile));padding:var(--space-3)}.cal[inert]{-webkit-user-select:none;user-select:none}.cal__head{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.cal__title{flex:1;display:flex;justify-content:center;gap:var(--space-1);min-width:0}.cal__title .select{width:auto;padding-right:var(--space-6);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;font-weight:var(--fw-semibold)}.cal__caption{flex:1;text-align:center;font-weight:var(--fw-bold);font-size:var(--fs-body);font-feature-settings:var(--font-num-features)}.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center;font-feature-settings:var(--font-num-features)}.cal__grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.cal__dow{height:28px;display:grid;place-items:center;font-size:var(--fs-caption);color:var(--ink-muted)}.cal__day{height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:var(--fs-body-sm);cursor:pointer;transition:background-color var(--dur-instant) var(--ease-standard)}.cal__grid--3 .cal__day{height:var(--control-h-lg);font-size:var(--fs-body)}.cal__day:hover{background:var(--table-row-hover-bg)}.cal__day:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:-2px}.cal__day--out{color:var(--ink-muted)}.cal__day.is-today{outline:2px solid var(--calendar-today-ring);outline-offset:1px;font-weight:var(--fw-semibold)}.cal__day.is-today:focus-visible{outline:2px solid var(--calendar-today-ring);outline-offset:1px;box-shadow:inset 0 0 0 var(--focus-ring-width) var(--focus-ring)}.cal__day.is-in-range{background:var(--primary-100);color:var(--primary-800);border-radius:0}.cal__day.is-selected,.cal__day.is-range-start,.cal__day.is-range-end{background:var(--primary-600);color:var(--bg-surface);font-weight:var(--fw-semibold)}.cal__day.is-range-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.cal__day.is-range-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.cal__day.is-range-start.is-range-end{border-radius:var(--radius-sm)}.cal__day:disabled{color:var(--disabled-fg);background:transparent;box-shadow:none;text-decoration:line-through;cursor:not-allowed}.cal__foot{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line-soft)}.cal__hint{font-size:var(--fs-caption);color:var(--ink-muted);align-self:center}body.has-layer{overflow:hidden}.layer{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6)}.layer__scrim{position:absolute;inset:0;background:var(--overlay);animation:ds-fade var(--dur-base) var(--ease-standard)}.dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 2 * var(--space-6));display:flex;flex-direction:column;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);animation:ds-rise var(--dur-medium) var(--ease-emphasized);text-align:left}.dialog--sm{width:min(440px,100%)}.dialog--lg{width:min(880px,100%)}.dialog--static{animation:none;box-shadow:var(--shadow-3);max-height:none}.dialog__head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--line-soft)}.dialog__head--plain{border-bottom:0;padding-bottom:0}.dialog__titles{min-width:0;flex:1}.dialog__title{font-size:var(--fs-h3);font-weight:var(--fw-bold);line-height:var(--lh-heading)}.dialog__sub{font-size:var(--fs-body-sm);color:var(--ink-muted);margin-top:2px}.dialog__close{margin:-4px -8px 0 auto;flex:none}.dialog__icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none}.dialog__icon--danger{background:var(--danger-100);color:var(--danger-700)}.dialog__icon--primary{background:var(--primary-100);color:var(--primary-700)}.dialog__icon--info{background:var(--info-100);color:var(--info-700)}.dialog__body{padding:var(--space-5) var(--space-6);overflow:auto;display:grid;gap:var(--space-4);align-content:start;color:var(--ink-soft)}.dialog__body strong{color:var(--ink)}.dialog__foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-top:1px solid var(--line-soft)}.dialog__foot-note{margin-right:auto;font-size:var(--fs-caption);color:var(--ink-muted)}.table-wrap{position:relative;overflow-x:auto;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body);font-feature-settings:var(--font-num-features)}.data-table th,.data-table td{padding:0 var(--table-cell-x);height:var(--table-row-h);text-align:left;vertical-align:middle;border-bottom:1px solid var(--line-soft);white-space:nowrap;background:var(--bg-surface)}.data-table thead th{height:var(--table-head-h);background:var(--table-head-bg);color:var(--ink-muted);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);border-bottom:1px solid var(--line)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td,.data-table tbody tr.force-hover td{background:var(--table-row-hover-bg)}.data-table .num{text-align:right}.data-table .col-code{font-family:var(--font-mono);font-size:var(--fs-meta-lg)}.data-table .muted,.data-table .is-empty{color:var(--ink-muted)}.data-table--sm th,.data-table--sm td{height:var(--table-row-h-compact);padding:0 var(--table-cell-x-compact);font-size:var(--fs-body-sm)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--fs-body-sm)}.pager__info{color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.pager__info b{color:var(--ink);font-weight:var(--fw-semibold)}.pager__pages{display:flex;align-items:center;gap:2px;list-style:none;flex-wrap:wrap}.pager__btn{min-width:var(--control-h-sm);height:var(--control-h-sm);padding:0 var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font-size:var(--fs-body-sm);font-feature-settings:var(--font-num-features);cursor:pointer}.pager__btn:hover,.pager__btn.force-hover{background:var(--table-row-hover-bg);color:var(--ink)}.pager__btn:focus-visible,.pager__btn.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:1px}.pager__btn[aria-current=page]{background:var(--primary-600);color:var(--bg-surface);font-weight:var(--fw-semibold)}.pager__btn:disabled{color:var(--disabled-fg);background:transparent;cursor:not-allowed;opacity:.6}.pager__ellipsis{color:var(--ink-muted);padding:0 var(--space-1)}.pager__size{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-muted)}.pager__size .select{width:auto}.lookup{display:grid;gap:var(--space-1);min-width:0;max-width:320px}.lookup__match{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;font-size:var(--fs-caption);color:var(--success-700)}.lookup__match .icon{width:var(--icon-xs);height:var(--icon-xs)}.lookup__alias{color:var(--ink-muted)}.lookup-query{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:flex-end}.lookup-query .field{flex:1 1 140px}.lookup-query .field--narrow{flex:0 1 140px}.choice{display:inline-flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-body);line-height:20px;color:var(--ink);cursor:pointer}.choice__input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:1px 0 0;display:grid;place-items:center;border:1px solid var(--checkbox-border);border-radius:var(--radius-xs);background:var(--checkbox-bg);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.choice__input--radio{border-radius:50%}.choice__input:hover,.choice__input.force-hover{border-color:var(--checkbox-checked-bg)}.choice__input:focus-visible,.choice__input.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.choice__input:checked,.choice__input:not(.choice__input--radio):indeterminate{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-bg)}.choice__input:checked:after{content:"";width:10px;height:5px;box-shadow:inset 2px -2px 0 var(--checkbox-check);transform:translateY(-1px) rotate(-45deg)}.choice__input:not(.choice__input--radio):indeterminate:after{content:"";width:10px;height:2px;background:var(--checkbox-check)}.choice__input--radio:checked{background:var(--checkbox-bg);border:5px solid var(--checkbox-checked-bg)}.choice__input--radio:checked:after{content:none}.choice__input[aria-invalid=true]{border-color:var(--input-error-border);background:var(--input-error-bg)}.choice__input:disabled{background:var(--disabled-bg);border-color:var(--disabled-border);cursor:not-allowed}.choice__input:disabled:checked,.choice__input:not(.choice__input--radio):disabled:indeterminate{background:var(--disabled-fg);border-color:var(--disabled-fg)}.choice__input--radio:disabled:checked{background:var(--disabled-bg);border-color:var(--disabled-fg)}.choice:has(.choice__input:disabled){color:var(--disabled-fg);cursor:not-allowed}.choice__note{display:block;font-size:var(--fs-caption);color:var(--ink-muted)}.choice-group{border:0;display:grid;gap:var(--space-2);min-width:0}.choice-group legend{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-2);padding:0}.choice-group--inline{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.choice-group--inline legend{width:100%}.switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-body);color:var(--ink);cursor:pointer}.switch__input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:36px;height:20px;margin:0;border-radius:var(--radius-pill);background:var(--input-border);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard)}.switch__input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease-standard)}.switch__input:checked{background:var(--btn-primary-bg)}.switch__input:checked:after{transform:translate(16px)}.switch__input:hover,.switch__input.force-hover{background:var(--input-border-hover)}.switch__input:checked:hover,.switch__input.force-hover:checked{background:var(--btn-primary-bg-hover)}.switch__input:focus-visible,.switch__input.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.switch__input:disabled{background:var(--disabled-bg);box-shadow:inset 0 0 0 1px var(--disabled-border);cursor:not-allowed}.switch__input:disabled:checked{background:var(--primary-300)}.switch:has(.switch__input:disabled){color:var(--disabled-fg);cursor:not-allowed}.switch__state{font-size:var(--fs-body-sm);color:var(--ink-muted);min-width:2em}.progress{position:relative;height:6px;border-radius:var(--radius-pill);background:var(--line-soft);overflow:hidden}.progress__bar{height:100%;border-radius:var(--radius-pill);background:var(--primary-600);transition:width var(--dur-base) var(--ease-standard)}.progress--success .progress__bar{background:var(--success-500)}.progress--error .progress__bar{background:var(--danger-600)}.progress--lg{height:10px}.progress--indeterminate .progress__bar{width:40%;position:absolute;animation:ds-indet var(--dur-loop-skeleton) var(--ease-standard) infinite}.upload{display:grid;gap:var(--space-3);min-width:0}.dropzone{position:relative;display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);border:2px dashed var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--ink-soft);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.dropzone__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--primary-50);color:var(--primary-600)}.dropzone__title{font-weight:var(--fw-semibold);color:var(--ink)}.dropzone__title u{color:var(--primary-700);text-underline-offset:2px}.dropzone__hint{font-size:var(--fs-caption);color:var(--ink-muted)}.dropzone__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone:hover,.dropzone.force-hover{border-color:var(--primary-500);background:var(--primary-50)}.dropzone:focus-within,.dropzone.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.dropzone.is-dragover{border-style:solid;border-color:var(--primary-600);background:var(--primary-100)}.dropzone.is-dragover .dropzone__icon{background:var(--primary-600);color:var(--bg-surface)}.dropzone.is-dragover .dropzone__hint{color:var(--ink-soft)}.dropzone.is-disabled{border-color:var(--disabled-border);background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}.dropzone.is-disabled .dropzone__title,.dropzone.is-disabled .dropzone__title u{color:var(--disabled-fg)}.dropzone.is-disabled .dropzone__icon{background:var(--bg-surface);color:var(--disabled-fg)}.file-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface)}.file-item__icon{width:36px;height:36px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--bg-paper);color:var(--secondary-700)}.file-item__main{display:grid;gap:var(--space-1);min-width:0}.file-item__name{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.file-item__meta{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.file-item__msg{font-size:var(--fs-caption);color:var(--danger-700)}.file-item--success .file-item__icon{background:var(--success-100);color:var(--success-700)}.file-item--success .file-item__meta{color:var(--success-700)}.file-item--error{border-color:var(--alert-danger-border);background:var(--alert-danger-bg)}.file-item--error .file-item__icon{background:var(--danger-100);color:var(--danger-700)}.file-item--error .file-item__meta{color:var(--ink-muted)}.sidenav{width:var(--sidebar-w);max-width:100%;background:var(--nav-bg);color:var(--nav-fg);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:100%;overflow:hidden}.sidenav__brand{display:flex;align-items:center;gap:var(--space-2);height:var(--header-h);padding:0 var(--space-4);font-size:var(--fs-body-sm);font-weight:var(--fw-bold);line-height:var(--lh-dense)}.sidenav__mark{width:28px;height:28px;flex:none;border-radius:var(--radius-sm);background:var(--primary-500);color:var(--bg-surface);display:grid;place-items:center}.sidenav__role{padding:var(--space-3) var(--space-4) var(--space-1);font-size:var(--fs-caption);color:var(--nav-group-fg)}.sidenav__list,.sidenav__sub{list-style:none}.sidenav__list{padding:var(--space-2);display:grid;gap:2px;flex:1;align-content:start}.sidenav__link,.sidenav__group-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--nav-fg);font-size:var(--fs-body);font-weight:var(--fw-medium);text-align:left;text-decoration:none;cursor:pointer}.sidenav__link .icon,.sidenav__group-btn .icon{width:var(--icon-md);height:var(--icon-md);color:var(--nav-group-fg)}.sidenav__link:hover,.sidenav__group-btn:hover,.sidenav__link.force-hover{background:var(--nav-item-hover-bg);color:var(--bg-surface)}.sidenav__link:active,.sidenav__group-btn:active,.sidenav__link.force-active{background:var(--primary-900)}.sidenav__link:focus-visible,.sidenav__group-btn:focus-visible,.sidenav__link.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring-on-deep);outline-offset:-2px}.sidenav__link[aria-current=page]{background:var(--nav-item-active-bg);color:var(--nav-item-active-fg);font-weight:var(--fw-semibold)}.sidenav__link[aria-current=page] .icon{color:var(--nav-item-active-fg)}.sidenav__link[aria-current=page]:focus-visible,.sidenav__link[aria-current=page].force-focus{outline-color:var(--focus-ring)}.sidenav__chev{margin-left:auto;width:var(--icon-sm)!important;height:var(--icon-sm)!important;transition:transform var(--dur-fast) var(--ease-standard)}.sidenav__group-btn[aria-expanded=false] .sidenav__chev{transform:rotate(-90deg)}.sidenav__sub{display:grid;gap:2px;padding:2px 0 var(--space-1)}.sidenav__sub .sidenav__link{min-height:36px;padding-left:calc(var(--space-3) + var(--icon-md) + var(--space-3));font-size:var(--fs-body-sm);font-weight:var(--fw-regular)}.sidenav__sub .sidenav__link[aria-current=page]{font-weight:var(--fw-semibold)}.sidenav__tag{margin-left:auto;font-size:var(--fs-caption);color:var(--nav-group-fg);border:1px solid var(--primary-600);border-radius:var(--radius-xs);padding:0 var(--space-1);line-height:18px}.sidenav__group-btn .sidenav__tag+.sidenav__chev{margin-left:var(--space-1)}.sidenav__foot{padding:var(--space-2)}.sidenav--rail{width:var(--sidebar-w-collapsed)}.sidenav--rail .sidenav__brand{justify-content:center;padding:0}.sidenav--rail .sidenav__link,.sidenav--rail .sidenav__group-btn{justify-content:center;padding:0;min-height:44px}.sidenav--rail .sidenav__role{display:none}.sidenav--rail .sidenav__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{display:flex;align-items:center;gap:var(--space-3);height:var(--header-h);padding:0 var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--line);min-width:0}.topbar__menu{display:none}.topbar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-bold);font-size:var(--fs-body);min-width:0;white-space:nowrap}.topbar__mark{width:28px;height:28px;flex:none;border-radius:var(--radius-sm);background:var(--primary-500);color:var(--bg-surface);display:grid;place-items:center}.topbar__spacer{flex:1}.topbar__user{font-size:var(--fs-body-sm);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar__user b{color:var(--ink);font-weight:var(--fw-semibold)}.topbar__user-short{display:none}.topbar__actions{display:flex;align-items:center;gap:var(--space-1);flex:none}.topbar__divider{width:1px;height:20px;background:var(--line)}.topbar--compact .topbar__menu{display:inline-flex}.topbar--compact .topbar__brand-text,.topbar--compact .topbar__user-full,.topbar--compact .btn__text{display:none}.topbar--compact .topbar__user-short{display:inline}.topbar--compact{padding:0 var(--space-2) 0 var(--space-1);gap:var(--space-2)}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;list-style:none;font-size:var(--fs-body-sm);color:var(--ink-muted)}.breadcrumb li{display:inline-flex;align-items:center}.breadcrumb li+li:before{content:"/";margin:0 var(--space-2);color:var(--ink-muted)}.breadcrumb a{color:var(--ink-soft);text-decoration:none;border-radius:var(--radius-xs)}.breadcrumb a:hover,.breadcrumb a.force-hover{color:var(--btn-ghost-fg);text-decoration:underline}.breadcrumb a.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:var(--fw-semibold)}.page-head{display:grid;gap:var(--space-2);padding:var(--space-5) var(--space-6);background:var(--bg-canvas)}.page-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.page-head__title{font-size:var(--fs-h1);font-weight:var(--fw-bold);line-height:var(--lh-heading)}.page-head__desc{font-size:var(--fs-body-sm);color:var(--ink-muted)}.shell-demo{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-canvas);min-width:0}.shell-demo--phone{max-width:360px}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.tabs__tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h-lg);padding:0 var(--space-4);border:0;background:transparent;color:var(--ink-soft);font-size:var(--fs-body);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tabs__tab:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:-1px;height:3px;border-radius:var(--radius-pill) var(--radius-pill) 0 0;background:transparent}.tabs__tab:hover,.tabs__tab.force-hover{color:var(--ink);background:var(--table-row-hover-bg)}.tabs__tab:focus-visible,.tabs__tab.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:-2px}.tabs__tab[aria-selected=true]{color:var(--btn-ghost-fg);font-weight:var(--fw-semibold)}.tabs__tab[aria-selected=true]:after{background:var(--btn-primary-bg)}.tabs__tab:disabled{color:var(--disabled-fg);background:transparent;cursor:not-allowed}.tabs__count{min-width:20px;height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--bg-paper);color:var(--ink-soft);font-size:var(--fs-caption);font-weight:var(--fw-semibold);display:inline-grid;place-items:center;font-feature-settings:var(--font-num-features)}.tabs__tab[aria-selected=true] .tabs__count{background:var(--primary-100);color:var(--primary-800)}.tabs-panel{padding:var(--space-5) 0 0}.segmented{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius-sm);background:var(--bg-paper);border:1px solid var(--line)}.segmented__btn{display:inline-flex;align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--ink-soft);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap}.segmented__btn:hover,.segmented__btn.force-hover{color:var(--ink);background:var(--bg-surface)}.segmented__btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:1px}.segmented__btn[aria-pressed=true]{background:var(--bg-surface);color:var(--btn-ghost-fg);font-weight:var(--fw-semibold);box-shadow:var(--shadow-1)}.segmented__btn:disabled{color:var(--disabled-fg);background:transparent;cursor:not-allowed}.pager__jump{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-muted)}.pager__jump .input{width:64px}.pager__compact{display:flex;align-items:center;gap:var(--space-2);font-feature-settings:var(--font-num-features)}.pager__compact b{font-weight:var(--fw-semibold)}.steps{display:flex;list-style:none;min-width:0}.steps__item{position:relative;flex:1 1 0;min-width:0;display:grid;justify-items:center;align-content:start;gap:var(--space-1);padding:0 var(--space-2);text-align:center}.steps__item:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;border-radius:var(--radius-pill);background:var(--line)}.steps__item.is-done:not(:last-child):after{background:var(--btn-primary-bg)}.steps__marker{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--input-border);background:var(--bg-surface);color:var(--ink-muted);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);font-feature-settings:var(--font-num-features);margin-bottom:var(--space-1)}.steps__label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--ink-soft)}.steps__desc{font-size:var(--fs-caption);color:var(--ink-muted)}.steps__item.is-done .steps__marker{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg)}.steps__item.is-current .steps__marker{border-color:var(--btn-primary-bg);color:var(--btn-ghost-fg);box-shadow:0 0 0 4px var(--primary-100)}.steps__item.is-current .steps__label{color:var(--ink);font-weight:var(--fw-bold)}.steps__item.is-error .steps__marker{background:var(--btn-danger-bg);border-color:var(--btn-danger-bg);color:var(--btn-danger-fg);box-shadow:0 0 0 4px var(--danger-100)}.steps__item.is-error .steps__label,.steps__item.is-error .steps__desc{color:var(--input-error-fg)}.steps__item.is-error .steps__label{font-weight:var(--fw-bold)}.steps--vertical{flex-direction:column}.steps--vertical .steps__item{grid-template-columns:32px minmax(0,1fr);justify-items:start;column-gap:var(--space-3);row-gap:2px;padding:0 0 var(--space-5);text-align:left}.steps--vertical .steps__marker{grid-row:span 2;margin:0}.steps--vertical .steps__label{padding-top:5px}.steps--vertical .steps__item:not(:last-child):after{top:36px;bottom:var(--space-1);left:15px;right:auto;width:2px;height:auto}.dialog__meta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-paper);border-radius:var(--radius-sm);font-size:var(--fs-body-sm)}.dialog__meta dt{color:var(--ink-muted)}.dialog__meta dd{color:var(--ink);font-feature-settings:var(--font-num-features)}.layer--drawer{place-items:stretch end;grid-template-rows:100%;padding:0;z-index:var(--z-drawer)}.drawer{position:relative;width:min(480px,100%);height:100%;display:flex;flex-direction:column;background:var(--bg-surface);box-shadow:var(--shadow-3);animation:ds-slide var(--dur-medium) var(--ease-emphasized)}.drawer--static{height:auto;animation:none;border-radius:var(--radius-lg);overflow:hidden}.drawer__head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--line-soft)}.drawer__body{flex:1;overflow:auto;padding:var(--space-5) var(--space-6);display:grid;gap:var(--space-5);align-content:start}.drawer__foot{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-top:1px solid var(--line-soft)}.drawer__section-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-muted);letter-spacing:var(--ls-meta-wide)}.record-list{list-style:none;display:grid}.record{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.record:first-child{padding-top:0}.record__head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.record__title{font-weight:var(--fw-semibold);color:var(--ink)}.record__time{font-size:var(--fs-body-sm);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.record__values{display:flex;gap:var(--space-5);flex-wrap:wrap;font-feature-settings:var(--font-num-features)}.record__values span{color:var(--ink-muted);font-size:var(--fs-body-sm);margin-right:var(--space-1)}.record__meta{font-size:var(--fs-caption);color:var(--ink-muted)}.record--primary{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);background:var(--bg-paper);border-radius:var(--radius-sm);border-bottom:0}.record--primary:first-child{padding-top:var(--space-3)}.toast-host{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:var(--z-toast);display:grid;gap:var(--space-2);width:min(380px,100vw - 2 * var(--page-gutter-mobile))}.toast-host--overlay{top:var(--space-6);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-3);animation:ds-rise var(--dur-base) var(--ease-decelerate)}.toast--static{animation:none;box-shadow:var(--shadow-2)}.toast__icon{margin-top:1px}.toast--success .toast__icon{color:var(--success-500)}.toast--warning .toast__icon{color:var(--amber-500)}.toast--error .toast__icon{color:var(--danger-600)}.toast--info .toast__icon{color:var(--info-500)}.toast__title{font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-heading)}.toast__text{font-size:var(--fs-body-sm);color:var(--ink-soft);margin-top:2px}.toast__action{margin-top:var(--space-2)}.toast__close{margin-top:-4px}.toast-stack{display:grid;gap:var(--space-2);width:min(380px,100%)}.alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border:1px solid;border-radius:var(--radius-md);font-size:var(--fs-body-sm)}.alert__icon{margin-top:1px}.alert__title{font-weight:var(--fw-semibold);color:var(--ink);font-size:var(--fs-body)}.alert__text{color:var(--ink-soft);margin-top:2px}.alert__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.alert__main .alert__actions{margin-top:var(--space-2)}.alert--info{background:var(--alert-info-bg);border-color:var(--alert-info-border)}.alert--info .alert__icon{color:var(--info-500)}.alert--info .alert__title{color:var(--alert-info-fg)}.alert--success{background:var(--alert-success-bg);border-color:var(--alert-success-border)}.alert--success .alert__icon{color:var(--success-500)}.alert--success .alert__title{color:var(--alert-success-fg)}.alert--warning{background:var(--alert-warn-bg);border-color:var(--alert-warn-border)}.alert--warning .alert__icon{color:var(--amber-500)}.alert--warning .alert__title{color:var(--alert-warn-fg)}.alert--error{background:var(--alert-danger-bg);border-color:var(--alert-danger-border)}.alert--error .alert__icon{color:var(--danger-600)}.alert--error .alert__title{color:var(--alert-danger-fg)}.alert--banner{border-radius:0;border-width:0 0 1px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.badge .icon{width:12px;height:12px}.badge--pass{background:var(--result-pass-bg);color:var(--result-pass-fg)}.badge--fail{background:var(--result-fail-bg);color:var(--result-fail-fg)}.badge--undetermined{background:var(--result-undetermined-bg);color:var(--result-undetermined-fg);border:1px dashed var(--result-undetermined-border)}.badge--draft{background:var(--status-draft-bg);color:var(--status-draft-fg)}.badge--submitted{background:var(--status-submitted-bg);color:var(--status-submitted-fg)}.badge--void{background:var(--status-void-bg);color:var(--status-void-fg);text-decoration:line-through}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge--running{background:var(--bg-surface);color:var(--ink);border-color:var(--line)}.badge--running:before{background:var(--success-500)}.badge--stopped{background:var(--status-void-bg);color:var(--status-void-fg)}.badge--stopped:before{background:var(--ink-muted)}.badge--neutral{background:var(--bg-paper);color:var(--ink-soft);border-color:var(--line)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.tag .icon{width:12px;height:12px}.tag--postclose{background:var(--tag-postclose-bg);color:var(--tag-postclose-fg);border-color:var(--tag-postclose-border)}.tag--report-changed{background:var(--report-changed-bg);color:var(--report-changed-fg)}.tag--report-changed .icon{color:var(--report-changed-icon)}.tag--cert-valid{background:var(--cert-valid-bg);color:var(--cert-valid-fg)}.tag--cert-3m{background:var(--cert-due-3m-bg);color:var(--cert-due-3m-fg)}.tag--cert-1m{background:var(--cert-due-1m-bg);color:var(--cert-due-1m-fg)}.tag--cert-expired{background:var(--cert-expired-bg);color:var(--cert-expired-fg)}.tag--regulated{background:var(--secondary-100);color:var(--secondary-900)}.tag--unregulated{background:var(--bg-surface);color:var(--ink-muted);border-color:var(--line)}.tag--neutral{background:var(--bg-paper);color:var(--ink-soft);border-color:var(--line)}.tag--latest{background:var(--primary-100);color:var(--primary-800)}.val-exceed{display:inline-flex;align-items:center;gap:2px;padding:1px var(--space-1);border-radius:var(--radius-xs);background:var(--result-fail-bg);color:var(--result-fail-fg);font-weight:var(--fw-bold);font-feature-settings:var(--font-num-features)}.val-exceed .icon{width:10px;height:10px}.val-empty{color:var(--ink-muted)}.history-list{list-style:none;display:grid}.history-item{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft)}.history-item:first-child{padding-top:0}.history-item__head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-body-sm);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.history-item__who{color:var(--ink);font-weight:var(--fw-semibold)}.history-item__field{font-weight:var(--fw-semibold);color:var(--ink)}.history-item__change{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-feature-settings:var(--font-num-features)}.history-item__old{color:var(--ink-muted);text-decoration:line-through}.history-item__new{color:var(--ink);font-weight:var(--fw-semibold)}.history-item__arrow{color:var(--ink-muted)}.history-item__note{font-size:var(--fs-caption);color:var(--ink-muted)}.history-item--origin .history-item__field{color:var(--ink-muted);font-weight:var(--fw-medium)}.has-tip{position:relative;display:inline-flex}.has-tip:before,.has-tip:after{position:absolute;left:50%;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard);z-index:var(--z-popover)}.has-tip:after{content:attr(data-tip);bottom:calc(100% + 8px);transform:translate(-50%);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--ink-on-deep);font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:var(--lh-dense);white-space:nowrap;box-shadow:var(--shadow-2)}.has-tip:before{content:"";bottom:calc(100% + 4px);width:8px;height:8px;background:var(--bg-deep);transform:translate(-50%) rotate(45deg)}.has-tip:hover:before,.has-tip:hover:after,.has-tip:focus-within:before,.has-tip:focus-within:after,.has-tip:focus-visible:before,.has-tip:focus-visible:after,.has-tip.force-tip:before,.has-tip.force-tip:after{opacity:1;transition-delay:var(--dur-base)}.has-tip.force-tip:before,.has-tip.force-tip:after{transition:none}.has-tip--bottom:after{bottom:auto;top:calc(100% + 8px)}.has-tip--bottom:before{bottom:auto;top:calc(100% + 4px)}.has-tip--wrap:after{white-space:normal;width:240px;text-align:left}.has-tip--left:after{left:auto;bottom:auto;right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.has-tip--left:before{left:auto;bottom:auto;right:calc(100% + 4px);top:50%;transform:translateY(-50%) rotate(45deg)}.has-tip--start:after{left:0;transform:none}.tip-demo{padding-top:var(--space-9)}.tip-demo--bottom{padding-top:0;padding-bottom:var(--space-9)}.truncate{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.empty{display:grid;justify-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-5)}.empty__icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bg-paper);color:var(--ink-muted);margin-bottom:var(--space-1)}.empty__icon--error{background:var(--danger-50);color:var(--danger-600)}.empty__title{font-size:var(--fs-h4);font-weight:var(--fw-bold);color:var(--ink)}.empty__text{font-size:var(--fs-body-sm);color:var(--ink-muted);max-width:380px}.empty__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.empty--compact{padding:var(--space-5)}.empty--compact .empty__icon{width:36px;height:36px}.surface{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}.skeleton{display:block;border-radius:var(--radius-xs);background:var(--line-soft);animation:ds-pulse var(--dur-loop-skeleton) var(--ease-standard) infinite}.skeleton--text{height:12px}.skeleton--title{height:20px}.skeleton--kpi{height:32px;width:60%}.skeleton--circle{width:32px;height:32px;border-radius:50%}.skeleton--chart{height:160px;border-radius:var(--radius-sm)}.skeleton-card{display:grid;gap:var(--space-3);padding:var(--space-5)}.skeleton-rows{display:grid}.skeleton-rows>div{display:grid;grid-template-columns:24px 1fr 1fr 1fr 80px;gap:var(--space-4);align-items:center;height:var(--table-row-h);padding:0 var(--table-cell-x);border-bottom:1px solid var(--line-soft)}.skeleton-rows>div:first-child{background:var(--table-head-bg);height:var(--table-head-h)}.progress-field{display:grid;gap:var(--space-2);min-width:0}.progress-field__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--fs-body-sm)}.progress-field__label{font-weight:var(--fw-semibold);color:var(--ink)}.progress-field__pct{font-feature-settings:var(--font-num-features);color:var(--ink-soft);font-weight:var(--fw-semibold)}.progress-field__meta{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.progress-field--success .progress-field__meta{color:var(--success-700)}.progress-field--error .progress-field__meta{color:var(--input-error-fg)}.loading-inline{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--ink-muted)}.loading-inline .spinner{color:var(--primary-600)}.loading-block{position:relative;min-height:160px;overflow:hidden}.loading-block:before{content:"";position:absolute;inset:0;background:var(--bg-surface);opacity:.78;z-index:1}.loading-block__msg{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--ink-soft)}.loading-block__msg .spinner{width:24px;height:24px;color:var(--primary-600)}.list-panel{display:grid;gap:var(--space-3);min-width:0}.chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm)}.chip-row__label{color:var(--ink-muted)}.chip{display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 2px 0 var(--space-3);border:1px solid var(--primary-100);border-radius:var(--radius-pill);background:var(--primary-50);color:var(--ink);font-size:var(--fs-body-sm);white-space:nowrap;font-feature-settings:var(--font-num-features)}.chip b{font-weight:var(--fw-semibold)}.chip__remove{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-muted);cursor:pointer}.chip__remove:hover{background:var(--primary-100);color:var(--ink)}.chip__remove:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:0}.batch-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-4);background:var(--table-row-selected-bg);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--fs-body-sm);color:var(--ink)}.batch-bar b{font-feature-settings:var(--font-num-features)}.batch-bar__actions{display:flex;gap:var(--space-2);margin-left:auto;flex-wrap:wrap}.data-table thead th{position:sticky;top:0;z-index:var(--z-sticky)}.data-table th.num .data-table__sort{flex-direction:row-reverse}.data-table .col-check{width:44px;min-width:44px;padding:0 0 0 var(--table-cell-x)}.data-table .col-check .choice__input{margin:0}.data-table .col-id{font-family:var(--font-mono);font-size:var(--fs-meta-lg);font-weight:var(--fw-medium);color:var(--ink)}.data-table .col-actions{width:1%}.data-table .cell-stack.cell-stack--col{flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-1) 0}.popover--fixed{position:fixed;top:0;left:0}.data-table th.th-wrap{white-space:normal;line-height:var(--lh-dense);min-width:84px}.data-table--head2 thead th{height:var(--control-h-sm)}.data-table--head2 thead tr+tr th{top:var(--control-h-sm)}.data-table th.th-group{text-align:center;border-bottom:1px solid var(--line-soft)}.data-table th.th-wrap .data-table__sort{white-space:normal;text-align:right;line-height:var(--lh-dense)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);margin:0 calc(-1 * var(--space-1));padding:var(--space-1);border:0;border-radius:var(--radius-xs);background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.data-table__sort:hover{color:var(--ink);background:var(--table-row-hover-bg)}.data-table__sort:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:0}.data-table__sort .icon{width:14px;height:14px;color:var(--ink-faint)}.data-table th[aria-sort=ascending],.data-table th[aria-sort=descending]{color:var(--ink)}.data-table th[aria-sort=ascending] .data-table__sort .icon,.data-table th[aria-sort=descending] .data-table__sort .icon{color:var(--btn-ghost-fg)}.data-table tbody tr.is-selected td{background:var(--table-row-selected-bg)}.data-table--striped tbody tr:nth-child(2n) td{background:var(--table-stripe-bg)}.data-table--striped tbody tr:hover td{background:var(--table-row-hover-bg)}.data-table tbody tr.data-table__row--unqualified td,.data-table tbody tr.data-table__row--unqualified:hover td{background:var(--result-fail-row)}.data-table tbody tr.data-table__row--unqualified:hover td{box-shadow:inset 0 1px 0 var(--highlight-500),inset 0 -1px 0 var(--highlight-500)}.data-table tbody tr.data-table__row--unqualified.is-selected td{background:var(--table-row-selected-bg)}.data-table tbody tr.data-table__row--void td{color:var(--status-void-fg)}.data-table tbody tr.data-table__row--void .col-id{color:var(--status-void-fg);text-decoration:line-through}.data-table tbody tr.data-table__row--void .badge:not(.badge--void),.data-table tbody tr.data-table__row--void .tag{background:var(--status-void-bg);color:var(--status-void-fg);border-color:transparent}.data-table--compact th,.data-table--compact td{height:var(--table-row-h-compact);padding-left:var(--table-cell-x-compact);padding-right:var(--table-cell-x-compact);font-size:var(--fs-body-sm)}.data-table--compact thead th{height:var(--table-row-h-compact)}.data-table .is-sticky-start{position:sticky;left:0;z-index:1}.data-table .is-sticky-start--2{left:44px;box-shadow:inset -1px 0 0 var(--line)}.data-table .is-sticky-end{position:sticky;right:0;z-index:1;box-shadow:inset 1px 0 0 var(--line)}.data-table thead .is-sticky-start,.data-table thead .is-sticky-end{z-index:calc(var(--z-sticky) + 1)}.data-table tbody tr.data-table__row--unqualified:hover td.is-sticky-start--2{box-shadow:inset -1px 0 0 var(--line),inset 0 1px 0 var(--highlight-500),inset 0 -1px 0 var(--highlight-500)}.data-table tbody tr.data-table__row--unqualified:hover td.is-sticky-end{box-shadow:inset 1px 0 0 var(--line),inset 0 1px 0 var(--highlight-500),inset 0 -1px 0 var(--highlight-500)}.data-table .cell-stack{display:inline-flex;gap:var(--space-1);align-items:center}.data-table td.cell-empty{height:auto;padding:0;white-space:normal}.table-wrap--fixed{max-height:520px;overflow:auto}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.col-menu{padding:var(--space-2) var(--space-3);display:grid;gap:var(--space-2);min-width:200px}.col-menu__title{font-size:var(--fs-caption);color:var(--ink-muted);font-weight:var(--fw-semibold)}.import-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.import-summary{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:center;font-size:var(--fs-body-sm);color:var(--ink-soft);font-feature-settings:var(--font-num-features)}.import-summary b{color:var(--ink)}.import-summary .is-error b{color:var(--input-error-fg)}.data-table .col-row{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--ink-muted);width:56px}.data-table .col-row .icon{width:14px;height:14px;color:var(--danger-600);margin-right:2px}.data-table tbody tr.data-table__row--error td,.data-table tbody tr.data-table__row--error:hover td{background:var(--import-error-row-bg)}.data-table tbody tr.data-table__row--error .col-row{color:var(--input-error-fg);font-weight:var(--fw-semibold)}.data-table td.cell--error{box-shadow:inset 0 0 0 1px var(--input-error-border);color:var(--input-error-fg)}.cell-fix{display:grid;gap:var(--space-1);padding:var(--space-2) 0;white-space:normal;min-width:210px}.cell-fix__raw{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--input-error-fg)}.cell-fix .input-group{width:190px}.cell-fix__actions{display:flex;gap:var(--space-1);align-items:center;flex-wrap:wrap}.cell-fix__msg{font-size:var(--fs-caption);color:var(--input-error-fg)}.rate-input{width:80px}.cell-hint{display:grid;gap:2px;white-space:normal;padding:var(--space-1) 0}.cell-hint__sub{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-caption);color:var(--info-700)}.cell-hint__sub .icon{width:12px;height:12px}.cell-hint__sub--ok{color:var(--success-700)}.import-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.qb{display:grid;gap:var(--space-2)}.qb__head,.qb__row{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.7fr) 88px 32px;gap:var(--space-2);align-items:start}.qb__head{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-muted)}.qb__n{height:var(--control-h-sm);display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--ink-muted)}.qb__value{display:flex;gap:var(--space-1);align-items:center;min-width:0}.qb__value .input,.qb__value .select{flex:1;min-width:0}.qb__value-sep{color:var(--ink-muted)}.qb__cell{display:grid;gap:2px;min-width:0}.qb__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.qb__count{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.memory{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-paper);border-radius:var(--radius-sm)}.memory .field{flex:1 1 180px}.memory__note{flex-basis:100%;font-size:var(--fs-caption);color:var(--ink-muted)}.sort-list{list-style:none;display:grid;gap:var(--space-2)}.sort-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto 32px;gap:var(--space-2);align-items:center}.sort-row__rank{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--ink-soft)}.sort-row.is-unset .sort-row__rank{color:var(--ink-muted);font-weight:var(--fw-regular)}.export-all{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line-soft)}.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2) var(--space-4)}.export-file{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;font-size:var(--fs-body-sm);color:var(--ink-soft)}.export-file code{font-size:var(--fs-meta)}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.kpi{display:grid;gap:var(--space-1);align-content:start;padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);color:var(--ink);text-decoration:none;min-width:0;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}a.kpi:hover,.kpi.force-hover{border-color:var(--primary-400);box-shadow:var(--shadow-2);color:var(--ink)}a.kpi:focus-visible,.kpi.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.kpi__label{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--ink-muted)}.kpi__label .icon{color:var(--ink-muted)}.kpi__value{font-size:var(--fs-kpi-l);font-weight:var(--fw-bold);line-height:var(--lh-display-tight);letter-spacing:var(--ls-display-tight);font-feature-settings:var(--font-num-features);color:var(--ink)}.kpi__unit{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--ink-soft);margin-left:var(--space-1);letter-spacing:0}.kpi__value--alert{color:var(--danger-500)}.kpi__value--muted{color:var(--ink-muted)}.kpi__meta{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.kpi__meta a{font-weight:var(--fw-semibold)}.kpi .progress{margin-top:var(--space-2)}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md)}.stat-row>div{padding:var(--space-4);border-left:1px solid var(--line-soft);display:grid;gap:2px;min-width:0}.stat-row>div:first-child{border-left:0}.stat-row__label{font-size:var(--fs-caption);color:var(--ink-muted)}.stat-row__value{font-size:var(--fs-kpi-s);font-weight:var(--fw-bold);font-feature-settings:var(--font-num-features)}.work-list{list-style:none;display:grid}.work-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-body-sm)}.work-list li:last-child{border-bottom:0}.work-list b{font-feature-settings:var(--font-num-features)}.ucal{display:grid;gap:var(--space-3);padding:var(--space-5);min-width:0}.ucal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ucal__title{font-weight:var(--fw-bold);font-size:var(--fs-h4);font-feature-settings:var(--font-num-features)}.ucal__sub{font-size:var(--fs-caption);color:var(--ink-muted)}.ucal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}.ucal__dow{text-align:center;font-size:var(--fs-caption);color:var(--ink-muted)}.ucal__blank{height:52px}.ucal__day{display:grid;align-content:space-between;height:52px;padding:var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--ink);text-align:left;cursor:pointer;font-feature-settings:var(--font-num-features);min-width:0}.ucal__d{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);line-height:1.2}.ucal__n{font-size:var(--fs-caption);justify-self:end;line-height:1.2}.ucal__day--l0{background:var(--heat-0-bg);color:var(--heat-0-fg);border-color:var(--line)}.ucal__day--l1{background:var(--heat-1-bg);color:var(--heat-1-fg)}.ucal__day--l2{background:var(--heat-2-bg);color:var(--heat-2-fg)}.ucal__day--l3{background:var(--heat-3-bg);color:var(--heat-3-fg)}.ucal__day--l4{background:var(--heat-4-bg);color:var(--heat-4-fg)}.ucal__day--marked{background:var(--calendar-marked-bg);color:var(--calendar-marked-fg)}.ucal__day:hover{box-shadow:0 0 0 2px var(--primary-400)}.ucal__day:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:1px}.ucal__day.is-today{outline:2px solid var(--calendar-today-ring);outline-offset:1px}.ucal__day.is-today:focus-visible{outline:2px solid var(--calendar-today-ring);outline-offset:1px}.ucal__day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--bg-surface),inset 0 0 0 4px var(--ink);font-weight:var(--fw-bold)}.ucal__day:disabled{background:transparent;border:1px dashed var(--line);color:var(--disabled-fg);box-shadow:none;cursor:default}.ucal__legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-4);font-size:var(--fs-caption);color:var(--ink-soft)}.ucal__legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.ucal__sw{width:14px;height:14px;border-radius:var(--radius-xs);border:1px solid var(--line);flex:none}.ucal__sw.ucal__day--l1,.ucal__sw.ucal__day--l2,.ucal__sw.ucal__day--l3,.ucal__sw.ucal__day--l4,.ucal__sw.ucal__day--marked{border-color:transparent}.ucal__detail{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--line-soft);font-size:var(--fs-body-sm);font-feature-settings:var(--font-num-features)}.chart-card{display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}.chart-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.chart-card__title{font-size:var(--fs-h4);font-weight:var(--fw-bold)}.chart-card__sub{font-size:var(--fs-caption);color:var(--ink-muted);font-feature-settings:var(--font-num-features)}.chart-card__foot{font-size:var(--fs-caption);color:var(--ink-muted);border-top:1px solid var(--line-soft);padding-top:var(--space-3)}.chart-legend{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--fs-caption);color:var(--ink-soft)}.chart-legend li{display:inline-flex;align-items:center;gap:var(--space-1)}.chart-legend svg{width:24px;height:10px}.chart-plot{overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-plot svg{display:block;width:100%;min-width:520px;height:auto}.chart-svg text{font-family:var(--font-body);font-size:var(--fs-body-lg);fill:var(--chart-axis);font-feature-settings:var(--font-num-features)}.chart-svg .grid{stroke:var(--chart-grid);stroke-width:1}.chart-svg .axis{stroke:var(--line-deep);stroke-width:1}.chart-svg .ln{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-svg .pt{fill:var(--bg-surface);stroke-width:2}.chart-svg .lbl{fill:var(--ink);font-weight:var(--fw-semibold)}.s-1{stroke:var(--series-1)}.s-2{stroke:var(--series-2);stroke-dasharray:7 4}.s-3{stroke:var(--series-3);stroke-dasharray:2 4}.pt.s-2,.pt.s-3{stroke-dasharray:none}.f-1{fill:var(--series-1)}.f-2{fill:var(--series-2)}.f-3{fill:var(--series-3)}.f-4{fill:var(--series-4)}.f-5{fill:var(--series-5)}.f-6{fill:var(--series-6)}.f-other{fill:var(--series-other)}.hbar{display:grid;gap:var(--space-2)}.hbar__row{display:grid;grid-template-columns:112px minmax(0,1fr) 60px;gap:var(--space-3);align-items:center;font-size:var(--fs-body-sm)}.hbar__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar__track{height:18px;border-radius:var(--radius-xs);background:var(--bg-paper);overflow:hidden}.hbar__bar{display:block;height:100%;border-radius:var(--radius-xs);background:var(--series-1)}.hbar__value{text-align:right;font-weight:var(--fw-semibold);font-feature-settings:var(--font-num-features)}.hbar__scale{display:grid;grid-template-columns:112px minmax(0,1fr) 60px;gap:var(--space-3);font-size:var(--fs-caption);color:var(--chart-axis);font-feature-settings:var(--font-num-features)}.hbar__scale span:nth-child(2){display:flex;justify-content:space-between}.palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-3)}.palette__item{display:grid;gap:var(--space-1);font-size:var(--fs-caption);color:var(--ink-soft);min-width:0}.palette__item code{font-size:var(--fs-meta-sm)}.palette__sw{height:32px;border-radius:var(--radius-xs)}.bg-s1{background:var(--series-1)}.bg-s2{background:var(--series-2)}.bg-s3{background:var(--series-3)}.bg-s4{background:var(--series-4)}.bg-s5{background:var(--series-5)}.bg-s6{background:var(--series-6)}.bg-sother{background:var(--series-other)}.gis{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-4);align-items:start}.gis-map{position:relative;min-width:0;background:var(--bg-canvas);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.gis-map>svg{display:block;width:100%;height:440px}.gis-land{fill:var(--secondary-100);stroke:var(--line-deep);stroke-width:1}.gis-mk{cursor:pointer;outline:none}.gis-mk .shape{stroke:var(--gis-marker-stroke);stroke-width:2}.gis-mk--pass .shape{fill:var(--gis-pass)}.gis-mk--watch .shape{fill:var(--gis-watch)}.gis-mk--fail .shape{fill:var(--gis-fail)}.gis-legend .shape,.station-card .shape{stroke:var(--gis-marker-stroke);stroke-width:1.5}.gis-mk .ring{fill:none;stroke:var(--focus-ring);stroke-width:2;opacity:0}.gis-mk:hover .ring{opacity:.6}.gis-mk:focus-visible .ring,.gis-mk.is-selected .ring{opacity:1}.gis-map__ctrl{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;gap:var(--space-1)}.gis-map__credit{position:absolute;left:var(--space-3);bottom:var(--space-3);padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--bg-surface);font-size:var(--fs-caption);color:var(--ink-muted)}.gis-map__legend{position:absolute;left:var(--space-3);top:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-1)}.gis-legend{list-style:none;display:grid;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--ink)}.gis-legend li{display:flex;align-items:center;gap:var(--space-2)}.gis-legend svg{width:16px;height:16px;flex:none}.gis-legend__title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--ink-muted)}.gis-legend__note{font-size:var(--fs-caption);color:var(--ink-muted)}.station-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-3);min-width:0}.station-card--flat{box-shadow:var(--shadow-1)}.station-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.station-card__name{font-size:var(--fs-h4);font-weight:var(--fw-bold)}.station-card__addr{font-size:var(--fs-caption);color:var(--ink-muted)}.station-card__tags{display:flex;gap:var(--space-1);flex-wrap:wrap}.station-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.station-card__stats dt{font-size:var(--fs-caption);color:var(--ink-muted)}.station-card__stats dd{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-kpi-s);font-weight:var(--fw-bold);font-feature-settings:var(--font-num-features)}.station-card__stats dd svg{width:14px;height:14px}.station-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.notice{display:grid;gap:var(--space-2);padding:var(--space-5);min-width:0}.notice__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.notice__title{font-size:var(--fs-h4);font-weight:var(--fw-bold)}.notice-list{list-style:none;display:grid}.notice-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none}.notice-list li:last-child .notice-item{border-bottom:0}.notice-item:hover,.notice-item.force-hover{background:var(--table-row-hover-bg);color:var(--ink)}.notice-item:focus-visible,.notice-item.force-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:-2px}.notice-item__date{font-size:var(--fs-body-sm);color:var(--ink-muted);font-feature-settings:var(--font-num-features);white-space:nowrap}.notice-item__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-item .tag{justify-self:start}.notice-item__clip{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-caption);color:var(--ink-muted);white-space:nowrap}.data-table .col-origin,.data-table .val-old{color:var(--ink-muted)}.data-table .val-new{font-weight:var(--fw-semibold)}.data-table td.wrap{white-space:normal;min-width:160px}.expand-btn .icon{transition:transform var(--dur-fast) var(--ease-standard)}.expand-btn[aria-expanded=true] .icon{transform:rotate(90deg)}.data-table tr.data-table__detail td{height:auto;padding:var(--space-3) var(--space-4) var(--space-4) calc(var(--space-4) + 36px);background:var(--bg-canvas);white-space:normal}.detail-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-4);font-size:var(--fs-body-sm)}.detail-dl dt{color:var(--ink-muted)}.detail-dl dd{font-feature-settings:var(--font-num-features)}.data-table tr.data-table__row--old td{color:var(--ink-muted)}.report-name{display:grid;gap:2px}.report-name__sub{font-size:var(--fs-caption);color:var(--ink-muted)}.report-name{padding:var(--space-1) 0}.login{display:grid;gap:var(--space-5);width:100%;max-width:400px;padding:var(--space-7) var(--space-6);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);align-content:start}.login__brand{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.login__mark{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-500);color:var(--bg-surface);display:grid;place-items:center}.login__title{font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-heading)}.login__org{font-size:var(--fs-body-sm);color:var(--ink-muted)}.login__form{display:grid;gap:var(--space-4)}.captcha{display:flex;gap:var(--space-2);align-items:stretch}.captcha .input{flex:1}.captcha__img{width:116px;height:var(--control-h);flex:none;border-radius:var(--radius-sm);background:var(--bg-paper);border:1px solid var(--line)}.captcha__img text{font-family:var(--font-mono);font-size:var(--fs-kpi-s);font-weight:var(--fw-medium);fill:var(--ink-soft);letter-spacing:3px}.captcha__img .noise{stroke:var(--line-deep);stroke-width:1;fill:none}.login__foot{font-size:var(--fs-caption);color:var(--ink-muted);text-align:center}.pp-app{display:grid;grid-template-columns:auto minmax(0,1fr);background:var(--bg-canvas)}.pp-app>.topbar{grid-column:1/-1}.pp-app>.sidenav{border-radius:0;min-height:100%}.pp-app__main{min-width:0;display:grid;align-content:start}.pp-page{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-6);align-content:start;min-width:0}.pp-app .page-head{padding-bottom:var(--space-3)}.pp-cols{display:grid;gap:var(--space-4);min-width:0;align-items:start}.pp-cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-cols--risk{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.pp-panel{display:grid;gap:var(--space-3);padding:var(--space-5);align-content:start}.pp-panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.pp-panel__title{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-h4);font-weight:var(--fw-bold)}.pp-panel__title .icon{color:var(--amber-700)}.pp-panel__meta{font-size:var(--fs-caption);color:var(--ink-muted)}.pp-risk{list-style:none;display:grid}.pp-risk li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-body-sm)}.pp-risk li:last-child{border-bottom:0}.pp-risk__dim{color:var(--ink-muted);font-size:var(--fs-caption)}.pp-risk__n{font-feature-settings:var(--font-num-features);color:var(--ink-soft);white-space:nowrap}.pp-panel__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.pp-todo li b{color:var(--ink);white-space:nowrap}.pp-todo li span:first-child{display:inline-flex;align-items:flex-start;gap:var(--space-2)}.pp-todo li .icon{color:var(--ink-muted)}.pp-todo li span:first-child .icon{margin-top:3px}.shell-demo--app{max-height:560px;overflow:hidden}.shell-demo--app .pp-app{min-height:520px;grid-template-rows:auto minmax(0,1fr)}@media(max-width:767px){.form-grid,.form-grid--3{grid-template-columns:minmax(0,1fr)}.query-bar .field{width:100%}.query-bar__actions{margin-left:0;margin-top:0}.layer{padding:var(--space-4)}.dialog{max-height:calc(100vh - 2 * var(--space-4))}.dialog--static{max-height:none}.dialog__head,.dialog__body,.dialog__foot{padding-left:var(--space-4);padding-right:var(--space-4)}.topbar{padding:0 var(--space-2) 0 var(--space-1);gap:var(--space-2)}.topbar__menu{display:inline-flex}.topbar__brand-text,.topbar__user-full,.topbar .btn__text{display:none}.topbar__user-short{display:inline}.page-head{padding:var(--space-4)}.steps:not(.steps--keep){flex-direction:column}.steps:not(.steps--keep) .steps__item{grid-template-columns:32px minmax(0,1fr);justify-items:start;column-gap:var(--space-3);row-gap:2px;padding:0 0 var(--space-4);text-align:left}.steps:not(.steps--keep) .steps__marker{grid-row:span 2;margin:0}.steps:not(.steps--keep) .steps__label{padding-top:5px}.steps:not(.steps--keep) .steps__item:not(:last-child):after{top:36px;bottom:var(--space-1);left:15px;right:auto;width:2px;height:auto}.drawer__head,.drawer__body,.drawer__foot{padding-left:var(--space-4);padding-right:var(--space-4)}.toast-host{right:var(--page-gutter-mobile);bottom:var(--page-gutter-mobile)}.toast-host--overlay{top:var(--page-gutter-mobile);right:auto;bottom:auto}.alert>.alert__actions{grid-column:2/-1}.layer--drawer{padding:0}.qb__head{display:none}.qb__row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft)}.qb__row>.qb__cell--value{grid-column:2/-1}.qb__row>.qb__cell--logic{grid-column:2}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sort-row{grid-template-columns:56px minmax(0,1fr) auto 32px}.kpi-grid{grid-template-columns:minmax(0,1fr)}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-row>div:nth-child(3){border-left:0}.stat-row>div:nth-child(n+3){border-top:1px solid var(--line-soft)}.ucal{padding:var(--space-3)}.pp-cols--2,.pp-cols--risk,.pp-app{grid-template-columns:minmax(0,1fr)}.pp-app>.sidenav{display:none}.pp-page{padding:var(--space-3) var(--space-4) var(--space-4)}.pp-risk li{grid-template-columns:minmax(0,1fr) auto}.pp-risk li>:first-child{grid-column:1/-1}.data-table .row-actions__primary{display:none}.ucal__day{padding:var(--space-1)}.palette{grid-template-columns:repeat(4,minmax(0,1fr))}.hbar__row,.hbar__scale{grid-template-columns:84px minmax(0,1fr) 52px;gap:var(--space-2)}.gis{grid-template-columns:minmax(0,1fr)}.gis-map>svg{height:380px}.gis-map__legend{position:static;margin:var(--space-3);box-shadow:none}.notice{padding:var(--space-3)}.notice-item{grid-template-columns:auto minmax(0,1fr) auto;row-gap:var(--space-1)}.notice-item__title{grid-column:1/-1;grid-row:2;white-space:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cdk-overlay-container{z-index:var(--z-modal)}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-z-modal{z-index:calc(var(--z-modal) * -1)}.-z-toast{z-index:calc(var(--z-toast) * -1)}.col-span-full{grid-column:1 / -1}.mt-space-2{margin-top:var(--space-2)}.mt-space-4{margin-top:var(--space-4)}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-11\/12{width:91.666667%}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-5\/6{width:83.333333%}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.flex-none{flex:none}.grow{flex-grow:1}.basis-\[14rem\]{flex-basis:14rem}.basis-\[16rem\]{flex-basis:16rem}.basis-\[18rem\]{flex-basis:18rem}.basis-\[20rem\]{flex-basis:20rem}.basis-full{flex-basis:100%}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-space-1{gap:var(--space-1)}.gap-space-2{gap:var(--space-2)}.gap-space-3{gap:var(--space-3)}.gap-space-4{gap:var(--space-4)}.gap-space-5{gap:var(--space-5)}.gap-space-6{gap:var(--space-6)}.gap-space-7{gap:var(--space-7)}.overflow-hidden{overflow:hidden}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.border{border-width:1px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-t-0{border-top-width:0px}.bg-canvas{background-color:var(--bg-canvas)}.bg-transparent{background-color:transparent}.p-space-5{padding:var(--space-5)}.p-space-6{padding:var(--space-6)}.p-space-7{padding:var(--space-7)}.px-space-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-space-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.pt-space-4{padding-top:var(--space-4)}.text-left{text-align:left}.text-center{text-align:center}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media(min-width:768px){.lg\:px-space-6{padding-left:var(--space-6);padding-right:var(--space-6)}}
