*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4}body{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;padding:0}a{color:inherit;text-decoration:none}fieldset{border:none}:root{--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;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .12);--transition-fast: .15s ease;--transition-base: .2s ease;--z-header: 100;--z-modal: 200;--z-toast: 300}:root{--color-bg-page: #F0F9FF;--color-bg-surface: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-bg-muted: #E0F2FE;--color-border: #BAE6FD;--color-border-strong: #7DD3FC;--color-text-primary: #0C4A6E;--color-text-secondary: #164E63;--color-text-muted: #0E7490;--color-text-on-primary: #FFFFFF;--color-primary: #0891B2;--color-primary-hover: #0E7490;--color-primary-subtle: #CFFAFE;--color-primary-text: #0E7490;--color-primary-solid: #0E7490;--color-primary-solid-hover: #164E63;--color-accent: #06B6D4;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-status-active: #10B981;--color-status-pending: #94A3B8;--color-status-revoked: #6B7280;--color-status-alert: #EF4444;--color-status-active-bg: #D1FAE5;--color-status-pending-bg: #E0F2FE;--color-status-revoked-bg: #F0F9FF;--color-status-alert-bg: #FEE2E2}[data-theme=dark]{--color-bg-page: #0F172A;--color-bg-surface: #1E293B;--color-bg-elevated: #1E293B;--color-bg-muted: #1E293B;--color-border: #334155;--color-border-strong: #475569;--color-text-primary: #F1F5F9;--color-text-secondary: #CBD5E1;--color-text-muted: #94A3B8;--color-text-on-primary: #0F172A;--color-primary: #06B6D4;--color-primary-hover: #22D3EE;--color-primary-subtle: #164E63;--color-primary-text: #22D3EE;--color-primary-solid: #06B6D4;--color-primary-solid-hover: #22D3EE;--color-accent: #22D3EE;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #F87171;--color-status-active: #10B981;--color-status-pending: #64748B;--color-status-revoked: #475569;--color-status-alert: #F87171;--color-status-active-bg: #064E3B;--color-status-pending-bg: #1E293B;--color-status-revoked-bg: #1E293B;--color-status-alert-bg: #450A0A}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-page);line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--color-text-secondary);line-height:1.7}code,pre,kbd{font-family:var(--font-mono);font-size:var(--text-sm)}strong{font-weight:600}small{font-size:var(--text-xs);color:var(--color-text-muted)}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--space-6)}.container--narrow{max-width:720px}.container--wide{max-width:1440px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-text-primary)}.text-accent{color:var(--color-primary)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.font-mono{font-family:var(--font-mono)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:600;line-height:1.2;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.btn--primary{background:var(--color-primary-solid);color:var(--color-text-on-primary);border-color:var(--color-primary-solid)}.btn--primary:hover{background:var(--color-primary-solid-hover);border-color:var(--color-primary-solid-hover)}.btn--secondary{background:transparent;color:var(--color-primary-text);border-color:var(--color-primary-text)}.btn--secondary:hover{background:var(--color-primary-subtle)}.btn--ghost{background:transparent;color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn--ghost:hover{background:var(--color-bg-muted)}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:36px}.btn--md{padding:var(--space-2) var(--space-5);font-size:var(--text-base);min-height:44px}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-lg);min-height:48px}@media(max-width:639px){.btn--sm{min-height:44px}}:root{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::selection{background:var(--color-primary-subtle);color:var(--color-primary)}html,body{height:100%}
