:root{--bg:#080b10;--surface:#10151d;--surface2:#161d27;--line:#27303d;--text:#edf3f8;--muted:#8f9baa;--accent:#ffb000;--green:#44d49d;--red:#ff5e62;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 10%,#151c28 0,#080b10 42%);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{border:0;border-radius:7px;padding:.75rem 1rem;background:var(--accent);color:#15100a;font-weight:750;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.secondary,.ghost{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.danger{background:#3a181c;color:#ff9a9c;border:1px solid #6d292f}header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#090d13e8;position:sticky;top:0;z-index:4}header>div{display:flex;align-items:center;gap:10px}header span{font-size:.78rem;letter-spacing:.16em;color:var(--muted)}header strong{letter-spacing:.08em}header em{font-style:normal;font-size:.66rem;background:#372a0f;color:#ffc84f;padding:4px 7px;border-radius:4px}.logo,.brand-mark{display:grid;place-items:center;background:var(--accent);color:#111!important;font-weight:900}.logo{width:30px;height:30px;border-radius:7px;font-size:1rem}.status{font-size:.8rem}.led{width:8px;height:8px;border-radius:50%;background:#4a535f}.led.on{background:var(--green);box-shadow:0 0 12px var(--green)}main{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 68px)}aside{border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;justify-content:space-between;background:#0a0e14}nav{display:grid;gap:7px}.nav{text-align:left;background:transparent;color:var(--muted);border:1px solid transparent}.nav.active{background:#191d20;color:var(--text);border-color:#3b3528;box-shadow:inset 3px 0 var(--accent)}.selected-project{border-top:1px solid var(--line);padding:18px 8px;display:grid;gap:5px}.selected-project span,.eyebrow{font-size:.66rem;color:var(--accent);letter-spacing:.16em;margin:0}.selected-project small{color:var(--muted)}.view{display:none;padding:34px;max-width:1600px;width:100%;margin:auto}.view.active{display:block}.title-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}h1,h2,p{margin-top:0}h1{font-size:2rem;margin-bottom:0}h2{font-size:1rem;margin-bottom:0}.muted,.empty{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.metric-grid article{background:linear-gradient(145deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:8px}.metric-grid article span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric-grid article strong{font-size:1.7rem}.green{color:var(--green)}.panel{background:#0f141c;border:1px solid var(--line);border-radius:10px;padding:19px;box-shadow:0 15px 50px #0003}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head>span{color:var(--muted);font-size:.76rem}.project-list{display:grid;gap:8px}.project-card,.measurement-card{display:flex;align-items:center;justify-content:space-between;padding:14px;background:var(--surface2);border:1px solid transparent;border-radius:7px;cursor:pointer}.project-card:hover,.project-card.active{border-color:#705b2c}.project-card small,.measurement-card small{display:block;color:var(--muted);margin-top:4px}.measurement-layout{display:grid;grid-template-columns:minmax(550px,1fr) 300px;gap:16px}.chart-panel{min-width:0}#spectrum{display:block;width:100%;height:auto;background:#090d13;border:1px solid #202937;border-radius:7px}.chart-actions{display:flex;gap:10px;margin-top:15px}.side-stack{display:grid;gap:15px}.controls{display:grid;gap:12px}.controls h2{margin-bottom:4px}.controls label,.login-card label,#project-form label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}input,select{width:100%;background:#090d13;border:1px solid var(--line);color:var(--text);padding:.7rem;border-radius:6px}.info{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.info strong{color:var(--text)}.level{text-align:right}.level span{display:block;font-size:.65rem;color:var(--muted)}.level strong{font-variant-numeric:tabular-nums;font-size:1.6rem}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.issue{border-left:3px solid var(--accent);background:var(--surface2);padding:13px;margin-bottom:9px}.issue strong{color:#ffc75b}.notice{margin-top:16px;color:#aab4c0;background:#111922;border:1px solid #26394a;padding:14px;border-radius:7px;font-size:.82rem}.overlay{position:fixed;inset:0;background:#06090ef5;z-index:20;display:grid;place-items:center}.overlay.hidden{display:none}.login-card{width:min(390px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px;display:grid;gap:15px}.brand-mark{width:46px;height:46px;border-radius:10px;font-size:1.4rem}.error{color:#ff898d;font-size:.8rem;min-height:1em}dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);width:min(600px,calc(100vw - 30px));padding:0}dialog::backdrop{background:#030508cc}#project-form{padding:25px;display:grid;gap:15px}.dialog-head{display:flex;justify-content:space-between}.dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#toast{position:fixed;right:25px;bottom:25px;background:#202a34;border:1px solid #405061;padding:12px 16px;border-radius:7px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}@media(max-width:980px){main{grid-template-columns:1fr}aside{position:static;border-right:0;border-bottom:1px solid var(--line);padding:10px}nav{grid-template-columns:repeat(3,1fr)}.selected-project{display:none}.measurement-layout,.analysis-grid{grid-template-columns:1fr}.view{padding:20px}.metric-grid{grid-template-columns:1fr}.status #audio-status{display:none}}@media(max-width:560px){header{padding:0 12px}header>div>span:not(.logo):not(.led),header em{display:none}.dimensions{grid-template-columns:1fr}.title-row{align-items:start;gap:15px}.chart-actions{flex-direction:column}}
