*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-display: "Barlow Condensed", sans-serif;--font-sans: "Manrope", sans-serif;--font-mono: "JetBrains Mono", monospace;--ground: #F1F5F9;--surface-1: #E8EDF5;--surface-2: #DDE4EF;--card: #FFFFFF;--card-elevated: #FFFFFF;--sidebar: #0F172A;--topnav-bg: #FFFFFF;--border: #E2E8F0;--border-muted: #EEF2F7;--border-accent: rgba(79, 70, 229, .35);--text-1: #0F172A;--text-2: #64748B;--text-3: #94A3B8;--text-inverse: #FFFFFF;--accent: #4F46E5;--accent-hover: #4338CA;--accent-light: #6366F1;--accent-dim: rgba(79, 70, 229, .08);--accent-glow: rgba(79, 70, 229, .2);--cyber: #4F46E5;--cyber-dim: rgba(79, 70, 229, .08);--cyber-green: #16A34A;--cyber-red: #DC2626;--jade: #16A34A;--jade-dim: rgba(22, 163, 74, .08);--jade-glow:rgba(22, 163, 74, .2);--status-met: #16A34A;--status-met-bg: rgba(22, 163, 74, .08);--status-met-text: #15803D;--status-partial: #D97706;--status-partial-bg: rgba(217, 119, 6, .08);--status-partial-text: #B45309;--status-not-met: #DC2626;--status-not-met-bg: rgba(220, 38, 38, .08);--status-not-met-text: #B91C1C;--status-draft: #94A3B8;--status-draft-bg: rgba(148, 163, 184, .1);--status-inprogress: #4F46E5;--status-inprogress-bg:rgba(79, 70, 229, .08);--status-critical: #DC2626;--status-success: #16A34A;--status-success-bg: rgba(22, 163, 74, .08);--status-success-text: #15803D;--status-warning: #D97706;--status-warning-bg: rgba(217, 119, 6, .08);--status-warning-text: #B45309;--status-danger: #DC2626;--status-danger-bg: rgba(220, 38, 38, .08);--status-danger-text: #B91C1C;--status-info: #4F46E5;--status-info-bg: rgba(79, 70, 229, .08);--status-info-text: #4338CA;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 8px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .1);--shadow-2xl: 0 24px 48px rgba(15, 23, 42, .14);--shadow-accent: 0 4px 16px rgba(79, 70, 229, .25);--shadow-green: 0 4px 16px rgba(22, 163, 74, .2);--shadow-red: 0 4px 16px rgba(220, 38, 38, .2);--topnav-h: 60px;--sidebar-w: 256px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--t-card: #FFFFFF;--t-bg: #F8FAFC;--t-border: #E2E8F0;--t-border-light: #F1F5F9;--t-text-primary: #0F172A;--t-text-secondary: #64748B;--t-text-muted: #94A3B8;--t-text-faint: #CBD5E1;--t-accent: #4F46E5;--t-accent-light: rgba(79, 70, 229, .08);--t-accent-border: rgba(79, 70, 229, .2);--t-success: #16A34A;--t-success-light: rgba(22, 163, 74, .08);--t-success-border: rgba(22, 163, 74, .2);--t-warning: #D97706;--t-warning-light: rgba(217, 119, 6, .08);--t-warning-border: rgba(217, 119, 6, .2);--t-danger: #DC2626;--t-danger-light: rgba(220, 38, 38, .08);--t-danger-border: rgba(220, 38, 38, .2);--t-sky: #0EA5E9;--t-sky-light: rgba(14, 165, 233, .08);--t-shadow: 0 1px 3px rgba(15, 23, 42, .06);--t-shadow-md: 0 4px 12px rgba(15, 23, 42, .08)}html[data-theme=dark]{--ground: #13151F;--surface-1: #1A1D2E;--surface-2: #242740;--card: #1A1D2E;--card-elevated: #1E2236;--sidebar: #0D0F1A;--topnav-bg: #1A1D2E;--border: #2D3250;--border-muted: #242740;--text-1: #F1F5F9;--text-2: #94A3B8;--text-3: #94A3B8;--t-card: #1A1D2E;--t-bg: #13151F;--t-border: #2D3250;--t-border-light: #242740;--t-text-primary: #F1F5F9;--t-text-secondary: #94A3B8;--t-text-muted: #94A3B8;--t-text-faint: #64748B;--t-accent: #818CF8;--t-accent-light: rgba(129, 140, 248, .12);--t-accent-border: rgba(129, 140, 248, .25);--t-success: #4ADE80;--t-success-light: rgba(74, 222, 128, .12);--t-success-border: rgba(74, 222, 128, .25);--t-warning: #FBBF24;--t-warning-light: rgba(251, 191, 36, .12);--t-warning-border: rgba(251, 191, 36, .25);--t-danger: #F87171;--t-danger-light: rgba(248, 113, 113, .12);--t-danger-border: rgba(248, 113, 113, .25);--t-sky: #38BDF8;--t-sky-light: rgba(56, 189, 248, .12);--t-shadow: 0 1px 3px rgba(0, 0, 0, .3);--t-shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--ground);color:var(--text-1);line-height:1.5;min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-moz-selection{background:#4f46e51f;color:var(--text-1)}::selection{background:#4f46e51f;color:var(--text-1)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.25;color:var(--text-1)}code,pre,.font-mono{font-family:var(--font-mono)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .3s ease-out both}.animate-fade-in{animation:fadeIn .25s ease-out both}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#eef2f7,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-md)}.font-display{font-family:var(--font-display)!important}.meridian-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,border-color .18s ease}.meridian-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.section-label{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:11px;font-weight:600;white-space:nowrap}.badge-met{background:var(--status-met-bg);color:var(--status-met-text);border:1px solid rgba(22,163,74,.2)}.badge-partial{background:var(--status-partial-bg);color:var(--status-partial-text);border:1px solid rgba(217,119,6,.2)}.badge-not-met{background:var(--status-not-met-bg);color:var(--status-not-met-text);border:1px solid rgba(220,38,38,.2)}.badge-draft{background:var(--status-draft-bg);color:var(--text-3);border:1px solid var(--border)}.badge-inprogress{background:var(--status-inprogress-bg);color:var(--status-info-text);border:1px solid rgba(79,70,229,.2)}.btn-primary,.btn-amber{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}.btn-primary:hover,.btn-amber:hover{background:var(--accent-hover);box-shadow:var(--shadow-accent)}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:transparent;color:var(--text-2);font-family:var(--font-sans);font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:all .15s}.btn-ghost:hover{border-color:#cbd5e1;color:var(--text-1);background:#f8fafc}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#e2e8f0}.recharts-text{fill:var(--text-3)!important;font-family:var(--font-sans)!important;font-size:11px!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.nav-item-active{background:#6366f11f;color:#818cf8}.score-high{color:var(--status-met)}.score-medium{color:var(--status-partial)}.score-low{color:var(--status-danger)}.dot-grid{background-image:radial-gradient(circle,rgba(79,70,229,.05) 1px,transparent 1px);background-size:20px 20px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-header:before{content:"";display:block;width:3px;height:16px;background:var(--accent);border-radius:2px;flex-shrink:0}.section-header h2{font-family:var(--font-sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}
