:root{--ground: #F3F5F7;--surface: #FFFFFF;--border: #E2E7EC;--border-strong: #CBD3DB;--ink: #13212E;--ink-2: #34444F;--muted: #5B6B79;--nav: #0E2233;--nav-2: #17344C;--nav-ink: #C9D6E2;--nav-muted: #8FA6BA;--accent: #0E7C74;--accent-ink: #09564F;--accent-soft: #E3F1EF;--weak: #C2620F;--weak-ink: #A3470D;--warn-soft: #FFF4E5;--radius: 12px;--heading: "Space Grotesk", Inter, system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:14px/1.45 Inter,system-ui,sans-serif}a{color:var(--accent)}a:hover{color:var(--accent-ink)}h1,h2,h3{font-family:var(--heading);margin:0}h1{font-size:28px;letter-spacing:-.01em}h2{font-size:17px}button,select,input{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;flex-wrap:wrap;min-height:100vh}.sidebar{flex:1 1 232px;max-width:100%;background:var(--nav);color:var(--nav-ink);padding:24px 16px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand .brand-sub{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#86c6bf}.brand.brand-light b{color:var(--ink);font-size:17px}.brand.brand-light .brand-sub{color:var(--accent-ink)}.brand b{display:block;color:#fff;font-family:var(--heading);font-size:15px}.brand span{font-size:12px;color:var(--nav-muted)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted);padding:0 10px 6px}.nav-group a{display:block;padding:10px;border-radius:8px;color:var(--nav-ink);text-decoration:none}.nav-group a:hover{background:var(--nav-2);color:#fff}.nav-group a.active{background:var(--nav-2);color:#fff;font-weight:600}.whoami{margin-top:auto;padding:12px;border-radius:10px;background:var(--nav-2);display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--nav-muted)}.whoami .btn.nav-btn{background:var(--nav);color:#fff;border-color:#2b4a63}.whoami .btn.nav-btn:hover,.whoami .btn.nav-btn.active{background:#0a1a27;color:#fff;border-color:var(--nav-muted)}.main{flex:999 1 560px;min-width:0;padding:24px 32px 40px;display:flex;flex-direction:column;gap:18px}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.page-head .sub{color:var(--muted)}.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:6px}.crumbs button{background:none;border:0;padding:0;color:var(--accent);cursor:pointer}.crumbs b{color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{min-height:40px;padding:0 14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:8px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:var(--muted);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover{background:var(--accent-ink);color:#fff}.btn.small{min-height:32px;padding:0 10px;font-size:13px}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:500}.field select,.field input{min-height:38px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;background:var(--surface);color:var(--ink);font-size:14px;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.chip button{width:24px;height:24px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}.chip button:hover{background:#cde6e2}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px}.kpi .label{font-size:13px;color:var(--muted);font-weight:500}.kpi .value{font-family:var(--heading);font-size:28px;font-weight:700}.kpi .sub{font-size:12px;color:var(--muted)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:16px}@media (max-width: 560px){.grid2{grid-template-columns:1fr}.main{padding:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px}.card-head .sub{font-size:13px;color:var(--muted)}.state{padding:24px;text-align:center;color:var(--muted)}.state.error{color:var(--weak-ink);background:var(--warn-soft);border-radius:8px}.table-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.table-tools input{min-height:34px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;min-width:0}.table-wrap{overflow:auto;max-height:560px;border:1px solid var(--border);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:13px}th{position:sticky;top:0;background:#f7f9fa;text-align:left;color:var(--muted);font-weight:600;padding:9px 12px;white-space:nowrap}th button{background:none;border:0;padding:0;color:inherit;font-weight:600;cursor:pointer}td{padding:9px 12px;border-top:1px solid #EEF2F5}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f3faf9}.flag{padding:2px 8px;border-radius:999px;font-size:12px;background:var(--warn-soft);color:var(--weak-ink);white-space:nowrap}.prov{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}.prov b{color:var(--ink);font-weight:600}.pills{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}.pill{padding:3px 10px;border-radius:999px;background:#eef2f5;color:var(--ink-2)}.list-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #EEF2F5;color:var(--ink);text-decoration:none}.list-row:hover{background:#f7f9fa;color:var(--ink)}.list-row .meta{font-size:12px;color:var(--muted)}.list-row .val{font-family:var(--heading);font-size:18px;font-weight:700;color:var(--weak-ink)}.chat{display:flex;flex-direction:column;gap:16px;max-width:1100px}.bubble-user{align-self:flex-end;max-width:640px;background:var(--nav);color:#fff;padding:12px 16px;border-radius:14px 14px 4px;white-space:pre-wrap}.bubble-ai{line-height:1.55;border-left:3px solid var(--accent)}.ai-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}.composer{display:flex;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:8px;position:sticky;bottom:12px}.composer textarea{flex:1;min-width:0;border:0;resize:none;padding:10px;font:inherit;outline:none;min-height:44px}.suggest{display:flex;flex-wrap:wrap;gap:8px}.suggest button{min-height:36px;padding:0 14px;border:1px solid #BFE0DC;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;cursor:pointer}.qgrid{display:flex;flex-wrap:wrap;gap:4px}.qcell{width:38px;height:34px;border-radius:6px;display:grid;place-items:center;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.kpi-btn{font:inherit;text-align:left;color:inherit;cursor:pointer}.kpi-btn:hover{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.kpi-btn:hover .sub{color:var(--accent-ink)}button.list-row{width:100%;background:none;border:0;border-top:1px solid #EEF2F5;font:inherit;text-align:left;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 30% 10%,#17344C,var(--nav) 60%)}.login-card{width:100%;max-width:420px;gap:14px;box-shadow:0 20px 50px #00000040}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field input[type=file]{padding:6px 8px}.field select[multiple]{min-height:150px;padding:4px}.scope{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:12px}@media (max-width: 560px){.scope{grid-template-columns:1fr}}.hint{font-size:12px;color:var(--muted);margin:0}.notice{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;background:var(--accent-soft);color:var(--accent-ink);border:1px solid #BFE0DC;border-radius:10px;padding:10px 14px}.secret{background:#fff;border:1px solid #BFE0DC;border-radius:6px;padding:2px 8px;font-size:14px;-webkit-user-select:all;user-select:all}.search{min-height:34px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;min-width:0}.row-actions{flex-wrap:wrap;min-width:200px;gap:4px}.row-actions .btn{white-space:nowrap}.btn.danger{color:var(--weak-ink);border-color:#e8b48a}.btn.danger:hover{background:var(--warn-soft);color:var(--weak-ink)}.role{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f5;color:var(--ink-2);white-space:nowrap}.role-super_admin{background:#13212e;color:#fff}.role-admin{background:#17344c;color:#fff}.role-analyst{background:var(--accent-soft);color:var(--accent-ink)}.role-area_manager,.role-school_leader{background:#e8f0fa;color:#1d4f86}.matrix td,.matrix th{vertical-align:top}.matrix .yes{color:var(--accent);font-weight:700;font-size:16px}.matrix .no{color:#b8c2cb}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}.dl dt{color:var(--muted)}.dl dd{margin:0;overflow-wrap:anywhere}.md{line-height:1.6;white-space:normal;display:flex;flex-direction:column;gap:10px}.md p,.md ul,.md ol{margin:0}.md ul,.md ol{padding-left:22px;display:flex;flex-direction:column;gap:4px}.md h3,.md h4{font-family:var(--heading);font-size:15px;margin:4px 0 0}.md code{background:#eef2f5;border-radius:4px;padding:1px 5px;font-size:13px}.md table{width:auto;min-width:50%;border:1px solid var(--border);border-radius:8px}.md .table-wrap{max-height:420px}.md blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--accent);background:#f7f9fa;border-radius:0 8px 8px 0;color:var(--ink-2)}.matrix td:first-child{min-width:260px}.studio-workspace{margin:-12px;min-width:0}.app:has(.studio-focused)>.sidebar{display:none}.app:has(.studio-focused)>.main{padding:12px}.studio-print-pages{position:fixed;left:-20000px;top:0;width:1200px}.studio-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;background:#fff;border-bottom:1px solid var(--border)}.studio-title{width:220px;font-size:17px;font-weight:700;border:0;padding:7px;min-width:80px}.studio-body{display:flex;min-width:0;align-items:stretch;background:#e9eef1}.studio-fields,.studio-properties,.studio-ai{flex:0 0 230px;width:230px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--border);max-height:calc(100vh - 100px);overflow:auto;position:sticky;top:0}.studio-fields h2{font-size:16px}.studio-fields summary,.studio-properties summary{cursor:pointer;font-weight:600;padding:7px 0}.studio-field{display:flex;align-items:center;justify-content:space-between;padding:7px 5px;cursor:grab;border-radius:5px;font-size:12px}.studio-field:hover{background:var(--accent-soft)}.studio-field{touch-action:none;-webkit-user-select:none;user-select:none}.studio-field-ghost{position:fixed;z-index:2000;pointer-events:none;background:var(--accent);color:#fff;padding:8px 14px;border-radius:6px;box-shadow:0 3px 15px #0003}.studio-field span{overflow:hidden;text-overflow:ellipsis}.studio-field button{border:0;color:var(--accent);background:transparent;cursor:pointer;font-size:19px}.studio-metric{text-align:left;display:block;width:100%;background:transparent;border:0;padding:6px;font-size:12px;cursor:pointer}.studio-main{flex:1;min-width:0;overflow:hidden}.studio-canvas-tools,.studio-bookmarks{padding:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:end}.studio-canvas-tools .field,.studio-bookmarks .field{font-size:11px}.studio-page-tabs{display:flex;gap:4px;padding:0 10px;background:#dde5e9}.studio-page-tabs button,.studio-panel-tabs button{background:transparent;border:0;padding:10px 12px;cursor:pointer;color:var(--muted)}.studio-page-tabs .active,.studio-panel-tabs .active{background:#fff;color:var(--accent-ink);border-bottom:3px solid var(--accent);font-weight:600}.studio-canvas-scroll{overflow:auto;padding:16px;min-height:550px}.studio-canvas{position:relative;background-color:#fafcfd;background-image:radial-gradient(#dfe5e8 .8px,transparent .8px);background-size:10px 10px;box-shadow:0 2px 14px #142f4315}.studio-canvas-placeholder{position:absolute;top:190px;left:280px;width:640px;text-align:center;color:var(--muted)}.studio-canvas-placeholder>span{font-size:70px;color:#8cbcb8}.studio-canvas-placeholder h2{font-size:26px;color:var(--ink)}.studio-item{position:absolute;display:flex;flex-direction:column;background:#fff;border:1px solid #d9e2e6;border-radius:8px;box-shadow:0 2px 7px #243a4810;overflow:hidden}.studio-item.selected{outline:2px solid var(--accent);outline-offset:2px}.studio-item-header{padding:10px 12px 4px;display:flex;justify-content:space-between;cursor:move;touch-action:none;min-height:34px;font-size:14px}.studio-item-header span{color:#9cabb4}.studio-resize{position:absolute;right:0;bottom:0;border:0;color:var(--accent);background:transparent;cursor:nwse-resize;touch-action:none}.studio-visual-result{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0 8px 6px}.studio-chart{flex:1;min-height:100px;width:100%;height:100%}.studio-visual-actions{display:flex;justify-content:flex-end;gap:8px;min-height:22px}.studio-visual-actions button{border:0;background:transparent;font-size:10px;color:var(--muted);cursor:pointer;padding:2px}.studio-evidence{overflow:auto;max-height:90px;padding:5px}.studio-empty{display:grid;place-items:center;height:100%;padding:24px;color:var(--muted);text-align:center}.studio-card-value{display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:center;flex:1}.studio-card-value div{display:flex;flex-direction:column;text-align:center}.studio-card-value span{font-size:12px;color:var(--muted)}.studio-card-value b{font-family:var(--heading);font-size:44px;color:var(--accent-ink)}.studio-slicer{display:flex;flex-wrap:wrap;align-content:start;gap:8px;padding:8px;overflow:auto}.studio-slicer input{flex-basis:100%}.studio-text{padding:16px;white-space:pre-wrap;overflow:auto}.studio-result-table{flex:1;min-height:0}.studio-result-table td,.studio-result-table th{font-size:11px;padding:6px 8px}.studio-properties{flex-basis:265px;width:265px;border-left:1px solid var(--border)}.studio-properties h3{font-size:13px}.studio-panel-tabs{display:flex;margin:-8px}.studio-panel-tabs button{text-transform:capitalize;font-size:12px}.studio-properties textarea{min-height:80px;width:100%;resize:vertical;font-family:monospace;font-size:12px}.field-well{border:1px dashed #9eb6c1;border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:4px;background:#f7fafb;font-size:12px}.field-well small{color:var(--muted)}.field-pill{display:flex;align-items:center;background:var(--accent-soft);border-radius:5px;padding:6px;font-size:12px}.field-pill span{flex:1;overflow:hidden}.field-pill button{border:0;background:transparent;color:var(--accent);cursor:pointer}.measure-editor{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#f4f7f9;border:1px solid var(--border);border-radius:6px}.measure-editor select,.measure-editor .field{width:100%}.studio-filter-editor{display:flex;flex-direction:column;gap:8px}.studio-filter{display:flex;flex-wrap:wrap;gap:5px;border:1px solid var(--border);border-radius:6px;padding:8px}.studio-filter select,.studio-filter input{width:100%;min-width:0}.studio-ai{flex-basis:360px;width:360px;border-left:1px solid var(--border)}.harness{display:flex;flex-direction:column;gap:14px;min-width:0}.harness .composer{position:static}.harness .composer textarea{font-size:12px}.investigation-messages{display:flex;flex-direction:column;gap:14px}.investigation-message{padding:12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}.investigation-message.user{background:#edf4f5}.investigation-message p{white-space:pre-wrap}.analyst-finding{display:flex;gap:8px;align-items:center;border-top:1px solid var(--border);padding:9px 0;font-size:12px}.run-progress{border-left:3px solid var(--accent);padding:10px;background:#f7faf9}.studio-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0e223399;display:flex;justify-content:center;align-items:center;padding:30px}.studio-modal>.card{width:960px;max-width:100%;max-height:90vh;overflow:auto}.studio-modal pre{overflow:auto;max-height:350px;background:#f3f6f8;padding:12px;font-size:12px}.studio-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.studio-report-tile{color:var(--ink);text-decoration:none;border-top:4px solid var(--accent)}.studio-report-tile:hover{box-shadow:0 4px 18px #142f4315}.studio-report-icon{font-size:35px;color:var(--accent)}.studio-welcome{background:linear-gradient(110deg,#fff,#e8f4f2)}.studio-welcome h2{font-size:28px}.studio-welcome .actions{align-items:end}.model-diagram{position:relative;display:flex;gap:20px;overflow:auto;padding:60px 0 10px}.model-table{position:relative;flex:0 0 200px;display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:7px;padding:10px;gap:4px;background:#fff;z-index:1}.model-table b{color:var(--accent-ink);padding-bottom:6px;border-bottom:1px solid var(--border)}.model-table span{font-size:12px;display:flex;justify-content:space-between}.model-table small{color:var(--muted)}.model-connectors{position:absolute;left:0;top:0;width:100%;height:70px;pointer-events:none}.studio-facets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;gap:8px;height:100%}.studio-facets>div{height:220px;display:flex;flex-direction:column}@media (max-width:1100px){.studio-fields{flex-basis:180px;width:180px}.studio-properties{flex-basis:225px;width:225px}.studio-ai{position:fixed;right:0;top:0;bottom:0;z-index:100;max-height:100vh;width:350px;box-shadow:-5px 0 30px #0002}}@media print{@page{size:landscape;margin:8mm}.sidebar,.no-print{display:none!important}.main{padding:0!important}.studio-body{display:none!important}.studio-print-pages{position:static;width:1200px;zoom:.82}.studio-print-page{break-after:page}.studio-item{break-inside:avoid;box-shadow:none;outline:none!important}.studio-workspace{margin:0}}.kpi-search{flex-wrap:wrap;align-items:end}.kpi-catalog td{vertical-align:top;min-width:220px;max-width:560px}.kpi-catalog p{margin:8px 0}.kpi-catalog .flag{white-space:normal;display:inline-block}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.plain-fieldset.inline-tools{display:contents}.plain-fieldset:disabled{opacity:.85}.agent-focus{outline:3px solid var(--accent)!important;outline-offset:2px;box-shadow:0 0 0 6px #0e7c742e!important;transition:outline-color .2s,box-shadow .2s}.agent-banner{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 14px;border-radius:10px;background:#0e2233;color:#fff}.agent-banner .hint{color:#c9d6e2}.agent-banner .agent-controls{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.agent-banner .field.inline,.agent-banner label.inline{flex-direction:row;align-items:center;gap:6px;color:#c9d6e2;font-size:12px}.agent-banner select{min-height:32px}.agent-dot{width:10px;height:10px;border-radius:50%;background:#f2b57a;box-shadow:0 0 #f2b57ab3;animation:agent-pulse 1.4s infinite}@keyframes agent-pulse{70%{box-shadow:0 0 0 10px #f2b57a00}to{box-shadow:0 0 #f2b57a00}}.agent-spin{display:inline-block;width:12px;height:12px;border:2px solid #BFE0DC;border-top-color:var(--accent);border-radius:50%;animation:agent-spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes agent-spin{to{transform:rotate(360deg)}}.run-state{font-weight:600;display:inline-flex;align-items:center}.run-state.failed,.run-state.cancelled{color:var(--weak-ink)}.run-state.completed{color:var(--accent-ink)}.agent-plan{list-style:none;margin:8px 0;padding:10px 12px;background:#f7f9fa;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:6px;font-size:13px}.agent-plan li{display:flex;gap:8px;color:var(--muted)}.agent-plan li.active{color:var(--ink);font-weight:600}.agent-plan li.done{color:var(--accent-ink)}.agent-plan li>span:first-child{width:14px;flex-shrink:0}.agent-timeline{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:340px;overflow:auto}.agent-timeline button{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;background:none;border:0;border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}.agent-timeline button:hover:not(:disabled){background:#f3faf9}.agent-timeline button:disabled{cursor:default}.agent-timeline .narration button{color:var(--muted);font-style:italic}.agent-timeline .error button{color:var(--weak-ink)}.agent-timeline .playing button{background:var(--accent-soft)}.agent-icon{width:18px;flex-shrink:0;color:var(--accent);font-weight:700;text-align:center}.agent-step-text{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.agent-step-text small{color:var(--muted);font-size:11px}.ghost-strip{border:1px dashed #86C6BF;border-radius:12px;padding:12px;background:#f7fbfa;display:flex;flex-direction:column;gap:8px}.ghost-strip h3{margin:0;font-size:14px}.ghost-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.ghost-row .ghost-card{flex:0 0 300px;scroll-snap-align:start;max-height:330px}.ghost-card{background:#fff;border:1.5px dashed #86C6BF;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0;animation:ghost-in .35s ease-out}.ghost-card.running{border-color:var(--accent)}.ghost-card.error{border-color:#e8b48a}@keyframes ghost-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.ghost-card header{display:flex;justify-content:space-between;align-items:center}.ghost-x{border:0;background:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);width:28px;height:28px}.ghost-title{font-size:13px}.ghost-chart{height:180px}.ghost-chart .studio-chart{width:100%;height:100%}.ghost-table{max-height:180px}.ghost-loading{min-height:80px;display:grid;place-items:center;color:var(--muted);font-size:13px;background:repeating-linear-gradient(90deg,#f3f5f7 0,#f3f5f7 40px,#eaf4f2 40px,#eaf4f2 80px);background-size:200% 100%;animation:ghost-shimmer 1.2s linear infinite;border-radius:8px}.ghost-loading pre{margin:0;padding:8px;max-height:160px;overflow:auto;font-size:11px;background:#ffffffd9;border-radius:6px;width:100%;box-sizing:border-box;white-space:pre-wrap}@keyframes ghost-shimmer{to{background-position:-200% 0}}.ghost-card footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ghost-card footer .hint{margin-right:auto}.analyst-launch{gap:12px}.agent-pet{position:fixed;z-index:9000;width:80px}.pet-body{display:block;padding:0;border:0;background:none;cursor:grab;touch-action:none;border-radius:50%}.pet-body:active{cursor:grabbing}.pet-body:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pet-body svg{display:block;filter:drop-shadow(0 6px 10px rgba(14,34,51,.22))}.owl{transform-origin:38px 76px;animation:owl-breathe 3.2s ease-in-out infinite}@keyframes owl-breathe{50%{transform:scale(1.025,.985)}}.owl-lid{animation:owl-blink 5s infinite}@keyframes owl-blink{0%,94%,to{height:0}96%{height:23px}}.owl-eyes.thinking{animation:owl-look 2.4s ease-in-out infinite}@keyframes owl-look{0%,to{transform:translate(0)}30%{transform:translate(2px,-2px)}65%{transform:translate(-2px,-1px)}}.agent-pet.worried .owl{animation:owl-shake .5s 2}@keyframes owl-shake{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.owl-dots circle{animation:owl-dot 1.2s infinite}.owl-dots circle:nth-child(2){animation-delay:.2s}.owl-dots circle:nth-child(3){animation-delay:.4s}@keyframes owl-dot{0%,to{opacity:.2}50%{opacity:1}}.pet-bubble{position:absolute;bottom:92px;left:8px;width:min(380px,calc(100vw - 32px));background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 36px #0e223338;animation:ghost-in .25s ease-out}.pet-bubble.from-right{left:auto;right:8px}.pet-bubble.below{bottom:auto;top:92px}.pet-bubble:after{content:"";position:absolute;bottom:-8px;left:28px;width:14px;height:14px;background:#fff;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.pet-bubble.from-right:after{left:auto;right:28px}.pet-bubble.below:after{bottom:auto;top:-8px;transform:rotate(225deg)}.pet-bubble.error{border-color:#e8b48a}.pet-bubble.done{border-color:#86c6bf}.pet-bubble-head{display:flex;align-items:center;gap:8px;padding:8px 8px 0 14px;font-size:12px;color:var(--muted)}.pet-bubble-head b{color:var(--accent-ink);font-family:var(--heading);font-size:14px}.pet-bubble.error .pet-bubble-head b{color:var(--weak-ink)}.pet-bubble-head button{margin-left:auto;width:28px;height:28px;border:0;border-radius:8px;background:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer}.pet-bubble-head button:hover{background:#eef2f5}.pet-bubble-body{padding:4px 14px 12px;max-height:260px;overflow:auto;font-size:13.5px}.pet-bubble-body .md{gap:6px;line-height:1.5}.pet-bubble-body .md h3,.pet-bubble-body .md h4{font-size:13.5px;margin:4px 0 0;color:var(--accent-ink)}.agent-timeline .agent-step-text .md{gap:4px;line-height:1.45}.agent-timeline .agent-step-text .md h3,.agent-timeline .agent-step-text .md h4{font-size:13px;margin:2px 0 0}@media (prefers-reduced-motion: reduce){.owl,.owl-lid,.owl-eyes,.owl-dots circle,.pet-bubble{animation:none!important}}.kpi-table td,.kpi-table th{white-space:nowrap}.kpi-help{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border-radius:50%;background:#eef2f5;color:var(--muted);font-size:10px;font-weight:700;vertical-align:1px;cursor:help}.kpi-pill{display:inline-block;min-width:56px;padding:2px 8px;border-radius:999px;font-weight:600;text-align:center}.kpi-low{background:#fce9da;color:#8a2d0b}.kpi-mid{background:#fff4e5;color:#7a4a06}.kpi-ok{background:var(--accent-soft);color:var(--accent-ink)}.value.kpi-weak{color:var(--weak-ink)}.kpi-catalog tr.planned td{color:var(--muted)}.flag.flag-live{background:var(--accent-soft);color:var(--accent-ink)}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;align-self:flex-end;min-height:38px}.kpi-rules summary{cursor:pointer}.kpi-rules[open] summary{margin-bottom:8px}
