:root{--font:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",monospace;--teal:#00b8c4;--amber:#d4a832;--rose:#d94f3a;--green:#34b96a;--radius:10px;--radius-sm:6px;--transition:0.18s ease;--sidebar-w:228px}[data-theme=dark]{--bg:#171b24;--bg-card:#1e2430;--bg-input:#262d39;--border:#343c49;--border-sub:#2b323f;--text:#eef2f7;--text-sub:#9ba6b5;--text-faint:#667181;--backdrop:rgba(0,0,0,.5);--tooltip-bg:#1e2430}[data-theme=light]{--bg:#f3f5f8;--bg-card:#fff;--bg-input:#f6f8fb;--border:#d8dfe7;--border-sub:#e5eaf0;--text:#1f2834;--text-sub:#5c6775;--text-faint:#8a96a5;--backdrop:rgba(27,35,48,.3);--tooltip-bg:#fff}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);font-size:13px;background:var(--bg);color:var(--text);line-height:1.5;overflow:hidden;transition:background var(--transition),color var(--transition)}button,input,select{font:inherit}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:22px;padding:20px 16px;overflow-y:auto}.sidebar-brand h1{font-size:16px;font-weight:600;letter-spacing:-.3px;color:var(--teal)}.sidebar-brand p{margin-top:3px;font-size:11px;color:var(--text-faint);line-height:1.45}.sidebar-divider{height:1px;background:var(--border-sub);margin:0 -2px}.filter-section{gap:12px}.filter-block,.filter-section{display:flex;flex-direction:column}.filter-block{gap:5px}.filter-block-label{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.filter-input,.filter-select{width:100%;padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--transition)}.filter-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23777' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-input{padding-right:10px;color-scheme:dark}[data-theme=light] .filter-input{color-scheme:light}.filter-input:focus,.filter-select:focus{border-color:var(--teal)}.date-range{display:flex;flex-direction:column;gap:6px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.toggle-row-label{font-size:12px;color:var(--text-sub)}.toggle-switch{position:relative;width:34px;height:19px;cursor:pointer;flex-shrink:0}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;border-radius:10px;background:var(--border);transition:background var(--transition)}.toggle-switch input:checked+.toggle-track{background:var(--teal)}.toggle-thumb{position:absolute;top:2.5px;left:2.5px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform var(--transition);pointer-events:none}.toggle-switch input:checked~.toggle-thumb{transform:translateX(15px)}.species-pills{display:flex;flex-wrap:wrap;gap:5px}.pill,.pill-all{border-radius:20px;background:transparent;cursor:pointer;transition:all var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pill{padding:3px 8px;border:1px solid var(--border);color:var(--text-sub);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.02em}.pill:hover{border-color:var(--teal);color:var(--text)}.pill.on{border-color:transparent;color:#18212d}.pill-all{padding:3px 8px;border:1px dashed var(--border);color:var(--text-faint);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.pill-all:hover{color:var(--text-sub);border-color:var(--text-faint)}.sidebar-footer{margin-top:auto}.mode-btn{width:100%;display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-sub);cursor:pointer;transition:all var(--transition)}.mode-btn svg{width:13px;height:13px;flex-shrink:0}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1000;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-sub);cursor:pointer;transition:all var(--transition)}.sidebar-toggle:hover{color:var(--text);border-color:var(--teal)}.sidebar-toggle svg{width:16px;height:16px}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:99;background:var(--backdrop)}.sidebar-backdrop.visible{display:block}.main{flex:1 1;min-width:0;overflow-y:auto;padding:20px 22px 28px;display:flex;flex-direction:column;gap:12px}.status-banner{display:none;align-items:center;justify-content:center;min-height:180px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-sub)}.dashboard,.status-banner.visible{display:flex}.dashboard{flex-direction:column;gap:12px}.dashboard.hidden{display:none}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.chart-card,.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.kpi-card{padding:18px 20px}.kpi-value{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--teal)}.kpi-value.amber{color:var(--amber)}.kpi-value.green{color:var(--green)}.kpi-value.rose{color:var(--rose)}.kpi-label{margin-top:8px;color:var(--text-faint);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.kpi-delta{margin-top:3px;font-size:11px;color:var(--text-sub);min-height:16px}.delta-up{color:var(--green)}.delta-down{color:var(--rose)}.chart-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}.chart-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chart-title{font-size:13px;font-weight:500;color:var(--text)}.chart-sub{font-size:11px;color:var(--text-faint)}.chart-area{position:relative}.bottom-row{display:grid;grid-template-columns:400px 1fr;grid-gap:10px;gap:10px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (max-width:1100px){:root{--sidebar-w:210px}.bottom-row{grid-template-columns:1fr 1fr}}@media (max-width:860px){body{overflow:auto}.app{height:auto;overflow:visible;flex-direction:column}.sidebar-toggle{display:flex}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:100;transform:translateX(-100%);transition:transform .22s ease;box-shadow:4px 0 24px rgba(0,0,0,.3)}.sidebar.open{transform:translateX(0)}.main{min-height:100vh;padding:60px 14px 28px}.kpi-row{grid-template-columns:repeat(2,1fr)}.bottom-row{grid-template-columns:1fr}}@media (max-width:520px){.kpi-row{gap:8px}.kpi-value{font-size:24px}.chart-area canvas{max-height:220px}}