/* Nikki Asistente v1.3.1: panel de texto y micrófono; mismo tema SFJ. */
#sfj-voice-desktop{position:fixed;z-index:85;right:20px;bottom:20px;border:2px solid #ff1490;border-radius:99px;display:flex;align-items:center;gap:9px;color:white;background:#121521;box-shadow:0 12px 38px #0008;padding:7px 18px 7px 7px;font-weight:800;cursor:pointer;font:700 14px/1.3 system-ui,sans-serif}
#sfj-voice-desktop img{width:45px;height:45px;border-radius:50%;object-fit:cover}
#sfj-nikki-voice-overlay{display:none;position:fixed;inset:0;background:#03050ca6;z-index:95;align-items:flex-end;justify-content:flex-end;padding:16px;font:14px/1.48 system-ui,-apple-system,"Segoe UI",sans-serif;color:#f5f6fa}
#sfj-nikki-voice-overlay.is-open{display:flex}
#sfj-nikki-voice-panel{width:min(440px,100%);height:min(680px,calc(100dvh - 32px));display:flex;flex-direction:column;background:#10141d;border:1px solid #f51284;border-radius:22px;overflow:hidden;box-shadow:0 24px 80px #000c}
#sfj-nikki-voice-panel *{box-sizing:border-box}
#sfj-nikki-voice-panel button{cursor:pointer;font:inherit}
.nv-head{display:flex;align-items:center;padding:11px 14px;gap:10px;background:linear-gradient(100deg,#1c1420,#13151f);border-bottom:2px solid #f51284}
.nv-head img{width:49px;height:49px;object-fit:cover;border-radius:13px;border:1px solid #f21581}
.nv-head-title{font-size:16px;font-weight:850;color:#fff}.nv-head-sub{font-size:11px;color:#bdc4d1}
.nv-close{margin-left:auto!important;background:#242532;border:1px solid #41414b;color:white;border-radius:11px;font-size:24px!important;width:38px;height:38px;min-width:38px}
.nv-suggestions{padding:10px 11px;display:flex;flex-wrap:wrap;gap:7px;background:#151924;border-bottom:1px solid #303240}
.nv-suggestions button{border-radius:18px;background:#202736;border:1px solid #425064;color:#dff6ff;padding:7px 11px;font-size:11px!important;font-weight:700!important;min-height:31px}
.nv-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:13px;display:flex;flex-direction:column;gap:11px;scrollbar-width:thin;min-height:60px}
.nv-message{padding:11px 12px;max-width:94%;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;font-size:13px}
.nv-message.nv-user{align-self:flex-end;border-bottom-right-radius:4px;background:#bf106c;color:#fff}
.nv-message.nv-bot{align-self:flex-start;border-bottom-left-radius:4px;background:#242b38;color:#f5f6fa;border-left:3px solid #00caff}
.nv-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.nv-actions button{border:1px solid #00bde6;border-radius:10px;color:#efffff;padding:8px 10px;background:#104057;font-size:12px!important;font-weight:750!important}
.nv-actions button.nv-confirm{background:#ea0b78;color:white;border-color:#ed117a}
.nv-actions button.nv-cancel{background:#272a34;border-color:#505360}
.nv-status{font-size:11px;color:#ffda88;min-height:21px;padding:4px 13px;background:#151924}
.nv-compose{padding:10px;display:grid;grid-template-columns:minmax(0,1fr) 43px 43px 43px;align-items:end;gap:7px;border-top:1px solid #313845;background:#111723}
#nv-input{width:100%;height:45px;max-height:100px;resize:vertical;border:1px solid #525b6b;border-radius:12px;padding:10px 11px;background:#242b37;color:white;font:14px/1.35 system-ui,sans-serif;outline-offset:2px}
#nv-input::placeholder{color:#a5adbb}
.nv-control{height:43px;width:43px;border:1px solid #4a596b;border-radius:12px;background:#283245;color:white;font-size:19px!important;display:flex;align-items:center;justify-content:center}
#nv-send{background:#f00b80;border-color:#f00b80}
#nv-mic.is-listening{background:#e8127a;border-color:#e8127a;box-shadow:0 0 0 4px #f7167435}
.nv-options{padding:6px 12px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#111723;color:#bac1cd;font-size:11px}
.nv-options label{display:flex;align-items:center;gap:5px;cursor:pointer}.nv-options input{accent-color:#eb1180}
.nv-privacy{font-size:10px;color:#8e98aa;text-align:right}
@media(max-width:700px){#sfj-voice-desktop{display:none!important}#sfj-nikki-voice-overlay{padding:0 0 calc(72px + env(safe-area-inset-bottom,0px));align-items:flex-end}#sfj-nikki-voice-panel{width:100%;height:min(78dvh,710px);max-height:calc(100dvh - 86px);border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0}.nv-head{padding:9px 12px}.nv-suggestions{gap:5px;padding:8px}.nv-suggestions button{font-size:10px!important;padding:5px 8px}.nv-log{padding:10px}.nv-message{font-size:13px}.nv-privacy{max-width:175px}}
@media print{#sfj-voice-desktop,#sfj-nikki-voice-overlay{display:none!important}}

/* Dictado controlado v1.3.1 */
.nv-finish{background:#275a63;border-color:#5fc9d4;color:#fff}
#nv-finish[hidden]{display:none!important}
.nv-compose:has(#nv-finish[hidden]){grid-template-columns:minmax(0,1fr) 43px 43px}
.nv-voice-tip{margin:0;background:#141a26;color:#c1cfe0;font-size:11px;line-height:1.4;padding:5px 12px 8px}
