/* AudioLab Pro — Studio Edition. Intentional, high-contrast professional control-room interface. */
:root{--bg:#0b1220;--side:#0a101b;--panel:#141f30;--panel2:#19293c;--line:#2b3c53;--text:#eaf5fc;--muted:#92a5bb;--lime:#a7f0b3;--cyan:#53d9ce;--purple:#aaa0fc;--gold:#e9bc7b;--radius:15px;font-family:Inter,"Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,sans-serif}
html{background:var(--bg)}body{background:radial-gradient(ellipse 75% 50% at 68% -15%,#1937507a,transparent 75%),var(--bg);font-size:14px;letter-spacing:.002em}
.sidebar{width:266px;flex-basis:266px;background:linear-gradient(180deg,#101a2a,#0b1220 46%);border-right:1px solid #293b4a;padding:26px 16px 18px;box-shadow:8px 0 30px #080c140d}
.brand{padding:3px 8px 30px;gap:13px}.brand-mark{width:43px;height:43px;border-radius:12px;font-size:27px;background:linear-gradient(140deg,#a7f0b3,#3fd9cc);box-shadow:0 10px 28px #42d7cc28}.brand strong{font-size:17px;letter-spacing:.02em}.brand small{font-size:9px;color:#95aec2;letter-spacing:.19em;margin-top:6px}
.section-label{color:#7f91aa;letter-spacing:.18em;font-size:9px;margin:10px 14px 12px}.section-label.small{margin-top:30px}
.sidebar nav{gap:3px}.nav-item{border-radius:10px;padding:11px 11px;color:#a8b7ca;font-weight:550;letter-spacing:.002em;font-size:12px;transition:background .15s ease,color .15s ease,border .15s ease}.nav-item:hover{background:#203044;color:#eaf8ff}.nav-item.active{background:linear-gradient(100deg,#203b43,#1b2a40);border:1px solid #37686a;box-shadow:inset 3px 0 0 #65e2d3;color:#f4fcfc}.nav-ico{width:21px;height:21px;color:#7893ac;display:grid;place-items:center}.nav-ico svg{width:20px;height:20px}.nav-item.active .nav-ico{color:#75e5d5}
.status-panel{background:#132335;border-color:#304459;padding:15px 14px;border-radius:12px}.status-panel p{color:#9aaec4}.version{font-size:9px;color:#8193a8}
.topbar{background:#101a28eb;backdrop-filter:blur(12px);height:74px;border-bottom:1px solid #243950;padding:0 36px}.crumb-muted{color:#8094ac}.breadcrumb strong{font-size:13px}.top-actions{gap:14px}.local-chip{color:#a4c1b1;font-size:11px}.desktop-chip{background:#17303a;border:1px solid #34626a;color:#a3d7dc;border-radius:100px;padding:6px 11px;font-size:10px;font-weight:650;letter-spacing:.035em}
.emergency-btn{display:flex;align-items:center;gap:8px;background:#351d29;border:1px solid #944457;color:#ffafba;border-radius:9px;font-weight:800;letter-spacing:.075em;font-size:10px;padding:10px 13px;min-height:37px;transition:background .15s}.emergency-btn:hover{background:#5f2738}.emergency-btn span{font-size:13px}.emergency-btn:focus-visible{outline:2px solid #fd9aa9;outline-offset:2px}
.content{max-width:1560px;padding:34px 38px 28px}.pagehead{margin-bottom:26px}.eyebrow{color:#65dccb!important;letter-spacing:.19em;font-size:10px;font-weight:850}.pagehead h1{letter-spacing:-.044em;font-size:32px;font-weight:790;color:#f3f8fc}.pagehead p{color:#9aadc2;font-size:13px;line-height:1.6}.preview-badge,.tag{border:1px solid #37495b;background:#1d2d3f;border-radius:7px;letter-spacing:.075em;font-size:9px;font-weight:800;color:#c3d2e1;padding:6px 9px}.preview-badge{color:#a9efcd;border-color:#3b765e;background:#1d3c34}
.panel{background:linear-gradient(140deg,#172235 0%,#131f30 90%);border:1px solid #30415a;border-radius:15px;box-shadow:0 12px 35px #080d161c}.panel-pad{padding:23px}.panel h3{font-weight:720;font-size:15px;letter-spacing:-.02em}.panel-title{margin-bottom:15px}.secondary-text{font-size:12px;color:#9bafc4}.note{background:#29251f7d;border:1px solid #64503b;color:#e5c69e;border-radius:11px;font-size:12px;padding:15px 18px}.fine-print{font-size:11px;color:#91a4b9}
.btn{border-radius:9px!important;min-height:41px;letter-spacing:.012em;font-weight:720;transition:transform .15s ease,filter .15s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.075)}.btn-primary{background:#7ee4cb!important;border-color:#7ee4cb!important;color:#092631!important}.btn-outline{background:#202d40!important;border-color:#40516a!important;color:#d8e9f6!important}.btn-quiet{color:#aebfd1}.btn:focus-visible,.nav-item:focus-visible{outline:2px solid #79e8ce;outline-offset:2px}
.panel select,.panel input:not([type=range]),.project-row input{background:#101b2d;color:#eaf5fc;border-radius:9px;border-color:#394c64;font-size:12px;min-height:43px}.panel select:focus,.panel input:focus,.project-row input:focus{border-color:#61dcce}.panel label{color:#b0c2d3;font-size:11px;margin-top:16px}
.hero{background:linear-gradient(110deg,#1a3540 0%,#1d3244 45%,#172239 100%);border-color:#365e68;border-radius:21px;overflow:hidden;box-shadow:0 18px 60px #0002;position:relative}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#a4edcb0d 1px,transparent 1px),linear-gradient(90deg,#a4edcb0c 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.hero-copy{position:relative;z-index:1}.hero h2{letter-spacing:-.045em;line-height:1.13;color:#f2f8fa}.hero h2 em{color:#a6eee3}.hero-overline{color:#b6eac7}.hero p{color:#bdd0d9;line-height:1.65}.hero-visual{position:relative;z-index:1}
.telemetry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 25px}.telemetry-card{min-width:0;padding:20px 20px 18px;border-radius:14px;border:1px solid #304458;background:linear-gradient(145deg,#172639,#131e30);box-shadow:0 8px 25px #00000012;display:flex;flex-direction:column;gap:4px}.telemetry-caption{font-size:9px;color:#8da9c0;letter-spacing:.115em;font-weight:850}.telemetry-card strong{font-weight:780;color:#f1fbff;font-size:30px;letter-spacing:-.045em;margin-top:3px;font-variant-numeric:tabular-nums}.telemetry-card span{font-size:10px;color:#8ba0b4}.telemetry-card:nth-child(2) strong{color:#82e7d9}.telemetry-card:nth-child(3) strong{color:#b7aaff}
.section-heading{margin:25px 0 16px}.section-heading h3{letter-spacing:-.02em}.op-grid{gap:14px}.op-card{background:#19283a;border-color:#33465c;border-radius:14px;transition:transform .17s ease,border-color .17s ease,background .17s}.op-card:hover{transform:translateY(-3px);background:#203249;border-color:#5a8c92}.op-card strong{font-size:14px;color:#eaf3fc}.op-card>span:not(.op-icon){color:#91a9bf;font-size:12px}.op-card b{color:#70e4d1}
.quality-overview{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(100deg,#192d3b,#17253a)}.quality-overview h3{margin:5px 0}.quality-overview p{margin:4px 0}.quality-overview .btn{flex-shrink:0}.mini-overline{color:#76dacc!important;font-weight:820;letter-spacing:.14em}
.chart-panel{background:linear-gradient(130deg,#111d2e,#141f30);border-color:#2c4259}.canvas-wrap{border-radius:10px;overflow:hidden;background:radial-gradient(ellipse at 60% 10%,#1a39441a,transparent 80%)}.chart-header h3{font-size:16px}.empty-over-chart{background:#101d2ac9}.empty-symbol{background:#243d46;color:#83edda;border-color:#40636b}.legend{color:#a8bcca}
.filters-head{color:#98abc1}.filter-item{border-color:#2c3e53}.filter-item span{color:#d4e2ec}.filter-item input{border-color:#354960!important}.filter-footer{gap:10px}.project-item{border-color:#344a61;background:#17293b;border-radius:11px}.device-banner{background:linear-gradient(110deg,#19343b,#192b3a);border-color:#32626a}
.quality-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.7fr);gap:16px}.quality-score-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:270px;background:radial-gradient(circle at top right,#254d4c,#172235 72%)}.score-number{font-size:67px;color:#80e3d3;font-weight:790;letter-spacing:-.08em;line-height:1.1;margin:14px 0}.quality-score-panel h3{font-size:20px}.score-bar{width:100%;max-width:260px;height:8px;border-radius:99px;background:#35485a;overflow:hidden;margin-top:12px}.score-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#5adaca,#a5efb7);border-radius:99px;transition:width .2s}.checks-list{display:grid;gap:9px}.quality-check{display:flex;gap:12px;align-items:center;padding:12px 14px;background:#102033;border:1px solid #2e435a;border-radius:10px}.quality-check b{font-size:16px;color:#75ddbd}.quality-check.warn b{color:#f2bf81}.quality-check strong{display:block;font-size:12px;margin-bottom:3px}.quality-check small{color:#9fb2c4;font-size:11px;line-height:1.5}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.steps-grid>div{display:flex;flex-direction:column;gap:7px;border-top:1px solid #3b5065;padding-top:14px}.steps-grid b{color:#61e1d0;font-size:20px}.steps-grid strong{font-size:12px}.steps-grid span{font-size:11px;color:#95a9bc;line-height:1.6}
.spl-card{margin-top:20px}.spl-controls{display:flex;align-items:end;flex-wrap:wrap;gap:13px;margin:14px 0 18px}.spl-controls label{margin:0;display:grid;gap:8px;min-width:190px}.spl-controls label select{width:100%}.spl-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.spl-reading>div{background:#102235;border:1px solid #355169;padding:17px;border-radius:11px}.spl-reading small{display:block;color:#99adc0;font-size:10px;letter-spacing:.09em}.spl-reading strong{display:block;font-size:24px;color:#8be9d8;margin-top:7px}
.verification-panel{margin:16px 0}.verification-results{border:1px solid #365568;background:#132c39;border-radius:11px;padding:18px;color:#bfd5df;margin-top:14px;font-size:12px;line-height:1.65}.verification-results strong{font-size:20px;color:#88e8d7}.adapter-preview{padding:14px;border:1px solid #35586b;border-radius:10px;background:#142f40;margin:12px 0}.adapter-preview div{display:flex;align-items:center;gap:5px}.adapter-preview p{font-size:11px;color:#bbd4db;line-height:1.5;margin:8px 0 0}
#toast{background:#19384a;border-color:#508887;border-radius:11px;color:#e8f7f7;font-size:12px;box-shadow:0 22px 50px #0008}.device-grid,.workspace-grid,.op-grid{column-gap:18px}
@media(max-width:1200px){.sidebar{width:226px;flex-basis:226px}.content{padding:27px 25px}.telemetry-card{padding:15px}.emergency-btn{font-size:9px}}
@media(max-width:920px){.quality-layout{grid-template-columns:1fr}.steps-grid{grid-template-columns:repeat(2,1fr)}.telemetry-grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:254px;left:-270px;position:fixed;flex-basis:auto;z-index:20}.sidebar.open{left:0}.topbar{padding:0 20px}.local-chip{display:none}.mobile-only{display:inline-flex}}
@media(max-width:650px){.topbar{height:66px;padding:0 12px}.top-actions{gap:7px}.desktop-chip{display:none}.emergency-btn{font-size:9px;padding:9px}.content{padding:23px 14px}.pagehead h1{font-size:27px}.telemetry-grid{gap:9px}.telemetry-card{padding:14px 12px}.telemetry-card strong{font-size:25px}.telemetry-caption{font-size:8px}.quality-overview{align-items:stretch;flex-direction:column}.steps-grid{grid-template-columns:1fr 1fr}.spl-reading strong{font-size:18px}.spl-controls{align-items:stretch;flex-direction:column}.spl-controls label{max-width:none}.quality-score-panel{min-height:215px}.quality-score-panel .score-number{font-size:56px}}
@media(prefers-reduced-motion:reduce){.btn,.nav-item,.op-card,.score-bar span{transition:none!important}}

/* Studio 1.1: distribuição espacial e ficha de posição */
.coverage-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.coverage-kpis>div{display:flex;flex-direction:column;gap:8px}.coverage-kpis small{letter-spacing:.12em;color:#8faec0;font-size:10px;font-weight:750}.coverage-kpis strong{font-size:30px;color:#89e5d7;font-variant-numeric:tabular-nums}.coverage-kpis span{font-size:11px;color:#8da6bf}
.coverage-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}.coverage-actions h3{margin:0 0 7px}.coverage-buttons{display:flex;flex-wrap:wrap;gap:10px}
.position-dialog{border:1px solid #3b6070;border-radius:16px;background:#172537;color:#e8f5fa;width:min(490px,calc(100vw - 24px));padding:26px;box-shadow:0 30px 120px #000a}
.position-dialog::backdrop{background:#040b14ce}.position-dialog form{display:flex;flex-direction:column;gap:11px}.position-dialog h2{margin:0 0 5px}.position-dialog label{color:#b2c7d9;font-size:12px;font-weight:700}.position-dialog input,.position-dialog textarea,.position-dialog select{box-sizing:border-box;width:100%;border:1px solid #426073;background:#101d2d;color:#f0f8fc;border-radius:9px;padding:12px;font:inherit}.position-dialog textarea{resize:vertical}.position-dialog .buttonpair{margin-top:9px;justify-content:flex-end}
@media(max-width:800px){.coverage-kpis{grid-template-columns:1fr}.coverage-actions{align-items:stretch;flex-direction:column}.coverage-buttons>*{flex:1}}
