:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1e2330;--text:#e8eaed;--muted:#9aa3b2;--border:#2a3140;--accent:#6b8cff;--accent-soft:#1a2448;--success:#3dd68c;--success-bg:#143528;--match-broad:#f0a35a;--match-broad-bg:#3a2818;--match-phrase:#7aa2ff;--match-phrase-bg:#1a2748;--match-exact:#c4a8ff;--match-exact-bg:#2a2148;--danger:#ff7b72;--radius:12px;--shadow:0 1px 2px #00000059;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope,system-ui,sans-serif;font-weight:500;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;overflow-x:hidden}.topnav{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:28px;padding:14px 28px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;min-width:0;font-weight:800;display:flex}.brand img{flex-shrink:0;width:22px;height:22px}.nav-links{flex:1;gap:6px;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.nav-links a.active{background:var(--accent-soft);color:var(--accent)}.nav-toggle{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;display:none}.nav-toggle span{background:var(--text);border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-backdrop,.mobile-nav{display:none}.user-menu{flex-shrink:0;margin-left:auto;position:relative}.user-chip{cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;max-width:100%;padding:4px 8px 4px 4px;display:flex}.user-chip:hover,.user-menu.open .user-chip{border-color:var(--border);background:var(--surface-2)}.avatar{background:var(--accent);color:#0b1020;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.user-meta{text-align:left;flex-direction:column;min-width:0;line-height:1.2;display:flex}.user-meta strong{font-size:13px}.user-meta span{color:var(--muted);font-size:12px}.user-dropdown{background:var(--surface-2);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);z-index:30;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.user-dropdown a,.user-dropdown button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:600;display:block}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--accent-soft);color:var(--accent)}.page{max-width:1280px;margin:0 auto;padding:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-header h1{letter-spacing:-.03em;margin:0;font-size:32px;font-weight:800}.page-header p{color:var(--muted);margin:6px 0 0;font-size:14px}.metrics-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metrics-row.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metrics-row.six{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.metrics-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.panel,.side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:16px 18px}.metric-card .label{color:var(--muted);font-size:12px;font-weight:600}.metric-card .value{letter-spacing:-.03em;margin-top:8px;font-size:28px;font-weight:800}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:14px;display:grid}.dashboard-grid.charts{grid-template-columns:1fr 1fr}.chart-panel{padding-bottom:16px}.chart-wrap{width:100%;height:240px}.chart-wrap.tall{height:300px}.chart-wrap.mid{height:280px}.chart-wrap.pie-wrap{align-items:center;gap:8px;display:flex}.pie-legend{flex-direction:column;flex:1;gap:6px;min-width:0;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.pie-legend li{color:var(--muted);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.pie-legend .swatch{border-radius:2px;width:10px;height:10px}.pie-legend .pie-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pie-legend .pie-val{color:var(--text);font-variant-numeric:tabular-nums}.chart-tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;min-width:140px;padding:10px 12px}.chart-tooltip-label{color:var(--muted);margin-bottom:6px;font-size:12px}.chart-tooltip-row{justify-content:space-between;gap:16px;font-size:12px;display:flex}.chart-tooltip-row strong{color:var(--text);font-variant-numeric:tabular-nums}.panel{padding:16px 18px 8px}.panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-head h2{letter-spacing:.06em;color:var(--muted);margin:0;font-size:12px;font-weight:700}.panel-head span{color:var(--muted);font-size:12px}.side-stack{flex-direction:column;gap:14px;display:flex}.side-card{padding:18px}.side-card .label{color:var(--muted);font-size:12px;font-weight:600}.side-card .value{letter-spacing:-.03em;margin-top:8px;font-size:34px;font-weight:800}.side-card .sub{color:var(--muted);margin-top:4px;font-size:13px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:560px}table.data th,table.data td{border-bottom:1px solid var(--border);text-align:left;padding:12px 8px;font-size:13px}table.data th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}table.data td.num,table.data th.num{text-align:right;white-space:nowrap}table.data a{color:var(--accent);font-weight:600}.badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge.active{background:var(--success-bg);color:var(--success)}.badge.match-broad{background:var(--match-broad-bg);color:var(--match-broad)}.badge.match-phrase{background:var(--match-phrase-bg);color:var(--match-phrase)}.badge.match-exact{background:var(--match-exact-bg);color:var(--match-exact)}.filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filters select,.filters input,.btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:9px 12px}.btn{cursor:pointer;font-weight:700}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b1020}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;border-radius:16px;padding:36px 32px}.login-card h1{letter-spacing:-.03em;margin:12px 0 8px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 22px}.home-card{text-align:left;width:min(560px,100%)}.home-card h1{text-align:left;font-size:24px;line-height:1.25}.home-card .btn.primary{margin-top:4px;display:inline-flex}.home-lead,.home-access{font-size:14px;line-height:1.55;margin:0 0 16px!important}.home-points{color:var(--muted);margin:0 0 16px;padding-left:1.2em;font-size:14px;line-height:1.55}.home-points li{margin-bottom:6px}.tabs{border-bottom:1px solid var(--border);gap:18px;margin:18px 0;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0;font-weight:700}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;padding:8px 4px 16px;display:grid}.detail-grid .field-label{color:var(--muted);font-size:12px;font-weight:600}.detail-grid .field-value{margin-top:4px;font-weight:700}.crumb{color:var(--accent);margin-bottom:8px;font-size:13px;font-weight:600;display:inline-block}.status-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.empty,.error,.loading{color:var(--muted);text-align:center;padding:28px}.login-legal{font-size:12px;line-height:1.4;margin:18px 0 0!important}.login-legal a{color:var(--accent);font-weight:600}.legal-page{background:radial-gradient(ellipse 80% 50% at 50% -10%, #6b8cff29, transparent), var(--bg);min-height:100vh}.legal-top{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#171a21eb;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.legal-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.legal-nav{flex-wrap:wrap;gap:14px;font-size:13px;font-weight:600;display:flex}.legal-nav a{color:var(--muted)}.legal-nav a:hover{color:var(--accent)}.legal-doc{max-width:760px;margin:0 auto;padding:36px 20px 48px}.legal-doc h1{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(28px,5vw,40px);font-weight:800}.legal-updated{color:var(--muted);margin:0 0 28px;font-size:13px}.legal-doc h2{letter-spacing:-.02em;margin:28px 0 10px;font-size:18px}.legal-doc p,.legal-doc li{color:#c5cbd6;font-size:15px;line-height:1.65}.legal-doc ul{padding-left:1.2em}.legal-doc a{color:var(--accent);font-weight:600}.legal-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);padding:24px 20px 40px;font-size:13px}.legal-footer a{color:var(--accent);font-weight:600}@media (width<=640px){.legal-top{flex-direction:column;align-items:flex-start}}@media (width<=1100px){.metrics-row.six{grid-template-columns:repeat(3,minmax(0,1fr))}.topnav{gap:16px}}@media (width<=980px){.topnav{gap:12px;padding:12px 16px}.nav-toggle{display:inline-flex}.desktop-nav{display:none}.nav-backdrop{z-index:40;cursor:pointer;background:#0000008c;border:0;margin:0;padding:0;display:block;position:fixed;inset:0}.mobile-nav{background:var(--surface);border-right:1px solid var(--border);z-index:50;flex-direction:column;gap:4px;width:min(300px,86vw);padding:72px 16px 24px;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.mobile-nav.open{transform:translate(0)}.mobile-nav a{color:var(--muted);border-radius:10px;padding:14px;font-size:15px;font-weight:700}.mobile-nav a.active{background:var(--accent-soft);color:var(--accent)}.mobile-nav-user{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;margin-top:18px;padding:14px;display:flex}.mobile-nav-user strong{font-size:14px;display:block}.mobile-nav-user span{color:var(--muted);word-break:break-all;font-size:12px;display:block}.mobile-signout{margin-top:8px;color:var(--danger)!important}.user-meta{display:none}.page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:26px}.page-header .btn{text-align:center;width:100%}.metrics-row,.metrics-row.five,.metrics-row.six,.metrics-row.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:14px}.metric-card .value{font-size:22px}.dashboard-grid,.dashboard-grid.charts,.detail-grid{grid-template-columns:1fr}.chart-wrap{height:220px}.chart-wrap.tall,.chart-wrap.mid{height:240px}.chart-wrap.pie-wrap{flex-direction:column;height:auto;min-height:220px}.chart-wrap.pie-wrap>.recharts-responsive-container{width:100%!important;height:200px!important}.pie-legend{width:100%;max-height:none}.panel{padding:14px 14px 8px}.panel-head{flex-wrap:wrap}.filters{grid-template-columns:1fr 1fr;display:grid}.filters select,.filters input,.filters .btn{width:100%}.filters>select:first-of-type,.filters>.btn,.filters>input[placeholder]{grid-column:1/-1}.side-card .value{font-size:28px}.tabs{gap:12px;overflow-x:auto}}@media (width<=560px){.brand-text{font-size:14px}.metrics-row.three,.filters{grid-template-columns:1fr}.filters>select:first-of-type,.filters>.btn,.filters>input[placeholder]{grid-column:auto}.login-card{padding:28px 20px}table.data{min-width:480px}table.data th,table.data td{padding:10px 6px;font-size:12px}}
