:root{--bg: #07090c;--bg-secondary: #0b0f14;--bg-tertiary: #12161d;--bg-card: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .06);--fg: #f4f6f8;--text-primary: rgba(244, 246, 248, .92);--text-secondary: rgba(244, 246, 248, .82);--text-muted: rgba(244, 246, 248, .64);--accent-primary: #ff6b35;--accent-secondary: #e55a2b;--accent-glow: rgba(255, 107, 53, .15);--danger: #ff6b6b;--danger-glow: rgba(255, 107, 107, .15);--warning: #ffc107;--warning-glow: rgba(255, 193, 7, .15);--success: #4ade80;--success-glow: rgba(74, 222, 128, .15);--info: #60a5fa;--info-glow: rgba(96, 165, 250, .15);--medium: #a78bfa;--medium-glow: rgba(167, 139, 250, .15);--border: rgba(255, 255, 255, .12);--border-hover: rgba(255, 255, 255, .18);--font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .06), 0 12px 30px rgba(0, 0, 0, .55);--shadow-md: 0 0 0 1px rgba(255, 255, 255, .08), 0 18px 60px rgba(0, 0, 0, .7);--shadow-lg: 0 0 0 1px rgba(255, 255, 255, .1), 0 10px 22px rgba(0, 0, 0, .65);--shadow-glow: 0 12px 32px rgba(0, 0, 0, .55), 0 0 28px rgba(124, 158, 255, .08);--ease: cubic-bezier(.2, .8, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.55;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.app-container{display:flex;height:100vh}.sidebar{width:260px;background:#06080b8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid rgba(255,255,255,.08);box-shadow:10px 0 26px #00000073;display:flex;flex-direction:column;padding:20px 0}.sidebar-header{padding:0 20px 24px;border-bottom:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--fg);text-decoration:none;cursor:pointer;transition:opacity .2s}.sidebar-logo:hover{opacity:.85}.sidebar-logo svg{width:32px;height:32px;color:var(--accent-primary)}.wordmark{display:inline-flex;align-items:baseline}.wordmark__site{font-weight:700}.wordmark__shadow{font-weight:800;position:relative}.wordmark__shadow:after{content:"";position:absolute;left:0;right:0;height:3px;bottom:-4px;border-radius:999px;background:var(--accent-primary);box-shadow:0 4px 12px #ff6b3566;opacity:1}.sidebar-nav{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.nav-section{margin-top:24px;padding:0 16px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s var(--ease);border:1px solid transparent}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent-primary);border-color:#ff6b354d}.main-content{flex:1;overflow-y:auto;padding:32px;background:radial-gradient(ellipse 1200px 800px at 5% -5%,rgba(255,255,255,.04),transparent 50%),var(--bg)}.user-menu{padding:16px 20px;border-top:1px solid var(--border);margin-top:auto}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent-primary);font-size:13px;border:1px solid rgba(255,107,53,.3)}.user-details{flex:1;min-width:0}.user-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--text-secondary)}.card{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md),var(--shadow-glow)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:16px;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary))}.stat-card.danger:before{background:linear-gradient(90deg,var(--danger),#ff6b7a)}.stat-card.warning:before{background:linear-gradient(90deg,var(--warning),#ffc966)}.stat-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-glow);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.stat-icon svg{color:var(--accent-primary)}.stat-icon.danger{background:var(--danger-glow)}.stat-icon.danger svg{color:var(--danger)}.stat-icon.warning{background:var(--warning-glow)}.stat-icon.warning svg{color:var(--warning)}.stat-value{font-size:32px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1.2}.stat-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.stat-change{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:13px;font-weight:500}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.chart-container{height:300px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-tertiary)}td{font-size:14px}tr:hover td{background:var(--bg-hover)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge.critical{background:var(--danger-glow);color:var(--danger);border:1px solid rgba(255,77,106,.3)}.badge.high{background:var(--warning-glow);color:var(--warning);border:1px solid rgba(255,184,77,.3)}.badge.medium{background:var(--medium-glow);color:var(--medium);border:1px solid rgba(136,136,255,.3)}.badge.low{background:var(--success-glow);color:var(--success);border:1px solid rgba(74,222,128,.3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .2s var(--ease);border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 14px #ff6b3566}.btn-primary:hover{transform:translateY(-1px);background:var(--accent-secondary);border-color:var(--accent-secondary);box-shadow:0 6px 20px #ff6b3580}.btn-secondary{background:#ffffff0f;color:var(--text-primary);border-color:#ffffff24;box-shadow:0 1px #ffffff0f,0 12px 30px #0000008c}.btn-secondary:hover{background:#ffffff16;border-color:#fff3}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:#ffffff1a;box-shadow:0 0 0 1px #ffffff1a,0 10px 24px #00000073}.btn-ghost:hover{background:#ffffff0f;color:var(--text-primary);border-color:#ffffff24}.input{width:100%;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);transition:all .2s var(--ease)}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:radial-gradient(ellipse at top,rgba(255,107,53,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(255,107,53,.05) 0%,transparent 50%)}.login-card{width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:48px 40px;box-shadow:var(--shadow-lg)}.auth-error-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--bg);background-image:radial-gradient(ellipse at top,rgba(255,107,53,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(255,107,107,.06) 0%,transparent 50%)}.auth-error-panel{width:100%;max-width:520px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:44px 40px;box-shadow:var(--shadow-lg);text-align:center}.auth-error-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;border-radius:50%;background:var(--danger-glow);color:var(--danger);border:1px solid rgba(255,107,107,.28)}.auth-error-eyebrow{color:var(--danger);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.auth-error-title{font-size:24px;font-weight:700;line-height:1.2;margin-bottom:12px;color:var(--text-primary)}.auth-error-message{color:var(--text-secondary);font-size:15px;margin:0 auto 24px;max-width:420px}.auth-error-code{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 24px;background:#ffffff0b;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);text-align:left}.auth-error-code dt{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase}.auth-error-code dd{color:var(--text-primary);font-family:var(--font-mono);font-size:13px;overflow-wrap:anywhere;text-align:right}.auth-error-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px;font-size:26px;font-weight:700;text-decoration:none;color:inherit}.login-logo:hover{text-decoration:none;color:inherit}.login-logo svg{width:36px;height:36px;color:var(--accent-primary)}.login-title{text-align:center;font-size:22px;font-weight:600;margin-bottom:8px}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:32px}.sso-buttons{display:flex;flex-direction:column;gap:12px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .2s var(--ease)}.sso-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary)}.sso-btn:disabled{opacity:.5;cursor:not-allowed}.divider{display:flex;align-items:center;gap:16px;margin:28px 0;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.error-message{padding:12px 16px;background:var(--danger-glow);border:1px solid rgba(255,77,106,.3);border-radius:var(--radius-md);color:var(--danger);font-size:13px;margin-bottom:16px}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-header,.mobile-overlay{display:none}@media (max-width: 768px){.auth-error-panel{padding:36px 24px}.auth-error-code{align-items:flex-start;flex-direction:column;gap:6px}.auth-error-code dd{text-align:left}.auth-error-actions{grid-template-columns:1fr}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0;z-index:100;height:56px}.mobile-logo{display:flex;align-items:center;gap:8px;color:var(--text-primary);text-decoration:none}.mobile-logo svg{color:var(--accent-primary)}.mobile-logo .wordmark{font-size:18px;font-weight:600}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease}.mobile-menu-btn:hover{background:var(--bg-tertiary)}.mobile-overlay{display:block;position:fixed;top:56px;left:0;right:0;bottom:0;background:#00000080;z-index:90;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:56px;left:0;bottom:0;width:280px;transform:translate(-100%);transition:transform .25s ease;z-index:95;overflow-y:auto}.sidebar--open{transform:translate(0)}.main-content{padding:16px;margin-top:56px}.stats-grid{grid-template-columns:1fr}.sidebar-header{display:none}.user-menu{border-top:1px solid var(--border);margin-top:auto}}.value-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}.value-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.value-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.value-icon.time{background:var(--accent-glow);color:var(--accent-primary)}.value-icon.security{background:var(--medium-glow);color:var(--medium)}.value-icon.money{background:#ffb84d26;color:var(--warning)}.value-title{font-size:18px;font-weight:600;margin-bottom:8px}.value-description{font-size:14px;color:var(--text-secondary);line-height:1.6}.value-metric{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.metric-value{font-size:28px;font-weight:700;font-family:var(--font-mono);color:var(--accent-primary)}.metric-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:var(--bg);padding:8px 16px;z-index:9999;text-decoration:none;font-weight:500}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}
