@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--background: #f4f6f8;--foreground: #212b36;--card: #ffffff;--card-foreground: #212b36;--muted: #eef2f6;--muted-foreground: #637381;--border: rgba(145, 158, 171, .2);--input-background: #f9fafb;--primary: #900b0d;--primary-light: #a2b4ba;--primary-dark: #720a10;--secondary: #f4f6f8;--accent: #c45a28;--accent-soft: #faeae2;--info: #00b8d9;--success: #22c55e;--warning: #ffab00;--error: #ff5630;--impact-high: #dc2626;--impact-medium: #d97706;--impact-low: #16a34a;--chart-1: #900b0d;--chart-2: #c45a28;--chart-3: #2e6194;--chart-4: #2e7d5a;--chart-5: #d4943a;--sidebar: #161c24;--sidebar-foreground: #e5e7eb;--sidebar-border: rgba(255, 255, 255, .08);--shadow-card: 0 0 2px rgba(145, 158, 171, .2), 0 12px 24px -4px rgba(145, 158, 171, .12);--font-sans: "Manrope", sans-serif;--font-display: "Sora", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html{min-width:360px}body{margin:0;background:radial-gradient(circle at 85% -10%,rgba(144,11,13,.08) 0,transparent 32%),linear-gradient(180deg,#ffffff 0%,var(--background) 42%,#eef2f6 100%);color:var(--foreground);font-family:var(--font-sans);font-size:14px}button,input,select{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.025em}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.content{display:flex;flex-direction:column;min-width:0}.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a232e,#161c24 54%,#0f1419);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border)}.sidebar *::-webkit-scrollbar{width:4px}.sidebar *::-webkit-scrollbar-track{background:transparent}.sidebar *::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.sidebar *::-webkit-scrollbar-thumb:hover{background:#ffffff38}.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:62px;padding:14px 18px;border-bottom:1px solid var(--sidebar-border)}.sidebar-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-family:var(--font-display);font-weight:800;box-shadow:0 12px 30px #900b0d40}.brand-logo{width:34px;height:34px;object-fit:contain;flex:0 0 auto;transition:transform .2s ease}.brand-logo:hover{transform:scale(1.06)}.sidebar-logo{font-family:var(--font-display);font-weight:800;font-size:18px;color:#fff;line-height:1;letter-spacing:-.04em}.sidebar-subtitle{margin-top:3px;color:#ffffff7a;font-size:10px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.module-toggle{padding:12px;border-bottom:1px solid var(--sidebar-border)}.toggle-track{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:10px;background:#ffffff0f}.toggle-track button{border:0;border-radius:8px;padding:7px 8px;background:transparent;color:#ffffff9e;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:background .18s ease,color .18s ease}.toggle-track button:hover{color:#ffffffdb}.toggle-track button.active{background:#ffffff24;color:#fff;box-shadow:0 1px 3px #0000004d}.company-context{padding:11px 12px 12px;border-bottom:1px solid var(--sidebar-border);background:linear-gradient(180deg,#900b0d1f,#900b0d0f);display:grid;gap:7px}.company-context-label{font-size:10px;color:#ffffff8f;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.company-context-select{width:100%;min-height:36px;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:0 9px;background:#ffffff14;color:#fff;outline:none;font-size:12px;font-weight:800;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.company-context-select:hover{border-color:#ffffff38}.company-context-select:focus{border-color:#ffffff52;box-shadow:0 0 0 3px #ffffff0f}.company-context-select option{color:var(--foreground);background:var(--card)}.company-context-meta{min-width:0;display:grid;gap:2px;color:#ffffff7a;font-size:10px;line-height:1.25}.company-context-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-context-empty{min-height:36px;display:flex;align-items:center;color:#ffffff9e;font-size:12px;font-weight:700}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.nav-section{margin-bottom:2px}.nav-section-title{padding:14px 10px 6px;color:#ffffff5c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.nav-item{width:100%;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;color:#ffffffa3;font-size:13px;font-weight:600;position:relative;transition:background .15s ease,color .15s ease,padding-left .15s ease;cursor:pointer}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item:active{transform:scale(.98)}.nav-item.active{background:#ffffff1a;color:#fff;padding-left:14px}.nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--primary),#e04a2a)}.nav-item svg{flex-shrink:0;transition:opacity .15s ease}.nav-item.active svg{opacity:1}.nav-item.active .nav-chevron{opacity:.45!important}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:800}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:12px 16px;display:flex;align-items:center;gap:10px;background:#00000026}.avatar{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#ffffff24,#ffffff0f);color:#fff;font-weight:800;font-size:11px;flex-shrink:0;border:1px solid rgba(255,255,255,.08)}.sidebar-footer-text{min-width:0;flex:1}.sidebar-footer-name{color:#fff;font-size:12px;font-weight:800;line-height:1.25;word-break:break-word}.sidebar-footer-role{color:#ffffff6b;font-size:11px;line-height:1.2;margin-top:2px;word-break:break-word}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,rgba(145,158,171,.1) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite;border-radius:6px}.skeleton-text{border-radius:4px}.skeleton-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.skeleton-kpi-card{border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-card);padding:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.skeleton-table{border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-card);overflow:hidden}.skeleton-table-header{display:flex;gap:16px;padding:12px 14px;border-bottom:1px solid var(--border)}.skeleton-table-row{display:flex;gap:16px;padding:12px 14px}.skeleton-table-row+.skeleton-table-row{border-top:1px solid var(--border)}.skeleton-panel{border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-card);padding:16px;overflow:hidden}.skeleton-chart-bars{width:100%;height:220px;display:flex;align-items:flex-end;gap:6px;padding:8px 4px}.skeleton-chart-bar{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--border) 25%,rgba(145,158,171,.1) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite}.topbar{min-height:62px;border-bottom:1px solid var(--border);background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.breadcrumb{font-size:12px;color:var(--muted-foreground)}.topbar h2{font-size:18px;color:var(--foreground);line-height:1.35}.topbar-actions{display:flex;align-items:center;gap:10px}.search-box{position:relative;width:260px}.search-box svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted-foreground)}.page{padding:22px 24px 28px;display:grid;gap:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-eyebrow{font-size:12px;color:var(--muted-foreground);margin-top:3px}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4,.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.panel,.kpi-card{border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-card)}.panel{padding:16px;overflow:hidden}.panel.flush{padding:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title{font-size:13px;font-weight:800;color:var(--foreground)}.panel-subtitle{font-size:12px;color:var(--muted-foreground);margin-top:2px}.kpi-card{padding:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kpi-label{font-size:12px;color:var(--muted-foreground)}.kpi-value{margin-top:6px;font-family:var(--font-display);font-size:30px;line-height:1;font-weight:800;color:var(--foreground)}.kpi-sub{margin-top:6px;font-size:11px;color:var(--muted-foreground)}.icon-tile{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.icon-primary{background:#900b0d1a;color:var(--primary)}.icon-accent{background:#faeae2;color:var(--accent)}.icon-warning{background:#fff5cc;color:#b76e00}.icon-success{background:#d3fcd2;color:#118d57}.icon-info{background:#cafdf5;color:#006c9c}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:var(--secondary);color:var(--muted-foreground);font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:800}.table th,.table td{border-bottom:1px solid var(--border);padding:12px 14px;text-align:left;font-size:13px;vertical-align:middle}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#919eab14}.table tbody tr:last-child td{border-bottom:0}.mono{font-family:var(--font-mono)}.muted{color:var(--muted-foreground)}.strong{font-weight:800}.negative{color:var(--impact-high)}.positive{color:var(--impact-low)}.warning{color:var(--impact-medium)}.input,.select{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px 11px;background:var(--card);color:var(--foreground);outline:none;transition:border .18s ease,box-shadow .18s ease}.input:focus,.select:focus{border-color:#900b0d80;box-shadow:0 0 0 3px #900b0d14}.search-box .input{padding-left:34px}.btn{border:0;border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:800;transition:transform .12s ease,opacity .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 22px #900b0d33}.btn-secondary{background:var(--secondary);color:var(--foreground);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--muted-foreground);border:1px solid var(--border)}.btn-icon{width:38px;height:38px;padding:0}.chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:var(--card);color:var(--foreground);font-size:12px;font-weight:700}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.badge-primary{background:#900b0d1a;color:var(--primary)}.badge-success{background:#e8f5ee;color:#2e7d5a}.badge-warning{background:#fdf3e7;color:#b76e00}.badge-error{background:#faeae2;color:var(--accent)}.progress{width:100%;height:7px;border-radius:999px;background:var(--muted);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.metric-row:last-child{border-bottom:0}.tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--secondary);overflow-x:auto}.tabs button{flex:1;min-width:fit-content;border:0;border-radius:9px;padding:9px 12px;background:transparent;color:var(--muted-foreground);font-size:12px;font-weight:800}.tabs button.active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px #919eab33}.drop-zone{border:2px dashed var(--border);border-radius:16px;min-height:230px;padding:34px;display:grid;place-items:center;text-align:center;background:var(--card);box-shadow:var(--shadow-card);transition:border .18s ease,background .18s ease}.drop-zone.dragging{border-color:var(--primary);background:#900b0d0a}.comparison-card{overflow:hidden}.comparison-heading{padding:13px 16px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.auth-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted-foreground);font-weight:800}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,460px);gap:28px;align-items:center;padding:48px}.login-hero{min-height:560px;border-radius:28px;padding:42px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 85% 20%,rgba(196,90,40,.34),transparent 34%),linear-gradient(135deg,#900b0d1f,#ffffffd1);border:1px solid var(--border);box-shadow:var(--shadow-card)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.brand-logo-login{width:46px;height:46px}.login-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;color:var(--primary);max-width:660px}.login-hero p{max-width:650px;color:var(--muted-foreground);font-size:16px;line-height:1.75}.login-bullets{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.login-bullets span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--foreground);font-size:13px;font-weight:800}.login-card{border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:var(--shadow-card);padding:28px;display:grid;gap:16px}.login-card h2{font-size:24px}.login-field{display:grid;gap:7px}.login-field>span{font-size:12px;color:var(--muted-foreground);font-weight:800}.login-field>div{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:12px;padding:0 12px;background:var(--input-background)}.login-field svg{color:var(--muted-foreground)}.login-field input{flex:1;border:0;outline:0;background:transparent;padding:12px 0;color:var(--foreground)}.login-link{border:0;background:transparent;color:var(--primary);font-weight:800;font-size:12px;width:fit-content;justify-self:center}.login-alert{border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700}.login-alert-error{background:#faeae2;color:var(--accent)}.login-alert-success{background:#e8f5ee;color:#2e7d5a}@media(max-width:1180px){.grid-4,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nav-section-title,.module-toggle,.sidebar-footer{display:none}.grid-2,.grid-3,.grid-4,.kpi-grid{grid-template-columns:1fr}.page-header,.topbar{flex-direction:column;align-items:stretch;height:auto;padding-top:14px;padding-bottom:14px}.search-box{width:100%}.login-page{grid-template-columns:1fr;padding:22px}.login-hero{min-height:auto;padding:28px}}
