/* VOZ Rev. 4.9 — estilos de las funciones profesionales */
:root{--pro-accent:#125483;--pro-soft:#e7f1fa;--pro-pain:#fdecec;--pro-pain-ink:#8a1f1f}
body.voz-dark{--pro-accent:#7cb8e8;--pro-soft:#1f3449;--pro-pain:#3a2225;--pro-pain-ink:#ffc9c9}

/* Herramientas del tablero */
.pro-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0}
.pro-tool{min-height:50px;border-radius:14px;border:1.5px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);font-weight:780;font-size:1rem;padding:8px 6px;line-height:1.15}
.pro-tool-pain{background:var(--pro-pain);border-color:#e7a5a5;color:var(--pro-pain-ink)}
.pro-tool:active{transform:scale(.97)}

/* Retroalimentación de "mantener pulsado" */
.voz-holding{outline:4px solid var(--pro-accent);outline-offset:-4px}
.voz-holding::after{content:"";position:absolute;left:0;bottom:0;height:7px;width:0;background:var(--pro-accent);z-index:5;animation:proHold var(--hold-ms,600ms) linear forwards}
@keyframes proHold{to{width:100%}}
#simpleExit.pro-exit-holding{box-shadow:0 0 0 5px var(--pro-accent);transition:box-shadow 2s linear}

/* Ventanas */
.pro-overlay{position:fixed;inset:0;z-index:10020;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,25,42,.62);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
@media(min-width:700px){.pro-overlay{align-items:center}}
body.pro-modal-open{overflow:hidden}
.pro-sheet{width:min(100%,640px);max-height:calc(100dvh - 24px);overflow:auto;background:var(--card,#fff);color:var(--ink,#142f4c);border-radius:22px;padding:16px 16px 18px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.pro-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.pro-sheet-head h2{margin:0;font-size:1.45rem;line-height:1.15}
.pro-close{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);font-size:1.7rem;line-height:1}
.pro-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.pro-row .btn{margin-top:0}
.btn.alt{background:var(--pro-soft);color:var(--pro-accent);border:1.5px solid var(--pro-accent)}

/* Dolor */
.pro-pain-where{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;align-items:start}
@media(max-width:420px){.pro-pain-where{grid-template-columns:1fr}.pro-body-wrap{max-width:200px;margin:0 auto}}
.pro-body{width:100%;height:auto;max-height:52dvh;display:block}
.pro-body [data-part]{fill:#f1c9a4;stroke:#9b6b4a;stroke-width:2;cursor:pointer;outline:none}
.pro-body [data-part="eyes"]{fill:#fff;stroke:#5d3f2c}.pro-body .pro-mouth{fill:none!important;stroke:#5d3f2c}
.pro-body .pro-hit{fill:transparent;stroke:none}
.pro-body [data-part]:hover,.pro-body [data-part]:focus-visible{fill:#f6b1a0}
.pro-body [data-part].on,.pro-body [data-part].on *{fill:#e2473f!important}
.pro-part-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.pro-part{min-height:46px;border-radius:12px;border:1.5px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);font-weight:720;font-size:.98rem;padding:6px}
.pro-part-wide{grid-column:1/-1;background:var(--pro-soft)}
.pro-pain-part{font-size:1.25rem;font-weight:800;margin:0 0 12px;color:var(--pro-pain-ink)}
.pro-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
@media(max-width:460px){.pro-levels{grid-template-columns:1fr 1fr}}
.pro-level{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:18px;border:3px solid var(--lvl);background:var(--card,#fff);color:var(--ink,#142f4c);font-weight:800;font-size:1.05rem}
.pro-level svg{width:min(100%,92px);height:auto}
.pro-back{margin-top:14px}
.pro-pain-result{text-align:center;border:4px solid var(--lvl);border-radius:22px;padding:18px;margin-bottom:12px}
.pro-pain-face svg{width:120px;height:120px}
.pro-pain-text{font-size:1.6rem;font-weight:850;margin:8px 0 0;line-height:1.2}

/* Frases */
.pro-phrase-list{display:grid;gap:8px}
.pro-phrase{min-height:58px;text-align:left;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line,#c7d9e9);background:var(--pro-soft);color:var(--ink,#142f4c);font-size:1.15rem;font-weight:760}
.pro-save-current{width:100%;margin-top:12px;text-align:left}

/* Sobre mí */
.pro-about-card{border:2px solid var(--pro-accent);border-radius:20px;padding:16px;margin-bottom:12px;background:var(--pro-soft)}
.pro-about-name{font-size:2rem;font-weight:880;line-height:1.1}
.pro-about-intro{font-size:1.15rem;line-height:1.4;margin:8px 0 12px}
.pro-about-list{margin:0;display:grid;gap:2px}
.pro-about-list dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#56718b);font-weight:800;margin-top:8px}
.pro-about-list dd{margin:0;font-size:1.08rem;font-weight:650;white-space:pre-line}
.pro-about-list a{color:var(--pro-accent);font-weight:800}

/* PIN */
.pro-pin{max-width:380px;text-align:center}
.pro-pin-dots{display:flex;justify-content:center;gap:12px;margin:6px 0}
.pro-pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--pro-accent)}
.pro-pin-dots span.on{background:var(--pro-accent)}.pro-pin-dots span.opt{opacity:.35}
.pro-pin-msg{min-height:1.3em;margin:4px 0;color:#c0392b;font-weight:700}
.pro-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.pro-key{min-height:60px;border-radius:16px;border:1.5px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);font-size:1.5rem;font-weight:780}
.pro-key.ok{background:var(--pro-accent);color:#fff;border-color:transparent}
body.voz-dark .pro-key.ok{color:#0d1a27}
.pro-link{background:none;border:0;color:var(--pro-accent);text-decoration:underline;margin-top:12px;font-weight:650}
.pro-forgot{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left}.pro-forgot p{grid-column:1/-1;margin:0}
.pro-forgot input{min-height:44px;border-radius:10px;border:1.5px solid var(--line,#c7d9e9);padding:0 10px;font-size:1.1rem}
.shake{animation:proShake .35s}
@keyframes proShake{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}

/* Adultos */
.pro-nav{position:sticky;top:0;z-index:30;display:flex;gap:6px;overflow-x:auto;padding:8px 2px;margin:0 0 10px;background:#f3f7fc;box-shadow:0 6px 10px -8px rgba(20,50,80,.25);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pro-nav::-webkit-scrollbar{display:none}
.pro-nav button{flex:none;border-radius:999px;border:1.4px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);padding:8px 13px;font-weight:700;font-size:.92rem}
body.voz-dark .pro-nav{background:#101a29}
#adultArea .panel,#adultArea>div{scroll-margin-top:62px}
.pro-panel h2{margin-top:0}
.pro-help{margin-top:-4px;color:var(--muted,#56718b)}
.pro-panel textarea,.pro-panel input:not([type=checkbox]):not([type=range]),.pro-panel select{width:100%}
.pro-panel textarea{font:inherit;padding:10px;border-radius:12px;border:1.5px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c);resize:vertical}
.pro-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-weight:600;line-height:1.3}
.pro-check input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--pro-accent)}
.pro-range{margin:12px 0}.pro-range label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:4px}.pro-range input{width:100%;accent-color:var(--pro-accent)}
.pro-level-grid{display:grid;gap:8px}
.pro-level-card{display:grid;gap:3px;text-align:left;padding:13px 15px;border-radius:14px;border:2px solid var(--line,#c7d9e9);background:var(--card,#fff);color:var(--ink,#142f4c)}
.pro-level-card strong{font-size:1.08rem}.pro-level-card span{color:var(--muted,#56718b);font-size:.93rem}
.pro-level-card.on{border-color:var(--pro-accent);background:var(--pro-soft)}
.pro-badge{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:800;margin:0 0 6px}
.pro-badge.on{background:#e3f4e8;color:#1d6a37}.pro-badge.off{background:var(--pro-soft);color:var(--muted,#56718b)}
body.voz-dark .pro-badge.on{background:#173a26;color:#a9e5bd}
.pro-phrase-admin{padding-left:22px;margin:6px 0 10px}
.pro-phrase-admin li{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line,#c7d9e9)}
.pro-phrase-admin .smallbtn{padding:6px 10px}
.pro-danger{margin-top:12px;color:#b3261e;border-color:#e3b2ad}
.pro-guide{padding-left:20px;display:grid;gap:10px;margin:0}
.pro-guide li strong{display:block}.pro-guide li span{color:var(--muted,#56718b)}

/* Informe — una sola serie, un solo tono, valores siempre visibles */
.pro-report h3{margin:18px 0 8px;font-size:1.02rem}
.pro-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
@media(max-width:420px){.pro-tiles{grid-template-columns:1fr 1fr}}
.pro-tile{border:1px solid var(--line,#c7d9e9);border-radius:14px;padding:10px;background:var(--card,#fff)}
.pro-tile strong{display:block;font-size:1.55rem;line-height:1.1;font-variant-numeric:tabular-nums}
.pro-tile span{font-size:.82rem;color:var(--muted,#56718b);font-weight:650}
.pro-bars{display:grid;gap:5px}
.pro-bar-row{display:grid;grid-template-columns:minmax(80px,32%) 1fr 3ch;gap:8px;align-items:center;font-size:.93rem}
.pro-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.pro-bar-track{height:14px}
.pro-bar{display:block;height:14px;background:var(--pro-accent);border-radius:0 4px 4px 0}
.pro-bar-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted,#56718b);font-weight:700}
.pro-table{width:100%;border-collapse:collapse;font-size:.92rem}
.pro-table th,.pro-table td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line,#c7d9e9)}
.pro-table th{color:var(--muted,#56718b);font-weight:750}
.pro-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.pro-recent{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pro-recent li{display:grid;gap:1px;padding:6px 0;border-bottom:1px solid var(--line,#c7d9e9)}
.pro-recent time{font-size:.8rem;color:var(--muted,#56718b)}

/* Impresión del informe */
#proPrint{display:none}
@media print{
 body.pro-printing>*:not(#proPrint){display:none!important}
 body.pro-printing #proPrint{display:block;color:#000;background:#fff;font-size:11pt;padding:0}
 body.pro-printing{background:#fff!important}
 #proPrint h1{font-size:18pt;margin:0 0 4pt}
 #proPrint .pro-print-meta{color:#444;margin:0 0 12pt}
 #proPrint,#proPrint *{color:#000!important;background:#fff!important;border-color:#aaa!important}
 #proPrint .pro-tile{border:1px solid #999;break-inside:avoid}
 #proPrint .pro-tile span,#proPrint th,#proPrint time,#proPrint .pro-bar-val{color:#444!important}
 #proPrint .pro-bar{background:#1d4f7a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #proPrint .pro-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #proPrint .pro-print-note{margin-top:16pt;font-size:9pt;color:#555;border-top:1px solid #aaa;padding-top:6pt}
}
@media(prefers-reduced-motion:reduce){.voz-holding::after{animation:none;width:100%}.shake{animation:none}}
