@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2) format("woff2"),url(/assets/roboto-latin-400-normal-D27F5sTu.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format("woff2"),url(/assets/roboto-latin-500-normal-fsTFPL3E.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-latin-700-normal-BZpUvMxY.woff2) format("woff2"),url(/assets/roboto-latin-700-normal-YuyVweIx.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/roboto-latin-900-normal-lk0O8k6m.woff2) format("woff2"),url(/assets/roboto-latin-900-normal-BB3clvIY.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-normal-GekRknry.woff2) format("woff2"),url(/assets/roboto-mono-latin-400-normal-DBZPkcnn.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-mono-latin-500-normal-pxIOXZmA.woff2) format("woff2"),url(/assets/roboto-mono-latin-500-normal-D6j6AMzd.woff) format("woff")}:root{--blue-950: #0c1f34;--blue-900: #10263f;--blue-800: #14375c;--blue-700: #1c4d80;--blue-600: #2766a6;--blue-500: #3a82c4;--blue-400: #5c9dd6;--blue-300: #8fbde0;--blue-200: #bcd8ee;--blue-100: #e2eef7;--blue-50: #f2f8fc;--gold-500: #ecb03e;--orange-500: #ea8936;--flame-500: #e96b33;--red-500: #e8452f;--cream-200: #f8ecd6;--slate-950: #0d1520;--slate-900: #16202e;--slate-800: #24303f;--slate-700: #37475a;--slate-600: #566577;--slate-500: #758494;--slate-400: #9aa7b5;--slate-300: #c2cbd5;--slate-200: #dde3ea;--slate-100: #eef1f5;--slate-50: #f7f9fb;--white: #ffffff;--ink: #0d0d0f;--success-500: #1a7a50;--success-600: #17704a;--success-100: #dcefe6;--warning-500: #b8820f;--warning-100: #fbeecc;--danger-500: #e8452f;--danger-600: #c5321e;--danger-100: #fbdcd6;--info-500: #3a82c4;--info-100: #dbeaf6;--badge-success-text: #14603f;--badge-warning-text: #8a6212;--badge-danger-text: #a3271a;--badge-accent-text: #9a3d15;--badge-accent-bg: #fbe4d3;--gradient-flare: linear-gradient(135deg, #ecb03e 0%, #ea8936 45%, #e8452f 100%);--gradient-sphere: radial-gradient(circle at 38% 32%, #f8ecd6 0%, #ecb03e 30%, #ea8936 60%, #e8452f 88%, #973a1e 100%);--gradient-vault: linear-gradient(160deg, #1c4d80 0%, #14375c 55%, #0c1f34 100%);--text-strong: var(--slate-900);--text-body: var(--slate-700);--text-muted: var(--slate-500);--text-inverse: var(--white);--text-brand: var(--blue-600);--text-accent: var(--orange-500);--text-link: var(--blue-600);--text-link-hover: var(--blue-800);--surface-page: var(--white);--surface-card: var(--white);--surface-sunken: var(--slate-100);--surface-navy: var(--blue-800);--surface-navy-deep: var(--blue-950);--surface-code: var(--blue-950);--border-subtle: var(--slate-200);--border-default: var(--slate-300);--border-strong: var(--slate-700);--border-ink: var(--ink);--action-primary: var(--blue-600);--action-primary-hover: var(--blue-700);--action-primary-active: var(--blue-800);--action-accent: var(--orange-500);--action-accent-hover: var(--flame-500);--focus-ring: var(--blue-400);--font-display: "Roboto", system-ui, -apple-system, sans-serif;--font-condensed: "Roboto Condensed", "Roboto", system-ui, sans-serif;--font-body: "Roboto", system-ui, -apple-system, sans-serif;--font-mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--text-4xl: 48px;--text-5xl: 62px;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-caps: .08em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 11px;--radius-pill: 999px;--container-max: 1200px;--sidebar-w: 248px;--topbar-h: 60px;--bw-hair: 1px;--bw-1: 1.5px;--bw-2: 2px;--bw-ink: 2.5px;--shadow-xs: 0 1px 2px rgba(12, 31, 52, .08);--shadow-sm: 0 1px 3px rgba(12, 31, 52, .1), 0 1px 2px rgba(12, 31, 52, .06);--shadow-md: 0 4px 10px rgba(12, 31, 52, .1), 0 2px 4px rgba(12, 31, 52, .06);--shadow-lg: 0 12px 28px rgba(12, 31, 52, .14), 0 4px 10px rgba(12, 31, 52, .08);--shadow-xl: 0 24px 48px rgba(12, 31, 52, .2);--glow-accent: 0 0 0 1px rgba(234, 137, 54, .35), 0 6px 20px rgba(232, 69, 47, .28);--ring-focus: 0 0 0 3px rgba(58, 130, 196, .35);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s}[data-theme=dark]{--text-strong: var(--slate-50);--text-body: var(--slate-300);--text-muted: var(--slate-400);--text-inverse: var(--blue-950);--text-brand: var(--blue-300);--text-accent: var(--orange-500);--text-link: var(--blue-300);--text-link-hover: var(--blue-200);--surface-page: #021a34;--surface-card: #003366;--surface-sunken: #002a55;--surface-navy: #003366;--surface-navy-deep: #001f3f;--surface-code: #001f3f;--border-subtle: #1f4a78;--border-default: #5583b3;--border-strong: #7fa3c8;--border-ink: #000000;--action-primary: var(--blue-600);--action-primary-hover: var(--blue-700);--action-primary-active: var(--blue-800);--action-accent: var(--orange-500);--action-accent-hover: var(--flame-500);--focus-ring: var(--blue-400);--danger-500: #f47562;--success-500: #3fbf86;--warning-500: #ecb03e;--info-500: #6aa6dc}*{corner-shape:bevel}[style*="50%"],[style*=radius-pill],[style*="border-radius: 999"],[style*="border-radius:999"],.round,.dot,.sw,input[type=radio]{corner-shape:round}:root{color-scheme:light;--surface-app: var(--surface-sunken);--surface-hover: var(--surface-sunken);--surface-selected: var(--blue-50);--text-on-selected: var(--blue-800);--text-warning: var(--badge-warning-text);--radius-card: 7px;--radius-control: var(--radius-md);--control-h-sm: 32px;--control-h-md: 40px;--content-gap: var(--space-6)}[data-theme=dark]{color-scheme:dark;--surface-app: var(--surface-page);--surface-selected: color-mix(in srgb, var(--blue-500) 22%, transparent);--text-on-selected: var(--blue-200);--text-warning: var(--warning-500)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-app);-webkit-font-smoothing:antialiased}#root{min-height:100%}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover);text-decoration:underline}h1,h2,h3,h4,p,figure,dl{margin:0}h1{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-strong);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}h2{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--text-strong);line-height:var(--leading-snug)}h3{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-strong)}code,pre,kbd,.mono{font-family:var(--font-mono)}code{font-size:.92em}:focus-visible{outline:none;box-shadow:var(--ring-focus)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.caps{font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.desc{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal)}.desc a{font-weight:var(--fw-medium)}.muted{color:var(--text-muted)}.loading{font-style:italic}.error{color:var(--danger-500)}.ok-text{color:var(--success-500)}.strong{color:var(--text-strong);font-weight:var(--fw-medium)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3)}.sidebar-brand{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-5);text-decoration:none}.sidebar-brand:hover{text-decoration:none}.sidebar-brand .wordmark{font-size:22px;font-weight:900;color:var(--text-brand);letter-spacing:var(--tracking-tight)}.sidebar-group{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-group+.sidebar-group{margin-top:var(--space-5)}.sidebar-group>.caps{padding:0 var(--space-3) 6px}.nav-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 var(--space-3);border-radius:var(--radius-control);font-size:14px;font-weight:var(--fw-medium);color:var(--text-body);text-decoration:none;transition:background var(--dur-fast) var(--ease-standard)}.nav-item:hover{background:var(--surface-hover);text-decoration:none;color:var(--text-strong)}.nav-item.active{background:var(--surface-selected);color:var(--text-on-selected)}.nav-item .badge{margin-left:auto}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--border-subtle)}.sidebar-foot .version{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:none;position:sticky;top:0;z-index:20;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-8)}.topbar-end{margin-left:auto;display:flex;align-items:center;gap:var(--space-3);position:relative;flex:0 1 auto;min-width:0}.topbar-end form{flex:1 1 140px;min-width:0;max-width:260px}.topbar-end form .ctx-chip{width:100%}@media(max-width:1400px){.ctx-chip .sub{display:none}}main.content{padding:28px var(--space-8) var(--space-10);display:flex;flex-direction:column;gap:var(--content-gap);max-width:var(--container-max);width:100%}.boot{padding:var(--space-12) var(--space-8);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}@media(max-width:960px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border-subtle)}.sidebar-foot{margin-top:var(--space-3)}.topbar{height:auto;flex-wrap:wrap;padding:var(--space-2) var(--space-4);gap:var(--space-2)}.topbar-end{margin-left:0;width:100%}main.content{padding:var(--space-5) var(--space-4) var(--space-8)}}.ctx-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h-sm);padding:0 var(--space-3);border:none;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1.5px var(--border-default);background:var(--surface-card);max-width:100%;font:inherit;font-size:var(--text-sm);color:var(--text-strong);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard)}button.ctx-chip:hover{box-shadow:inset 0 0 0 1.5px var(--border-strong)}.ctx-chip:focus-within,button.ctx-chip:focus-visible{box-shadow:inset 0 0 0 1.5px var(--focus-ring),var(--ring-focus)}.ctx-chip select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;font:inherit;padding:0 22px 0 0;margin:0;height:auto;min-height:0;box-shadow:none;max-width:220px;text-overflow:ellipsis;cursor:pointer}.ctx-chip select:focus-visible{box-shadow:none;outline:none}.ctx-chip .chev{margin-left:-22px;pointer-events:none;color:var(--text-muted)}.ctx-chip .chev-end{color:var(--text-muted);flex:none}.ctx-chip input[type=search]{border:none;background:transparent;color:var(--text-strong);font:inherit;width:100%;min-width:0;min-height:0;height:auto;box-shadow:none;padding:0}.ctx-chip input[type=search]::placeholder{color:var(--text-muted)}.ctx-chip input:focus-visible{box-shadow:none}.ctx-chip .sub{color:var(--text-muted);font-size:var(--text-xs)}.ctx-chip,.ctx-chip>span{white-space:nowrap}.popover-anchor{position:relative}.popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:300px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.popover.left{right:auto;left:0}.popover-head{padding:var(--space-2) 10px 10px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px}.popover-section{padding:10px 10px 8px;display:flex;flex-direction:column;gap:var(--space-1)}.popover .nav-item{height:34px}.avatar{width:36px;height:36px;border-radius:var(--radius-control);background:var(--surface-navy);color:var(--white);border:none;font:inherit;font-size:13px;font-weight:var(--fw-bold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}[data-theme=dark] .avatar{background:var(--blue-600)}.segmented{display:flex;gap:var(--space-1);flex-wrap:wrap}.segmented button,.chips button.chip{height:var(--control-h-sm);padding:0 12px;border-radius:var(--radius-md);border:none;box-shadow:inset 0 0 0 1px var(--border-default);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:13px;font-weight:var(--fw-medium);cursor:pointer}.segmented button[aria-pressed=true],.chips button.chip[aria-pressed=true]{background:var(--surface-selected);color:var(--text-on-selected);box-shadow:inset 0 0 0 1.5px var(--focus-ring)}.chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.period-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2);min-width:360px}.custom-range{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2) var(--space-3);font-size:13px}.compare{display:flex;align-items:center;gap:var(--space-2);font-size:13px}.range{font-size:12.5px;margin:0}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 14px;border-radius:var(--radius-md);font:inherit;font-size:14px;font-weight:var(--fw-medium);cursor:pointer;border:1.5px solid var(--border-default);background:var(--surface-card);color:var(--text-brand);white-space:nowrap;text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.btn:hover,.button:hover{background:var(--surface-hover);text-decoration:none}.btn:active,.button:active{transform:translateY(1px)}.btn-primary,.button.primary{background:var(--gradient-flare);color:var(--white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover,.button.primary:hover{background:var(--gradient-flare);filter:brightness(1.04)}.btn-ghost{background:transparent;border-color:transparent;padding:0 8px}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger,.button.danger{color:var(--danger-500)}.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:var(--text-sm)}.button.inline{margin-left:var(--space-3);height:var(--control-h-sm);padding:0 12px;font-size:var(--text-sm)}.btn[aria-pressed=true]{background:var(--surface-selected);color:var(--text-on-selected);border-color:var(--focus-ring)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1.5;letter-spacing:.01em;white-space:nowrap;color:var(--slate-700);background:var(--slate-100)}.badge-xs{padding:1px 7px;font-size:var(--text-xs)}.badge-sm{padding:3px 10px;font-size:var(--text-xs)}.badge-md{padding:4px 12px;font-size:var(--text-sm)}.badge-lg{padding:6px 14px;font-size:var(--text-base)}.badge-neutral{color:var(--slate-700);background:var(--slate-100)}.badge-blue{color:var(--blue-700);background:var(--info-100)}.badge-success{color:var(--badge-success-text);background:var(--success-100)}.badge-warning{color:var(--badge-warning-text);background:var(--warning-100)}.badge-danger{color:var(--badge-danger-text);background:var(--danger-100)}.badge-accent{color:var(--badge-accent-text);background:var(--badge-accent-bg)}.badge-solid{color:var(--white)}.badge-solid.badge-neutral{background:var(--slate-700)}.badge-solid.badge-blue{background:var(--blue-600)}.badge-solid.badge-success{background:var(--success-600)}.badge-solid.badge-warning{background:var(--gold-500);color:var(--ink)}.badge-solid.badge-danger{background:var(--danger-600)}.badge-solid.badge-accent{background:var(--orange-500);color:var(--ink)}.badge.mono{font-family:var(--font-mono);font-weight:var(--fw-medium)}.nav-item .badge{font-weight:var(--fw-medium)}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-body);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-subtle);white-space:nowrap}.tag-xs{padding-inline:8px;font-size:var(--text-xs)}.tag-sm{padding-inline:10px;font-size:var(--text-sm)}.tag-md{padding-inline:12px;font-size:var(--text-base)}.tag-lg{padding-inline:14px;font-size:var(--text-md)}.tag-blue{color:var(--blue-700);background:var(--info-100);box-shadow:none}.tag-mono{font-family:var(--font-mono);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-default)}.tag.removable{padding-right:4px}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer}.tag-remove:hover{background:var(--surface-hover);color:var(--text-strong)}.select{position:relative;display:inline-flex;align-items:center;min-width:0}.select>select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:var(--control-h-md);min-height:0;padding:0 36px 0 12px;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-strong);background:var(--surface-card);border:none;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1.5px var(--border-default);outline:none;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard)}.select-sm>select{height:var(--control-h-sm);font-size:var(--text-sm)}.select>select:focus-visible,.select>select:focus{box-shadow:inset 0 0 0 1.5px var(--focus-ring),var(--ring-focus);border:none}.select>select[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--danger-500)}.select>select:disabled{background:var(--surface-sunken);opacity:.6;cursor:not-allowed}.select-chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;corner-shape:round;flex:none}.dot-success{background:var(--success-500)}.dot-warning{background:var(--warning-500)}.dot-danger{background:var(--danger-500)}.dot-info{background:var(--info-500)}.dot-neutral{background:var(--border-strong)}.with-dot{display:inline-flex;align-items:center;gap:8px}.meta-badges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.card,.panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}.panel{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.panel.sub{background:var(--surface-sunken);box-shadow:none;margin-top:var(--space-2)}.panel>h2+.desc{margin-top:-10px}.section{display:flex;flex-direction:column}.section-head{padding:20px 22px 14px;display:flex;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-head.borderless{border-bottom:none;padding-bottom:12px}.section-titles{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.section-titles .title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-actions{margin-left:auto;display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;flex:none}.section-body{padding:16px 22px 20px;display:flex;flex-direction:column;gap:14px}.section-body.flush{padding:0}.section-body.flush>.table-scroll{padding:0}.page-head{display:flex;align-items:flex-start;gap:var(--space-6)}.page-head .titles{display:flex;flex-direction:column;gap:6px;max-width:760px}.page-head .actions{margin-left:auto;display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:var(--space-4)}.grid-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4)}.grid-5-7{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-4)}.grid-8-4{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--space-4);align-items:start}@media(max-width:1100px){.grid-5-7,.grid-8-4{grid-template-columns:minmax(0,1fr)}}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tile{padding:16px 18px;display:flex;flex-direction:column;gap:6px}.tile-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tile-value{font-family:var(--font-mono);font-size:28px;font-weight:var(--fw-medium);color:var(--text-strong);line-height:1.1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.tile-delta{font-size:13px}.delta-up{color:var(--success-500)}.delta-down{color:var(--danger-500)}.delta-flat{color:var(--text-muted)}.tile-hint{font-size:12.5px;color:var(--text-muted)}.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-3)}.counter{padding:12px 14px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}.counter-label{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.counter-value{font-family:var(--font-mono);font-size:22px;font-weight:var(--fw-medium);color:var(--text-strong);font-variant-numeric:tabular-nums}.counter-delta{font-size:13px}.counter-delta.up{color:var(--success-500)}.counter-delta.down{color:var(--danger-500)}.counter-delta.flat,.counter-previous,.counter-hint{color:var(--text-muted)}.counter-hint{font-size:12.5px}.counter-spark{height:28px;margin-top:4px}.share-rows{display:flex;flex-direction:column;gap:10px;font-size:14px}.share-row{display:grid;grid-template-columns:150px minmax(0,1fr) 64px;align-items:center;gap:var(--space-3)}.share-row .mono{text-align:right;font-variant-numeric:tabular-nums}.bar{height:10px;border-radius:2px;background:var(--action-primary);min-width:2px}.bar-danger{background:var(--danger-500)}.bar-success{background:var(--success-500)}.bar-muted{background:var(--border-strong)}.bar-soft{background:var(--border-default)}.term{border-bottom:1px dotted var(--text-muted);cursor:help;color:inherit;background:none;border-top:none;border-left:none;border-right:none;padding:0;font:inherit;text-decoration:none}.term:hover,.term:focus-visible{border-bottom-style:solid}.tip-anchor{position:relative;display:inline}.tip{position:absolute;left:0;top:calc(100% + 6px);z-index:40;width:300px;padding:10px 12px;background:var(--surface-code);color:var(--slate-100);font-size:13px;line-height:1.45;border-radius:var(--radius-control);box-shadow:var(--shadow-lg);text-align:left;font-weight:var(--fw-regular);font-family:var(--font-body);text-transform:none;letter-spacing:normal;white-space:normal}.tip .caps{color:var(--blue-300);display:block;margin-bottom:4px}.tip.right{left:auto;right:0}.acc{border-top:1px solid var(--border-subtle)}.acc>summary{display:flex;align-items:center;gap:var(--space-3);padding:14px 22px;cursor:pointer;list-style:none}.acc>summary::-webkit-details-marker{display:none}.acc>summary:hover{background:var(--surface-hover)}.acc[open]>summary{background:var(--surface-selected)}.acc[open]>summary .acc-chev{transform:rotate(90deg)}.acc-chev{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-standard);flex:none}.acc-title{font-weight:var(--fw-medium);color:var(--text-strong);min-width:220px}.acc-summary{color:var(--text-muted);font-size:14px;flex:1;min-width:0}.routes-explain>summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.routes-explain[open]>summary{margin-bottom:var(--space-2)}.acc-body{padding:6px 22px 18px;display:flex;flex-direction:column;gap:12px;background:var(--surface-selected)}.acc-body .card{box-shadow:none}.sw{display:inline-block;width:34px;height:20px;border-radius:var(--radius-pill);corner-shape:round;background:var(--border-default);position:relative;flex:none;border:none;padding:0;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.sw:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;corner-shape:round;background:var(--white);box-shadow:var(--shadow-xs);transition:left var(--dur-fast) var(--ease-standard)}.sw[aria-checked=true]{background:var(--gradient-flare)}.sw[aria-checked=true]:after{left:16px}.sw-row{display:flex;align-items:flex-start;gap:12px}.sw-row .sw{margin-top:2px}.sw-label{display:flex;flex-direction:column;gap:2px}.sw-label .strong{font-weight:var(--fw-medium);color:var(--text-strong)}.tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--border-subtle)}.tab{padding:10px 2px 12px;font-size:14px;font-weight:var(--fw-medium);color:var(--text-muted);position:relative;background:none;border:none;cursor:pointer;text-decoration:none}.tab:hover{color:var(--text-strong);text-decoration:none}.tab.active,.tab[aria-selected=true]{color:var(--text-on-selected)}.tab.active:after,.tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gradient-flare)}.dl{display:grid;grid-template-columns:220px minmax(0,1fr);row-gap:10px;column-gap:var(--space-4);font-size:14px}.dl dt{color:var(--text-muted)}.dl dd{margin:0;color:var(--text-strong)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:10px var(--space-5)}.facts dt{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.facts dd{margin:0;color:var(--text-strong)}.empty-state{padding:20px 22px;display:flex;flex-direction:column;gap:6px;border:1px dashed var(--border-default);border-radius:var(--radius-card);background:var(--surface-card)}.code,pre.command{font-family:var(--font-mono);font-size:12.5px;line-height:1.55;background:var(--surface-code);color:var(--slate-100);padding:14px 16px;border-radius:var(--radius-control);white-space:pre-wrap;overflow-x:auto;margin:0}code.token{background:var(--surface-sunken);padding:2px 6px;border-radius:3px;word-break:break-all}.notice{border:1px solid var(--border-subtle);border-left:3px solid var(--info-500);background:var(--surface-sunken);padding:10px 14px;border-radius:0 var(--radius-control) var(--radius-control) 0;font-size:14px}.notice.alert{border-left-color:var(--danger-500)}.banner{border:1px solid var(--danger-500);border-radius:var(--radius-card);padding:14px 18px;background:var(--surface-card);display:flex;flex-direction:column;gap:6px}.banner h2{color:var(--danger-500)}.banner ul{margin:0;padding-left:1.2rem}.attribution{font-size:12.5px;color:var(--text-muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}table.data caption{text-align:left;color:var(--text-muted);padding:0 0 8px;font-size:13px}th{text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);padding:10px 12px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;vertical-align:bottom}td{padding:12px;border-bottom:1px solid var(--border-subtle);font-size:14px;color:var(--text-body);vertical-align:top}tbody th{font-family:var(--font-body);font-size:14px;font-weight:var(--fw-medium);letter-spacing:normal;text-transform:none;color:var(--text-strong);padding:12px;border-bottom:1px solid var(--border-subtle);white-space:normal}tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}tbody tr:hover>td,tbody tr:hover>th{background:var(--surface-hover)}tr.expanded>td,tr.expanded>th,tr.expanded-body>td{background:var(--surface-selected)}tbody tr.expanded:hover>td,tbody tr.expanded:hover>th,tbody tr.expanded-body:hover>td{background:var(--surface-selected)}td.num,th.num,td.right,th.right{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}th.right,th.num{font-family:var(--font-mono)}button.sort{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.datatable{display:flex;flex-direction:column;gap:6px}.datatable-actions{display:flex;justify-content:flex-end}.pager{display:flex;align-items:center;gap:var(--space-3);padding-top:10px;font-size:13px}.row-actions{display:flex;gap:var(--space-1);flex-wrap:wrap}ul.alerts{margin:0;padding-left:1rem}.table-link{font-weight:var(--fw-medium);color:var(--text-on-selected)}.chart{display:flex;flex-direction:column;gap:8px}.chart-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.chart-head h3{flex:1 1 auto}.chart-actions{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:center}.chart-note{font-size:13px;color:var(--text-muted)}.chart-body{width:100%}.chart-canvas{width:100%;height:100%}select,input,textarea{font:inherit;color:var(--text-strong);background:var(--surface-card);border:1.5px solid var(--border-default);border-radius:var(--radius-md);padding:6px 10px;min-height:36px}select:focus-visible,input:focus-visible,textarea:focus-visible{border-color:var(--focus-ring);box-shadow:var(--ring-focus);outline:none}input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;accent-color:var(--action-primary)}input[type=radio]{border-radius:50%;corner-shape:round}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-500)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.filters label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-muted)}.filters label>span:first-child{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase}.filters label.wide{flex:1 1 20rem}.filters fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:8px 12px}.filters legend{font-size:12.5px;color:var(--text-muted)}.checkbox{flex-direction:row!important;align-items:center;gap:6px!important;color:var(--text-body)!important}.checkbox>span:first-child{font-family:var(--font-body)!important;text-transform:none!important;letter-spacing:normal!important;font-size:14px!important}label.switch{display:inline-flex;align-items:center;gap:6px;font-size:13px}.filters label textarea{min-width:18rem;resize:vertical}.filters p.wide,p.muted.wide{flex:1 1 100%}.filters label span.error{font-size:12.5px;font-family:var(--font-body);text-transform:none;letter-spacing:normal}.site-reglages>fieldset,.site-config>fieldset,.site-config fieldset fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:10px 14px 6px;margin:0 0 14px}.site-reglages>fieldset>legend,.site-config>fieldset>legend,.site-config fieldset fieldset>legend{font-weight:var(--fw-bold);color:var(--text-strong);padding:0 6px}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);background:var(--surface-card)}.login-vault{background:var(--gradient-vault);color:var(--white);padding:var(--space-12) var(--space-12);display:flex;flex-direction:column;justify-content:center;gap:var(--space-5)}.login-vault .wordmark{font-size:26px;font-weight:900;letter-spacing:var(--tracking-tight)}.login-vault h2{color:var(--white);font-size:var(--text-3xl);font-weight:900;line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--tracking-tight);max-width:520px}.login-vault p{color:var(--blue-100);max-width:460px;font-size:var(--text-base)}.login-vault .facts-line{display:flex;gap:var(--space-5);font-family:var(--font-mono);font-size:12px;color:var(--blue-200);margin-top:auto}.login-form-col{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-4)}.login-form .caps{color:var(--text-accent)}.login-form h1{font-size:var(--text-xl)}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:var(--fw-medium);color:var(--text-strong)}.login-form input{width:100%}.login-form .btn-primary{width:100%;height:40px}.login-form .issuer{display:block;font-size:12.5px}@media(max-width:900px){.login-shell{grid-template-columns:minmax(0,1fr)}.login-vault{padding:var(--space-8) var(--space-6);min-height:40vh}}.space{display:flex;flex-direction:column;gap:var(--content-gap)}.space-head{display:flex;align-items:baseline;gap:var(--space-4)}.space-head h1{flex:1 1 auto}.empty .milestone{color:var(--text-muted)}.empty ul{color:var(--text-muted);line-height:1.7}.anchor-target{scroll-margin-top:calc(var(--topbar-h) + 16px)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.small{font-size:12.5px}td.nowrap,th.nowrap{white-space:nowrap}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.crumbs a{font-weight:var(--fw-medium)}.chips-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.page-head .title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.strip-cell{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-right:1px solid var(--border-subtle);min-width:0}.strip-cell:last-child{border-right:none}.strip-value{font-weight:var(--fw-medium);color:var(--text-strong)}@media(max-width:1100px){.status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.strip-cell{border-bottom:1px solid var(--border-subtle)}.strip-cell:nth-child(3n){border-right:none}.strip-cell:nth-last-child(-n+3){border-bottom:none}}.rules{border:1px solid var(--border-subtle);border-radius:var(--radius-control);overflow:hidden}.rules-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}.rule{display:flex;align-items:center;gap:14px;padding:12px 14px;font-size:14px}.rule+.rule{border-top:1px dashed var(--border-subtle)}.rule.future{color:var(--text-muted)}.rule-index{width:20px;flex:none}.rule-text{flex:1;min-width:0}.form-inline{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken)}.filters .row.wide,.filters p.wide,.filters .notice.wide,.filters p.error.wide,.filters fieldset.wide,.filters .desc.wide{flex:1 1 100%}.form-inline fieldset.filters{border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:10px 14px 14px}.form-inline fieldset.filters>legend{font-weight:var(--fw-bold);color:var(--text-strong);padding:0 6px;font-size:14px}.state-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4)}.state-card{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.card.padded{padding:12px 14px}.acc-body .card.padded{background:var(--surface-card)}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--text-link);cursor:pointer;font-weight:var(--fw-medium)}.link-button:hover{text-decoration:underline}.sites-table th[scope=row]{white-space:normal;min-width:12rem}.guide{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-8);align-items:start}.guide-toc{position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:2px;font-size:13px}.guide-toc .caps{padding:0 8px 6px}.guide-toc a{padding:5px 8px;border-radius:var(--radius-control);color:var(--text-body)}.guide-toc a:hover{background:var(--surface-hover);text-decoration:none}.guide-toc a.sub{padding-left:20px;color:var(--text-muted);font-size:12.5px}.guide-body{max-width:760px;font-size:15px;line-height:1.6;display:flex;flex-direction:column;gap:14px;color:var(--text-body)}.guide-body h2{margin-top:22px;font-size:var(--text-lg);scroll-margin-top:calc(var(--topbar-h) + 16px)}.guide-body h3{margin-top:10px;font-size:var(--text-md);scroll-margin-top:calc(var(--topbar-h) + 16px)}.guide-body h4{scroll-margin-top:calc(var(--topbar-h) + 16px)}.guide-body p,.guide-body ul,.guide-body ol,.guide-body table,.guide-body pre,.guide-body blockquote{margin:0}.guide-body ul,.guide-body ol{padding-left:1.3rem;display:flex;flex-direction:column;gap:6px}.guide-body li>p{display:inline}.guide-body code{background:var(--surface-sunken);padding:1px 5px;border-radius:3px;font-size:.9em}.guide-body pre{font-family:var(--font-mono);font-size:12.5px;line-height:1.55;background:var(--surface-code);color:var(--slate-100);padding:14px 16px;border-radius:var(--radius-control);white-space:pre-wrap;overflow-x:auto}.guide-body pre code{background:none;padding:0;color:inherit;font-size:inherit}.guide-body blockquote{border-left:3px solid var(--border-default);padding:6px 14px;color:var(--text-muted)}.guide-body table{font-size:14px}.guide-body strong{color:var(--text-strong)}@media(max-width:960px){.guide{grid-template-columns:minmax(0,1fr)}.guide-toc{position:static}}.warning-text{color:var(--text-warning)}.problemes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.problemes li{padding-left:10px;border-left:2px solid currentColor}.maintenance-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:10px 14px;margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control)}.maintenance-row.active{border-color:var(--warning-500);background:var(--warning-100)}.rule.rule-edit{align-items:flex-start}.rule.disabled .rule-text{color:var(--text-muted)}.rule-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.rule-line{display:flex;gap:var(--space-3);align-items:baseline;flex-wrap:wrap}.rule-badges{display:flex;gap:var(--space-1);flex-wrap:wrap}.rule-controls{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.rule-switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-right:var(--space-2)}.rules+.desc,.rules+.row,.rules~.row{margin-top:var(--space-3)}.modeles{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-2);margin-top:var(--space-3)}.modele{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card);color:var(--text-strong);font:inherit;cursor:pointer}.modele:hover{background:var(--surface-hover)}.sous-bloc{display:flex;flex-direction:column;gap:var(--space-2)}.sous-bloc+.sous-bloc{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.sous-tete{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sous-tete h3{font-size:var(--text-md);margin:0}.actions-cell{white-space:nowrap;text-align:right}.orphelines ul,ul.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.apercu{display:flex;flex-direction:column;gap:4px}.apercu iframe{width:100%;min-height:12rem;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--white)}.proposes{display:flex;flex-direction:column;gap:6px}.propose{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:13px}.editeur-routing{display:flex;flex-direction:column;gap:var(--space-3)}.editeur-routing textarea{width:100%;font-family:var(--font-mono);font-size:12.5px}.diff{display:flex;flex-direction:column;gap:6px}.diff .diff-plus{color:var(--success-500)}.diff .diff-moins{color:var(--danger-500)}.detail-version{display:flex;flex-direction:column;gap:var(--space-3)}.sous-bloc.origines{margin:var(--space-4) 0}.origine-ligne{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-control)}.dl.compact{grid-template-columns:160px minmax(0,1fr);row-gap:4px;font-size:13px}.form-inline.simulation{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.simulation-resultat{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}@media(max-width:640px){.dl.compact{grid-template-columns:minmax(0,1fr)}}
