:root{
  --shell:#0b1017;--shell-2:#111721;--shell-3:#18202c;--canvas:#f4f6f8;--surface:#fff;--subtle:#eef1f4;
  --border:#d9dee5;--border-dark:#263241;--text:#15191f;--muted:#647080;--muted-2:#8b95a3;
  --blue:#0157be;--blue-2:#0d68d7;--yellow:#f6ba06;--ok:#2d8b68;--warn:#c77a12;--critical:#b4483c;--nodata:#7d8793;
  --shadow:0 18px 50px rgba(7,14,24,.18);--r:8px;--row:42px;--dock:74px;--top:48px;--status:28px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);background:var(--canvas);color:var(--text);font-size:14px}button,input{font:inherit}button,a{outline-offset:2px}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10.5px;line-height:1.2;letter-spacing:.11em;font-weight:800;color:var(--muted);text-transform:uppercase}.icon{width:18px;height:18px;display:block}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--nodata)}.status-dot.ok{background:var(--ok)}.status-dot.nodata{background:var(--nodata)}.status-dot.critical{background:var(--critical)}

/* shell */
.app-body{height:100vh;overflow:hidden;background:var(--shell)}.os-shell{height:100vh;display:grid;grid-template-columns:var(--dock) 1fr;grid-template-rows:var(--top) 1fr var(--status);background:var(--canvas)}
.topbar{grid-column:1/3;display:flex;align-items:center;height:var(--top);padding:0 14px 0 12px;background:var(--shell);color:#f6f8fb;border-bottom:1px solid #1f2935;z-index:30}.brand{display:flex;align-items:center;gap:9px;min-width:236px}.brand-mark{width:27px;height:27px;border-radius:7px;background:var(--blue);display:grid;place-items:center;position:relative;color:white;font-weight:900;font-size:16px;line-height:1}.brand-mark i{position:absolute;right:3px;bottom:3px;width:7px;height:4px;background:var(--yellow);transform:skew(-25deg);border-radius:1px}.brand-mark.large{width:42px;height:42px;font-size:24px;border-radius:10px}.brand-copy{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.brand-copy strong{font-size:12.5px;letter-spacing:.06em}.brand-copy small{font-size:12px;color:#97a2b2}.command-trigger{height:30px;min-width:310px;max-width:480px;flex:0 1 440px;margin-left:14px;background:#141c27;border:1px solid #263242;border-radius:7px;color:#aab4c2;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer}.command-trigger:hover{background:#192331;border-color:#36465a}.command-trigger span{flex:1;text-align:left}.command-trigger kbd,.command-input kbd{font:600 10px var(--font);border:1px solid #384657;border-bottom-color:#4b5b70;border-radius:4px;padding:2px 5px;color:#9eabbc;background:#0f151e}.top-state{margin-left:auto;display:flex;align-items:center;gap:8px;height:100%}.time-state,.source-state{height:30px;border:1px solid #263242;background:#111821;color:#bec7d3;border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 9px;cursor:pointer}.time-state strong{font-size:10px;letter-spacing:.08em;color:#e6ebf1}.time-state span:last-child{font-variant-numeric:tabular-nums;color:#96a2b2}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(45,139,104,.15)}.source-state span:nth-child(2),.source-state strong{font-size:9.5px;letter-spacing:.07em}.source-state strong{color:#aab4c2}.profile-chip{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#263242;color:#fff;font-size:11px;font-weight:800;margin-left:2px}
.dock{grid-row:2;grid-column:1;background:var(--shell-2);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;align-items:center;padding:11px 0 9px;z-index:20}.dock-main,.dock-bottom{display:flex;flex-direction:column;align-items:center;gap:8px}.dock-bottom{margin-top:auto}.dock-item{width:44px;height:44px;border-radius:9px;color:#8693a5;display:grid;place-items:center;position:relative}.dock-item:hover{background:#182333;color:#d8dfe8}.dock-item.active{background:#142942;color:#cfe5ff;color:#7bb7ff}.dock-item.active:before{content:"";position:absolute;left:-15px;top:11px;height:22px;width:3px;background:var(--blue-2);border-radius:0 3px 3px 0}.dock-item:after{content:attr(data-tip);position:absolute;left:53px;background:#07101a;color:#f8fafc;padding:6px 8px;border-radius:5px;font-size:11px;white-space:nowrap;opacity:0;transform:translateX(-4px);pointer-events:none;transition:.12s;box-shadow:var(--shadow);z-index:99}.dock-item:hover:after{opacity:1;transform:none}.workspace{grid-row:2;grid-column:2;min-width:0;overflow:hidden;background:var(--canvas);display:flex;flex-direction:column}.modulebar{height:54px;flex:0 0 54px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 18px;justify-content:space-between}.module-title{display:flex;align-items:center;gap:9px}.module-title strong{font-size:13.5px}.module-symbol{width:29px;height:29px;border-radius:6px;background:#e7eff8;color:var(--blue);display:grid;place-items:center}.module-symbol .icon{width:16px;height:16px}.module-actions{display:flex;gap:8px}.ghost{height:30px;border:1px solid var(--border);background:#fff;border-radius:6px;padding:0 10px;color:#4f5a68;cursor:pointer;font-size:11.5px}.ghost:hover{border-color:#bac2cc;background:#f8fafb}.page{padding:18px;overflow:auto;flex:1;min-height:0}.statusbar{grid-column:1/3;grid-row:3;background:#0e141d;color:#8e9aaa;border-top:1px solid #1e2936;display:flex;align-items:center;gap:18px;padding:0 12px;font-size:10px}.statusbar span{display:flex;align-items:center;gap:6px}.statusbar .push{margin-left:auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.flash{margin:12px 18px 0;padding:9px 12px;border-radius:6px;font-size:12px}.flash.success{background:#e7f4ee;color:#21664d;border:1px solid #b8dfcf}.flash.critical{background:#f8e9e7;color:#84342d;border:1px solid #e8c5c1}.system-banner{margin:12px 18px 0;display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:7px}.system-banner.critical{background:#f8e9e7;color:#84342d;border:1px solid #e8c5c1}.system-banner .icon{flex:0 0 auto}.system-banner div{display:flex;gap:8px;align-items:baseline}.system-banner strong{font-size:12px}.system-banner span{font-size:11px}

/* page common */
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.section-head h1{font-size:22px;line-height:28px;margin:4px 0 3px;letter-spacing:-.025em}.section-head p{margin:0;color:var(--muted);font-size:12.5px;max-width:720px}.hero-head{align-items:center;margin-bottom:14px}.hero-head h1{font-size:24px}.foundation-score{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;border:1px solid var(--border);border-radius:7px}.foundation-score>.status-dot{width:9px;height:9px}.foundation-score div{display:flex;flex-direction:column}.foundation-score strong{font-size:13px}.foundation-score small{font-size:9px;color:var(--muted);letter-spacing:.08em;font-weight:800}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:14px;overflow:hidden}.status-strip>div{min-height:70px;padding:11px 14px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border)}.status-strip>div:last-child{border-right:0}.status-strip span{font-size:9.5px;font-weight:800;color:var(--muted);letter-spacing:.09em}.status-strip strong{font-size:14px;margin:4px 0 1px}.status-strip small{color:var(--muted);font-size:10.5px}.badge,.count-badge{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 7px;border-radius:5px;background:#eef1f5;color:#586474;font-size:9.5px;font-weight:800;letter-spacing:.06em}.badge.nodata{background:#eef0f2;color:#68727e}.badge.success{background:#e7f4ee;color:#256b50}.count-badge{min-width:24px;background:#eef1f5;color:#435061}.btn{height:34px;border-radius:6px;border:1px solid var(--border);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:11.5px;cursor:pointer;background:#fff;color:#394452}.btn .icon{width:15px;height:15px}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#004da8}.btn.disabled{cursor:not-allowed;opacity:.5}.alert{padding:9px 10px;border-radius:6px;font-size:12px;margin:10px 0}.alert.warning{background:#fff3df;color:#7e4c08;border:1px solid #ebd0a7}.alert.critical{background:#f8e9e7;color:#84342d;border:1px solid #e8c5c1}

/* now */
.ops-grid{height:calc(100% - 139px);min-height:430px;display:grid;grid-template-columns:minmax(275px,365px) minmax(460px,1fr) minmax(290px,340px);gap:12px}.exception-panel,.map-stage,.inspector{min-height:0;overflow:hidden}.exception-panel{display:flex;flex-direction:column}.exception-panel>header,.inspector>header,.case-list>header,.case-preview>header,.backup-panel>header{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 13px}.exception-panel h2,.backup-panel h2{font-size:13px;margin:2px 0 0}.empty-state{margin:auto;padding:28px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:310px}.empty-state.compact{padding:38px 22px}.empty-icon{width:44px;height:44px;border-radius:10px;background:#eff2f5;color:#75808f;display:grid;place-items:center;margin-bottom:12px}.empty-icon .icon{width:21px;height:21px}.empty-state strong{font-size:12.5px}.empty-state p{font-size:11.5px;line-height:1.55;color:var(--muted);margin:7px 0 12px}.map-stage{display:flex;flex-direction:column}.map-toolbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--border)}.map-toolbar>div:first-child{display:flex;flex-direction:column}.map-toolbar strong{font-size:13px;margin-top:2px}.layer-pills{display:flex;gap:5px}.layer-pills span{font-size:9.5px;padding:4px 6px;border:1px solid var(--border);border-radius:5px;color:var(--muted)}.map-placeholder{position:relative;flex:1;overflow:hidden;background:#edf1f3}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(72,91,110,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(72,91,110,.06) 1px,transparent 1px);background-size:38px 38px}.map-placeholder svg{position:absolute;inset:0;width:100%;height:100%}.coast{fill:none;stroke:#c7d3dc;stroke-width:40;opacity:.5}.road{fill:none;stroke:#c4cbd2;stroke-width:3}.road.b{stroke-width:2}.road.c{stroke-width:1.6}.map-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto auto;column-gap:9px;row-gap:3px;align-items:center;background:rgba(255,255,255,.94);padding:11px 13px;border:1px solid #d7dde3;border-radius:7px;box-shadow:0 9px 28px rgba(31,43,58,.08);min-width:300px}.map-copy .status-dot{grid-row:1/3}.map-copy strong{font-size:11.5px}.map-copy small{font-size:10px;color:var(--muted)}.inspector{display:flex;flex-direction:column}.inspector>header{height:auto;min-height:56px;align-items:flex-start;justify-content:center;flex-direction:column}.inspector>header strong{font-size:12px;margin-top:3px}.inspector-empty{margin:auto;max-width:240px;color:var(--muted);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}.inspector-empty .icon{width:22px;height:22px;color:#8d98a5}.inspector-empty p{font-size:11.5px;line-height:1.55;margin:0}.inspector-foot{height:42px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:10px;color:var(--muted)}

/* tables, cases, intelligence, system */
.table-panel{overflow:hidden}.table-toolbar{height:48px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.quick-filters{display:flex;gap:5px}.quick-filters button{height:28px;border:1px solid transparent;background:transparent;border-radius:5px;padding:0 9px;color:var(--muted);font-size:11px;cursor:pointer}.quick-filters button:hover{background:#f0f3f6}.quick-filters button.selected{background:#e7eff9;border-color:#d5e3f4;color:var(--blue);font-weight:700}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;height:36px;padding:0 12px;background:#f7f8fa;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}td{height:var(--row);padding:0 12px;border-bottom:1px solid #edf0f3;color:#4c5764}tbody tr:hover{background:#fafbfd}.skeleton{height:8px;background:#e5e9ed;border-radius:3px;display:inline-block}.skeleton.wide{width:160px}.skeleton.mid{width:110px}.two-col{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:12px;min-height:520px}.case-list,.case-preview{min-height:520px}.case-list>header span{font-size:10px;color:var(--muted)}.case-preview>header{align-items:flex-start;justify-content:center;flex-direction:column}.case-preview>header strong{font-size:13px;margin-top:2px}.case-preview>p{font-size:12px;color:var(--muted);max-width:450px;margin:25px}.timeline-demo{height:210px;margin:24px;border-left:1px solid #d5dbe2;position:relative;padding-left:20px;display:flex;flex-direction:column;justify-content:space-around}.timeline-demo span{width:65%;height:9px;background:#e5e9ee;border-radius:3px}.timeline-demo i{position:absolute;left:-4px;width:7px;height:7px;border-radius:50%;background:#a4aebb}.timeline-demo i:nth-of-type(1){top:29%}.timeline-demo i:nth-of-type(2){top:68%}.intelligence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.metric-panel{padding:15px;min-height:120px}.metric-panel strong{display:block;font-size:18px;margin:6px 0}.metric-panel p{font-size:11.5px;line-height:1.45;color:var(--muted);margin:0}.history-placeholder{height:360px;padding:16px;display:flex;flex-direction:column}.history-placeholder h2{font-size:14px;margin:3px 0}.chart-lines{position:relative;flex:1;margin-top:18px;border-left:1px solid #e2e6ea;border-bottom:1px solid #e2e6ea;overflow:hidden}.chart-lines i{position:absolute;left:0;right:0;height:1px;background:#edf0f3}.chart-lines i:nth-child(1){top:20%}.chart-lines i:nth-child(2){top:40%}.chart-lines i:nth-child(3){top:60%}.chart-lines i:nth-child(4){top:80%}.chart-lines span{position:absolute;left:5%;right:6%;top:54%;height:70px;border-top:2px solid #a9b3bf;transform:skewY(-4deg);opacity:.5}.system-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.health-card{min-height:96px;padding:14px;display:flex;align-items:center;gap:12px}.health-icon{width:38px;height:38px;border-radius:9px;background:#edf2f5;display:grid;place-items:center;color:#617080}.health-icon.ok{background:#e8f4ef;color:var(--ok)}.health-icon.warning{background:#fff2df;color:var(--warn)}.health-icon.critical{background:#f8e9e7;color:var(--critical)}.health-card strong{font-size:14px;display:block;margin:3px 0}.health-card p{margin:0;font-size:10.5px;color:var(--muted)}.system-grid{display:grid;grid-template-columns:minmax(500px,1fr) 340px;gap:12px}.backup-panel{min-height:400px}.backup-panel>header h2{font-size:13px}.backup-list{padding:4px 0}.backup-row{height:54px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3}.backup-row>div{display:flex;flex-direction:column;gap:2px}.backup-row strong{font-size:11.5px}.backup-row span{font-size:10px;color:var(--muted)}.data-safety{padding:16px}.data-safety h2{font-size:14px;margin:4px 0 12px}.data-safety ul{list-style:none;margin:0;padding:0}.data-safety li{height:35px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf0f3;font-size:11.5px;color:#465260}.data-safety li .icon{width:14px;height:14px;color:var(--ok)}.data-safety p{line-height:1.5;margin-top:13px}

/* command */
.command-overlay{position:fixed;inset:0;background:rgba(4,9,15,.42);backdrop-filter:blur(2px);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.command-overlay[hidden]{display:none}.command-box{width:min(650px,calc(100vw - 40px));background:#fff;border:1px solid #cfd6de;border-radius:10px;box-shadow:0 28px 80px rgba(5,12,21,.35);overflow:hidden}.command-input{height:52px;display:flex;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid var(--border)}.command-input .icon{color:#6d7886}.command-input input{border:0;outline:0;flex:1;font-size:13px;background:transparent;color:var(--text)}.command-input kbd{background:#eef1f4;color:#687483;border-color:#d9dfe6}.command-section{padding:8px}.command-section>span{display:block;font-size:9.5px;color:var(--muted);font-weight:800;letter-spacing:.09em;padding:6px 8px}.command-section a{height:38px;border-radius:6px;display:flex;align-items:center;padding:0 9px;font-size:12px;color:#394653}.command-section a:hover,.command-section a.focused{background:#edf3f9;color:#144f88}.command-section a kbd{margin-left:auto;font:600 9px var(--font);color:#8a95a3}

/* auth/install */
.login-body,.install-body{min-height:100vh;background:#0b1017;color:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)}.login-brand{padding:7vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 15% 20%,rgba(1,87,190,.18),transparent 35%),#0b1017}.login-brand img{width:126px;height:auto;border-radius:16px;margin-bottom:36px}.login-brand .eyebrow{color:#8190a3}.login-brand h1{font-size:44px;line-height:1.02;letter-spacing:-.04em;margin:10px 0 14px;max-width:600px}.login-brand p{color:#94a0af;max-width:520px;line-height:1.65}.login-card{background:#f5f7f9;color:var(--text);display:flex;flex-direction:column;justify-content:center;padding:8vw;min-width:0}.login-title{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:800}.login-card h2{font-size:24px;margin:9px 0 20px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card label,.install-form label{font-size:10.5px;color:#55616f;font-weight:700;display:flex;flex-direction:column;gap:5px}.login-card input,.install-form input{height:39px;border:1px solid #cfd6de;border-radius:6px;background:#fff;padding:0 10px;color:var(--text);outline:none}.login-card input:focus,.install-form input:focus{border-color:#7faadb;box-shadow:0 0 0 3px rgba(1,87,190,.09)}.login-card .btn{margin-top:4px;height:40px}.login-card>p{margin-top:18px}.install-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.85fr) minmax(620px,1.15fr)}.install-side{padding:6vw;background:radial-gradient(circle at 10% 15%,rgba(1,87,190,.18),transparent 32%),#0b1017;display:flex;flex-direction:column}.install-brand{display:flex;align-items:center;gap:12px}.install-brand>div:last-child{display:flex;flex-direction:column}.install-brand strong{font-size:13px;letter-spacing:.07em}.install-brand small{font-size:9.5px;color:#8491a1;margin-top:2px;letter-spacing:.05em}.install-side h1{font-size:38px;line-height:1.05;letter-spacing:-.035em;margin:80px 0 16px}.install-side>p{color:#91a0b0;line-height:1.6;max-width:430px}.requirements{margin-top:auto;border-top:1px solid #1f2a37;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.req{font-size:11px;color:#95a2b2;display:flex;align-items:center;gap:7px}.req span{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-weight:900;font-size:10px;background:#18222f}.req.ok span{color:#7ad0aa}.req.bad span{color:#ff9b90}.install-card{background:#f5f7f9;color:var(--text);padding:5vw 7vw;overflow:auto}.install-card h2{font-size:24px;margin:6px 0 18px}.install-form{max-width:720px}.install-form fieldset{border:0;padding:0;margin:0 0 20px}.install-form legend{font-size:12px;font-weight:800;margin-bottom:10px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.install-form label{margin-bottom:10px}.optional{font-weight:500;color:#8d97a4}.install-submit{height:40px;min-width:180px}.install-submit:disabled{opacity:.45;cursor:not-allowed}

/* density */
html[data-density="compact"]{--row:34px}html[data-density="compact"] .page{padding:12px}html[data-density="compact"] .status-strip>div{min-height:60px}html[data-density="comfortable"]{--row:50px}html[data-density="comfortable"] .page{padding:24px}html[data-density="comfortable"] .ops-grid{gap:16px}

@media(max-width:1250px){.ops-grid{grid-template-columns:300px 1fr}.inspector{display:none}.command-trigger{min-width:230px}.system-grid{grid-template-columns:1fr}.data-safety{min-height:260px}.system-cards{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.app-body{height:auto;overflow:auto}.os-shell{min-height:100vh;height:auto;grid-template-columns:58px 1fr;grid-template-rows:48px auto 28px;--dock:58px}.topbar{position:sticky;top:0}.brand{min-width:auto}.brand-copy small{display:none}.command-trigger{display:none}.source-state{display:none}.workspace{overflow:visible}.page{overflow:visible}.ops-grid{height:auto;display:block}.exception-panel,.map-stage,.inspector{min-height:350px;margin-bottom:12px}.inspector{display:flex}.status-strip{grid-template-columns:1fr 1fr}.status-strip>div:nth-child(2){border-right:0}.status-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.system-cards,.intelligence-grid{grid-template-columns:1fr}.two-col,.system-grid{grid-template-columns:1fr}.statusbar{position:sticky;bottom:0}.statusbar span:nth-child(2),.statusbar span:nth-child(3){display:none}}

/* 0.2.0 · TomTom Core */
.provider-panel{margin-bottom:16px;padding:18px}.provider-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.provider-panel h2{margin:4px 0 0}.provider-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px}.provider-config,.provider-state{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--surface-2,#f7f8fa)}.provider-config label{display:grid;gap:7px;font-size:12px;font-weight:650}.provider-config input[type=password]{height:38px;border:1px solid var(--line);border-radius:6px;padding:0 11px;background:var(--surface,#fff);color:inherit}.provider-config .checkline{display:flex;align-items:center;gap:8px;margin:10px 0 14px;font-weight:500}.provider-state strong{display:block;font-size:30px;letter-spacing:-.03em;margin:8px 0 2px}.provider-state form{margin-top:14px}.quota-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.quota-grid>div{border:1px solid var(--line);border-radius:7px;padding:10px 12px}.quota-grid span{display:block;font-size:10px;color:var(--muted);letter-spacing:.06em}.quota-grid strong{display:block;font-size:12px;margin:5px 0 8px}.quota-grid progress{width:100%;height:5px}.source-health-table{margin-top:14px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.source-health-head,.source-health-row{display:grid;grid-template-columns:1.4fr .7fr .6fr 1fr;align-items:center;gap:10px;padding:9px 12px}.source-health-head{font-size:10px;letter-spacing:.06em;color:var(--muted);background:var(--surface-2,#f7f8fa)}.source-health-row{font-size:12px;border-top:1px solid var(--line)}code{font-size:.92em}.source-state{text-decoration:none;color:inherit}@media(max-width:900px){.provider-grid{grid-template-columns:1fr}.quota-grid{grid-template-columns:1fr 1fr}.source-health-head,.source-health-row{grid-template-columns:1fr .7fr}.source-health-head span:nth-child(n+3),.source-health-row span:nth-child(n+3){display:none}}

/* 0.3.0 — Maceió Agora */
.live-pulse.nodata{background:#8a9199;box-shadow:none}.live-pulse.warning{background:#d58a12;box-shadow:0 0 0 4px rgba(213,138,18,.12)}
.exception-list{display:flex;flex-direction:column}.exception-row{display:grid;grid-template-columns:4px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line,#dfe3e8)}.exception-row:first-child{border-top:0}.severity-bar{width:4px;height:36px;border-radius:8px;background:#98a1aa}.severity-bar.critical{background:#c83b32}.severity-bar.warning{background:#d58a12}.severity-bar.success{background:#2f7d5a}.severity-bar.nodata{background:#98a1aa}.exception-copy{min-width:0}.exception-copy strong,.exception-copy small{display:block}.exception-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exception-copy small,.exception-metric small{color:var(--muted,#68717b);margin-top:3px}.exception-metric{text-align:right;min-width:72px}.exception-metric strong,.exception-metric small{display:block}.ops-summary{display:grid;gap:0;border-top:1px solid var(--line,#dfe3e8);border-bottom:1px solid var(--line,#dfe3e8);margin-top:6px}.ops-summary>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line,#dfe3e8)}.ops-summary>div:first-child{border-top:0}.ops-summary span{color:var(--muted,#68717b)}.poll-now-form{margin-top:14px}.poll-now-form .btn{width:100%}
.live-map{position:relative;overflow:hidden}.ops-map-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.route-live{stroke-width:5;stroke-linecap:round;opacity:.9}.route-live.success{stroke:#315c75}.route-live.warning{stroke:#d58a12}.route-live.critical{stroke:#c83b32}.route-live.nodata{stroke:#9aa2aa;stroke-dasharray:8 8;opacity:.6}.corridor-live{stroke:#fff;stroke-width:3}.corridor-live.success{fill:#315c75}.corridor-live.warning{fill:#d58a12}.corridor-live.critical{fill:#c83b32}.corridor-live.nodata{fill:#9aa2aa}.map-legend{position:absolute;z-index:5;left:14px;bottom:12px;display:flex;gap:12px;flex-wrap:wrap;padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.08);font-size:11px;color:#59616a}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.legend-dot.normal{background:#315c75}.legend-dot.watch{background:#d58a12}.legend-dot.impacted{background:#d58a12}.legend-dot.critical{background:#c83b32}.legend-dot.nodata{background:#9aa2aa}
.network-columns{display:grid;grid-template-columns:1fr;gap:16px}.network-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line,#dfe3e8)}.network-head h2{margin:2px 0 0;font-size:16px}.network-object-list{display:flex;flex-direction:column}.network-object-row{display:grid;grid-template-columns:minmax(190px,1.5fr) auto 90px 82px 82px 92px auto auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line,#dfe3e8)}.network-object-row:first-child{border-top:0}.object-main{min-width:0}.object-main strong,.object-main small{display:block}.object-main small{margin-top:3px;color:var(--muted,#68717b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-metrics{text-align:right}.object-metrics strong,.object-metrics small{display:block}.object-metrics small{color:var(--muted,#68717b)}.mini-field{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#68717b)}.mini-field input{display:block;width:100%;margin-top:3px;padding:6px 7px;border:1px solid var(--line,#dfe3e8);border-radius:5px;background:var(--surface,#fff);color:inherit;font-size:12px}.toggle-line{white-space:nowrap;font-size:12px}.small-btn{padding:6px 8px;font-size:11px}.incidents-panel{margin-top:16px}.incidents-panel>header{padding:16px 18px;border-bottom:1px solid var(--line,#dfe3e8)}.incident-list{display:flex;flex-direction:column}.incident-row{display:grid;grid-template-columns:auto minmax(0,1fr) 90px 80px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line,#dfe3e8)}.incident-row:first-child{border-top:0}.incident-row strong,.incident-row small{display:block}.incident-row small{color:var(--muted,#68717b);margin-top:2px}
.cost-guard-panel{margin-bottom:16px}.cost-guard-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line,#dfe3e8)}.cost-guard-panel h2{margin:3px 0 0}.cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line,#dfe3e8)}.cost-item{padding:14px;background:var(--surface,#fff)}.cost-item>div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.cost-item>div span{color:var(--muted,#68717b)}.cost-item progress{width:100%;height:7px;margin:10px 0 6px}.cost-item small{display:block;color:var(--muted,#68717b)}.cron-callout{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;background:rgba(49,92,117,.05);border-top:1px solid var(--line,#dfe3e8)}.cron-callout strong,.cron-callout small,.cron-callout code{display:block}.cron-callout code{margin:5px 0;padding:5px 7px;border-radius:4px;background:rgba(0,0,0,.05);font-size:11px}.cron-callout small{color:var(--muted,#68717b)}
@media(max-width:1250px){.network-object-row{grid-template-columns:minmax(180px,1.4fr) auto 90px 74px 74px auto}.network-object-row .mini-field:nth-of-type(3){display:none}.cost-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.network-object-row{grid-template-columns:1fr auto}.network-object-row .object-metrics,.network-object-row .mini-field,.network-object-row .toggle-line,.network-object-row .small-btn{grid-column:auto}.cost-grid{grid-template-columns:1fr}.cron-callout{align-items:flex-start;flex-direction:column}.exception-row{grid-template-columns:4px minmax(0,1fr) auto}.exception-metric{display:none}}

/* 0.4.0 — Memória Histórica */
.time-state.historical{border-color:#7a5a28;background:#211a10}.historical-banner{margin:0 0 16px;background:#fff3df;color:#744707;border:1px solid #ebd0a7}.historical-banner a{margin-left:auto}.history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.history-kpis .metric-panel{padding:14px}.history-kpis .metric-panel strong{display:block;font-size:22px;letter-spacing:-.025em;margin:6px 0 2px}.history-kpis .metric-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.intelligence-workbench{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:14px;margin-bottom:14px}.time-machine-panel,.quality-panel,.history-series-panel,.gap-panel{overflow:hidden}.time-machine-panel>header,.quality-panel>header,.history-series-panel>header,.gap-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid var(--border)}.time-machine-panel h2,.quality-panel h2,.history-series-panel h2,.gap-panel h2{font-size:15px;margin:3px 0 0}.time-machine-form{display:flex;align-items:end;gap:10px;padding:15px 16px;border-bottom:1px solid var(--border)}.time-machine-form label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.time-machine-form input,.history-selector select{height:34px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:0 9px;font:inherit;font-size:12px}.tm-snapshot{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--border)}.tm-snapshot>div{padding:12px 14px;border-right:1px solid var(--border)}.tm-snapshot>div:last-child{border-right:0}.tm-snapshot span,.tm-snapshot strong{display:block}.tm-snapshot span{font-size:9.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.tm-snapshot strong{margin-top:5px;font-size:15px}.tm-attention{display:flex;flex-direction:column}.tm-attention>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 14px;border-top:1px solid var(--border)}.tm-attention>div:first-child{border-top:0}.tm-attention small{color:var(--muted);font-variant-numeric:tabular-nums}.time-machine-placeholder{padding:28px 18px}.time-machine-placeholder strong{display:block;font-size:13px}.time-machine-placeholder p{margin:6px 0 0;color:var(--muted);font-size:11.5px;max-width:680px;line-height:1.55}.quality-list{display:flex;flex-direction:column}.quality-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-top:1px solid var(--border)}.quality-list>div:first-child{border-top:0}.quality-list span{color:var(--muted);font-size:11px}.quality-list strong{font-variant-numeric:tabular-nums}.quality-panel>p{padding:0 14px 14px;margin:0}.history-series-panel{margin-bottom:14px}.history-selector{display:flex;gap:8px}.history-selector select{min-width:140px}.history-selector select:last-child{min-width:260px}.history-chart-wrap{height:220px;padding:18px 18px 8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,rgba(1,87,190,.018),transparent)}.history-sparkline{width:100%;height:100%;color:var(--blue);overflow:visible}.chart-empty{color:var(--muted);font-size:12px}.history-series-meta{display:flex;gap:18px;padding:9px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:10px}.history-table{display:flex;flex-direction:column}.history-row{display:grid;grid-template-columns:120px 105px minmax(110px,1fr) 95px 135px 60px;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--border);font-size:11px}.history-row.head{background:var(--subtle);color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;border-top:0}.capture-type{font-size:9px;font-weight:800;letter-spacing:.05em}.capture-type.live{color:#256b50}.capture-type.backfilled{color:#7e4c08}.gap-panel{margin-bottom:10px}.gap-list{display:flex;flex-direction:column}.gap-list>div{display:grid;grid-template-columns:130px minmax(0,1fr) 100px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--border);font-size:11px}.gap-list>div:first-child{border-top:0}.gap-list span{color:var(--muted)}
@media(max-width:1250px){.history-kpis{grid-template-columns:repeat(2,1fr)}.intelligence-workbench{grid-template-columns:1fr}.tm-snapshot{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.history-kpis{grid-template-columns:1fr}.time-machine-form{align-items:stretch;flex-direction:column}.tm-snapshot{grid-template-columns:1fr 1fr}.history-selector{width:100%;flex-direction:column}.history-selector select,.history-selector select:last-child{width:100%;min-width:0}.history-row{grid-template-columns:90px 90px 1fr}.history-row span:nth-child(4),.history-row span:nth-child(5),.history-row span:nth-child(6){display:none}.history-series-meta{flex-wrap:wrap}.gap-list>div{grid-template-columns:90px 1fr}}
.badge.warning{background:#fff2df;color:#7e4c08}.badge.critical{background:#f8e9e7;color:#84342d}

/* 0.5.0 — deterministic anomaly intelligence */
.anomaly-live-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 16px;margin:0 0 14px;border-left:3px solid #215d88}
.anomaly-live-strip>div{display:flex;flex-direction:column;gap:3px}.anomaly-live-strip strong{font-size:13px}.anomaly-live-strip small{font-size:11px;color:var(--muted)}
.baseline-panel,.anomaly-events{margin-bottom:14px;overflow:hidden}.baseline-panel>header,.anomaly-events>header{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border);gap:12px}
.baseline-panel h2,.anomaly-events h2{margin:3px 0 0;font-size:15px}.baseline-explainer{padding:13px 16px;background:rgba(33,93,136,.045);font-size:12px;line-height:1.55;color:var(--muted);border-bottom:1px solid var(--border)}
.baseline-row{display:grid;grid-template-columns:minmax(220px,2fr) 124px 58px 116px 88px minmax(135px,1fr);gap:12px;align-items:center;padding:11px 16px;font-size:11px;border-bottom:1px solid var(--border)}
.baseline-row:last-child{border-bottom:0}.baseline-row strong,.baseline-row small{display:block}.baseline-row strong{font-variant-numeric:tabular-nums}.baseline-row small{font-size:10px;color:var(--muted);margin-top:3px}.baseline-head{background:var(--subtle);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:10px}
.anomaly-event-row{display:grid;grid-template-columns:95px minmax(240px,1fr) 150px 75px;gap:16px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border)}
.anomaly-event-row:last-child{border:0}.anomaly-event-row>div strong,.anomaly-event-row>div small{display:block}.anomaly-event-row small{font-size:10px;color:var(--muted);margin-top:5px}
@media(max-width:1120px){.baseline-row{grid-template-columns:minmax(150px,2fr) 112px 45px 1fr}.baseline-row>*:nth-child(5),.baseline-row>*:nth-child(6){display:none}}
@media(max-width:700px){.anomaly-live-strip{align-items:flex-start;flex-direction:column}.anomaly-event-row{grid-template-columns:80px 1fr}.anomaly-event-row>*:nth-child(n+3){display:none}.baseline-row{grid-template-columns:1.5fr 90px 45px}.baseline-row>*:nth-child(4){display:none}}

/* 0.6.0 / editorial operations */
.cases-page{min-height:0}.case-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}.case-kpi{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.case-kpi span{color:var(--muted);font-size:11px}.case-kpi strong{font-size:21px;font-variant-numeric:tabular-nums}.case-kpi.chosen{border-color:var(--blue);box-shadow:inset 0 2px 0 var(--blue)}
.case-workbench{display:grid;grid-template-columns:minmax(310px,0.82fr) minmax(470px,1.18fr);gap:12px;min-height:520px;max-height:calc(100vh - 292px);margin-bottom:14px}.case-inbox,.case-inspector{display:flex;flex-direction:column;min-height:0;overflow:auto}.case-inbox>header,.case-inspector>header,.case-triage>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 16px;border-bottom:1px solid var(--border)}.case-inbox h2,.case-inspector h2,.case-triage h2{font-size:15px;margin:3px 0 0;line-height:1.35}.case-inspector>header p{margin:4px 0 0;color:var(--muted);font-size:11px}.case-list-row{display:flex;flex-direction:column;gap:6px;padding:13px 15px;border-bottom:1px solid var(--border);background:#fff}.case-list-row:hover,.case-list-row.chosen{background:#f1f6fc}.case-list-row.chosen{box-shadow:inset 3px 0 var(--blue)}.case-list-row>strong{font-size:12.5px}.case-list-row>small,.case-row-top small{color:var(--muted);font-size:10px}.case-row-top{display:flex;align-items:center;gap:6px}.case-row-top small{margin-left:auto}.case-overdue{color:#b4483c!important;font-weight:700}.case-no-selection{margin:auto;padding:30px;text-align:center}.case-no-selection h2{margin:12px 0}.case-no-selection p{font-size:12px;line-height:1.6;color:var(--muted);max-width:340px}.case-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--border)}.case-summary>div{padding:12px 15px;border-right:1px solid var(--border)}.case-summary span,.case-summary strong{display:block}.case-summary span{color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em}.case-summary strong{font-size:11px;margin-top:5px}.case-inspector-tabs{display:flex;gap:17px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:11px;color:var(--blue);position:sticky;top:0;background:#fff;z-index:2}.case-inspector-scroll{overflow:auto;min-height:0}.case-section{padding:15px 16px;border-bottom:1px solid var(--border);scroll-margin-top:40px}.case-section h3{font-size:12px;margin:0 0 12px}.case-form{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.case-form label{width:100%;display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:#404957}.case-form input,.case-form textarea,.case-form select{display:block;width:100%;max-width:100%;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:12px;color:var(--text);padding:9px;line-height:1.35}.case-form input,.case-form select{min-height:34px}.case-form textarea{resize:vertical}.case-form .btn{align-self:flex-end}.case-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.case-help{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.case-section-title{display:flex;justify-content:space-between;align-items:center;gap:14px}.case-evidence,.case-activity{padding:12px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;font-size:11px}.case-evidence strong,.case-activity strong{font-size:12px}.case-evidence small,.case-activity small{color:var(--muted);font-size:10px}.case-evidence details summary{font-size:10px;color:var(--blue);cursor:pointer}.case-evidence pre{background:#f4f6f8;border:1px solid var(--border);border-radius:6px;overflow:auto;padding:12px;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.case-activity p{margin:0;font-size:11px;line-height:1.5;color:#475262}.case-triage{margin-bottom:12px;overflow:hidden}.case-triage>header small{color:var(--muted);font-size:10px}.case-signal-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--border)}.case-signal-row>div{display:flex;flex-direction:column;gap:4px}.case-signal-row strong{font-size:12px}.case-signal-row small{font-size:10px;color:var(--muted)}
@media(max-width:1150px){.case-workbench{grid-template-columns:1fr;max-height:none}.case-inbox{max-height:400px}.case-inspector{max-height:none}.case-inspector-scroll{overflow:visible}.case-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.case-kpis{grid-template-columns:repeat(2,1fr)}.case-field-pair{grid-template-columns:1fr}.case-signal-row{grid-template-columns:1fr}.case-summary{grid-template-columns:1fr}.case-summary>div{border-right:0;border-bottom:1px solid var(--border)}}

.case-attach{border-top:1px solid var(--border);padding:12px 0}.case-attach>summary{font-size:11px;font-weight:750;cursor:pointer;color:var(--blue);margin-bottom:12px}

/* 0.7 Contexto da Cidade */
.context-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:16px;align-items:start}.context-list,.context-create{padding:18px}.context-list>header,.context-create>header{margin-bottom:12px}.context-row{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--border,#dfe3e8)}.context-row:first-of-type{border-top:0}.context-row>div{display:flex;gap:6px}.context-row>strong{font-size:14px}.context-row>small,.context-row>footer{color:var(--muted,#6b7280);font-size:12px}.context-row>footer{display:flex;justify-content:space-between;gap:12px}.context-row p{margin:0;color:var(--muted,#5e6672);font-size:13px;line-height:1.45}.context-suggestions{display:grid;gap:10px;margin-top:10px}.context-suggestion{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--border,#dfe3e8);border-radius:8px}.context-suggestion div{display:grid;gap:3px}.context-suggestion p{margin:2px 0 0;font-size:12px;color:var(--muted,#6b7280)}@media(max-width:1050px){.context-grid{grid-template-columns:1fr}}


/* 0.8 Copiloto local: workbench in the existing enterprise shell */
.nano-workbench,.nano-event-assist{padding:17px 18px;margin-bottom:18px;display:grid;gap:14px;min-width:0;max-width:1120px}
.nano-workbench>header,.nano-event-assist>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid var(--border);padding-bottom:13px}
.nano-workbench h2,.nano-event-assist h2{font-size:15px;letter-spacing:-.015em;margin:5px 0 4px}
.nano-workbench header p,.nano-event-assist header p{font-size:12px;line-height:1.55;color:var(--muted);margin:0;max-width:780px}
.nano-workbench [data-nano-status],.nano-event-assist [data-nano-status]{flex-shrink:0;max-width:190px;height:auto;min-height:23px;text-align:center;line-height:1.3;padding:4px 7px}
.nano-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.nano-row label{display:flex;flex-direction:column;gap:6px;min-width:195px;font-size:11px;font-weight:700;color:#485466}
.nano-row select,.nano-question input,.nano-event-assist textarea{width:100%;background:#fff;border:1px solid #c9d1dc;color:var(--text);border-radius:6px;padding:9px 11px;font:inherit;font-size:12px;min-height:36px}
.nano-row select:focus,.nano-question input:focus,.nano-event-assist textarea:focus{outline:2px solid rgba(1,87,190,.32);border-color:var(--blue)}
.nano-row button{min-height:36px}.nano-question,.nano-event-assist>label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#485466}
.nano-event-assist textarea{resize:vertical;min-height:108px;font-size:12px;font-weight:400;line-height:1.5}
.nano-result{padding:13px 14px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;color:var(--text);line-height:1.55;min-height:56px;font-size:12px}
.nano-result-heading{font-size:13px;margin:0 0 5px}.nano-result h4{font-size:11px;margin:12px 0 5px;letter-spacing:.02em}
.nano-fact-list{padding-left:20px;margin:12px 0}.nano-fact-list li{padding:0 0 9px 2px;overflow-wrap:anywhere}
.nano-result dl{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:8px 14px;margin:12px 0}
.nano-result dt{color:var(--muted);font-size:11px}.nano-result dd{margin:0;font-size:12px;overflow-wrap:anywhere}
.nano-disclaimer{border-top:1px solid var(--border);padding-top:11px;color:#815a23;font-size:11px;margin:12px 0 0}
.nano-error{color:#9a382e;background:#fff0ec;padding:9px;border-radius:5px;margin:0}
.nano-result details{margin-top:10px}.nano-result summary{cursor:pointer;color:var(--blue);font-size:11px}
.nano-result pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.nano-case-assist{border-left:3px solid var(--blue);background:#f8fafc;border-radius:5px;padding:12px;display:grid;gap:10px}
.nano-case-assist .nano-result{background:#fff}.nano-case-assist>.case-help{margin-top:-3px}
@media(max-width:800px){.nano-workbench>header,.nano-event-assist>header{flex-direction:column}.nano-row label{flex:1 1 220px}.nano-result dl{grid-template-columns:1fr;gap:2px}.nano-result dd{margin-bottom:8px}}

.nano-row [hidden]{display:none!important}

/* 0.9 — Replay/LAB. High information density, calm, never colors alone for status. */
.lab-header-actions{display:flex;gap:9px;align-items:center}.lab-workspace{display:grid;grid-template-columns:minmax(315px,350px) minmax(0,1fr);gap:14px;align-items:start}.lab-sidebar,.lab-main{display:grid;gap:14px;min-width:0}.lab-create-panel>header,.lab-library>header,.lab-player>header,.lab-run-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lab-create-panel h2,.lab-library h2,.lab-player h2,.lab-run-head h2{font-size:14px;margin:4px 0 0}.lab-create-form{padding:16px;display:grid;gap:13px}.lab-create-form label{display:grid;gap:6px;color:#536072;font-size:11px;font-weight:750}.lab-create-form input,.lab-create-form select{min-height:37px;padding:7px 9px;border:1px solid #cbd3dd;background:#fff;border-radius:6px;min-width:0;width:100%;font-size:12px;color:var(--text)}.lab-create-form input:focus,.lab-create-form select:focus{outline:2px solid #91b9ea;border-color:var(--blue)}.lab-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lab-run-btn{width:100%}.lab-run-list{max-height:450px;overflow:auto}.lab-run-row{display:grid;gap:5px;padding:12px 16px;border-top:1px solid var(--border);transition:background .12s}.lab-run-row:hover,.lab-run-row.selected{background:#eaf2fc}.lab-run-row strong{font-size:12px}.lab-run-row span,.lab-run-row small{font-size:11px;color:var(--muted)}.lab-empty{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 45px}.lab-empty-emblem{height:54px;width:54px;border-radius:12px;background:#edf3f9;color:var(--blue);display:grid;place-items:center;margin-bottom:20px}.lab-empty-emblem .icon{height:29px;width:29px}.lab-empty h2{max-width:410px;line-height:1.3;font-size:22px;letter-spacing:-.025em;margin:9px 0}.lab-empty p{font-size:12.5px;color:var(--muted);line-height:1.65;max-width:550px}.lab-guard{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:700;color:#34775c;margin-top:20px}.lab-run-head{align-items:center;padding:17px 20px}.lab-run-head h2{font-size:19px;letter-spacing:-.015em}.lab-run-head p{color:var(--muted);font-size:11px}.lab-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-stat{padding:16px;display:grid;gap:8px}.lab-stat strong{font-size:28px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lab-stat strong small{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:0}.lab-stat>div{font-size:11px;color:var(--muted)}.lab-notice{border:1px solid #e5d8b9;background:#faf7ef;border-radius:7px;padding:11px 14px;display:grid;gap:5px;font-size:12px;color:#725a29}.lab-notice span{font-size:11px}.lab-player{overflow:hidden}.lab-player>header{align-items:center}.lab-player-top{display:grid;grid-template-columns:minmax(210px,1fr) minmax(330px,1.2fr);gap:15px;padding:19px;border-bottom:1px solid var(--border);min-height:134px}.lab-player-top h3{margin:7px 0;font-size:20px;letter-spacing:-.02em}.lab-player-top p{color:var(--muted);font-size:12px;margin:0;line-height:1.5}.lab-compare{display:grid;gap:8px}.lab-profile{border:1px solid var(--border);border-radius:6px;background:#f9fafb;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.lab-profile strong{font-size:11px}.lab-profile span{font-size:10px;color:#5d6878}.lab-profile.active{border-color:#b5d7cb;background:#f0f9f5}.lab-play-controls{padding:12px 16px;display:flex;align-items:center;gap:9px;background:#f7f9fb;border-bottom:1px solid var(--border)}.lab-play-controls .ghost{min-width:38px}.lab-play-controls input[type=range]{flex:1;min-width:80px;accent-color:var(--blue)}.lab-play-controls select{height:30px;border:1px solid var(--border);border-radius:5px;background:#fff;padding:0 7px}.lab-frame-head,.lab-frame-row{display:grid;grid-template-columns:122px minmax(165px,1fr) 132px 132px;gap:10px;padding:9px 14px;align-items:center;font-size:11px}.lab-frame-head{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted);background:#f5f7f9}.lab-frame-row{border-top:1px solid var(--border);width:100%;text-align:left;background:#fff;border-right:0;border-bottom:0;border-left:0;cursor:pointer;color:var(--text)}.lab-frame-row:hover,.lab-frame-row.is-current{background:#edf4fc}.lab-frame-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-provenance{padding:17px 19px;display:grid;gap:12px}.lab-provenance>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;font-size:11px}.lab-provenance strong{color:var(--muted)}.lab-provenance code{overflow-wrap:anywhere;font-size:11px}.tm-caveats{display:grid;gap:5px;margin:12px 14px;padding:10px 12px;background:#f7f8fa;border:1px solid #e0e5eb;border-radius:6px;font-size:11px;color:#576579}.tm-details{padding:0 13px 10px}.tm-details details{border-top:1px solid var(--border);padding:10px 0}.tm-details summary{cursor:pointer;color:#2f4055;font-size:12px;font-weight:700}.tm-details p{font-size:11px;color:var(--muted);line-height:1.5}.tm-object-list{display:grid;gap:7px;margin-top:10px}.tm-object-list>div{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;padding:7px;background:#f8fafb;border:1px solid var(--border);border-radius:5px;font-size:11px}.tm-object-list>div small{color:var(--muted)}.tm-context-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 2px;border-top:1px solid var(--border);font-size:11px}.tm-context-row small{color:var(--muted)}@media(max-width:1160px){.lab-workspace{grid-template-columns:1fr}.lab-sidebar{grid-template-columns:1fr 1fr}.lab-run-list{max-height:320px}}@media(max-width:860px){.lab-sidebar{grid-template-columns:1fr}.lab-player-top{grid-template-columns:1fr}.lab-stat-grid{grid-template-columns:1fr}.lab-field-pair{grid-template-columns:1fr}.lab-frame-head,.lab-frame-row{grid-template-columns:100px 1fr 100px 100px;font-size:10px}}@media(max-width:590px){.lab-frame-table{overflow:auto}.lab-frame-head,.lab-frame-row{min-width:560px}.lab-provenance>div{grid-template-columns:1fr}.lab-play-controls{flex-wrap:wrap}.lab-header-actions{flex-wrap:wrap}}

/* 0.10 Recovery: hierarchy without decorative KPI cards */
.recovery-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px;border-bottom:1px solid var(--border,#e1e4e8)}
.recovery-status-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.recovery-status-grid strong{font-size:17px;letter-spacing:-.02em}
.recovery-status-grid small{line-height:1.4;opacity:.76}
.recovery-grid .backup-row{gap:12px;align-items:center}
.recovery-grid .backup-row form{flex:0 0 auto}
.recovery-grid .backup-row strong{overflow-wrap:anywhere}
.recovery-grid .backup-panel>p{padding:4px 18px 18px}
@media(max-width:900px){.recovery-status-grid{grid-template-columns:1fr}.recovery-grid .backup-row{flex-wrap:wrap}}

/* 0.11: operations preflight within the existing desktop shell. */
.ops-preflight{padding:15px 17px;margin-bottom:15px}.ops-preflight header{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:12px}.ops-preflight h2{font-size:15px;margin:4px 0}.ops-preflight .muted{margin:4px 0}.ops-preflight-body{padding:9px 0;display:grid;gap:12px;font-size:12px}.ops-check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.ops-check-item{background:white;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 10px;text-transform:capitalize}.ops-check-item .badge{flex-shrink:0}@media(max-width:720px){.ops-preflight header{align-items:flex-start;flex-direction:column}}

/* Hostinger diagnostic hotfix: oito verificacoes de cobertura, apenas na tela admin. */
.gate-diagnostics{margin:0 14px 14px;border:1px solid #dbe3ed;border-radius:7px;background:#fbfcfe;overflow:hidden}.gate-diagnostics>summary{padding:12px 14px;cursor:pointer;font-size:12px;font-weight:750;color:#304257}.gate-diagnostics>p{padding:0 14px 8px;margin:0}.gate-results{border-top:1px solid #e1e7ef}.gate-result-row{display:grid;grid-template-columns:minmax(170px,.8fr) 76px minmax(0,1.7fr);gap:14px;align-items:start;padding:9px 14px;font-size:11px;border-top:1px solid #e9eef4}.gate-result-row:first-child{border-top:0}.gate-result-row code{display:block;white-space:normal;overflow-wrap:anywhere;color:#495b6f;font-size:10.5px}.gate-result-row .badge{justify-self:start}@media(max-width:700px){.gate-result-row{grid-template-columns:minmax(0,1fr) 65px}.gate-result-row code{grid-column:1 / -1}}
