@import"https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@100..125,400..700&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--c-white: #FFFFFF;--c-mint: #D9E9DF;--c-tint: #EEF3EF;--c-ink: #0F1F18;--c-ink-2: #45564D;--c-ink-3: #617169;--c-green: #0E6B4E;--c-green-hover: #0A5741;--c-forest: #0F2A1F;--c-deep: #0C1712;--c-deep-raised: #12211A;--c-light: #EDF4EF;--c-light-2: #A9BDB2;--c-light-3: #8A9C92;--c-pulse: #3DF5A6;--c-lime: #D4FF4A;--c-line: #D6DED8;--c-line-strong: #9DAEA4;--c-line-mint: #B5CBBD;--c-line-dark: rgba(237,244,239,.16);--c-line-dark-faint: rgba(237,244,239,.1);--c-rule: #0F1F18;--c-bg: var(--c-white);--c-text: var(--c-ink);--c-text-2: var(--c-ink-2);--c-text-3: var(--c-ink-3);--c-border: var(--c-line);--c-border-strong: var(--c-line-strong);--c-card: var(--c-white);--c-card-border: var(--c-line);--c-link: var(--c-green);--c-link-hover: var(--c-green-hover);--c-accent: var(--c-green);--c-action-bg: var(--c-pulse);--c-action-fg: var(--c-ink);--c-action-hover: var(--c-lime);--c-ghost-border: var(--c-line-strong);--c-ghost-fg: var(--c-ink);--c-table-head: var(--c-mint);--c-state: var(--c-tint);--c-focus: var(--c-green);--c-rule-current: var(--c-rule)}.on-mint{--c-bg: var(--c-mint);--c-text-3: var(--c-ink-2);--c-border: var(--c-line-mint);--c-card: var(--c-white);--c-card-border: var(--c-white);--c-table-head: var(--c-white);--c-state: var(--c-white)}.on-green{--c-bg: var(--c-green);--c-text: #FFFFFF;--c-text-2: var(--c-tint);--c-text-3: var(--c-tint);--c-border: rgba(255,255,255,.32);--c-border-strong: rgba(255,255,255,.5);--c-link: #FFFFFF;--c-link-hover: var(--c-tint);--c-accent: #FFFFFF;--c-ghost-border: rgba(255,255,255,.5);--c-ghost-fg: #FFFFFF;--c-rule-current: #FFFFFF}.on-forest,.on-deep{--c-text: var(--c-light);--c-text-2: var(--c-light-2);--c-text-3: var(--c-light-3);--c-border: var(--c-line-dark);--c-border-strong: rgba(237,244,239,.32);--c-link: var(--c-pulse);--c-link-hover: var(--c-lime);--c-accent: var(--c-pulse);--c-ghost-border: rgba(237,244,239,.32);--c-ghost-fg: var(--c-light);--c-table-head: var(--c-deep-raised);--c-state: var(--c-deep-raised);--c-focus: var(--c-pulse);--c-rule-current: var(--c-light)}.on-forest{--c-bg: var(--c-forest);--c-card: var(--c-deep);--c-card-border: var(--c-line-dark)}.on-deep{--c-bg: var(--c-deep);--c-card: var(--c-deep-raised);--c-card-border: var(--c-line-dark-faint)}.on-mint,.on-green,.on-forest,.on-deep{background:var(--c-bg);color:var(--c-text)}:root{--font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-ui: var(--font-display);--font: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--stretch-display: 112%;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-display: 620;--fw-wordmark: 640;--fs-display-xl: clamp(56px, 7vw, 92px);--fs-display: clamp(40px, 4.4vw, 56px);--fs-h1: clamp(34px, 3.6vw, 48px);--fs-h2: 30px;--fs-h3: 24px;--fs-h4: 20px;--fs-amount: 64px;--fs-lead: 20px;--fs-body: 17px;--fs-body-sm: 15px;--fs-small: 14px;--fs-label: 13px;--fs-footer: 13px;--lh-display: .97;--lh-heading: 1.06;--lh-tight: 1.15;--lh-lead: 1.5;--lh-body: 1.55;--tracking-display: -.035em;--tracking-heading: -.025em;--tracking-h3: -.02em;--tracking-body: 0;--measure: 62ch;--measure-heading: 22ch;--fs-slide-title: 44px;--fs-slide-display: 96px;--fs-slide-section: 72px;--fs-slide-num: 440px;--fs-slide-num-paper: 360px;--fs-slide-body: 20px;--fs-slide-note: 15px;--fs-slide-header: 15px;--fs-slide-wordmark: 22px}:root{--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 40px;--s-8: 64px;--s-9: 96px;--s-section: 96px;--s-card: 24px;--s-control: 44px;--container: min(1200px, 92vw);--slide-w: 1280px;--slide-h: 720px;--slide-pad-x: 80px;--slide-pad-top: 44px;--slide-pad-bottom: 40px}:root{--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-full: 9999px;--sh-card: 0 12px 32px -20px rgba(15,31,24,.3);--sh-panel: 0 32px 72px -32px rgba(0,0,0,.6);--sh-led: 0 0 8px rgba(212,255,74,.7);--focus-ring: 2px solid var(--c-focus);--ease-out: cubic-bezier(.22, 1, .36, 1);--d-micro: .12s;--d-state: .2s;--d-entrance: .4s}:root{--fs-h1: 28px;--fs-h2: 20px;--fs-h3: 18px;--fs-h4: 16px;--fs-lead: 16px;--fs-body: 15px;--fs-body-sm: 14px;--fs-small: 13px;--fs-label: 13px;--fs-amount: 28px;--fs-bg: var(--c-white);--fs-bg-soft: var(--c-tint);--fs-accent-tint: #d9e9df;--fs-surface-dark: #0f2a1f;--fs-accent-pale: var(--c-tint);--fs-line: var(--c-line);--fs-line-strong: var(--c-line-strong);--fs-line-on-dark: var(--c-line-dark);--fs-ink: var(--c-ink);--fs-ink-soft: var(--c-ink-2);--fs-ink-faint: var(--c-ink-3);--fs-on-dark: var(--c-light);--fs-on-dark-soft: var(--c-light-2);--fs-on-dark-faint: var(--c-light-3);--fs-accent: var(--c-green);--fs-accent-soft: color-mix(in srgb, var(--c-green) 8%, transparent);--fs-accent-wash: color-mix(in srgb, var(--c-green) 4%, transparent);--fs-accent-line: color-mix(in srgb, var(--c-green) 32%, transparent);--font-head: var(--font-display);--font-body: var(--font);--font-brand: var(--font-display);--fz-h1: var(--fs-h1);--fz-h2: var(--fs-h4);--fz-body: .9375rem;--fz-small: .8125rem;--fz-micro: .6875rem;--r-pill: var(--r-md);--sh-hover: 0 2px 4px rgba(15, 31, 24, .06), 0 16px 36px -16px rgba(15, 31, 24, .24);--sh-modal: var(--sh-panel);--sh-focus: 0 0 0 2px var(--c-green);--container: 1200px;--sidebar-w: 248px;--topbar-h: 60px;--fs-positive: var(--c-green);--fs-positive-wash: var(--c-mint);--fs-warn: #8a5a12;--fs-warn-wash: color-mix(in srgb, #8a5a12 10%, white);--fs-error: #a32d22;--fs-error-wash: color-mix(in srgb, #a32d22 8%, white);--fs-neutral-wash: var(--c-tint)}:root .wordmark{font-stretch:var(--stretch-display);font-weight:var(--fw-wordmark);letter-spacing:-.02em}:root h1,:root h2,:root h3{font-stretch:var(--stretch-display);letter-spacing:-.02em}:root .page-head h1{font-size:var(--fz-h1);font-weight:var(--fw-display);letter-spacing:var(--tracking-heading)}:root .page-head p{font-size:var(--fz-body)}:root .card-head h2,:root .sheet-head h2,:root .empty h3{font-weight:var(--fw-display)}:root .eyebrow,:root .tbl th,:root .row-card-field dt,:root .field label,:root .tile-lbl,:root .detail-item dt,:root .route-kind,:root .route-service,:root .nav-section,:root .sidebar-user-role{text-transform:none;letter-spacing:0;font-family:var(--font-ui)}:root .sidebar-brand .wordmark{font-size:24px;line-height:1;color:var(--c-light)}:root .nav-link,:root .nav-note{font-family:var(--font-ui)}:root .nav-section{padding:8px 11px 6px}:root .sidebar-emblem{height:28px}:root .nav-section{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--c-light-3)}:root .nav-link:hover,:root .nav-note:hover{background:var(--c-line-dark-faint)}:root .nav-link:hover .nav-icon{color:var(--c-mint)}:root .nav-icon{stroke-width:1.6}:root .sidebar-user-name{font-size:var(--fs-small)}:root .btn--on-dark{padding:0 12px;border-color:var(--c-ghost-border);color:var(--c-ghost-fg)}:root .btn--on-dark:hover:not(:disabled){border-color:var(--c-light);color:var(--c-light)}:root .sidebar-user-role{font-size:11.5px;font-weight:var(--fw-medium);line-height:1;padding:4px 8px;border-radius:var(--r-sm);background:var(--c-line-dark-faint);color:var(--c-mint)}:root .btn{font-family:var(--font-ui);font-weight:var(--fw-medium);font-size:14px}:root .btn--sm{font-size:13px}:root .btn--primary{background:var(--c-action-bg);border-color:var(--c-action-bg);color:var(--c-action-fg);font-weight:var(--fw-medium)}:root .btn--primary:hover:not(:disabled){background:var(--c-action-hover);border-color:var(--c-action-hover);color:var(--c-action-fg);transform:none;box-shadow:none}:root .pill{font-family:var(--font-ui);font-weight:var(--fw-medium);font-size:var(--fs-label);line-height:1.2;padding:3px 8px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:transparent;color:var(--c-ink-2)}:root .pill--positive,:root .pill--sage,:root .pill--green{background:transparent;border-color:var(--c-green);color:var(--c-green)}:root .pill--warn{background:transparent;border-color:var(--fs-warn);color:var(--fs-warn)}:root .pill--error{background:transparent;border-color:var(--fs-error);color:var(--fs-error)}:root .pill--outline{border-color:var(--c-line-strong)}:root .tbl{font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums}:root .tbl th{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--c-ink-2);background:var(--c-mint)}:root .tile{background:var(--c-mint);border-color:var(--c-mint);border-radius:var(--r-lg);box-shadow:none;padding:18px 20px 16px}:root .tile-num{font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--fw-display);font-size:var(--fs-amount);letter-spacing:-.03em;line-height:1.1;color:var(--c-ink)}:root .tile-lbl{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--c-ink-2);margin-top:6px}:root .tile-sub{font-size:var(--fs-small);color:var(--c-ink-2)}@media (min-width: 901px){:root .page-body{padding-left:40px;padding-right:40px}}:root .scrim,:root .backdrop{background:color-mix(in srgb,var(--c-deep) 55%,transparent)}*,*:before,*:after{box-sizing:border-box}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}html,body,#root{height:100%}body{margin:0;background:var(--fs-bg-soft);color:var(--fs-ink);font-family:var(--font-body);font-size:var(--fz-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{max-width:100%}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0;letter-spacing:-.01em}p{margin:0 0 14px}a{color:var(--fs-accent);text-decoration-thickness:1px;text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:var(--r-sm)}.wordmark{font-family:var(--font-brand);font-weight:500;letter-spacing:.3em;white-space:nowrap}.eyebrow{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-ink-faint);margin:0}.small{font-size:var(--fz-small);color:var(--fs-ink-faint)}.muted{color:var(--fs-ink-soft)}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card{background:#fff;border:1px solid var(--fs-line);border-radius:var(--r-lg);box-shadow:var(--sh-card)}.card+.card{margin-top:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--fs-line)}.card-head h2{font-size:var(--fz-h2);font-weight:700}.card-head p{margin:4px 0 0;font-size:13px;color:var(--fs-ink-soft)}.card-body{padding:18px}.card-body--flush{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;border-radius:var(--r-pill);border:1px solid var(--fs-line);background:#fff;color:var(--fs-ink-soft);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .18s var(--ease-out),color .18s var(--ease-out),background .18s var(--ease-out),transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.btn:hover:not(:disabled){border-color:var(--fs-accent-line);color:var(--fs-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--fs-accent);border-color:var(--fs-accent);color:#fff;font-weight:700}.btn--primary:hover:not(:disabled){color:#fff;transform:translateY(-1px);box-shadow:var(--sh-hover)}.btn--danger:hover:not(:disabled){border-color:var(--fs-error);color:var(--fs-error)}.btn--sm{min-height:32px;padding:4px 13px;font-size:12.5px}.btn--ghost{border-color:transparent;background:transparent}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);padding:3px 11px;font-size:12px;font-weight:600;background:var(--fs-neutral-wash);color:var(--fs-ink-soft);white-space:nowrap}.pill--positive{background:var(--fs-positive-wash);color:var(--fs-positive)}.pill--warn{background:var(--fs-warn-wash);color:var(--fs-warn)}.pill--error{background:var(--fs-error-wash);color:var(--fs-error)}.pill--sage{background:var(--fs-accent-pale);color:var(--fs-accent)}.pill--green{background:var(--fs-accent);color:#fff}.pill--outline{background:transparent;border:1px solid var(--fs-line-strong)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-ink-faint);background:var(--fs-bg-soft);padding:10px 14px;border-bottom:1px solid var(--fs-line);white-space:nowrap;position:sticky;top:0}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--fs-ink)}.tbl th.sortable .sort-glyph{margin-left:4px;font-size:10px;opacity:.45}.tbl th.sortable[aria-sort] .sort-glyph{opacity:1}.tbl td{padding:11px 14px;border-bottom:1px solid var(--fs-line);vertical-align:top}.tbl tbody tr:hover{background:var(--fs-bg-soft)}.tbl tbody tr.is-clickable{cursor:pointer}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl .row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.cell-empty{color:var(--fs-ink-faint)}.rows-cards{display:none}.list-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px;border-top:1px solid var(--fs-line);background:#fff;border-radius:0 0 var(--r-lg) var(--r-lg)}@media (max-width: 720px){.list-foot{position:sticky;bottom:0}}.row-card{border-bottom:1px solid var(--fs-line);padding:14px 16px}.row-card:last-child{border-bottom:0}.row-card.is-clickable{cursor:pointer}.row-card.is-clickable:active{background:var(--fs-bg-soft)}.row-card-title{font-weight:700;font-size:14.5px;margin-bottom:6px}.row-card dl{margin:0}.card-body:not(.card-body--flush) .row-card{padding-left:0;padding-right:0}.row-card-field{display:flex;justify-content:space-between;gap:14px;padding:3px 0;font-size:13px}.row-card-field dt{color:var(--fs-ink-faint);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.row-card-field dd{margin:0;text-align:right;min-width:0;word-break:break-word}@media (max-width: 720px){.table-scroll{display:none}.rows-cards{display:block}@supports selector(:has(*)){.table-scroll:not(:has(~.rows-cards)){display:block}}}.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fs-ink-faint);margin-bottom:6px}.field .hint{font-size:12.5px;color:var(--fs-ink-faint);margin-top:5px}.field .err{font-size:12.5px;color:var(--fs-error);margin-top:5px;font-weight:600}.input,.select,.textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--fs-line-strong);border-radius:var(--r-md);background:#fff;font-size:14.5px;transition:border-color .18s var(--ease-out)}.input:hover,.select:hover,.textarea:hover{border-color:var(--fs-accent-line)}.textarea{min-height:92px;resize:vertical;line-height:1.5}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--fs-error)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--fs-bg-soft);color:var(--fs-ink-faint);cursor:not-allowed}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:42px}.checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--fs-accent)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 16px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters .input,.filters .select{width:auto;min-width:150px;min-height:36px;padding:5px 12px;font-size:13px;border-radius:var(--r-pill)}.list-controls{padding:12px 16px;border-bottom:1px solid var(--fs-line)}.list-controls .filters .input[type=date],.list-controls .filters .input[type=month]{min-width:0}.list-controls-range{display:inline-flex;align-items:center;gap:6px}.list-controls-sort{display:none}@media (max-width: 720px){.list-controls-sort{display:inline-block}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#071c0380;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:calc(5vh + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));overflow-y:auto}.sheet{width:min(620px,100%);background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-modal);overflow:hidden}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--fs-line)}.sheet-head h2{font-size:17px;font-weight:700}.sheet-head p{margin:4px 0 0;font-size:13px;color:var(--fs-ink-soft)}.sheet-body{padding:18px 20px;max-height:62vh;overflow-y:auto}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--fs-line);background:var(--fs-bg-soft);flex-wrap:wrap}.banner{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-radius:var(--r-md);border:1px solid var(--fs-accent-line);background:var(--fs-accent-pale);font-size:13.5px;margin-bottom:18px}.banner strong{display:block;margin-bottom:2px}.banner--warn{border-color:#7a531259;background:var(--fs-warn-wash)}.banner--error{border-color:#8a211059;background:var(--fs-error-wash)}.empty{text-align:center;padding:54px 24px}.empty-emblem{height:54px;max-width:170px;object-fit:contain;margin:0 auto 16px;color:var(--fs-accent-tint)}.empty h3{font-size:16.5px;font-weight:700;margin-bottom:6px}.empty p{color:var(--fs-ink-soft);font-size:14px;max-width:46ch;margin:0 auto 16px}.toasts{position:fixed;right:calc(18px + var(--safe-right));bottom:calc(18px + var(--safe-bottom));z-index:200;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 36px - var(--safe-left) - var(--safe-right)))}.toast{background:#fff;border:1px solid var(--fs-line);border-radius:var(--r-md);box-shadow:var(--sh-modal);padding:12px 14px;font-size:13.5px;animation:toast-in .2s var(--ease-out)}.toast strong:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle;background:var(--fs-accent)}.toast--error strong:before{background:var(--fs-error)}.toast--success strong:before{background:var(--fs-positive)}.toast strong{display:block;margin-bottom:3px}.toast-detail{margin-top:6px;font-size:12px;color:var(--fs-ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.tile{background:#fff;border:1px solid var(--fs-line);border-radius:var(--r-md);padding:15px 16px 14px;box-shadow:var(--sh-card)}.tile-num{font-size:22px;font-weight:700;color:var(--fs-accent);font-variant-numeric:tabular-nums;line-height:1.2}.tile-lbl{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-ink-faint);margin-top:4px}.tile-sub{font-size:12px;color:var(--fs-ink-soft);margin-top:4px}.spinner{width:18px;height:18px;border:2px solid var(--fs-line-strong);border-top-color:var(--fs-accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-pad{padding:40px;text-align:center;color:var(--fs-ink-faint)}.json-view{background:var(--fs-bg-soft);border:1px solid var(--fs-line);border-radius:var(--r-sm);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;margin:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--fs-bg-soft);border-radius:var(--r-sm);padding:1px 6px}details.disclosure summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--fs-ink-soft);padding:6px 0}details.disclosure summary:hover{color:var(--fs-ink)}.section-gap{margin-top:22px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 22px}.detail-item dt{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-ink-faint);margin-bottom:3px}.detail-item dd{margin:0;font-size:14px}.skeleton{background:linear-gradient(90deg,var(--fs-bg-soft) 25%,#eee 37%,var(--fs-bg-soft) 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite;border-radius:var(--r-sm)}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.skeleton-rows{padding:4px 0}.skeleton-row{display:flex;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--fs-line)}.skeleton-row:last-child{border-bottom:0}.skeleton-cell{height:11px}.collapse{border:1px solid var(--fs-line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-card);overflow:hidden}.collapse+.collapse{margin-top:10px}.collapse-head{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;border:0;text-align:left;transition:background .16s var(--ease-out)}.collapse-head:hover{background:var(--fs-bg-soft)}.collapse-head[aria-expanded=true]{border-bottom:1px solid var(--fs-line)}.collapse-caret{flex:none;color:var(--fs-ink-faint);transition:transform .18s var(--ease-out)}.collapse-head[aria-expanded=true] .collapse-caret{transform:rotate(90deg)}.collapse-title{font-weight:700;font-size:14px;min-width:0}.collapse-meta{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.collapse-body{padding:0}.route-group+.route-group{margin-top:20px}.route-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}.route-group-head h3{font-size:13.5px;font-weight:700}.route-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:6px}.route{display:flex;align-items:baseline;gap:8px;padding:8px 11px;border:1px solid var(--fs-line);border-radius:var(--r-sm);background:#fff;font-size:12.5px;min-width:0}.route-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--fs-ink);overflow:hidden;text-overflow:ellipsis}.route--confirm{border-color:var(--fs-accent-line);background:var(--fs-accent-wash)}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{position:relative;flex:0 1 320px;min-width:200px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fs-ink-faint);pointer-events:none}.search .input{padding-left:34px;min-height:38px;border-radius:var(--r-pill);font-size:13.5px}.route-kind{font-size:var(--fz-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-ink-faint);margin:12px 0 6px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--fs-line)}.tab{padding:8px 18px;border:1px solid var(--fs-line-strong);background:#fff;border-radius:var(--r-pill);font-size:14px;font-weight:700;color:var(--fs-ink-soft);transition:border-color .16s var(--ease-out),color .16s var(--ease-out),background .16s var(--ease-out)}.tab:hover{border-color:var(--fs-accent-line);color:var(--fs-ink)}.tab.is-here{background:var(--fs-accent);border-color:var(--fs-accent);color:#fff}.handbook{opacity:0;transition:opacity .2s var(--ease-out)}.handbook.is-ready{opacity:1}.handbook iframe{width:100%;border:0;display:block;min-height:60vh;overflow:hidden}.route-service{margin-left:auto;font-size:var(--fz-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--fs-ink-faint);white-space:nowrap}.note-list{list-style:none;margin:0;padding:0}.note-row{display:flex;align-items:center;gap:14px;padding:12px 18px}.note-row+.note-row{border-top:1px solid var(--fs-line)}.note-row--unread{background:var(--fs-accent-wash)}.note-main{min-width:0}.note-summary{margin:0;overflow-wrap:anywhere}.note-row--unread .note-summary{font-weight:600}.note-meta{margin:2px 0 0;color:var(--fs-ink-faint)}.note-row .btn{margin-left:auto;flex:none}.page-notes{margin-bottom:18px;border:1px solid var(--fs-accent-line);border-radius:var(--r-md);background:var(--fs-accent-pale);overflow:hidden}.page-note{display:flex;align-items:center;gap:14px;padding:11px 16px}.page-note+.page-note{border-top:1px solid var(--fs-accent-line)}.page-note-summary{margin:0;min-width:0;overflow-wrap:anywhere;font-weight:600;color:var(--fs-ink)}.page-note--more .page-note-summary{font-weight:500}.page-note .btn{margin-left:auto;flex:none}.field label.checkbox-row{display:flex;min-height:0;margin-bottom:8px}.pre-wrap{white-space:pre-wrap}.text-overdue{color:var(--fs-error);font-weight:600}.plain-list{list-style:none;margin:0;padding:0}.plain-list li+li{margin-top:8px}.kv-list{margin:0}.kv-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:4px 16px;padding:7px 0;border-bottom:1px solid var(--fs-line)}.kv-row:last-child{border-bottom:0}.kv-row dt{color:var(--fs-ink-soft);font-size:var(--fz-small)}.kv-row dd{margin:0;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--fs-line)}.timeline-item:last-child{border-bottom:0}.timeline-detail{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fs-ink-soft)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px;align-items:start}.board-col{background:var(--fs-accent-wash);border:1px solid var(--fs-line);border-radius:var(--r-lg);padding:10px;min-height:120px}.board-col-head{display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 10px}.board-col-head h2{font-size:var(--fz-small);font-weight:700}.board-empty{margin:4px}.deal{background:#fff;border:1px solid var(--fs-line);border-radius:var(--r-md);box-shadow:var(--sh-card);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.deal+.deal{margin-top:10px}.deal--overdue{border-color:var(--fs-error)}.deal-name{font-weight:700;color:var(--fs-ink);text-decoration:none;overflow-wrap:anywhere}.deal-name:hover{color:var(--fs-accent);text-decoration:underline}.deal-next{font-size:var(--fz-small);color:var(--fs-ink-soft)}.deal-next--overdue{color:var(--fs-error);font-weight:600}.deal-next--today{color:var(--fs-warn);font-weight:600}.deal-stage{margin-top:6px;min-height:32px;font-size:var(--fz-small)}.enquiry+.enquiry{margin-top:18px;padding-top:14px;border-top:1px solid var(--fs-line)}.enquiry-head{margin-bottom:6px}.campaign-list .campaign{padding:16px 18px}.campaign-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.campaign-head h2{font-size:var(--fz-h2)}.campaign-head h2 a{color:inherit;text-decoration:none}.campaign-head h2 a:hover{color:var(--fs-accent);text-decoration:underline}.campaign-head p{margin:2px 0 0}.funnel{list-style:none;margin:0;padding:0;display:grid;gap:6px}.funnel-step{display:grid;grid-template-columns:110px 1fr 90px;align-items:center;gap:10px;font-size:var(--fz-small)}.funnel-note{color:var(--fs-ink-faint)}.funnel-track{height:10px;background:var(--fs-neutral-wash);border-radius:var(--r-pill);overflow:hidden}.funnel-fill{display:block;height:100%;background:var(--fs-accent);border-radius:inherit}.funnel-fill--base{background:var(--fs-ink-faint)}.funnel-value{text-align:right}.check-group{border:0;padding:0;margin:0 0 14px}.check-group legend{font-size:12px;font-weight:700;color:var(--fs-ink-faint);margin-bottom:4px;padding:0}.check-group-options{display:flex;flex-wrap:wrap;gap:0 18px}.check-group-options .checkbox-row{min-height:34px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border-radius:var(--r-pill);background:var(--fs-accent-tint);font-size:var(--fz-small)}.chip button{border:0;background:transparent;padding:0 6px;font-size:15px;line-height:1;color:var(--fs-ink-soft)}.audience-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:14px;margin-bottom:18px;border-radius:var(--r-md);background:var(--fs-accent-wash);border:1px solid var(--fs-line)}.mono-ish{font-variant-numeric:tabular-nums;line-height:1.5}.modal-section-title{font-size:var(--fz-h2);margin:20px 0 6px}.mail-sample{border:1px solid var(--fs-line);border-radius:var(--r-md);padding:12px 14px;margin-top:10px;background:var(--fs-bg)}.mail-subject{font-weight:700;margin:2px 0 8px;overflow-wrap:anywhere}.mail-body{margin:0;font:inherit;font-size:var(--fz-small);white-space:pre-wrap;overflow-wrap:anywhere}.recipient-list{max-height:260px;overflow-y:auto;margin:0;padding:8px 8px 8px 36px;border:1px solid var(--fs-line);border-radius:var(--r-md);font-size:var(--fz-small)}.recipient-list li{overflow-wrap:anywhere}.segmented{display:inline-flex;gap:6px}.split-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.split-2>.card+.card{margin-top:0}.code-ish{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.chart-svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--fs-line);stroke-width:1}.chart-axis{fill:var(--fs-ink-faint);font-size:11px;font-family:var(--font-body)}.chart-line{fill:none;stroke:var(--fs-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chart-line--accent{stroke:var(--fs-accent);stroke-width:2}.chart-cursor{stroke:var(--fs-line-strong);stroke-dasharray:3 3}.chart-dot{fill:#fff;stroke:var(--fs-ink);stroke-width:1.6}.chart-dot--accent{stroke:var(--fs-accent)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}.chart-key{display:inline-flex;align-items:center;gap:6px}.chart-swatch{width:14px;height:2px;background:var(--fs-ink);border-radius:2px}.chart-swatch--accent{background:var(--fs-accent);height:3px}.home-sales{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:18px}.home-sales>.card+.card{margin-top:0}@media (max-width: 720px){.timeline-item,.kv-row{grid-template-columns:1fr}.funnel-step{grid-template-columns:84px 1fr 70px}}.login{min-height:100vh;display:grid;place-items:center;padding:var(--s-5);background:var(--c-forest);color:var(--c-light)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--s-5);text-align:center}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.login-emblem{width:64px;height:64px;margin-bottom:var(--s-3)}.login-brand .wordmark{font-size:34px;line-height:1;color:var(--c-light)}.login-lede{margin:0;font-family:var(--font-ui);font-weight:var(--fw-medium);font-size:var(--fs-small);color:var(--c-light-2)}.login-submit{width:100%;min-height:46px}.login-alert{margin:0;padding:16px 20px;border:1px solid #f09a8f;border-radius:var(--r-md);background:var(--c-deep);color:var(--c-light);font-size:var(--fs-body-sm);text-align:left}.login-dev{text-align:left}.login-dev form{display:flex;flex-direction:column;gap:var(--s-2)}.login-dev-toggle{width:100%;color:var(--c-light-3)}.login-dev-label{margin:0;font-family:var(--font-ui);font-weight:var(--fw-medium);font-size:var(--fs-small);color:var(--c-light-3)}.login-note{margin:0;font-size:var(--fs-small);line-height:1.5;color:var(--c-light-3)}.shell{min-height:100%;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.skip-link{position:absolute;left:-9999px;top:var(--safe-top);z-index:200;background:#fff;color:var(--fs-accent);padding:10px 16px;border-radius:0 0 var(--r-md) 0;font-weight:700;font-size:13px}.skip-link:focus{left:0}.sidebar{grid-column:1;background:var(--fs-surface-dark);color:var(--fs-on-dark);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:70;padding:calc(20px + var(--safe-top)) 12px calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));overflow-y:auto;overscroll-behavior:contain}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 10px 18px;border-bottom:1px solid var(--fs-line-on-dark)}.sidebar-emblem{height:26px;max-width:92px;flex:none;object-fit:contain;color:var(--fs-accent-tint)}.sidebar-wordmark{font-size:14.5px;color:#fff}.drawer-close{display:none;margin-left:auto;width:34px;height:34px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--fs-line-on-dark);border-radius:var(--r-sm);color:var(--fs-on-dark-soft)}.drawer-close:hover{color:#fff}.nav{padding-top:6px}.nav-group+.nav-group{margin-top:14px}.nav-section{padding:8px 10px 6px;font-size:var(--fz-micro);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--fs-on-dark-faint);margin:0}.nav-link{display:flex;align-items:center;gap:11px;padding:8px 11px;min-height:38px;border-radius:var(--r-md);color:var(--fs-on-dark-soft);text-decoration:none;font-size:13.5px;font-weight:500;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.nav-link:hover{background:#ffffff12;color:#fff}.nav-link.is-here{background:var(--fs-accent-tint);color:var(--fs-accent);font-weight:600}.nav-link.is-here .nav-icon{color:var(--fs-accent)}.nav-icon{flex:none;color:var(--fs-on-dark-faint);transition:color .16s var(--ease-out)}.nav-link:hover .nav-icon{color:var(--fs-accent-tint)}.sidebar-foot{margin-top:auto;padding:14px 11px 4px;border-top:1px solid var(--fs-line-on-dark);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sidebar-user{min-width:0;flex:1 1 auto}.sidebar-user-name{display:block;font-size:12.5px;color:var(--fs-on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{display:inline-block;font-size:var(--fz-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fs-accent-tint);background:#dee3df24;border-radius:var(--r-pill);padding:2px 9px;margin-top:5px}.btn--on-dark{background:transparent;border-color:var(--fs-line-on-dark);color:var(--fs-on-dark-soft)}.btn--on-dark:hover:not(:disabled){border-color:#fff6;color:#fff}.content{grid-column:2;min-width:0;display:flex;flex-direction:column}.topbar{display:none;position:sticky;top:0;z-index:50;height:calc(var(--topbar-h) + var(--safe-top));align-items:center;gap:12px;padding:var(--safe-top) calc(28px + var(--safe-right)) 0 calc(28px + var(--safe-left));background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--fs-line)}.topbar-wordmark{display:none;font-size:13px;color:var(--fs-accent)}.topbar-spacer{flex:1}.hamburger{display:none;width:38px;height:38px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--fs-line);border-radius:var(--r-md);color:var(--fs-ink)}.page-body{padding:40px calc(28px + var(--safe-right)) 0 28px;max-width:var(--container);width:100%;flex:1}.page-head{margin-bottom:22px}.page-head h1{font-size:var(--fz-h1);font-weight:700;letter-spacing:-.015em}.page-head p{color:var(--fs-ink-soft);font-size:14px;margin:7px 0 0;max-width:68ch}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-foot{margin-top:48px;padding:18px 0 calc(40px + var(--safe-bottom));border-top:1px solid var(--fs-line)}.page-foot p{margin:0}.scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#071c0380;z-index:65}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr)}.content{grid-column:1}.sidebar{transform:translate(-100%);transition:transform .22s var(--ease-out);box-shadow:var(--sh-modal);width:min(300px,86vw)}.shell.drawer-open .sidebar{transform:translate(0)}.shell.drawer-open .scrim{display:block}.topbar{display:flex}.hamburger,.drawer-close,.topbar-wordmark{display:inline-flex}.topbar{padding:var(--safe-top) calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left))}.page-body{padding:20px calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left))}.hamburger{width:44px;height:44px}.page-head{margin-bottom:18px}}.sidebar-logo{display:block;width:100%;max-width:196px;height:auto}.nav-badge{margin-left:auto;flex:none;min-width:19px;padding:1px 6px;border-radius:999px;background:var(--fs-accent-tint);color:var(--fs-surface-dark);font-size:11px;font-weight:700;line-height:16px;text-align:center}.nav-link.is-here .nav-badge{background:var(--fs-accent);color:#fff}.nav-notes{margin:2px 0 0;border:1px solid var(--fs-line-on-dark);border-radius:var(--r-md);background:#ffffff0a;overflow:hidden}.nav-note{display:block;padding:7px 11px;color:var(--fs-on-dark-soft);text-decoration:none;font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-note:hover{background:#ffffff12;color:#fff}.nav-note+.nav-note{border-top:1px solid var(--fs-line-on-dark)}.nav-note--more{color:var(--fs-on-dark-faint);font-weight:600}
