@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap";.card{background:var(--surface-secondary);border-radius:10px;padding:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);transition:all .2s ease}.card--hover{transition:transform .2s ease,box-shadow .2s ease}.card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--clickable{cursor:pointer}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary)}.card-header:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.card-content{flex:1}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.card-footer:first-child{margin-top:0;padding-top:0;border-top:none}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;font-family:inherit;text-decoration:none}.btn--primary{background:var(--arago-blue);color:#fff}.btn--primary:hover:not(:disabled){background:var(--arago-navy-mid);box-shadow:0 4px 12px #4b70e14d}.btn--primary:active:not(:disabled){background:var(--arago-navy-mid);box-shadow:0 2px 6px #4b70e133}.btn--secondary{background:var(--surface-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-secondary)}.btn--secondary:active:not(:disabled){background:var(--border-primary)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){opacity:.9;box-shadow:0 4px 12px #ef44444d}.btn--danger:active:not(:disabled){opacity:.8}.btn--success{background:var(--color-success);color:#fff}.btn--success:hover:not(:disabled){opacity:.9;box-shadow:0 4px 12px #22c55e4d}.btn--success:active:not(:disabled){opacity:.8}.btn--warning{background:var(--color-warning);color:#fff}.btn--warning:hover:not(:disabled){opacity:.9;box-shadow:0 4px 12px #eab3084d}.btn--warning:active:not(:disabled){opacity:.8}.btn--ghost{background:transparent;color:var(--arago-blue)}.btn--ghost:hover:not(:disabled){background:#4b70e114}.btn--ghost:active:not(:disabled){background:#4b70e11f}.btn--xs{padding:.3rem .6rem;font-size:.7rem;height:24px}.btn--sm{padding:.4rem .8rem;font-size:.8rem;height:32px}.btn--md{padding:.65rem 1.25rem;font-size:.95rem;height:40px}.btn--lg{padding:.85rem 1.75rem;font-size:1rem;height:48px}.btn--xl{padding:1rem 2rem;font-size:1.1rem;height:56px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{display:inline-block;width:.75rem;height:.75rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-flex;gap:4px;align-items:flex-end;justify-content:center}.spinner--sm{gap:3px}.spinner--sm span{width:3px;border-radius:1.5px}.spinner--sm span:nth-child(1){height:8px;background:var(--arago-blue);animation-delay:0s}.spinner--sm span:nth-child(2){height:12px;background:var(--arago-blue);animation-delay:.1s}.spinner--sm span:nth-child(3){height:16px;background:var(--arago-green);animation-delay:.2s}.spinner--sm span:nth-child(4){height:12px;background:var(--arago-green);animation-delay:.3s}.spinner--sm span:nth-child(5){height:8px;background:var(--arago-blue);animation-delay:.4s}.spinner--md{gap:4px}.spinner--md span{width:4px;border-radius:2px}.spinner--md span:nth-child(1){height:12px;background:var(--arago-blue);animation-delay:0s}.spinner--md span:nth-child(2){height:18px;background:var(--arago-blue);animation-delay:.1s}.spinner--md span:nth-child(3){height:24px;background:var(--arago-green);animation-delay:.2s}.spinner--md span:nth-child(4){height:18px;background:var(--arago-green);animation-delay:.3s}.spinner--md span:nth-child(5){height:12px;background:var(--arago-blue);animation-delay:.4s}.spinner--lg{gap:5px}.spinner--lg span{width:5px;border-radius:2.5px}.spinner--lg span:nth-child(1){height:15px;background:var(--arago-blue);animation-delay:0s}.spinner--lg span:nth-child(2){height:22px;background:var(--arago-blue);animation-delay:.1s}.spinner--lg span:nth-child(3){height:30px;background:var(--arago-green);animation-delay:.2s}.spinner--lg span:nth-child(4){height:22px;background:var(--arago-green);animation-delay:.3s}.spinner--lg span:nth-child(5){height:15px;background:var(--arago-blue);animation-delay:.4s}.spinner--xl{gap:6px}.spinner--xl span{width:6px;border-radius:3px}.spinner--xl span:nth-child(1){height:18px;background:var(--arago-blue);animation-delay:0s}.spinner--xl span:nth-child(2){height:27px;background:var(--arago-blue);animation-delay:.1s}.spinner--xl span:nth-child(3){height:36px;background:var(--arago-green);animation-delay:.2s}.spinner--xl span:nth-child(4){height:27px;background:var(--arago-green);animation-delay:.3s}.spinner--xl span:nth-child(5){height:18px;background:var(--arago-blue);animation-delay:.4s}.spinner span{animation:arago-bars 1s ease-in-out infinite}@keyframes arago-bars{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.6)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.empty-state-title{font-size:1.1rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem}.empty-state-description{font-size:.95rem;color:var(--text-muted);margin-bottom:1.5rem;max-width:400px}.empty-state-action{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999;max-width:400px;pointer-events:auto}.toast-item{padding:.875rem 1rem;border-radius:8px;box-shadow:var(--shadow-lg);animation:slideIn .3s ease-out forwards;display:flex;align-items:center;min-height:48px;border:1px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-item.removing{animation:slideOut .3s ease-in forwards}@media(max-width:640px){.toast-container{bottom:1rem;right:1rem;left:1rem;max-width:100%}}.kpi-card{background:var(--surface-bg);padding:var(--lh);border:1px solid var(--border-primary);border-top:2px solid;transition:background var(--transition-theme)}.kpi-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:relative;z-index:1}.kpi-card-icon{font-size:1.2rem}.kpi-card-label{font-family:Space Mono,monospace;font-size:var(--fs-xs);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.kpi-card-value{font-family:Inter,sans-serif;font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.03em;line-height:1;position:relative;z-index:1;color:var(--text-primary)}.kpi-card-subtext{font-size:var(--fs-xs);margin-top:8px;color:var(--text-secondary);font-weight:500;position:relative;z-index:1}.dashboard-card{background:var(--surface-bg);padding:var(--lh);border:1px solid var(--border-primary);transition:background var(--transition-theme)}.dashboard-card-title{font-family:Inter,sans-serif;font-size:var(--fs-sm);font-weight:700;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:20px;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-primary)}.dashboard-card-content{flex:1}.form-group{display:flex;flex-direction:column;margin-bottom:var(--lh)}.form-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--bl);letter-spacing:-.01em}.form-input,.form-select,.form-textarea{padding:10px 16px;border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--fs-base);font-family:inherit;background:var(--surface-bg);color:var(--text-primary);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--arago-blue);box-shadow:0 0 0 3px #4b70e11a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--surface-tertiary);cursor:not-allowed;opacity:.5}.form-error{color:var(--color-danger);font-size:var(--fs-sm);margin-top:calc(var(--bl) / 2)}.form-help{color:var(--text-muted);font-size:var(--fs-sm);margin-top:calc(var(--bl) / 2)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table thead{border-bottom:2px solid var(--text-primary)}.table th{padding:10px 16px;text-align:left;font-family:Inter,sans-serif;font-size:var(--fs-xs);font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.table td{padding:14px 16px;border-bottom:1px solid var(--border-primary);line-height:var(--lh);color:var(--text-primary)}.table tbody tr{transition:all var(--transition-fast)}.table tbody tr:hover{background:var(--table-hover)}.table tbody tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--lh);animation:fadeIn .2s ease-out}.modal-content{background:var(--surface-bg);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-primary);animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:24px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.modal-close{width:32px;height:32px;background:var(--surface-secondary);border:1px solid var(--border-primary);font-size:1.1rem;cursor:pointer;color:var(--text-muted);transition:all .15s ease;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.modal-close:hover{color:var(--color-danger);background:#ef444414}.modal-body{padding:24px}.modal-footer{padding:20px 24px;border-top:1px solid var(--border-primary);display:flex;gap:12px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;padding:3px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em}.badge--primary{background:#4b70e11a;color:var(--arago-blue)}.badge--success{background:#22c55e1a;color:var(--color-success)}.badge--danger{background:#ef44441a;color:var(--color-danger)}.badge--warning{background:#eab3081a;color:var(--color-warning)}.badge--info{background:#82b1d91a;color:var(--arago-blue-light)}.badge-critical{animation:pulseGlow 2s ease-in-out infinite}.alert{padding:16px 20px;border-left:4px solid;margin-bottom:var(--lh);font-size:var(--fs-base);line-height:var(--lh)}.alert--success{background:#22c55e14;border-color:var(--color-success);color:var(--color-success)}.alert--error{background:#ef444414;border-color:var(--color-danger);color:var(--color-danger)}.alert--warning{background:#eab30814;border-color:var(--color-warning);color:var(--color-warning)}.alert--info{background:#4b70e114;border-color:var(--arago-blue);color:var(--arago-blue)}@media(max-width:1024px){.form-input,.form-select,.form-textarea{font-size:1rem}.table{font-size:var(--fs-sm)}.table th,.table td{padding:var(--bl) calc(var(--bl) * 1.5)}}@media(max-width:768px){.modal-content{max-width:95vw;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:16px}.table{font-size:var(--fs-sm);overflow-x:auto;display:block}.table thead{display:none}.table tbody,.table tr,.table td{display:block;width:100%}.table tr{margin-bottom:calc(var(--bl) * 2);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--bl)}.table td{border:none;padding:calc(var(--bl) / 2) 0;text-align:right;padding-left:50%;position:relative}.table td:before{content:attr(data-label);position:absolute;left:0;font-weight:600;text-align:left}.dashboard-card,.kpi-card{padding:16px}.form-input,.form-select,.form-textarea{font-size:1rem}}@media(max-width:480px){.modal-content{max-width:100vw}.kpi-card-value{font-size:var(--fs-xl)}.table td{padding-left:0;text-align:left}.table td:before{display:none}.badge{font-size:9px;padding:2px 8px}}:root,[data-theme=dark]{--cols: 12;--gutter: 24px;--margin: 48px;--bl: 8px;--lh: 24px;--maxw: 1280px;--surface-bg: #09090b;--surface-secondary: #0c0c0e;--surface-tertiary: #18181b;--surface-hover: #1c1c1f;--border-primary: #27272a;--border-secondary: #1a1a1e;--border-subtle: rgba(255, 255, 255, .06);--text-primary: #fafafa;--text-secondary: #c4c4cc;--text-tertiary: #94949c;--text-muted: #78787f;--text-faint: #5a5a62;--arago-navy: #1a2340;--arago-navy-mid: #273c5f;--arago-blue: #4b70e1;--arago-blue-light: #82b1d9;--arago-green: #96ed63;--arago-green-dark: #6bc83f;--color-danger: #ef4444;--color-warning: #eab308;--color-success: #22c55e;--color-info: #4b70e1;--score-critical: #ef4444;--score-critical-bg: rgba(239, 68, 68, .1);--score-low: #f97316;--score-low-bg: rgba(249, 115, 22, .1);--score-mid: #eab308;--score-mid-bg: rgba(234, 179, 8, .1);--score-good: #22c55e;--score-good-bg: rgba(34, 197, 94, .1);--score-excellent: #16a34a;--score-excellent-bg: rgba(22, 163, 74, .1);--priority-critical: #ef4444;--priority-high: #f97316;--priority-medium: #eab308;--priority-low: #22c55e;--status-todo: #71717a;--status-progress: #4b70e1;--status-done: #22c55e;--status-blocked: #ef4444;--status-overdue: #dc2626;--dim-qualite: #3498db;--dim-accessibilite: #2ecc71;--dim-gouvernance: #f39c12;--dim-securite: #e74c3c;--dim-ia: #9b59b6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 50px rgba(0, 0, 0, .6);--shadow-glow-green: 0 0 20px rgba(150, 237, 99, .3), 0 0 40px rgba(150, 237, 99, .1);--shadow-glow-blue: 0 0 20px rgba(75, 112, 225, .25), 0 0 40px rgba(75, 112, 225, .1);--shadow-glow-navy: 0 8px 30px rgba(26, 35, 64, .25);--nav-active-bg: rgba(75, 112, 225, .12);--nav-hover-bg: rgba(255, 255, 255, .04);--table-hover: #18181b;--insight-bg: rgba(75, 112, 225, .04);--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .3);--focus-ring: rgba(75, 112, 225, .4);--arago-cream: #09090b;--arago-white: #09090b;--arago-ink: #fafafa;--arago-text: #fafafa;--arago-text-light: #a1a1aa;--arago-text-muted: #71717a;--arago-border: #27272a;--arago-border-strong: #3f3f46;--arago-danger: #ef4444;--arago-warning: #eab308;--arago-success: #22c55e;--arago-info: #4b70e1;--gradient-navy: linear-gradient(135deg, #1a2340 0%, #273c5f 100%);--gradient-navy-deep: linear-gradient(135deg, #0f1628 0%, #1a2340 50%, #273c5f 100%);--gradient-green-accent: linear-gradient(135deg, #96ed63 0%, #6bc83f 100%);--gradient-blue-accent: linear-gradient(135deg, #4b70e1 0%, #82b1d9 100%);--gradient-hero: linear-gradient(160deg, #1a2340 0%, #273c5f 40%, #1a2340 100%);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--transition-theme: .3s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--fs-xs: .7rem;--fs-sm: .8rem;--fs-base: .9rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.6rem;--fs-2xl: 2.5rem;--fs-3xl: 3.5rem;--fs-4xl: 4.5rem}[data-theme=light]{--surface-bg: #ffffff;--surface-secondary: #f8f9fa;--surface-tertiary: #f1f3f5;--surface-hover: #f9fafb;--border-primary: #e5e7eb;--border-secondary: #e5e7eb;--border-subtle: rgba(0, 0, 0, .06);--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-muted: #9ca3af;--text-faint: #d1d5db;--score-critical-bg: rgba(239, 68, 68, .08);--score-low-bg: rgba(249, 115, 22, .08);--score-mid-bg: rgba(234, 179, 8, .08);--score-good-bg: rgba(34, 197, 94, .08);--score-excellent-bg: rgba(22, 163, 74, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 50px rgba(0, 0, 0, .16);--nav-active-bg: rgba(75, 112, 225, .08);--nav-hover-bg: rgba(0, 0, 0, .03);--table-hover: #f9fafb;--insight-bg: rgba(75, 112, 225, .03);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .3);--focus-ring: rgba(75, 112, 225, .2);--arago-cream: #ffffff;--arago-white: #ffffff;--arago-ink: #111827;--arago-text: #111827;--arago-text-light: #6b7280;--arago-text-muted: #9ca3af;--arago-border: #e5e7eb;--arago-border-strong: #d1d5db}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Helvetica Neue,Arial,system-ui,sans-serif;background:var(--surface-bg);color:var(--text-primary);font-size:var(--fs-base);line-height:var(--lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv01","cv02","cv03","cv04";letter-spacing:-.01em;transition:background var(--transition-theme),color var(--transition-theme)}::selection{background:var(--arago-blue);color:#fff}input,select,textarea,button{font-family:inherit;letter-spacing:inherit}h1{font-size:var(--fs-xl);font-weight:700;line-height:calc(var(--lh) * 2);color:var(--text-primary);letter-spacing:-.025em;margin-bottom:var(--lh)}h2{font-size:var(--fs-lg);font-weight:700;line-height:var(--lh);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:calc(var(--bl) * 2)}h3{font-size:var(--fs-md);font-weight:600;line-height:var(--lh);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:var(--bl)}p{margin-bottom:var(--lh);line-height:var(--lh)}.mono,code,.folio,.caption,.label-mono{font-family:Space Mono,Consolas,monospace;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}.stat-number{font-family:Inter,sans-serif;font-size:var(--fs-3xl);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text-primary)}.stat-label{font-family:Space Mono,monospace;font-size:var(--fs-xs);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:var(--bl)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}button{transition:background .15s ease,color .15s ease,border-color .15s ease;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{transition:color .15s ease}button:hover:not(:disabled){transform:none}button:active:not(:disabled){transform:none}input,textarea,select{transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--arago-blue)!important;box-shadow:0 0 0 2px var(--focus-ring)!important;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes progressFill{0%{width:0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #96ed634d}50%{box-shadow:0 0 0 6px #96ed6300}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(10px,-20px) scale(1.05)}50%{transform:translate(-5px,-10px) scale(.95)}75%{transform:translate(-15px,5px) scale(1.02)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}.fade-in{animation:fadeIn .3s ease-out}.fade-in-up{animation:fadeInUp .5s var(--transition-slow)}.slide-in-right{animation:slideInRight .3s ease-out}.scale-in{animation:scaleIn .25s ease-out}.slide-up{animation:slideUp .6s cubic-bezier(.16,1,.3,1)}.skeleton{background:linear-gradient(90deg,var(--surface-tertiary) 25%,var(--border-primary) 50%,var(--surface-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-card{height:120px}.skeleton-kpi{height:88px}.skeleton-chart{height:240px}.stagger-in>*{opacity:0;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.stagger-in>*:nth-child(1){animation-delay:.05s}.stagger-in>*:nth-child(2){animation-delay:.1s}.stagger-in>*:nth-child(3){animation-delay:.15s}.stagger-in>*:nth-child(4){animation-delay:.2s}.stagger-in>*:nth-child(5){animation-delay:.25s}.stagger-in>*:nth-child(6){animation-delay:.3s}.stagger-in>*:nth-child(n+7){animation-delay:.35s}.score-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:var(--radius-sm);font-family:Space Mono,monospace;font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em}.score-critical{background:var(--score-critical-bg);color:var(--score-critical)}.score-low{background:var(--score-low-bg);color:var(--score-low)}.score-mid{background:var(--score-mid-bg);color:var(--score-mid)}.score-good{background:var(--score-good-bg);color:var(--score-good)}.score-excellent{background:var(--score-excellent-bg);color:var(--score-excellent)}.progress-bar-animated .progress-bar-fill{animation:progressFill .8s cubic-bezier(.16,1,.3,1) forwards}.grid-main{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);width:100%;padding:0}.band{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;column-gap:var(--gutter);align-items:start}@supports not (grid-template-columns: subgrid){.band{grid-template-columns:repeat(var(--cols),1fr)}}@media(max-width:1024px){:root{--margin: 32px;--gutter: 16px}}@media(max-width:768px){:root{--margin: 16px;--gutter: 12px;--fs-xl: 1.4rem;--fs-2xl: 1.8rem;--fs-3xl: 2.5rem}input,textarea,select{font-size:16px}}@media(max-width:480px){:root{--margin: 12px;--gutter: 8px;--fs-4xl: 2.5rem}}.btn-premium{background:var(--arago-blue);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-base);letter-spacing:-.01em;box-shadow:var(--shadow-md);transition:all .2s ease}.btn-premium:hover:not(:disabled){box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.btn-accent{background:var(--gradient-green-accent);color:#1a2340;border:none;padding:10px 24px;border-radius:var(--radius-md);font-weight:700;font-size:var(--fs-base);letter-spacing:-.01em;box-shadow:var(--shadow-md);transition:all .2s ease}.btn-accent:hover:not(:disabled){box-shadow:var(--shadow-glow-green);transform:translateY(-1px)}.login-page{min-height:100vh;display:flex;background:var(--surface-bg);overflow:hidden;transition:background var(--transition-theme)}.login-brand{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative;overflow:hidden;background:var(--gradient-navy-deep)}.login-brand__orb{position:absolute;border-radius:50%;animation:floatOrb 10s ease-in-out infinite}.login-brand__orb--1{top:-120px;left:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(75,112,225,.2) 0%,transparent 70%)}.login-brand__orb--2{bottom:-100px;right:-80px;width:350px;height:350px;background:radial-gradient(circle,rgba(150,237,99,.12) 0%,transparent 70%);animation-delay:-4s}.login-brand__orb--3{top:40%;right:10%;width:150px;height:150px;background:radial-gradient(circle,rgba(130,177,217,.15) 0%,transparent 70%);animation-delay:-7s}.login-brand__content{position:relative;z-index:1;text-align:center;max-width:380px}.login-brand__title{color:#fff;font-size:3rem;font-weight:800;margin-bottom:.5rem;line-height:1.1;letter-spacing:-.04em}.login-brand__title span{color:var(--arago-green);text-shadow:0 0 30px rgba(150,237,99,.3)}.login-brand__desc{color:#ffffff73;font-size:var(--fs-base);line-height:1.6}.login-brand__bars{display:flex;gap:4px;justify-content:center;margin-top:2.5rem}.login-brand__bar{display:block;width:5px;border-radius:3px;animation:loginBarPulse 2s ease-in-out infinite}@keyframes loginBarPulse{0%,to{transform:scaleY(1);opacity:.6}50%{transform:scaleY(1.4);opacity:1}}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;background:var(--surface-bg);border-radius:var(--radius-2xl) 0 0 var(--radius-2xl);padding:2rem;box-shadow:-8px 0 40px #00000026;transition:background var(--transition-theme)}.login-form-container{width:100%;max-width:400px}.login-form__header{margin-bottom:2rem}.login-form__subtitle{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:.8rem}.login-sso-btn{width:100%;background:var(--arago-blue);color:#fff;border:none;padding:14px;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:var(--fs-base);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:1.5rem;box-shadow:var(--shadow-lg);transition:all .25s ease}.login-sso-btn:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.login-divider{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.login-divider__line{flex:1;height:1px;background:var(--border-primary)}.login-divider__text{color:var(--text-muted);font-size:var(--fs-xs);font-weight:500}.login-local-toggle{width:100%;background:var(--surface-secondary);border:1px solid var(--border-primary);padding:12px;border-radius:var(--radius-lg);cursor:pointer;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;transition:all .2s ease}.login-local-toggle:hover{border-color:var(--arago-blue);color:var(--arago-blue);box-shadow:var(--shadow-sm)}.login-local-form{background:var(--surface-secondary);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border-primary);box-shadow:var(--shadow-sm);transition:background var(--transition-theme),border-color var(--transition-theme)}.login-field{margin-bottom:1rem}.login-field__label{font-size:var(--fs-sm);font-weight:600;display:block;margin-bottom:6px;color:var(--text-primary)}.login-field__input{width:100%;padding:10px 14px;border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--fs-base);outline:none;transition:all .2s ease;background:var(--surface-bg);color:var(--text-primary)}.login-field__input:focus{border-color:var(--arago-blue);box-shadow:0 0 0 3px #4b70e11a;background:var(--surface-bg)}.login-error{color:var(--color-danger);font-size:var(--fs-sm);margin-bottom:.8rem;text-align:center;font-weight:500}.login-actions{display:flex;gap:.5rem}.login-cancel-btn{flex:1;background:var(--surface-tertiary);border:none;padding:10px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500;transition:all .15s ease}.login-cancel-btn:hover{background:var(--border-primary)}.login-submit-btn{flex:2;background:var(--arago-blue);color:#fff;border:none;padding:10px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--fs-sm);transition:all .2s ease}.login-submit-btn:hover:not(:disabled){background:var(--arago-navy-mid);box-shadow:var(--shadow-md)}.login-submit-btn:disabled{opacity:.7}.login-footer{text-align:center;font-size:var(--fs-xs);color:var(--text-muted);margin-top:2.5rem;letter-spacing:.02em}@media(max-width:768px){.login-page{flex-direction:column}.login-brand{padding:2rem 1.5rem;min-height:35vh}.login-brand__title{font-size:2rem}.login-form-panel{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;flex:1.5}}:root{--sidebar-w: 260px;--sidebar-w-collapsed: 68px}.app{min-height:100vh;display:flex}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:var(--arago-navy);color:#fff;font-size:.85rem;border-radius:0 0 4px 4px;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}.mobile-topbar,.sidebar-overlay{display:none}.sidebar{width:var(--sidebar-w);min-height:100vh;position:fixed;top:0;left:0;z-index:200;background:var(--surface-secondary);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-secondary);overflow-y:auto;overflow-x:hidden;transition:width .25s cubic-bezier(.16,1,.3,1),background var(--transition-theme)}.sidebar__top{padding:0}.sidebar__logo{padding:20px 20px 16px;border-bottom:1px solid var(--border-secondary);margin-bottom:8px}.sidebar__logo-company{margin-bottom:10px}.sidebar__logo-arago{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.95}[data-theme=light] .sidebar__logo-arago{filter:none;opacity:1}.sidebar__logo-lob{display:flex;align-items:center;gap:8px;padding-left:2px}.sidebar__logo-icon{flex-shrink:0}.sidebar__logo-title{font-family:Inter,sans-serif;font-size:1.35rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1}.sidebar__logo-title span{font-weight:400;color:var(--arago-green);opacity:.9}.sidebar__logo-sub{font-size:.6rem;font-weight:500;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.sidebar__section-label{font-family:Space Mono,monospace;font-size:9px;font-weight:700;color:var(--text-faint);letter-spacing:.15em;text-transform:uppercase;padding:16px 20px 8px}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:0 10px}.sidebar__nav a{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--text-muted);text-decoration:none;font-family:Inter,sans-serif;font-size:var(--fs-sm);font-weight:500;border-radius:var(--radius-md);transition:all .2s ease;position:relative}.sidebar__nav a svg{flex-shrink:0;opacity:.6;transition:opacity .2s ease}.sidebar__nav a:hover{color:var(--text-secondary);background:var(--nav-hover-bg)}.sidebar__nav a:hover svg{opacity:1}.sidebar__nav a.active{color:var(--text-primary);font-weight:600;background:var(--nav-active-bg);box-shadow:inset 0 0 0 1px #96ed6326}.sidebar__nav a.active svg{opacity:1;color:var(--arago-green)}.sidebar__nav a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--arago-green);box-shadow:0 0 8px #96ed6366}.sidebar__bottom{padding:12px 10px 16px;border-top:1px solid var(--border-secondary);margin-top:auto}.sidebar__tools{display:flex;align-items:center;gap:8px;padding:4px 10px 12px}.sidebar__theme-toggle{background:none;border:none;color:var(--text-muted);padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar__theme-toggle:hover{color:var(--text-secondary);background:var(--nav-hover-bg)}.sidebar__user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);background:var(--surface-tertiary);margin-bottom:8px}.sidebar__avatar{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;flex-shrink:0}.sidebar__user-info{overflow:hidden;flex:1;min-width:0}.sidebar__user-email{color:var(--text-muted);font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-family:Space Mono,monospace;padding:1px 6px;border-radius:2px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:inline-block;margin-top:2px}.sidebar__logout{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-family:Inter,sans-serif;font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar__logout svg{flex-shrink:0;opacity:.5}.sidebar__logout:hover{background:#d92b2b1a;color:#ff6b6b;border-color:#d92b2b33}.sidebar__logout:hover svg{opacity:1}.sidebar__collapse-btn{display:flex;align-items:center;gap:12px;width:100%;padding:8px 14px;margin-top:4px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-faint);font-family:Inter,sans-serif;font-size:var(--fs-xs);font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar__collapse-btn svg{flex-shrink:0;opacity:.4}.sidebar__collapse-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.sidebar__collapse-btn:hover svg{opacity:.8}.sidebar--collapsed{width:var(--sidebar-w-collapsed)}.sidebar--collapsed .sidebar__logo-title,.sidebar--collapsed .sidebar__logo-company,.sidebar--collapsed .sidebar__section-label,.sidebar--collapsed .sidebar__nav a span,.sidebar--collapsed .sidebar__user-info,.sidebar--collapsed .sidebar__logout span,.sidebar--collapsed .sidebar__collapse-btn span,.sidebar--collapsed .sidebar__tools{display:none}.sidebar--collapsed .sidebar__logo-lob{justify-content:center}.sidebar--collapsed .sidebar__logo{justify-content:center;padding:20px 10px 16px}.sidebar--collapsed .sidebar__nav{padding:0 8px}.sidebar--collapsed .sidebar__nav a{justify-content:center;padding:12px}.sidebar--collapsed .sidebar__nav a.active:before{left:0}.sidebar--collapsed .sidebar__bottom{padding:12px 8px 16px}.sidebar--collapsed .sidebar__user{justify-content:center;padding:8px}.sidebar--collapsed .sidebar__logout{justify-content:center;padding:10px}.sidebar--collapsed .sidebar__collapse-btn{justify-content:center;padding:8px}.sidebar--collapsed .sidebar__nav a{position:relative}.sidebar--collapsed .sidebar__nav a:hover:after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--surface-tertiary);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #0000004d;z-index:300;pointer-events:none}.sidebar--collapsed~.main{margin-left:var(--sidebar-w-collapsed)}.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;padding:calc(var(--lh) * 1.5) var(--margin) calc(var(--lh) * 2);background:var(--surface-bg);animation:slideUp .4s cubic-bezier(.16,1,.3,1);transition:margin-left .25s cubic-bezier(.16,1,.3,1),background var(--transition-theme)}h1{font-size:var(--fs-xl);font-weight:700;line-height:calc(var(--lh) * 2);letter-spacing:-.025em;color:var(--arago-navy);margin-bottom:var(--lh)}.arago-loading{min-height:100vh;background:var(--arago-cream);display:flex;align-items:center;justify-content:center}.arago-loading .spinner{display:flex;gap:3px;align-items:flex-end}.arago-loading .spinner span{width:3px;border-radius:1px;animation:arago-bars 1s ease-in-out infinite}.arago-loading .spinner span:nth-child(1){height:12px;background:var(--arago-text-muted);animation-delay:0s}.arago-loading .spinner span:nth-child(2){height:18px;background:var(--arago-text-muted);animation-delay:.1s}.arago-loading .spinner span:nth-child(3){height:24px;background:var(--arago-green);animation-delay:.2s}.arago-loading .spinner span:nth-child(4){height:18px;background:var(--arago-text-muted);animation-delay:.3s}.arago-loading .spinner span:nth-child(5){height:12px;background:var(--arago-text-muted);animation-delay:.4s}@keyframes arago-bars{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.8)}}.sso-error-container{min-height:100vh;background:var(--arago-navy);display:flex;align-items:center;justify-content:center;padding:var(--lh)}.sso-error-card{background:#fff;border-radius:var(--radius-lg);padding:calc(var(--lh) * 2);width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center}.sso-error-icon{width:48px;height:48px;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;margin:0 auto var(--lh);font-size:1.3rem}.sso-error-title{color:var(--arago-navy);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--bl)}.sso-error-email{font-family:Space Mono,monospace;color:var(--arago-danger);font-size:var(--fs-sm);margin-bottom:var(--lh)}.sso-error-message{color:var(--arago-text-light);font-size:var(--fs-base);line-height:var(--lh);margin-bottom:var(--lh)}.sso-error-admin-info{background:var(--arago-cream);border-radius:var(--radius-md);padding:calc(var(--bl) * 1.5) var(--lh);margin-bottom:var(--lh);font-family:Space Mono,monospace;font-size:var(--fs-xs);color:var(--arago-text-light)}.sso-error-admin-info-label{font-weight:700}.sso-error-button{background:var(--arago-navy);color:#fff;border:none;padding:calc(var(--bl) * 1.5) calc(var(--lh) * 1.5);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--fs-base);letter-spacing:-.01em;transition:background .15s ease}.sso-error-button:hover{background:var(--arago-navy-mid)}.arago-spinner{display:flex;gap:3px;align-items:flex-end}.arago-spinner span{width:3px;border-radius:1px;animation:arago-bars 1s ease-in-out infinite}.arago-spinner span:nth-child(1){height:12px;background:var(--arago-text-muted);animation-delay:0s}.arago-spinner span:nth-child(2){height:18px;background:var(--arago-text-muted);animation-delay:.1s}.arago-spinner span:nth-child(3){height:24px;background:var(--arago-green);animation-delay:.2s}.arago-spinner span:nth-child(4){height:18px;background:var(--arago-text-muted);animation-delay:.3s}.arago-spinner span:nth-child(5){height:12px;background:var(--arago-text-muted);animation-delay:.4s}@media(max-width:1024px){:root{--sidebar-w: 0px}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:150;height:56px;padding:0 16px;background:var(--surface-secondary);border-bottom:1px solid var(--border-secondary)}.mobile-topbar__toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}.mobile-topbar__toggle span{display:block;width:20px;height:2px;background:var(--text-muted);border-radius:1px;transition:all .2s ease}.mobile-topbar__logo{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:1rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em}.mobile-topbar__logo .logo-img{height:22px;width:auto;filter:brightness(0) invert(1);opacity:.95}[data-theme=light] .mobile-topbar__logo .logo-img{filter:none;opacity:1}.mobile-topbar__actions{display:flex;align-items:center;gap:8px}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:199;animation:fadeIn .2s ease-out}.sidebar{width:280px;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.sidebar--open{transform:translate(0)}.main{margin-left:0;padding-top:calc(56px + var(--lh))}}@media(max-width:768px){.mobile-topbar__logo{font-size:.9rem}.mobile-topbar__logo .logo-img{height:18px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
