:root{--ink:#292927;--muted:#77736e;--wine:#8a313b;--wine2:#a33b48;--line:#e5e1dc;--paper:#fff;--bg:#f4f2ef}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#faf9f7,#f1efec);color:var(--ink)}header{height:92px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:17px}.brand img{width:285px;max-height:58px;object-fit:contain;object-position:left center}.docente{border-left:1px solid #cfc9c2;padding-left:16px;font-size:10px;letter-spacing:2.2px;font-weight:800;color:var(--wine)}.status{font-size:12px;color:#5f5b56}.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6f9a73;margin-right:7px}main{max-width:1240px;margin:auto;padding:44px 28px 70px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow,.kicker{font-size:10px;letter-spacing:2px;color:var(--wine);font-weight:800}.hero h1{font-size:34px;margin:8px 0}.hero p{color:var(--muted);max-width:660px;margin:0;line-height:1.55}.clock{font-variant-numeric:tabular-nums;font-size:38px;font-weight:300;letter-spacing:2px}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:20px}.card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(30,25,20,.04);padding:26px}.cardhead{display:flex;justify-content:space-between;align-items:start}.card h2{margin:5px 0 22px;font-size:20px}.pill{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:var(--muted)}.pill.recording{color:var(--wine);border-color:#d7b3b7;background:#fbf3f4}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields.three{grid-template-columns:1fr .8fr 1.35fr}label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:7px}input,select{width:100%;border:1px solid #dcd7d1;border-radius:10px;background:#faf9f7;padding:12px 13px;color:var(--ink);font:inherit;font-size:13px;outline:none}input:focus,select:focus{border-color:#bda8a8;box-shadow:0 0 0 3px rgba(138,49,59,.06)}.audioRow{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:14px}.volumeLabel span{float:right;color:var(--wine);font-weight:700}.volumeLabel input{padding:0;border:0;background:transparent;height:39px;accent-color:var(--wine)}.meter{height:7px;background:#ebe8e4;border-radius:10px;margin-top:22px;overflow:hidden}.meter div{height:100%;width:0;background:linear-gradient(90deg,#777,#8a313b);transition:width .08s}.meterlabels{display:flex;justify-content:space-between;font-size:10px;color:#9a958f;margin-top:6px}.controls{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}button,.download{border:1px solid #d8d3cd;border-radius:10px;padding:11px 15px;background:#fff;color:#4b4743;font-weight:650;font-size:12px;cursor:pointer;text-decoration:none}button:hover:not(:disabled),.download:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(30,25,20,.06)}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--wine);color:#fff;border-color:var(--wine);min-width:170px}.danger:not(:disabled){border-color:#d8b7ba;color:var(--wine)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;margin-right:8px}.saved{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px}.saved small{display:block;color:var(--muted);margin-top:4px}.saved audio{width:100%}.download{width:max-content}.hidden{display:none}.toolBlock{border-top:1px solid #eeeae6;padding:17px 0}.toolHead{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.toolHead span{min-width:25px;text-align:center;background:#f5efef;color:var(--wine);border-radius:99px;padding:3px 7px;font-size:10px}.noteInput{display:grid;grid-template-columns:1fr auto;gap:7px}.noteInput button{padding:10px}.miniEmpty{font-size:11px;color:#aaa39c;line-height:1.5;padding:8px 0}.toolList{display:grid;gap:6px}.toolList>div{display:grid;grid-template-columns:58px 1fr 24px;gap:7px;align-items:center;padding:8px 9px;border-radius:9px;background:#faf9f7;font-size:11px}.toolList time{font-variant-numeric:tabular-nums;color:var(--wine);font-weight:700}.toolList span{overflow-wrap:anywhere}.toolList button{border:0;background:transparent;padding:0;color:#999;box-shadow:none!important}.history{margin-top:20px}.ghost{padding:8px 11px}.empty{padding:26px 0;color:#99938d;font-size:12px;text-align:center}.histitem{display:grid;grid-template-columns:135px 1fr auto;align-items:center;gap:16px;border-top:1px solid #eeeae6;padding:15px 0;font-size:12px}.histitem small{color:var(--muted)}.histmeta{text-align:right;display:grid;gap:4px}.histmeta span{font-size:10px;color:#99938d}footer{text-align:center;padding:25px;color:#9b9690;font-size:10px;letter-spacing:1px}footer span{color:var(--wine)}@media(max-width:850px){header{padding:0 18px}.brand img{width:220px}.status{display:none}main{padding:30px 16px}.hero{display:block}.clock{font-size:28px;margin-top:18px}.grid{grid-template-columns:1fr}.fields.three,.audioRow{grid-template-columns:1fr}.controls .primary{width:100%}.histitem{grid-template-columns:1fr}.histmeta{text-align:left}.docente{display:none}}@media(max-width:480px){.brand img{width:190px}.card{padding:20px}.hero h1{font-size:29px}}

/* v1.2 · Repositorio MEDHUB LIVE */
.driveBox{margin-top:18px;padding:18px;border:1px solid #e8e3df;border-radius:16px;background:#fbfaf9}.driveHead{display:flex;align-items:center;justify-content:space-between;gap:14px}.driveHead h3{margin:3px 0 0;font-size:17px}.driveStatus{font-size:12px;padding:7px 10px;border-radius:999px;background:#f1efed;color:#6c6662;white-space:nowrap}.driveStatus.ok{background:#edf5ef;color:#41694b}.driveActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.driveActions button{min-height:40px}.driveMsg{display:block;margin-top:10px;color:#77706b;font-size:12px;line-height:1.45}.driveMsg.ok{color:#41694b}.driveMsg.err{color:#9c3341}@media(max-width:720px){.driveHead{align-items:flex-start;flex-direction:column}}

.audioTools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.audioTools button{min-height:42px}.audioStatus{font-size:12px;color:#6d6a68;margin-left:auto}.audioStatus.live{color:#8e2638;font-weight:700}.audioStatus.muted{color:#9a6b22;font-weight:700}@media(max-width:700px){.audioStatus{width:100%;margin-left:0}}

/* v1.4.5 · VU meter de lectura, no interviene MediaRecorder */
.dbscale{display:flex;justify-content:space-between;margin-top:20px;font-size:9px;color:#99938d;font-variant-numeric:tabular-nums}.meter{position:relative;margin-top:5px;height:10px}.meter div{position:relative;z-index:2;background:linear-gradient(90deg,#6e716f 0%,#777b72 58%,#9b7b45 82%,#8a313b 100%)}.meter .warnZone{position:absolute;right:0;top:0;width:10%;height:100%;background:rgba(138,49,59,.08);border-left:1px solid rgba(138,49,59,.22);z-index:1}.meterlabels #level{font-weight:800;color:var(--wine);font-variant-numeric:tabular-nums}.qualityRow{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:10px;color:#99938d}.audioQuality{padding:4px 8px;border-radius:999px;background:#f1efed;color:#777}.audioQuality.good{background:#edf5ef;color:#41694b}.audioQuality.low{background:#f5f1e7;color:#846a31}.audioQuality.clip{background:#f8e9eb;color:#8a313b}.audioQuality.silent{background:#f1efed;color:#777}

.recordGain{margin-top:14px;padding:14px 16px;border:1px solid #e5e1de;border-radius:14px;background:#fbfaf9}.recordGain label{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#403b38}.recordGain input{width:100%;margin:10px 0 4px}.recordGain small{display:block;color:#766e69;font-size:12px;line-height:1.4}.recordGain b{color:#7a2935}
.authGate{min-height:720px;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(145deg,#f5f3f1,#fff)}.authGate.hidden,.protectedApp.hidden{display:none!important}.authCard{width:min(430px,100%);background:#fff;border:1px solid #ddd7d2;border-radius:24px;padding:34px;box-shadow:0 20px 55px rgba(30,24,20,.10);text-align:center}.authCard img{width:min(285px,90%);height:auto;margin-bottom:24px}.authBadge{display:inline-block;font-size:11px;letter-spacing:.16em;font-weight:800;color:#7b2935;background:#f6ecee;border-radius:999px;padding:7px 11px}.authCard h1{font-size:30px;margin:14px 0 8px}.authCard p{color:#706a66;margin:0 0 24px}.authCard form{text-align:left}.authCard label{display:grid;gap:8px;font-weight:700}.authCard input{width:100%;box-sizing:border-box;border:1px solid #cbc5c0;border-radius:12px;padding:13px 14px;font-size:16px;margin-bottom:14px}.authCard button{width:100%;min-height:46px}.authCard small{display:block;color:#9a2435;margin-top:12px;min-height:18px}.headerActions{display:flex;align-items:center;gap:12px}.logoutBtn{border:1px solid #d7d0cb;background:#fff;border-radius:10px;padding:8px 12px;color:#5d5550;cursor:pointer}@media(max-width:620px){.authGate{min-height:560px}.authCard{padding:26px 20px}.headerActions{gap:6px}.logoutBtn{font-size:12px;padding:7px 9px}}
/* v1.4.13 · módulo visual aislado de Transcripción IA */
.topBtn{border:1px solid #d8d2cc;background:#f7f5f2;color:#403a36;border-radius:12px;padding:10px 14px;font-weight:650}.aiPanel{margin-top:18px}.aiPanel>p{color:#6c6560;line-height:1.55}.transcriptionBox{min-height:150px;max-height:420px;overflow:auto;white-space:pre-wrap;border:1px solid #e1ddd8;border-radius:14px;padding:18px;background:#faf9f7;line-height:1.6}.aiActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.aiActions span{margin-right:auto;color:#77706a;font-size:.9rem}@media(max-width:760px){.headerActions{flex-wrap:wrap}.aiActions span{width:100%;margin-right:0}}
