:root{--ex-teal-50: #eefbf6;--ex-teal-100: #d5f5e7;--ex-teal-200: #aeead4;--ex-teal-300: #79d8ba;--ex-teal-400: #43be9b;--ex-teal-500: #1fa382;--ex-teal-600: #128269;--ex-teal-700: #0f6856;--ex-teal-800: #105345;--ex-teal-900: #0e453a;--ex-teal-950: #04271f;--ex-gray-50: #f8f9f8;--ex-gray-100: #f1f2f1;--ex-gray-200: #e4e6e5;--ex-gray-300: #cdd1cf;--ex-gray-400: #9ba39f;--ex-gray-450: #87908c;--ex-gray-500: #6f7874;--ex-gray-600: #565e5b;--ex-gray-700: #454b49;--ex-gray-800: #2c3130;--ex-gray-900: #1b1f1e;--ex-gray-950: #101312;--ex-white: #ffffff;--ex-black: #000000;--ex-green-600: #15803d;--ex-green-500: #16a34a;--ex-green-100: #dcfce7;--ex-amber-700: #b45309;--ex-amber-500: #d97706;--ex-amber-100: #fef3c7;--ex-red-500: #dc2626;--ex-red-400: #f87171;--ex-red-100: #fee2e2;--ex-blue-500: #2563eb;--ex-blue-400: #60a5fa;--ex-blue-100: #dbeafe;--ex-color-brand: var(--ex-teal-600);--ex-color-brand-hover: var(--ex-teal-700);--ex-color-brand-active: var(--ex-teal-800);--ex-color-brand-subtle: var(--ex-teal-50);--ex-color-brand-border: var(--ex-teal-200);--ex-color-on-brand: var(--ex-white);--ex-color-surface: var(--ex-white);--ex-color-surface-raised: var(--ex-gray-50);--ex-color-surface-sunken: var(--ex-gray-100);--ex-color-surface-inverse: var(--ex-gray-900);--ex-color-text: var(--ex-gray-900);--ex-color-text-muted: var(--ex-gray-600);--ex-color-text-subtle: var(--ex-gray-500);--ex-color-text-inverse: var(--ex-gray-50);--ex-color-border: var(--ex-gray-200);--ex-color-border-strong: var(--ex-gray-300);--ex-color-success: var(--ex-green-600);--ex-color-success-subtle: var(--ex-green-100);--ex-color-warning: var(--ex-amber-700);--ex-color-warning-subtle: var(--ex-amber-100);--ex-color-danger: var(--ex-red-500);--ex-color-danger-subtle: var(--ex-red-100);--ex-color-info: var(--ex-blue-500);--ex-color-info-subtle: var(--ex-blue-100);--ex-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ex-font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", "Menlo", "Consolas", monospace;--ex-text-xs: .75rem;--ex-text-sm: .875rem;--ex-text-base: 1rem;--ex-text-lg: 1.125rem;--ex-text-xl: 1.375rem;--ex-text-2xl: 1.625rem;--ex-text-3xl: 2rem;--ex-text-4xl: 2.5rem;--ex-weight-regular: 400;--ex-weight-medium: 500;--ex-weight-semibold: 600;--ex-weight-bold: 700;--ex-leading-tight: 1.2;--ex-leading-snug: 1.4;--ex-leading-normal: 1.6;--ex-leading-relaxed: 1.75;--ex-tracking-tight: -.02em;--ex-tracking-normal: 0;--ex-tracking-wide: .02em;--ex-space-0: 0;--ex-space-1: .25rem;--ex-space-2: .5rem;--ex-space-3: .75rem;--ex-space-4: 1rem;--ex-space-5: 1.5rem;--ex-space-6: 2rem;--ex-space-7: 3rem;--ex-space-8: 4rem;--ex-space-9: 6rem;--ex-radius-sm: 4px;--ex-radius-md: 8px;--ex-radius-lg: 12px;--ex-radius-full: 9999px;--ex-shadow-sm: 0 1px 2px rgb(16 19 18 / 6%);--ex-shadow-md: 0 2px 8px rgb(16 19 18 / 8%);--ex-shadow-lg: 0 8px 24px rgb(16 19 18 / 12%);--ex-duration-fast: .1s;--ex-duration-base: .2s;--ex-duration-slow: .4s;--ex-ease-standard: cubic-bezier(.4, 0, .2, 1);--ex-ease-out: cubic-bezier(0, 0, .2, 1);--ex-z-base: 0;--ex-z-dropdown: 100;--ex-z-sticky: 200;--ex-z-overlay: 300;--ex-z-modal: 400;--ex-z-toast: 500;--ex-breakpoint-sm: 640px;--ex-breakpoint-md: 768px;--ex-breakpoint-lg: 1024px;--ex-breakpoint-xl: 1280px}.dark{--ex-color-brand: var(--ex-teal-400);--ex-color-brand-hover: var(--ex-teal-300);--ex-color-brand-active: var(--ex-teal-200);--ex-color-brand-subtle: var(--ex-teal-950);--ex-color-brand-border: var(--ex-teal-800);--ex-color-on-brand: var(--ex-gray-950);--ex-color-surface: var(--ex-gray-950);--ex-color-surface-raised: var(--ex-gray-900);--ex-color-surface-sunken: var(--ex-black);--ex-color-surface-inverse: var(--ex-gray-50);--ex-color-text: var(--ex-gray-100);--ex-color-text-muted: var(--ex-gray-400);--ex-color-text-subtle: var(--ex-gray-450);--ex-color-text-inverse: var(--ex-gray-900);--ex-color-border: var(--ex-gray-800);--ex-color-border-strong: var(--ex-gray-700);--ex-color-success: var(--ex-green-500);--ex-color-warning: var(--ex-amber-500);--ex-color-danger: var(--ex-red-400);--ex-color-info: var(--ex-blue-400);--ex-color-success-subtle: #052e16;--ex-color-warning-subtle: #3a2506;--ex-color-danger-subtle: #3f1414;--ex-color-info-subtle: #0d1f4a;--ex-shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--ex-shadow-md: 0 2px 8px rgb(0 0 0 / 48%);--ex-shadow-lg: 0 8px 24px rgb(0 0 0 / 56%)}:root{--vp-c-brand-1: var(--ex-color-brand);--vp-c-brand-2: var(--ex-color-brand-hover);--vp-c-brand-3: var(--ex-color-brand-active);--vp-c-brand-soft: var(--ex-color-brand-subtle);--vp-c-bg: var(--ex-color-surface);--vp-c-bg-alt: var(--ex-color-surface-raised);--vp-c-bg-soft: var(--ex-color-surface-raised);--vp-c-text-1: var(--ex-color-text);--vp-c-text-2: var(--ex-color-text-muted);--vp-c-text-3: var(--ex-color-text-subtle);--vp-c-divider: var(--ex-color-border);--vp-c-border: var(--ex-color-border);--vp-c-gutter: var(--ex-color-border);--vp-c-tip-1: var(--ex-color-info);--vp-c-tip-soft: var(--ex-color-info-subtle);--vp-c-warning-1: var(--ex-color-warning);--vp-c-warning-soft: var(--ex-color-warning-subtle);--vp-c-danger-1: var(--ex-color-danger);--vp-c-danger-soft: var(--ex-color-danger-subtle);--vp-font-family-base: var(--ex-font-sans);--vp-font-family-mono: var(--ex-font-mono);--vp-button-brand-bg: var(--ex-color-brand);--vp-button-brand-hover-bg: var(--ex-color-brand-hover);--vp-button-brand-active-bg: var(--ex-color-brand-active);--vp-button-brand-text: var(--ex-color-on-brand);--vp-button-brand-border: transparent;--vp-shadow-1: var(--ex-shadow-sm);--vp-shadow-2: var(--ex-shadow-md);--vp-shadow-3: var(--ex-shadow-lg)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--ex-font-sans);font-size:var(--ex-text-base);line-height:var(--ex-leading-normal);color:var(--ex-color-text);background:var(--ex-color-surface-sunken)}a{color:var(--ex-color-brand);text-decoration:none}a:hover{color:var(--ex-color-brand-hover);text-decoration:underline}code,.mono{font-family:var(--ex-font-mono);font-size:var(--ex-text-sm)}.layout{display:grid;grid-template-columns:15rem 1fr;min-height:100vh}@media (max-width: 60rem){.layout{grid-template-columns:1fr}}.sidebar{padding:var(--ex-space-6);background:var(--ex-color-surface);border-right:1px solid var(--ex-color-border)}.sidebar__brand{font-weight:var(--ex-weight-bold);font-size:var(--ex-text-lg);margin-bottom:var(--ex-space-6)}.sidebar__link{display:block;padding:var(--ex-space-2) var(--ex-space-3);margin-bottom:var(--ex-space-1);border-radius:var(--ex-radius-md);color:var(--ex-color-text-muted);transition:background var(--ex-duration-fast) var(--ex-ease-standard)}.sidebar__link:hover{background:var(--ex-color-surface-sunken);text-decoration:none}.sidebar__link--active{background:var(--ex-color-brand-subtle);color:var(--ex-color-brand);font-weight:var(--ex-weight-medium)}.main{padding:var(--ex-space-7);max-width:60rem}.page-title{font-size:var(--ex-text-2xl);font-weight:var(--ex-weight-semibold);margin:0 0 var(--ex-space-2)}.page-subtitle{color:var(--ex-color-text-muted);margin:0 0 var(--ex-space-6)}.card{background:var(--ex-color-surface);border:1px solid var(--ex-color-border);border-radius:var(--ex-radius-lg);padding:var(--ex-space-5);margin-bottom:var(--ex-space-5)}.card__title{font-size:var(--ex-text-lg);font-weight:var(--ex-weight-semibold);margin:0 0 var(--ex-space-4)}.field{margin-bottom:var(--ex-space-4)}.field__label{display:block;margin-bottom:var(--ex-space-2);font-size:var(--ex-text-sm);font-weight:var(--ex-weight-medium)}.input{width:100%;padding:var(--ex-space-3);font:inherit;color:var(--ex-color-text);background:var(--ex-color-surface);border:1px solid var(--ex-color-border-strong);border-radius:var(--ex-radius-md)}.input:focus-visible{outline:2px solid var(--ex-color-brand);outline-offset:1px}.button{padding:var(--ex-space-3) var(--ex-space-5);font:inherit;font-weight:var(--ex-weight-medium);color:var(--ex-color-on-brand);background:var(--ex-color-brand);border:1px solid transparent;border-radius:var(--ex-radius-md);cursor:pointer;transition:background var(--ex-duration-fast) var(--ex-ease-standard)}.button:hover:not(:disabled){background:var(--ex-color-brand-hover)}.button:active:not(:disabled){background:var(--ex-color-brand-active)}.button:disabled{opacity:.6;cursor:not-allowed}.button--ghost{color:var(--ex-color-text);background:transparent;border-color:var(--ex-color-border-strong)}.button--ghost:hover:not(:disabled){background:var(--ex-color-surface-sunken)}.button--danger{color:var(--ex-color-danger);background:transparent;border-color:var(--ex-color-border-strong)}.button--danger:hover:not(:disabled){background:var(--ex-color-danger-subtle)}.alert{padding:var(--ex-space-3) var(--ex-space-4);border-radius:var(--ex-radius-md);margin-bottom:var(--ex-space-4);font-size:var(--ex-text-sm)}.alert--error{color:var(--ex-color-danger);background:var(--ex-color-danger-subtle)}.alert--success{color:var(--ex-color-success);background:var(--ex-color-success-subtle)}.alert--warning{color:var(--ex-color-warning);background:var(--ex-color-warning-subtle)}.table{width:100%;border-collapse:collapse;font-size:var(--ex-text-sm)}.table th,.table td{padding:var(--ex-space-3);text-align:left;border-bottom:1px solid var(--ex-color-border)}.table th{color:var(--ex-color-text-subtle);font-weight:var(--ex-weight-medium)}.badge{display:inline-block;padding:0 var(--ex-space-2);font-size:var(--ex-text-xs);font-weight:var(--ex-weight-medium);border-radius:var(--ex-radius-full);background:var(--ex-color-surface-sunken);color:var(--ex-color-text-muted)}.badge--active{background:var(--ex-color-success-subtle);color:var(--ex-color-success)}.badge--revoked{background:var(--ex-color-danger-subtle);color:var(--ex-color-danger)}.stat{font-size:var(--ex-text-3xl);font-weight:var(--ex-weight-bold)}.stat__label{color:var(--ex-color-text-subtle);font-size:var(--ex-text-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--ex-space-5)}.auth-shell{display:grid;place-items:center;min-height:100vh;padding:var(--ex-space-5)}.auth-shell .card{width:100%;max-width:24rem}.muted{color:var(--ex-color-text-muted)}.token-reveal{padding:var(--ex-space-3);background:var(--ex-color-surface-sunken);border:1px dashed var(--ex-color-border-strong);border-radius:var(--ex-radius-md);word-break:break-all}
