:root{--color-bg: #f5f5f5;--color-canvas-soft: #fafafa;--color-surface-card: #ffffff;--color-surface-strong: #f0efed;--color-bg-tertiary: #f0efed;--color-surface-hover: #f0efed;--color-surface: var(--color-surface-card);--color-bg-secondary: var(--color-surface-card);--color-ink: #0c0a09;--color-body: #4e4e4e;--color-muted: #777169;--color-muted-soft: #a8a29e;--color-text: var(--color-ink);--color-text-primary: var(--color-ink);--color-text-secondary: var(--color-body);--color-text-muted: var(--color-muted);--color-hairline: #e7e5e4;--color-hairline-soft: #f0efed;--color-hairline-strong: #d6d3d1;--color-border: var(--color-hairline);--color-border-hover: var(--color-hairline-strong);--color-primary: #292524;--color-primary-hover: #0c0a09;--color-primary-light: var(--color-surface-strong);--color-on-primary: #ffffff;--color-canvas-dark: #0c0a09;--color-surface-dark-soft: #1c1917;--color-on-dark: #ffffff;--color-on-dark-soft: #a8a29e;--color-hairline-on-dark: rgba(255, 255, 255, .1);--color-body-on-dark: rgba(255, 255, 255, .7);--gradient-mint: #a7e5d3;--gradient-peach: #f4c5a8;--gradient-lavender: #c8b8e0;--gradient-sky: #a8c8e8;--gradient-rose: #e8b8c4;--accent-mint: #a7e5d3;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-light: var(--color-error-bg);--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-success-light: var(--color-success-bg);--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-light: var(--color-warning-bg);--color-info: #2563eb;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--color-info-light: var(--color-info-bg);--color-input-bg: var(--color-surface-card);--color-input-border: var(--color-hairline);--color-input-border-focus: var(--color-ink);--space-2xs: 2px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-base: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 80px;--space-section: 96px;--space-md: 12px;--focus-ring-color: var(--color-ink);--focus-ring-offset: 2px;--focus-ring-width: 2px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 0 0 1px var(--color-hairline);--shadow-md: 0 4px 10px rgba(12, 10, 9, .06);--shadow-lg: 0 4px 10px rgba(12, 10, 9, .08);--shadow-hero-media: 0 24px 60px rgba(12, 10, 9, .1);--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-family-heading: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-display-md: 36px;--font-size-display-lg: 52px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 500;--font-weight-bold: 500;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-dropdown: 1000;--z-modal: 2000;--z-tooltip: 3000}:root{color-scheme:light;--bg: oklch(98.4% .001 250);--bg-sunken: oklch(97% .002 250);--surface: oklch(100% 0 0);--surface-2: oklch(98% .002 250);--surface-hover: oklch(96.5% .003 250);--surface-active: oklch(94.5% .004 250);--border: oklch(92.5% .003 250);--border-strong: oklch(87% .004 250);--ink: oklch(21% .01 260);--ink-2: oklch(38% .012 260);--ink-3: oklch(55% .012 260);--ink-4: oklch(68% .01 260);--accent: oklch(56% .19 260);--accent-hover: oklch(50% .2 260);--accent-weak: oklch(95% .03 260);--accent-ink: oklch(46% .19 260);--accent-ring: oklch(56% .19 260 / .25);--grow: oklch(64% .15 158);--grow-weak: oklch(94% .05 158);--grow-ink: oklch(45% .13 158);--ok: oklch(64% .15 158);--ok-weak: oklch(94% .05 158);--ok-ink: oklch(45% .13 158);--warn: oklch(70% .14 68);--warn-weak: oklch(95% .06 75);--warn-ink: oklch(52% .13 60);--err: oklch(59% .2 25);--err-weak: oklch(95% .04 25);--err-ink: oklch(50% .19 25);--violet: oklch(56% .18 292);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 22px;--sp-6: 28px;--sp-8: 40px;--topbar-h: 60px;--sidebar-w: 216px;--gutter-page: 28px;--pad-card: 22px;--maxw-content: 1280px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--text-2xs: 10px;--text-xs: 11.5px;--text-sm: 12.5px;--text-body: 13.5px;--text-md: 14px;--text-lg: 15px;--text-title: 17px;--text-h2: 22px;--text-h1: 24px;--text-display: 28px;--fw-regular: 400;--fw-relaxed: 450;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.4;--lh-body: 1.5;--track-tight: -.3px;--track-title: -.2px;--track-caps: .5px;--track-eyebrow: .8px;--shadow-sm: 0 1px 2px oklch(21% .01 260 / .05);--shadow: 0 1px 2px oklch(21% .01 260 / .05), 0 4px 12px oklch(21% .01 260 / .05);--shadow-lg: 0 4px 12px oklch(21% .01 260 / .08), 0 24px 48px oklch(21% .01 260 / .12);--focus-ring: 0 0 0 3px var(--accent-ring);--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-med: .16s}:root[data-theme=dark]{color-scheme:dark;--bg: oklch(19% .006 260);--bg-sunken: oklch(16% .006 260);--surface: oklch(22% .008 260);--surface-2: oklch(24.5% .009 260);--surface-hover: oklch(28% .01 260);--surface-active: oklch(31% .011 260);--border: oklch(29% .01 260);--border-strong: oklch(38% .012 260);--ink: oklch(97% .003 260);--ink-2: oklch(82% .008 260);--ink-3: oklch(64% .01 260);--ink-4: oklch(50% .01 260);--accent: oklch(70% .16 260);--accent-hover: oklch(76% .16 260);--accent-weak: oklch(30% .08 260);--accent-ink: oklch(80% .13 260);--accent-ring: oklch(70% .16 260 / .3);--grow: oklch(70% .16 158);--grow-weak: oklch(30% .07 158);--grow-ink: oklch(80% .14 158);--ok: oklch(70% .16 158);--ok-weak: oklch(30% .07 158);--ok-ink: oklch(80% .14 158);--warn: oklch(78% .14 72);--warn-weak: oklch(32% .07 70);--warn-ink: oklch(82% .13 75);--err: oklch(70% .19 25);--err-weak: oklch(32% .08 25);--err-ink: oklch(80% .15 25);--violet: oklch(70% .15 292);--shadow-sm: 0 1px 2px oklch(0% 0 0 / .3);--shadow: 0 1px 2px oklch(0% 0 0 / .3), 0 4px 12px oklch(0% 0 0 / .35);--shadow-lg: 0 4px 12px oklch(0% 0 0 / .45), 0 24px 48px oklch(0% 0 0 / .55)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}::selection{background:var(--accent-weak);color:var(--accent-ink)}.app-shell{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}.topbar{height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;padding:0 var(--gutter-page);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-dropdown)}.topbar-brand{display:flex;align-items:baseline;gap:var(--sp-2)}.brand-mark{font-size:var(--text-title);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);color:var(--ink)}.brand-tag{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--ink-4)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}.topbar-divider{width:1px;height:22px;background:var(--border)}.account{display:flex;align-items:center;gap:var(--sp-2)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.2px;flex-shrink:0}.account-email{font-size:var(--text-md);color:var(--ink-2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-md);color:var(--ink-3);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.icon-btn:hover,.theme-toggle:hover{background:var(--surface-hover);color:var(--ink)}.shell-body{flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar-w);flex-shrink:0;padding:var(--sp-4) var(--sp-4);overflow-y:auto}.sidebar-nav{display:flex;flex-direction:column;gap:var(--sp-1)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:var(--sp-4)}.nav-group-label{margin:0 0 2px;padding:0 14px;font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--ink-4)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:9px 14px;border-radius:var(--r-md);font-size:var(--text-md);font-weight:var(--fw-relaxed);color:var(--ink-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:var(--surface-hover);color:var(--ink)}.nav-item.active{background:var(--surface-active);color:var(--ink);font-weight:var(--fw-semibold)}.nav-icon{color:var(--ink-3);flex-shrink:0}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:var(--ink)}.main-col{flex:1;min-width:0;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto}.content{width:100%;max-width:var(--maxw-content);padding:24px var(--gutter-page) 28px;display:flex;flex-direction:column;gap:var(--sp-5)}.content:has(.overview-page){max-width:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding-top:4px}.page-header-text{display:flex;flex-direction:column;gap:6px;min-width:0}.page-title{margin:0;font-size:var(--text-h1);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);line-height:1.1;color:var(--ink)}.page-subtitle{margin:0;font-size:var(--text-body);color:var(--ink-3);max-width:68ch}.page-header-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.updated-meta{font-size:var(--text-sm);color:var(--ink-4);white-space:nowrap}.overview-page{display:flex;flex-direction:column;gap:var(--sp-5);height:calc(100vh - var(--topbar-h) - 52px)}.overview-grid{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--sp-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--sp-2);flex:1;min-height:0}.stat-label{margin:0;font-size:var(--text-title);font-weight:var(--fw-semibold);letter-spacing:var(--track-title);color:var(--ink)}.stat-value-row{display:flex;align-items:baseline;gap:var(--sp-2)}.stat-value{font-family:var(--font-mono);font-size:clamp(26px,2.3vw,34px);line-height:1;font-weight:var(--fw-semibold);letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--ink)}.stat-trend{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.stat-trend.up{color:var(--grow-ink)}.stat-trend.down{color:var(--err-ink)}.stat-context{margin:0;font-size:var(--text-sm);color:var(--ink-3)}.stat-latest{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2)}.stat-chart{margin-top:var(--sp-2);flex:1;min-height:0}.bar-chart{position:relative;width:100%;height:100%}.bar-chart-svg{display:block;width:100%;overflow:visible}.grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:2 3}.axis-tick{fill:var(--ink-3);font-family:var(--font-mono);font-size:10.5px;font-variant-numeric:tabular-nums}.bar{fill:var(--bar-color, var(--accent));transition:filter var(--dur-fast) var(--ease)}.bar.hovered{filter:brightness(.9)}.chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 8px));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow);padding:6px 10px;pointer-events:none;white-space:nowrap;z-index:5}.chart-tip-date{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--ink);margin-bottom:2px}.chart-tip-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink-2)}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--ink-4);font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:32px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:.55px;text-transform:uppercase;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2);color:var(--surface)}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-3)}.btn-ghost:hover:not(:disabled){border-color:transparent;background:var(--surface-hover);color:var(--ink)}.range-picker,.segmented{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:3px}.range-picker button,.segmented button{padding:4px 11px;border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--ink-3);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.range-picker button:hover,.segmented button:hover{color:var(--ink)}.range-picker button.active,.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:var(--text-body)}table.data th,table.data td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.data thead th{position:sticky;top:0;z-index:1;background:var(--bg-sunken);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.55px;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--ink-3);-webkit-user-select:none;user-select:none}table.data th.sortable{cursor:pointer}table.data th.sortable:hover,table.data td{color:var(--ink)}table.data td.mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-hover)}.search-input{height:32px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);border-radius:var(--r-md);padding:0 12px;font-size:var(--text-body);min-width:240px}.search-input::placeholder{color:var(--ink-4)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.muted{color:var(--ink-4)}.mono{font-family:var(--font-mono)}.pagination{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink-3)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--track-caps);border:1px solid transparent;white-space:nowrap}.badge-new{background:var(--accent-weak);color:var(--accent-ink)}.badge-contacted{background:var(--warn-weak);color:var(--warn-ink)}.badge-provisioned{background:var(--ok-weak);color:var(--ok-ink)}.badge-rejected{background:var(--surface-2);color:var(--ink-3);border-color:var(--border)}.cell-clip{display:inline-block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.notice{padding:10px 14px;border-radius:var(--r-md);font-size:var(--text-sm);background:var(--warn-weak);border:1px solid transparent;color:var(--warn-ink)}.notice-error{background:var(--err-weak);color:var(--err-ink)}.spinner{width:26px;height:26px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fullscreen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-4);text-align:center;padding:var(--gutter-page)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16181d80;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:var(--z-modal)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:var(--pad-card);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-title{font-size:var(--text-title);font-weight:var(--fw-semibold);letter-spacing:var(--track-title);margin:0 0 var(--sp-4)}.modal-meta{margin:0 0 var(--sp-5);display:grid;gap:var(--sp-3)}.modal-meta div{display:grid;gap:3px}.modal-meta dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--text-xs);color:var(--ink-3)}.modal-meta dd{margin:0;font-size:var(--text-body);color:var(--ink)}.form-field{display:grid;gap:4px;margin-bottom:var(--sp-4)}.form-field>span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--text-xs);color:var(--ink-3)}.form-field select,.form-field textarea{font-family:inherit;font-size:var(--text-body);color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 12px}.form-field textarea{resize:vertical;line-height:var(--lh-body)}.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-4)}@media(max-width:860px){.shell-body{flex-direction:column}.sidebar{position:static;width:100%;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:var(--sp-1)}.nav-group{flex-direction:row;align-items:center}.nav-group+.nav-group{margin-top:0}.nav-group-label{display:none}.content{padding:var(--sp-4)}.account-email{display:none}.overview-page{height:auto}.stat-card{flex:none}.stat-chart{min-height:200px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
