*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;font-size:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);background:#e2e8f7}:root{--bg: #e2e8f7;--bg-elev: #ffffff;--panel: #ffffff;--border: #d9e1ee;--shadow: 0 10px 24px rgba(16, 24, 40, .06);--text: #111827;--muted: #4b5563;--faint: #6b7280;--brand: #3b82f6;--brand-2: #1d4ed8;--accent: #16a34a;--warn: #f59e0b;--danger: #ef4444;--chip: #eef2ff;--chip-border: #c7d2fe;--pill: #e2e8f0;--pill-border: #cbd5e1;--input-bg: #ffffff;--input-border: #cfd7e6;--input-border-focus: #93c5fd;--focus: rgba(59, 130, 246, .25);--topbar-h: 56px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--bp-tablet: 980px;--bp-phone: 640px}.app-root{background:var(--bg);color:var(--text);min-height:100vh}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:var(--topbar-h);background:#ffffffe6;-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:.2px}.tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{background:transparent;color:var(--text);border:1px solid transparent;padding:8px 12px;border-radius:10px;cursor:pointer;white-space:nowrap}.tab-btn:hover{border-color:var(--border);background:#f3f6ff}.tab-btn.active{background:#e9f0ff;border-color:#c7d2fe;color:#0f172a}.page{padding:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.card-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.sticky{position:sticky;top:calc(var(--topbar-h) + 10px);z-index:40;background:#ffffffeb;-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px)}.input,.select,.textarea{background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:10px;padding:12px 14px;outline:none;min-height:44px;font-size:16px}.input:focus,.select:focus,.textarea:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--focus)}.label{color:var(--muted);font-size:12px;margin-bottom:6px;display:inline-block;font-weight:600}.field{display:grid;gap:6px;min-width:200px}.btn{background:linear-gradient(180deg,var(--brand),var(--brand-2));color:#fff;border:1px solid transparent;border-radius:10px;padding:12px 16px;cursor:pointer;font-weight:600;min-height:44px}.btn:hover{filter:brightness(1.03)}.btn.ghost{background:#f8fafc;border-color:var(--border);color:#0f172a}.btn.danger{background:linear-gradient(180deg,#f87171,#ef4444);color:#fff}.btn.tiny{padding:8px 10px;min-height:36px;font-size:13px;border-radius:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:14px}.kpi-value{font-size:24px;font-weight:800;letter-spacing:.1px}.kpi-label{color:var(--muted);margin-top:4px;font-size:12px;text-transform:uppercase;letter-spacing:.6px}.filters{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.filters-left{display:flex;flex-wrap:wrap;gap:12px}.filters-right{display:flex;gap:8px;align-items:center}.toggle{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.switch{width:44px;height:24px;border-radius:999px;background:#e2e8f0;border:1px solid #cbd5e1;position:relative;transition:background .2s ease;cursor:pointer}.switch.on{background:#bfdbfe;border-color:#93c5fd}.knob{width:18px;height:18px;background:#fff;border:1px solid #cbd5e1;border-radius:50%;position:absolute;top:2px;left:2px;transition:left .2s ease}.switch.on .knob{left:24px}.tag-input{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:12px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--chip);border:1px solid var(--chip-border);color:#111827;padding:6px 10px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:8px}.chip-x{background:transparent;color:var(--muted);border:none;cursor:pointer;font-size:14px;padding:0}.pill{background:var(--pill);border:1px solid var(--pill-border);color:#0f172a;padding:2px 8px;border-radius:999px;font-size:11px}.pill.tag{background:#eef2ff;border-color:#c7d2fe;color:#1e3a8a}.item-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid #e5eaf3;border-radius:12px;padding:10px 12px;cursor:pointer}.item:hover{border-color:#93b0ff}.item-title{font-weight:600;margin-bottom:4px;color:#0f172a}.item-notes{color:var(--muted);font-size:13px;margin-top:2px}.item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:12px}.item-cta{color:#1d4ed8;font-size:16px}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:1.1fr 1.4fr}.histogram{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:12px}.bars{display:grid;grid-auto-flow:column;grid-auto-columns:18px;gap:6px;height:120px;align-items:end}.bar{background:linear-gradient(180deg,#93c5fd,#60a5fa);border-radius:6px 6px 0 0;filter:drop-shadow(0 2px 6px rgba(37,99,235,.25))}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border)}.table th{text-align:left;color:var(--muted);font-weight:600}.table tr:hover td{background:#f8fafc}.a,a{color:#1d4ed8;text-decoration:none}a:hover{text-decoration:underline}img,svg,video{max-width:100%;height:auto}@media (max-width: 980px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-2{grid-template-columns:1fr}.tabs{flex-wrap:nowrap}.filters{flex-wrap:wrap;align-items:stretch;gap:10px}.filters-left,.filters-right{width:100%}.filters-right{justify-content:flex-end}}@media (max-width: 640px){.page{padding:12px}.topbar{padding:10px 12px}.kpi-grid{grid-template-columns:1fr}.card-header{padding:10px 12px}.btn{padding:12px 14px;min-height:44px}.item{grid-template-columns:1fr;row-gap:6px}}
