/* Estilos del dashboard activo y paneles de experimento/revisión. Cambios visuales no deben alterar muestras, tiempos o métricas. */
:root{color-scheme:dark;--bg:#0c1017;--surface:#161b22;--border:#21262d;--text:#f0f6fc;--muted:#8b949e;--tp9:#ff7b7b;--af7:#ffd180;--af8:#a8e6cf;--tp10:#aeefff;--gamma:#e1bee7;--success:#3fb950;--orange:#ff6d00}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Inter,Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums}header{padding:22px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:24px}.identity{display:flex;align-items:center;gap:14px}.identity strong{font-size:22px;font-weight:650;letter-spacing:-.5px}.identity small{display:block;color:var(--muted);font-size:11px;letter-spacing:.5px}.brand-dot{width:12px;height:30px;border-radius:8px;background:var(--af8)}.header-actions,.row,.connection-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#sessionState{font-size:12px;color:var(--muted)}main{max-width:1500px;margin:auto;padding:26px 32px}h1{font-size:21px;margin:6px 0 0}h2{font-size:16px;font-weight:600;margin:0 0 12px}p{margin:6px 0 14px}button,.button,select,input,textarea{font:inherit;color:var(--text);border:1px solid #30363d;background:var(--bg);border-radius:8px}button,.button{padding:9px 15px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:550;font-size:12px;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#242b35;border-color:#586274}button:disabled{opacity:.45;cursor:default}.primary{background:var(--af8);border-color:var(--af8);color:#102921}.primary:hover{background:#c0eedf}.outline{color:var(--muted)}input,select,textarea{padding:8px 10px;max-width:100%}label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}.check{flex-direction:row;align-items:center}.panel{border:1px solid var(--border);background:var(--surface);padding:22px;border-radius:12px;margin-bottom:18px}.connection{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.3px;color:var(--muted)}.connection p{color:var(--muted);font-size:12px;margin-bottom:0}.electrodes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.electrode{display:grid;grid-template-columns:12px 1fr;gap:5px 10px;padding:18px}.channel-dot{height:8px;width:8px;border-radius:50%;align-self:center}.tp9{background:var(--tp9)}.af7{background:var(--af7)}.af8{background:var(--af8)}.tp10{background:var(--tp10)}.fit,.diagnostic{grid-column:2}.fit{font-size:12px;color:var(--muted)}.diagnostic{font-size:10px;color:var(--muted)}.telemetry{display:flex;gap:26px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin:0 0 22px}.telemetry b{color:var(--text);margin-left:6px;font-weight:550}nav{display:flex;gap:6px;border-bottom:1px solid var(--border);margin:10px 0 24px;overflow:auto}nav button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:13px 20px;white-space:nowrap;border-bottom:2px solid transparent}nav button.active{color:var(--af8);border-bottom-color:var(--af8)}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.panel-title h2{margin:0}.panel-title p{margin:3px 0;font-size:11px;color:var(--muted)}.muted{color:var(--muted);font-size:11px}.mono{font-family:Consolas,monospace;font-size:12px}dl{display:grid;grid-template-columns:150px 1fr;gap:7px;margin-bottom:22px}dt{color:var(--muted);font-size:12px}dd{margin:0;font-size:12px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:12px 0}.metrics small{color:var(--muted);display:block;font-size:11px}.metrics strong{font-size:18px;font-weight:550}details{margin-top:12px;color:var(--muted);font-size:12px}summary{cursor:pointer}pre{white-space:pre-wrap;font-size:11px;max-height:300px;overflow:auto}#eventForm input{margin-bottom:10px}#eventHistory{height:72px;overflow:auto;font-size:11px;color:var(--af8);margin:15px 0}canvas{display:block;width:100%;border-radius:8px;background:#0c1017}#scope{height:440px}#gazeCanvas{height:350px;margin-bottom:12px}.band-charts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:14px}.band-chart h3{font-size:13px}.band-row{display:grid;grid-template-columns:40px 1fr 50px;align-items:center;gap:8px;margin:14px 0;font-size:10px}.band-track{height:7px;border-radius:3px;background:#242a33;overflow:hidden}.band-fill{height:100%;border-radius:3px;transition:width .15s}.recording{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--border)}.recording small{display:block;color:var(--muted);font-size:11px}.recording strong{font-size:13px;font-weight:550}.badge{color:var(--orange);font-size:11px}.simulation{padding:12px 18px;color:#ffc69c;border:1px solid #714625;background:#301b10;border-radius:8px;margin-bottom:18px;font-size:12px}#message{padding:12px 18px;margin-bottom:18px;background:#202a35;border:1px solid #486278;border-radius:8px}#message.error{border-color:var(--tp9);color:var(--tp9)}footer{border-top:1px solid var(--border);margin-top:28px;padding:20px 0;color:var(--muted);font-size:10px;letter-spacing:.5px}dialog{max-width:480px;width:calc(100% - 30px);background:var(--surface);color:var(--text);border:1px solid #3c4756;border-radius:12px;padding:24px}dialog::backdrop{background:#0009}dialog label{margin-bottom:14px}dialog .row>label{flex:1;min-width:0}dialog input,dialog textarea{width:100%}#importForm{display:flex;gap:12px;flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:1050px){.connection{flex-direction:column;align-items:flex-start}.metrics{grid-template-columns:repeat(3,1fr)}.panel-title{flex-wrap:wrap}.band-charts{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){header{padding:16px;align-items:flex-start;flex-direction:column}main{padding:18px 14px}.split{grid-template-columns:1fr}.electrodes{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:1fr 1fr}.panel{padding:16px}.connection-controls{width:100%}.connection-controls select{width:100%}nav button{padding:11px 12px}.recording{flex-wrap:wrap}.telemetry{gap:12px}.identity strong{font-size:20px}#scope{height:360px}}

#emotionForm{display:grid;gap:14px;margin:18px 0}#emotionForm textarea{width:100%;min-height:70px;resize:vertical}#emotionForm label:has(input[type=checkbox]){flex-direction:row;align-items:flex-start}#facialFeatures{white-space:normal}
.band-quality{font-size:10px;min-height:42px}.band-chart.artifact .band-quality{color:var(--tp9)}
.device-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.battery-badge{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.battery-badge.stale{opacity:.7}.signal-help{margin:0 0 18px}.signal-help p{max-width:950px}.signal-help a{color:var(--af8)}

.patient-list {display:grid;gap:8px;margin-top:16px}.patient-list button{text-align:left}#patientHistory label{display:block;margin:12px 0}#patientHistory input{width:auto}.comparison{overflow-x:auto;margin-top:16px}.comparison table{border-collapse:collapse;min-width:560px;width:100%}.comparison td{padding:10px;border-bottom:1px solid #30363d}.recording .row{flex-wrap:wrap}

#patientFields{border:0;padding:0;margin:0;min-width:0}#patientFields:disabled{opacity:.6}#sessionDialog{max-height:90vh;overflow-y:auto}

#gazeValidationDialog{width:96vw;max-width:none;height:94vh;max-height:94vh;box-sizing:border-box;display:flex;flex-direction:column}#gazeValidationDialog:not([open]){display:none}#gazeValidationBoard{position:relative;flex:1;min-height:220px;background:#10151b;border:1px solid #30363d}#gazeValidationDot{position:absolute;width:18px;height:18px;border-radius:50%;background:#ffd180;transform:translate(-50%,-50%)}

#bandHistoryCanvas{width:100%;height:250px;display:block}#bandHistoryOffset{width:100%}
#experimentConfig input{width:130px}#experimentBoard{position:relative;width:min(100%,60vh,520px);aspect-ratio:1;background:#111820;border:1px solid #30363d;margin:16px auto}#experimentBoard span{position:absolute;width:8%;height:8%;transform:translate(-50%,-50%)}.search-target{background:#ff6666;border-radius:50%}.search-distractor{background:#71b5f2}#reviewCanvas{width:100%;height:300px}#reviewSummary{white-space:pre-wrap;overflow-wrap:anywhere}
