:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-error-900: #7f1d1d;--color-neutral-25: #fbfcfe;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-inverse: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-border-light: #e2e8f0;--color-border-medium: #cbd5e1;--color-border-dark: #94a3b8;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-sidebar: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);--gradient-hero: linear-gradient(135deg, #eff6ff 0%, #f8fafc 55%, #ffffff 100%);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 1px 3px rgba(15, 23, 42, .1), 0 1px 2px rgba(15, 23, 42, .06);--shadow-lg: 0 4px 6px rgba(15, 23, 42, .1), 0 2px 4px rgba(15, 23, 42, .06);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .12), 0 8px 10px -6px rgba(15, 23, 42, .1);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .35);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .32s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:#0f172a;background-color:#f8fafc}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-base{font-size:14px}.text-md{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:28px}.text-4xl{font-size:32px}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.m-0{margin:0}.m-xs{margin:4px}.m-sm{margin:8px}.m-md{margin:16px}.m-lg{margin:24px}.m-xl{margin:32px}.p-0{padding:0}.p-xs{padding:4px}.p-sm{padding:8px}.p-md{padding:16px}.p-lg{padding:24px}.p-xl{padding:32px}.text-primary{color:#0f172a}.text-secondary{color:#475569}.text-tertiary{color:#64748b}.text-inverse{color:#fff}.bg-primary{background-color:#fff}.bg-secondary{background-color:#f8fafc}.bg-tertiary{background-color:#f1f5f9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9 80px);background-size:1000px;animation:shimmer 2s infinite}:root{color-scheme:light}body{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg-secondary)}.app-loading__text{font-size:14px;font-weight:500;color:var(--color-text-tertiary)}.app-shell{display:flex;min-height:100vh;background-color:var(--color-bg-secondary)}.app-shell__sidebar{width:264px;flex-shrink:0;background:var(--gradient-sidebar);color:var(--color-text-inverse);padding:var(--space-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-xl);position:sticky;top:0;height:100vh;overflow-y:auto;z-index:10}.app-shell__sidebar-brand{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1)}.app-shell__title{display:flex;align-items:center;gap:var(--space-sm);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-inverse)}.app-shell__subtitle{margin-top:var(--space-xs);font-size:12px;color:var(--color-neutral-400)}.app-shell__nav{flex:1;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);border-radius:var(--radius-md);color:var(--color-neutral-300);text-decoration:none;font-size:14px;font-weight:500;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border-left:3px solid transparent}.nav-link:hover{background-color:#ffffff0f;color:var(--color-text-inverse)}.nav-link--active{background-color:#3b82f629;color:var(--color-text-inverse);font-weight:600;border-left-color:var(--color-primary-400)}.nav-link__icon{font-size:16px;line-height:1}.page-stack{display:flex;flex-direction:column;gap:var(--space-lg)}.content-width{max-width:960px;margin:0 auto;width:100%}.centered-section{display:flex;justify-content:center;padding:var(--space-xl) 0}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.section-header__title{font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:4px}.section-header__subtitle{color:var(--color-text-secondary);font-size:14px;max-width:60ch}.section-header__actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.section-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.section-subtitle{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.section-block{margin-top:var(--space-lg)}.section-card__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.section-card__subtitle{font-size:14px;color:var(--color-text-secondary)}.paragraph{margin-bottom:var(--space-md);line-height:1.7;color:var(--color-text-secondary)}.page-grid{display:grid;gap:var(--space-lg)}.page-grid--cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.page-grid--columns-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.flex-1{flex:1}.action-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.filter-row{display:flex;gap:var(--space-sm);flex-wrap:wrap}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.tag-group{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center}.inline-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.inline-stat{padding:var(--space-sm);background-color:var(--color-neutral-50);border-radius:var(--radius-md);text-align:center}.inline-stat__label{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.inline-stat__value{font-size:18px;font-weight:700;color:var(--color-text-primary)}.stat-list{margin:var(--space-xs) 0 0 var(--space-md);padding:0;color:var(--color-text-secondary);font-size:13px;line-height:1.7}.helper-text{font-size:12px;color:var(--color-text-tertiary)}@media(max-width:900px){.app-shell{flex-direction:column}.app-shell__sidebar{width:100%;height:auto;position:static}.app-shell__nav{flex-direction:row;flex-wrap:wrap}.inline-grid-4{grid-template-columns:repeat(2,1fr)}}.ui-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.ui-card--outlined{box-shadow:none}.ui-card--soft{background-color:var(--color-bg-secondary);box-shadow:none;border-color:transparent}.card--clickable,[role=button].ui-card{cursor:pointer}.card--clickable:hover,[role=button].ui-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.empty-state,.loading-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-text-tertiary);font-size:14px}.empty-text{color:var(--color-text-tertiary);font-size:14px}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:inherit;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button--sm{padding:6px 12px;font-size:12px}.ui-button--md{padding:9px 16px;font-size:14px}.ui-button--lg{padding:12px 22px;font-size:15px}.ui-button--primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.ui-button--primary:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.05)}.ui-button--secondary{background-color:var(--color-neutral-100);color:var(--color-text-primary);border-color:var(--color-border-light)}.ui-button--secondary:hover:not(:disabled){background-color:var(--color-neutral-200)}.ui-button--danger{background-color:var(--color-error-500);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.ui-button--danger:hover:not(:disabled){background-color:var(--color-error-600)}.ui-button--success{background-color:var(--color-success-500);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.ui-button--success:hover:not(:disabled){background-color:var(--color-success-600)}.ui-button--ghost{background-color:transparent;border-color:var(--color-border-medium);color:var(--color-text-primary)}.ui-button--ghost:hover:not(:disabled){background-color:var(--color-neutral-100)}.ui-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.button-full{width:100%}.button-nowrap{white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}.ui-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.6}.ui-badge--neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.ui-badge--info{background-color:var(--color-primary-100);color:var(--color-primary-800)}.ui-badge--success{background-color:var(--color-success-100);color:var(--color-success-800)}.ui-badge--warning{background-color:var(--color-warning-100);color:var(--color-warning-800)}.ui-badge--error,.badge-critical{background-color:var(--color-error-100);color:var(--color-error-800)}.badge-high{background-color:#ffedd5;color:#9a3412}.badge-medium{background-color:var(--color-warning-100);color:var(--color-warning-800)}.badge-low{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.badge-status-open{background-color:var(--color-error-100);color:var(--color-error-800)}.badge-status-investigating{background-color:var(--color-warning-100);color:var(--color-warning-800)}.badge-status-contained{background-color:var(--color-primary-100);color:var(--color-primary-800)}.badge-status-resolved{background-color:var(--color-success-100);color:var(--color-success-800)}.badge-status-closed{background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.badge-excellent{background-color:var(--color-success-100);color:var(--color-success-800)}.badge-good{background-color:var(--color-primary-100);color:var(--color-primary-800)}.badge-fair{background-color:var(--color-warning-100);color:var(--color-warning-800)}.badge-poor{background-color:var(--color-error-100);color:var(--color-error-800)}.badge-compliant{background-color:var(--color-success-100);color:var(--color-success-800)}.badge-partial{background-color:var(--color-warning-100);color:var(--color-warning-800)}.badge-noncompliant{background-color:var(--color-error-100);color:var(--color-error-800)}.badge-mitigated{background-color:var(--color-primary-100);color:var(--color-primary-800)}.badge-vulnerable{background-color:var(--color-error-100);color:var(--color-error-800)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-sm);padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;letter-spacing:.03em}.status-pill--success{background-color:var(--color-success-100);color:var(--color-success-800)}.status-pill--danger{background-color:var(--color-error-100);color:var(--color-error-800)}.status-pill__dot{width:8px;height:8px;border-radius:50%;background-color:currentColor;animation:pulse 2s infinite}.pill{background-color:var(--color-neutral-100);color:var(--color-text-secondary);padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Consolas,monospace}.rank-pill{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-primary);color:var(--color-text-inverse);font-size:12px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.alert{padding:var(--space-md);border-radius:var(--radius-lg);border-left:4px solid var(--color-error-500);background-color:var(--color-error-50);color:var(--color-error-800);box-shadow:var(--shadow-sm);font-size:14px;line-height:1.6}.alert--danger{border-left-color:var(--color-error-500);background-color:var(--color-error-50);color:var(--color-error-800)}.alert--warning{border-left-color:var(--color-warning-500);background-color:var(--color-warning-50);color:var(--color-warning-800)}.alert--info{border-left-color:var(--color-primary-500);background-color:var(--color-primary-50);color:var(--color-primary-800)}.alert--success{border-left-color:var(--color-success-500);background-color:var(--color-success-50);color:var(--color-success-800)}.info-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.info-banner__title{font-weight:700;color:var(--color-primary-900);margin-bottom:4px}.info-banner__text{font-size:13px;color:var(--color-primary-700);line-height:1.6}.info-banner__link{color:var(--color-primary-700);font-weight:600;text-decoration:underline}.info-banner__close{background:none;border:none;font-size:20px;line-height:1;color:var(--color-primary-700);cursor:pointer;padding:0 var(--space-xs);flex-shrink:0}.info-banner__close:hover{color:var(--color-primary-900)}.callout{border-left:4px solid var(--color-primary-500);background-color:var(--color-neutral-50);padding:var(--space-md);border-radius:var(--radius-md)}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-md)}.form-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-control,.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.form-textarea{resize:vertical}.form-grid{display:grid;gap:var(--space-md)}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.form-grid--two{grid-template-columns:1fr}}.tab-list,.tabs{display:flex;gap:4px;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.tab-button,.tab{padding:10px 18px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--transition-fast),background-color var(--transition-fast)}.tab-button:hover,.tab:hover{color:var(--color-text-primary);background-color:var(--color-neutral-50)}.tab-button--active,.tab--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-500);background-color:transparent}.data-table{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--color-border-light)}.data-table table{width:100%;border-collapse:collapse}.data-table thead,.data-table__head{background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-border-light)}.data-table th,.data-table__header-cell{padding:var(--space-md);text-align:left;font-size:11px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.data-table td,.data-table__cell{padding:var(--space-md);font-size:14px;color:var(--color-text-primary)}.data-table tr,.data-table__row{border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.data-table tbody tr:last-child,.data-table__row:last-child{border-bottom:none}.data-table__row--hoverable:hover,.data-table__row--clickable:hover{background-color:var(--color-neutral-50);cursor:pointer}.modal-overlay,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn .2s ease-out}.modal,.modal__content{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:720px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-xl)}.modal__content--compact{max-width:520px}.modal__scroll{overflow-y:auto}.modal-header,.modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg)}.modal-title,.modal__title{font-size:20px;font-weight:700;color:var(--color-text-primary)}.modal__close{background:none;border:none;font-size:22px;line-height:1;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);flex-shrink:0}.modal__close:hover{color:var(--color-text-primary);background-color:var(--color-neutral-100)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.metric-card{background-color:var(--color-bg-primary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);border-left:4px solid var(--color-primary-500);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.metric-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.metric-card--blue{border-left-color:var(--color-primary-500)}.metric-card--green{border-left-color:var(--color-success-500)}.metric-card--red{border-left-color:var(--color-error-500)}.metric-card--yellow{border-left-color:var(--color-warning-500)}.metric-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.metric-card__label,.metric-card__title{font-size:12px;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.metric-card__icon{font-size:18px}.metric-card__value{font-size:30px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;line-height:1.2}.metric-card__subtitle{font-size:12px;color:var(--color-text-tertiary);display:flex;align-items:center;gap:4px}.skeleton--title{height:14px;width:60%;margin-bottom:var(--space-sm);border-radius:var(--radius-sm)}.skeleton--value{height:30px;width:40%;margin-bottom:var(--space-xs);border-radius:var(--radius-sm)}.skeleton--subtitle{height:12px;width:50%;border-radius:var(--radius-sm)}.chart-card{background-color:var(--color-bg-primary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.chart-card--loading{height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-md)}.chart-card__title,.chart-title{font-size:16px;font-weight:600;margin-bottom:var(--space-md);color:var(--color-text-primary)}.chart-card__skeleton-title{width:200px;height:18px;border-radius:var(--radius-sm)}.chart-card__skeleton-body{width:100%;height:260px;border-radius:var(--radius-md)}.chart-tooltip{background-color:var(--color-neutral-900);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:12px}.chart-tooltip__label{font-weight:700;margin-bottom:4px;color:var(--color-neutral-300)}.chart-tooltip__item{display:flex;justify-content:space-between;gap:var(--space-md)}.live-feed{background-color:var(--color-bg-primary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);height:600px;display:flex;flex-direction:column}.live-feed__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.live-feed__title{font-size:16px;font-weight:600;color:var(--color-text-primary)}.live-feed__status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 10px;background-color:var(--color-success-100);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:var(--color-success-800)}.live-feed__status-dot{width:7px;height:7px;border-radius:50%;background-color:var(--color-success-500);animation:pulse 2s infinite}.live-feed__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm);padding-right:4px}.live-feed__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-size:14px}.live-feed__item{padding:var(--space-sm) var(--space-md);background-color:var(--color-neutral-50);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-300);transition:background-color var(--transition-normal),transform var(--transition-normal)}.live-feed__item--warning{border-left-color:var(--color-warning-400, var(--color-warning-500));background-color:var(--color-warning-50)}.live-feed__item--critical{border-left-color:var(--color-error-500);background-color:var(--color-error-50)}.live-feed__item:hover{transform:translate(2px)}.live-feed__item-header{display:flex;align-items:flex-start;gap:var(--space-sm)}.live-feed__item-icon{font-size:16px;line-height:1.4}.live-feed__item-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm)}.live-feed__item-type{font-size:11px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.live-feed__item-time{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.live-feed__item-text{display:none}.live-feed__message{font-size:13px;color:var(--color-text-primary);margin-top:2px;line-height:1.5}.live-feed__item-detail,.live-feed__user{font-size:11px;color:var(--color-text-tertiary);font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Consolas,monospace;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg)}.dashboard-grid__charts,.dashboard-stack{display:flex;flex-direction:column;gap:var(--space-lg)}.dashboard-link-card{padding:var(--space-md);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light)}.dashboard-link-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:4px}.export-section{margin-top:var(--space-xl)}.posture-summary__content{flex:1}.posture-summary__label{font-size:12px;color:var(--color-text-tertiary);margin-bottom:4px}.posture-summary__value{font-size:30px;font-weight:700;color:var(--color-text-primary)}.posture-summary__meta{font-size:12px;color:var(--color-text-tertiary);margin-top:4px}@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.live-feed{height:420px}}.compliance-card{display:flex;flex-direction:column;gap:var(--space-lg)}.compliance-score{display:flex;align-items:center;gap:var(--space-lg)}.compliance-score__value{font-size:40px;font-weight:700;color:var(--color-text-primary);line-height:1}.posture-grade{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;border:3px solid transparent;flex-shrink:0}.posture-grade--xl{width:100px;height:100px;font-size:40px}.posture-grade--A{background-color:var(--color-success-100);color:var(--color-success-800);border-color:var(--color-success-500)}.posture-grade--B{background-color:var(--color-primary-100);color:var(--color-primary-800);border-color:var(--color-primary-500)}.posture-grade--C{background-color:var(--color-warning-100);color:var(--color-warning-800);border-color:var(--color-warning-500)}.posture-grade--D{background-color:var(--color-error-100);color:var(--color-error-800);border-color:var(--color-error-500)}.factor-card{border-left:4px solid var(--color-primary-500)}.factor-card--excellent{border-left-color:var(--color-success-500)}.factor-card--good{border-left-color:var(--color-primary-500)}.factor-card--fair{border-left-color:var(--color-warning-500)}.factor-card--poor{border-left-color:var(--color-error-500)}.factor-card__score{font-size:30px;font-weight:700;color:var(--color-text-primary);margin:var(--space-sm) 0}.factor-card__details{font-size:12px;color:var(--color-text-tertiary);display:flex;flex-direction:column;gap:4px}.recommendation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.recommendation-item{padding:var(--space-md);background-color:var(--color-neutral-50);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500);font-size:14px}.compliance-item{padding:var(--space-md);border-radius:var(--radius-md);background-color:var(--color-neutral-50);border-left:4px solid var(--color-neutral-300)}.compliance-item--compliant{border-left-color:var(--color-success-500)}.compliance-item--partial{border-left-color:var(--color-warning-500)}.compliance-item--non-compliant{border-left-color:var(--color-error-500)}.compliance-item--mitigated{border-left-color:var(--color-primary-500)}.compliance-item--vulnerable{border-left-color:var(--color-error-500)}.compliance-item__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:4px}.compliance-item__title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.compliance-item__description{font-size:13px;color:var(--color-text-secondary);margin-top:4px;line-height:1.6}.threat-card,.incident-card,.session-card,.user-card{border-left:4px solid var(--color-primary-500)}.threat-card--critical,.incident-card--critical{border-left-color:var(--color-error-600)}.threat-card--high,.incident-card--high{border-left-color:#ea580c}.threat-card--medium,.incident-card--medium{border-left-color:var(--color-warning-500)}.threat-card--low,.incident-card--low{border-left-color:var(--color-neutral-400)}.threat-card--blocked,.user-card--locked{border-left-color:var(--color-error-600);background-color:var(--color-error-50)}.threat-card__header,.incident-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.threat-card__identity{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.threat-card__meta-grid,.session-card__meta-grid,.user-card__meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.threat-card__meta-label{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.threat-card__meta-value{font-size:15px;font-weight:600;color:var(--color-text-primary)}.threat-score{font-size:22px;font-weight:700}.threat-score--critical{color:var(--color-error-600)}.threat-score--high{color:#ea580c}.threat-score--medium{color:var(--color-warning-600)}.threat-score--low{color:var(--color-success-600)}.threat-pattern__description{color:var(--color-text-secondary);font-size:13px;margin-top:2px}.incident-description{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:var(--space-xs) 0}.incident-meta{display:flex;gap:var(--space-lg);flex-wrap:wrap;font-size:12px;color:var(--color-text-tertiary)}.incident-actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-end;flex-shrink:0}.session-card,.user-card{display:flex;flex-direction:column;gap:var(--space-md)}.session-card{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.session-card__meta-grid{flex:1;margin-bottom:0}.country-list{display:grid;gap:var(--space-sm)}.country-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background-color:var(--color-neutral-50);border-radius:var(--radius-md)}.country-name{font-size:15px;font-weight:600}.inline-row{display:flex;align-items:center;gap:var(--space-sm)}.connection-status{display:inline-flex;align-items:center;gap:var(--space-sm);padding:6px 12px;background-color:var(--color-success-100);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--color-success-800)}.connection-status__dot{width:8px;height:8px;background-color:currentColor;border-radius:50%}.feature-card{padding:var(--space-lg);border-radius:var(--radius-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light)}.feature-card__title{display:flex;align-items:center;gap:var(--space-sm);font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.feature-list__item{font-size:13px;color:var(--color-text-secondary);line-height:1.6;padding-left:18px;position:relative}.feature-list__item:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background-color:var(--color-primary-500)}.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.check-list__item{font-size:13px;color:var(--color-text-secondary);padding-left:22px;position:relative}.check-list__item:before{content:"✓";position:absolute;left:0;color:var(--color-success-600);font-weight:700}.code-block{background-color:var(--color-neutral-900);color:var(--color-neutral-100);border-radius:var(--radius-md);padding:var(--space-md);overflow-x:auto}.code-block pre,.text-prewrap{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Consolas,monospace;font-size:12px;line-height:1.6}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-hero);padding:var(--space-lg)}.auth-container{width:100%;max-width:420px}.auth-card{background-color:var(--color-bg-primary);border-radius:var(--radius-2xl);padding:var(--space-2xl) var(--space-xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-light)}.auth-card__title{font-size:22px;font-weight:700;text-align:center;margin-bottom:var(--space-xs);color:var(--color-text-primary)}.auth-card__subtitle{text-align:center;color:var(--color-text-secondary);font-size:14px;margin-bottom:var(--space-xl)}.auth-help{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light);font-size:12px;color:var(--color-text-tertiary);text-align:center;line-height:1.8}.landing-page{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.landing-container{max-width:1120px;margin:0 auto;padding:0 var(--space-xl)}.landing-header{position:sticky;top:0;z-index:20;background-color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border-light)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl)}.landing-brand{display:flex;align-items:center;gap:var(--space-sm);font-size:17px;font-weight:700;letter-spacing:-.01em}.landing-hero{padding:var(--space-3xl) var(--space-xl) var(--space-2xl);background:var(--gradient-hero);text-align:center}.landing-hero__title{font-size:clamp(32px,5vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.1;max-width:820px;margin:0 auto var(--space-md);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero__subtitle{max-width:640px;margin:0 auto var(--space-xl);font-size:17px;color:var(--color-text-secondary);line-height:1.7}.landing-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.landing-link{text-decoration:none}.landing-section{padding:var(--space-3xl) var(--space-xl)}.landing-section--alt{background-color:var(--color-bg-secondary)}.landing-section__title{font-size:30px;font-weight:700;letter-spacing:-.01em;text-align:center;margin-bottom:var(--space-xl)}.landing-section__text{max-width:760px;margin:0 auto;font-size:16px;color:var(--color-text-secondary);line-height:1.8}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.landing-grid--compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.landing-feature-card{text-align:left}.landing-feature-icon{font-size:28px;margin-bottom:var(--space-sm)}.landing-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.tech-chip{padding:8px 16px;border-radius:var(--radius-full);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);font-size:13px;font-weight:600;color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.landing-cta{padding:var(--space-3xl) var(--space-xl);text-align:center;background:var(--gradient-sidebar);color:var(--color-text-inverse)}.landing-cta .landing-section__title{color:var(--color-text-inverse)}.landing-cta__text{max-width:560px;margin:0 auto var(--space-xl);color:var(--color-neutral-300);font-size:16px;line-height:1.7}.landing-footer{padding:var(--space-2xl) var(--space-xl);text-align:center;background-color:var(--color-neutral-900);color:var(--color-neutral-400)}.landing-footer__title{font-weight:600;color:var(--color-neutral-200);margin-bottom:4px}.landing-footer__subtitle{font-size:13px}@media(max-width:640px){.landing-hero,.landing-section{padding:var(--space-2xl) var(--space-md)}.landing-nav{padding:var(--space-sm) var(--space-md)}}.text-danger{color:var(--color-error-600)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-muted{color:var(--color-text-tertiary)}.text-mono{font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Consolas,monospace}
