@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--background:#0a0e1a;--foreground:#f8fafc;--surface:#111625;--surface-hover:#182033;--surface-raised:#141a2c;--border:#1e2541;--border-subtle:#ffffff0a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#8e9bb0;--primary:#4f46e5;--primary-hover:#3c32e3;--primary-glow:#1f234d;--accent-text:#e0e7ff;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--color-background:var(--background);--color-foreground:var(--foreground);--color-surface:var(--surface);--color-surface-hover:var(--surface-hover);--color-border:var(--border);--color-border-subtle:var(--border-subtle);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-primary:var(--primary);--color-primary-hover:var(--primary-hover);--color-primary-glow:var(--primary-glow);--color-accent-text:var(--accent-text);--color-success:var(--success);--color-warning:var(--warning);--color-error:var(--error);--partner-accent:#818cf8;--partner-accent-dim:#818cf81f;--ig-pink:#ec4899;--fb-blue:#3b82f6;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--shadow-1:0 1px 2px #0006, 0 0 0 1px #ffffff0a;--shadow-2:0 4px 12px #00000080, 0 0 0 1.5px #4f46e540;--shadow-float:0 20px 60px #0000008c;--ease:cubic-bezier(.16, 1, .3, 1);--sidebar-w:268px}*{box-sizing:border-box}html,body{background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,Geist,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}body.app-bg{background:radial-gradient(1200px 600px at 15% -10%, #4f46e524, transparent 60%), radial-gradient(900px 500px at 100% 0%, #ec48990f, transparent 55%), var(--background);min-height:100vh}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-family:Inter,sans-serif}h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::selection{background:#4f46e559}.mono{font-family:JetBrains Mono,Geist Mono,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#2a335a}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:box-shadow .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease)}.card-hover:hover{box-shadow:var(--shadow-2);border-color:#4f46e573;transform:translateY(-1px)}.btn{border-radius:var(--radius-md);transition:background-color .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .12s var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-ghost{color:var(--text-muted);padding:8px 12px}.btn-ghost:hover{color:var(--text-primary);background:var(--surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{padding:7px 12px;font-size:.8125rem}.segmented{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-muted);border-radius:var(--radius-sm);transition:background-color .18s var(--ease), color .18s var(--ease);padding:7px 14px;font-size:.8125rem;font-weight:600}.segmented button:hover{color:var(--text-primary);background:var(--surface-hover)}.segmented button.active{color:#fff;background:var(--primary)}.badge{border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#10b9811a;border-color:#10b98159}.badge-warning{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b59}.badge-error{color:var(--error);background:#ef44441a;border-color:#ef444459}.badge-muted{background:var(--border-subtle);color:var(--text-secondary)}.badge-ig{color:#f472b6;background:#ec48991f;border-color:#ec48994d}.badge-fb{color:#60a5fa;background:#3b82f61f;border-color:#3b82f64d}.chip{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;font-size:.6875rem;font-weight:700;display:inline-flex}.divider{background:var(--border);border:none;height:1px;margin:0}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 37%, var(--surface) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.progress-track{border-radius:var(--radius-full);background:var(--background);border:1px solid var(--border);height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--primary), #818cf8);height:100%;transition:width .5s var(--ease)}.progress-fill.striped{background-image:linear-gradient(135deg,#ffffff2e 25%,#0000 25% 50%,#ffffff2e 50% 75%,#0000 75%,#0000);background-size:14px 14px;animation:1s linear infinite stripes}@keyframes stripes{0%{background-position:0 0}to{background-position:28px 0}}.mg-wordmark{color:var(--text-muted);align-items:center;gap:8px;font-size:.75rem;font-weight:500;display:inline-flex}.mg-wordmark .mg-dot{background:conic-gradient(from 220deg,#4f46e5,#818cf8,#1f234d,#4f46e5);border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:0 0 0 1px #ffffff14,0 0 12px #4f46e580}.mg-wordmark strong{color:var(--text-secondary);font-weight:700}.partner-mark{align-items:baseline;gap:2px;display:inline-flex}.partner-mark .k{letter-spacing:-.03em;background:linear-gradient(135deg,#e0e7ff 0%,#818cf8 55%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.375rem;font-weight:800}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);background:#080b14;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-head{padding:var(--space-6) var(--space-5) var(--space-5);border-bottom:1px solid var(--border-subtle)}.sidebar-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 var(--space-5);margin-bottom:var(--space-2);font-size:.6875rem;font-weight:700}.brand-nav{padding:var(--space-4) var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.brand-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:background-color .16s var(--ease), color .16s var(--ease);align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.brand-item:hover{background:var(--surface-hover);color:var(--text-primary)}.brand-item.active{background:var(--primary-glow);color:var(--text-primary)}.brand-item.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.brand-avatar{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8125rem;font-weight:700;display:flex}.brand-item-text{flex:1;min-width:0}.brand-item-name{color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.2}.brand-item-meta{color:var(--text-muted);align-items:center;gap:5px;margin-top:1px;font-size:.75rem;display:flex}.status-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.warn{background:var(--warning)}.sidebar-foot{padding:var(--space-5);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;display:flex}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);height:72px;padding:0 var(--space-8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0a0e1ab3;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.content{padding:var(--space-8);flex:1;width:100%;max-width:1180px;margin:0 auto}.user-pill{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);transition:background-color .16s var(--ease);align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.user-pill:hover{background:var(--surface-hover)}.user-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#818cf8);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.kpi-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.kpi-tile{padding:var(--space-5)}.kpi-tile-top{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.kpi-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.kpi-value{letter-spacing:-.02em;color:var(--text-primary);font-size:1.75rem;font-weight:700}.kpi-label{color:var(--text-muted);margin-top:2px;font-size:.8125rem}.kpi-delta{align-items:center;gap:2px;font-size:.75rem;font-weight:600;display:inline-flex}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--error)}.report-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);transition:background-color .16s var(--ease);display:flex}.report-row:hover{background:var(--surface-hover)}.report-row+.report-row{border-top:1px solid var(--border-subtle)}.report-icon{border-radius:var(--radius-md);background:var(--primary-glow);width:38px;height:38px;color:var(--accent-text);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.login-shell{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:392px;box-shadow:var(--shadow-float);padding:var(--space-10) var(--space-8) var(--space-8);text-align:center;animation:rise .5s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-logo-ring{width:56px;height:56px;margin:0 auto var(--space-5);border-radius:var(--radius-lg);background:conic-gradient(from 220deg,#4f46e5,#818cf8,#1f234d,#4f46e5);justify-content:center;align-items:center;display:flex;box-shadow:0 0 0 1px #ffffff14,0 8px 24px #4f46e559}.login-logo-ring span{color:#fff;font-size:1.25rem;font-weight:800}.field{text-align:left;margin-bottom:var(--space-4)}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.field input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);padding:11px 14px;font-family:inherit;font-size:.9375rem}.field input::placeholder{color:var(--text-muted)}.field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e52e}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.content{padding:var(--space-6)}}@media (max-width:860px){.sidebar{z-index:40;transition:transform .22s var(--ease);box-shadow:var(--shadow-float);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.scrim{z-index:30;opacity:0;pointer-events:none;transition:opacity .22s var(--ease);background:#00000080;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.topbar{padding:0 var(--space-4)}.menu-btn{display:inline-flex!important}}@media (min-width:861px){.menu-btn{display:none!important}}@media (max-width:640px){.kpi-grid{gap:var(--space-3);grid-template-columns:1fr 1fr}.content{padding:var(--space-4)}.topbar{height:64px}.report-actions-row{flex-wrap:wrap}}
