:root{--navy:#102a43;--blue:#176b87;--teal:#16998f;--teal2:#0f766e;--bg:#f3f7f9;--paper:#fff;--ink:#243b53;--muted:#718096;--line:#dbe5eb;--danger:#b42318;--warn:#b45309;--ok:#047857;--shadow:0 12px 30px rgba(16,42,67,.08);--radius:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.3rem 1rem;background:#0e2638;color:#d9edf1}.brand{display:flex;align-items:center;gap:.7rem;color:inherit}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(140deg,#19b9aa,#2378a0);color:#fff;font-weight:900;font-size:1.15rem}.brand strong,.brand small{display:block}.brand small{font-size:.72rem;color:#91afba}.sidebar nav{margin-top:1.5rem;overflow:auto}.sidebar nav a{display:flex;align-items:center;gap:.7rem;padding:.62rem .72rem;margin:.13rem 0;border-radius:9px;color:#bed3dc}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.1)}.sidebar nav a span{flex:1}.nav-label{margin:1.1rem .7rem .38rem;color:#7197a5;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.count{padding:.1rem .38rem;border-radius:99px;background:#d97706;color:white;font-size:.7rem}.sidebar-foot{margin-top:auto;padding:.9rem .7rem;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;color:#91afba}.sidebar-foot a{display:block;margin-top:.45rem;color:#b7ece7}.live-dot,.status-dot{display:inline-block;width:.62rem;height:.62rem;border-radius:50%;background:#d97706}.live-dot,.status-dot.ok{background:#28c5a8;box-shadow:0 0 0 4px rgba(40,197,168,.12)}.main{min-width:0}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}.topbar-title{font-weight:700;color:var(--navy)}.user-menu{display:flex;align-items:center;gap:1rem;font-size:.84rem}.user-menu form{margin:0}.link-button{padding:0;border:0;background:none;color:var(--blue);cursor:pointer}.menu-button{display:none}.content{max-width:1500px;margin:0 auto;padding:2rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head h1{margin:.15rem 0;font-size:clamp(2rem,3vw,3rem);line-height:1.05;letter-spacing:-.035em;color:var(--navy)}.page-head p{margin:.3rem 0;color:var(--muted)}.eyebrow{font-size:.7rem!important;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--teal2)!important}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.56rem .92rem;border:1px solid transparent;border-radius:9px;background:transparent;font-weight:750;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--blue),var(--teal2));color:white;box-shadow:0 8px 18px rgba(23,107,135,.16)}.button.secondary{border-color:var(--line);background:white;color:var(--navy)}.button.danger{border-color:#f3b8b4;background:#fff5f4;color:var(--danger)}.button.ghost{border-color:rgba(255,255,255,.4);color:white}.button.large{padding:.75rem 1.2rem}.button.small{min-height:30px;padding:.3rem .55rem;font-size:.76rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metric{display:flex;flex-direction:column;min-height:132px;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow);color:var(--ink)}.metric span{color:var(--muted);font-weight:700}.metric strong{margin:.2rem 0;font-size:2.4rem;line-height:1;color:var(--navy)}.metric small{margin-top:auto;color:var(--muted)}.metric.warning{border-top:4px solid #e6a23c}.card{margin-bottom:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0;color:var(--navy)}.card-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.8rem}.card-head h2,.card-head p{margin:.1rem 0}.card-head p{color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.list{display:grid}.list-row{display:flex;align-items:center;gap:.8rem;padding:.72rem .25rem;border-bottom:1px solid #edf2f4;color:var(--ink)}.list-row:last-child{border-bottom:0}.list-row>span:nth-child(2){min-width:0;flex:1}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted);white-space:normal}.list-row.roomy{padding:1rem .35rem}.avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:#e7f4f7;color:var(--blue);font-weight:900}.avatar.alt{background:#e8f8f4;color:var(--teal2)}.pill{display:inline-flex;align-items:center;width:max-content;padding:.22rem .52rem;border-radius:999px;background:#edf2f7;color:#52667a;font-size:.7rem;font-weight:800}.pill.active,.pill.approved,.pill.confirmed,.pill.paid,.pill.sent,.pill.delivered{background:#dcfce7;color:#047857}.pill.warning,.pill.pending,.pill.payment_pending,.pill.human_review{background:#fff5d6;color:#9a5b00}.pill.alert,.pill.failed,.pill.not_suitable,.pill.cancelled,.pill.blocked{background:#fee2e2;color:#b42318}.pill.sample{vertical-align:middle;background:#e4efff;color:#2557a7;font-size:.68rem}.alert-bar{margin:1rem 0;padding:.85rem 1rem;border:1px solid #f3d59f;border-radius:11px;background:#fff8e9;color:#75420a}.alert-bar.neutral{border-color:#bcdde1;background:#effafa;color:#22545d}.flash-stack{display:grid;gap:.5rem;margin-bottom:1rem}.flash{padding:.8rem 1rem;border-radius:10px;background:#e8f8f4;color:#06695f}.flash.error{background:#fff0ef;color:var(--danger)}.flash.warning{background:#fff8e9;color:var(--warn)}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.integration{display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px solid var(--line);border-radius:11px;color:var(--ink)}.integration span:nth-child(2){flex:1}.integration strong,.integration small{display:block}.integration small{color:var(--muted)}.integration b{font-size:.72rem;color:var(--muted)}.filters{display:flex;gap:.7rem;margin-bottom:1rem}.filters input{flex:1}.input,.filters input,.filters select,.inline-form input,.decision-form select,.decision-form textarea,.public-form input,.public-form select,.public-form textarea,.login-card input{width:100%;min-height:42px;padding:.58rem .7rem;border:1px solid #cbd8e1;border-radius:8px;background:#fff;color:var(--ink)}textarea.input{min-height:95px}.input:focus,.filters input:focus,.filters select:focus{outline:3px solid rgba(22,153,143,.13);border-color:var(--teal)}.table-card{padding:0;overflow:hidden}.table-wrap{width:100%;overflow:auto}table{width:100%;min-width:760px;border-collapse:collapse}th{padding:.7rem .85rem;text-align:left;background:#f7fafb;color:#5a7182;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}td{padding:.72rem .85rem;border-top:1px solid #e8eef2;vertical-align:top}td small{display:block;color:var(--muted)}tbody tr:hover{background:#f8fbfc}.patient-link{display:flex;align-items:center;gap:.7rem;color:var(--ink)}.patient-link strong,.patient-link small{display:block}.empty{padding:1.5rem;text-align:center;color:var(--muted)}.success-empty{color:var(--ok)}.form-card{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid.one{grid-template-columns:1fr}.form-grid label>span,.form-grid label>small{display:block}.form-grid label>span{margin-bottom:.3rem;font-weight:750;color:var(--navy)}.form-grid label>small{margin-top:.25rem;color:var(--muted)}.form-grid em{display:block;color:var(--danger);font-style:normal}.check-label{display:flex!important;gap:.5rem;align-items:start}.check-label .checkbox{margin-top:.25rem}.check-label>span{order:2}.full{grid-column:1/-1}.form-actions{display:flex;gap:.6rem;padding-top:.5rem}.big-value{display:block;margin:.35rem 0;font-size:1.8rem;color:var(--navy)}.answers{display:grid;gap:.5rem}.answers div{padding:.7rem;border-radius:9px;background:#f7fafb}.answers dt{font-size:.73rem;color:var(--muted);text-transform:uppercase}.answers dd{margin:.22rem 0 0}.ai-card{border-top:4px solid var(--teal)}.decision-form p{display:grid;gap:.3rem}.decision-form select,.decision-form textarea{width:100%}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.channel-card{color:var(--ink);transition:.2s}.channel-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(16,42,67,.12)}.channel-top{display:flex;justify-content:space-between;align-items:center}.channel-icon,.settings-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#dff7f2;color:#087a6e;font-weight:900}.channel-icon.api{font-size:.68rem}.channel-card dl{display:grid;gap:.35rem}.channel-card dl div{display:flex;justify-content:space-between;gap:1rem}.channel-card dt{color:var(--muted)}.channel-card dd{margin:0;text-align:right}.connection-state{display:flex;align-items:start;gap:.8rem}.connection-state .status-dot{margin-top:.4rem}.qr-layout{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:2rem;align-items:center}.qr-box{display:grid;place-items:center;min-height:250px;border:1px solid var(--line);border-radius:14px;background:#f8fbfc}.qr-box img{max-width:100%;height:auto}.pair-code{font-size:2rem;letter-spacing:.16em}.action-row,.inline-form{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.inline-form input{width:180px}.note-card{border-left:4px solid var(--teal)}.integration-card small{display:block;min-height:45px;color:var(--muted)}.card-actions{margin-top:1rem}.settings-groups{display:grid;gap:1rem}.error-text{color:var(--danger)!important}.login-body{display:grid;place-items:center;min-height:100vh;padding:1rem;background:radial-gradient(circle at 80% 10%,#1a8f91 0,transparent 35%),linear-gradient(135deg,#0b263c,#114f66)}.login-card{width:min(430px,100%);padding:2rem;border-radius:22px;background:white;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-brand{color:var(--navy);margin-bottom:2rem}.login-card h1{margin-bottom:.2rem;font-size:2.2rem;color:var(--navy)}.login-card p{color:var(--muted)}.login-card label{display:grid;gap:.3rem;font-weight:700}.login-card small{display:block;margin-top:1rem;color:var(--muted)}.public-body{background:#fff}.public-nav{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:1rem 1.5rem}.public-nav .brand{color:var(--navy)}.public-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center;min-height:640px;padding:5rem max(1.5rem,calc((100vw - 1180px)/2));color:white;background:radial-gradient(circle at 82% 25%,rgba(73,214,190,.35),transparent 30%),linear-gradient(135deg,#0b263c,#0c6572 64%,#15938b)}.public-hero h1{max-width:760px;margin:.5rem 0;font-size:clamp(3rem,6vw,5.6rem);line-height:.95;letter-spacing:-.05em}.public-hero p{max-width:680px;font-size:1.15rem;color:#d9eef0}.hero-panel{padding:2rem;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.hero-number{display:block;font-size:6rem;line-height:1;font-weight:900;color:#6ce1cd}.hero-panel strong{font-size:1.2rem}.public-section{max-width:1180px;margin:0 auto;padding:6rem 1.5rem}.public-section h2{max-width:750px;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.05;color:var(--navy)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.steps article{padding:1.5rem;border:1px solid var(--line);border-radius:16px}.steps b{color:var(--teal);font-size:1.5rem}.public-footer{padding:2rem;text-align:center;color:var(--muted);background:#f5f8fa}.public-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;max-width:1050px;margin:3rem auto 6rem;padding:2rem 1.5rem}.public-form-wrap.wide{max-width:1180px}.public-form-wrap h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1;color:var(--navy)}.public-form{display:grid;gap:.7rem;padding:1.5rem;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.public-form p{margin:.2rem 0}.public-form label{display:block;margin-bottom:.25rem;font-weight:700}.public-form .helptext{display:block;color:var(--muted)}.public-form ul.errorlist{color:var(--danger)}.privacy-note{margin-top:1rem;padding:1rem;border-radius:12px;background:#eaf8f6}.result-page{max-width:700px;margin:5rem auto;padding:4rem 1.5rem;text-align:center}.result-icon{display:grid;place-items:center;width:80px;height:80px;margin:0 auto;border-radius:50%;background:#dcfce7;color:var(--ok);font-size:2rem;font-weight:900}.result-icon.error{background:#fee2e2;color:var(--danger)}.result-page h1{font-size:3rem;color:var(--navy)}
@media(max-width:1050px){.shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:1rem .6rem}.sidebar .brand span:last-child,.sidebar nav span,.nav-label,.sidebar-foot{display:none}.sidebar nav a{justify-content:center;font-size:1.2rem}.metrics{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{display:block}.sidebar{position:fixed;z-index:20;left:-270px;width:250px;transition:.2s}.menu-open .sidebar{left:0}.sidebar .brand span:last-child,.sidebar nav span,.nav-label,.sidebar-foot{display:block}.sidebar nav a{justify-content:flex-start;font-size:inherit}.topbar{padding:0 1rem}.menu-button{display:block;border:1px solid var(--line);border-radius:8px;background:white;padding:.4rem .7rem}.topbar-title{display:none}.content{padding:1.1rem .7rem}.page-head{align-items:start;flex-direction:column}.metrics,.grid-2,.grid-3,.card-grid,.integration-grid,.form-grid,.public-hero,.public-form-wrap,.steps,.qr-layout{grid-template-columns:1fr}.metric{min-height:105px}.filters{flex-direction:column}.public-hero{padding:4rem 1.3rem}.public-form-wrap{gap:1rem;margin-top:1rem}.action-row{align-items:stretch}.inline-form{width:100%}.inline-form input{flex:1;width:auto}}

/* Identidad visual Juanma Ortega · El Mecánico del Cuerpo Humano */
:root{--navy:#15120e;--blue:#9b651f;--teal:#bd7d27;--teal2:#8a5819;--bg:#f3f0ea;--paper:#fffdf9;--ink:#332f2a;--muted:#746e66;--line:#ded7cc;--shadow:0 12px 30px rgba(33,25,15,.09)}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
a{color:#95601c}.brand-with-logo{align-items:center}.brand-logo{display:block;max-width:100%;height:auto;object-fit:contain}.brand-logo-wide{width:185px}.brand-logo-symbol{display:none;width:43px;height:43px;border-radius:50%}.brand-product{padding-left:.7rem;border-left:1px solid rgba(188,125,39,.42)}.brand-product strong{color:inherit}.brand-product small{color:#a89b8a}
.sidebar{width:auto;padding:1.2rem 1rem;background:radial-gradient(circle at 15% 0,rgba(173,107,28,.2),transparent 30%),linear-gradient(180deg,#090806,#171008);color:#eee6dc}.sidebar .brand{display:grid;gap:.55rem}.sidebar .brand-logo-wide{width:205px}.sidebar .brand-product{padding:.35rem 0 0;border-left:0;border-top:1px solid rgba(188,125,39,.32)}.sidebar .brand-product strong{color:#d39a4a}.sidebar .brand-product small{color:#a99b89}.sidebar nav a{color:#c9bca9}.sidebar nav a:hover,.sidebar nav a.active{color:#fff8ed;background:linear-gradient(90deg,rgba(188,125,39,.24),rgba(188,125,39,.08));box-shadow:inset 3px 0 #bd7d27}.nav-label{color:#97764c}.sidebar-foot{border-color:rgba(188,125,39,.25);color:#a99b89}.sidebar-foot a{color:#d7a45d}.live-dot,.status-dot.ok{background:#bd7d27;box-shadow:0 0 0 4px rgba(189,125,39,.14)}
.shell{grid-template-columns:270px minmax(0,1fr)}.topbar{border-color:#e1d9cd;background:rgba(255,253,249,.94)}.topbar-title,.page-head h1,.card h2,.card h3,.metric strong,.big-value,.form-grid label>span,.result-page h1{color:#211b14}.link-button{color:#95601c}.content{background:radial-gradient(circle at 100% 0,rgba(188,125,39,.08),transparent 24%)}
.button.primary{background:linear-gradient(135deg,#8c5618,#c48a37);box-shadow:0 8px 18px rgba(142,87,25,.22)}.button.secondary{border-color:#d7c7b1;background:#fffdf9;color:#2b2117}.button.secondary:hover{border-color:#bd7d27}.eyebrow{color:#9b651f!important}.metric,.card,.public-form{border-color:#ded7cc;background:#fffdf9}.metric.warning{border-top-color:#bd7d27}.avatar{background:#f2e6d5;color:#915b19}.avatar.alt,.channel-icon,.settings-icon{background:#f5ead9;color:#8a5819}.alert-bar.neutral{border-color:#dcc5a5;background:#fbf4e9;color:#60451e}.flash{background:#f5ead9;color:#714613}.input:focus,.filters input:focus,.filters select:focus{outline-color:rgba(189,125,39,.17);border-color:#bd7d27}.ai-card{border-top-color:#bd7d27}.note-card{border-left-color:#bd7d27}.privacy-note{background:#f6ecdd}.channel-card:hover{box-shadow:0 18px 40px rgba(75,47,16,.14)}
.public-body{background:#f3f0ea}.public-nav{position:relative;z-index:2;box-shadow:0 0 0 100vmax #070604;clip-path:inset(0 -100vmax);background:#070604;color:#eee7dd}.public-nav .brand{color:#eee7dd}.public-nav .brand-logo-wide{width:245px}.public-nav .brand-product strong{color:#d39a4a}.public-nav .button.secondary{border-color:rgba(197,139,57,.7);background:transparent;color:#f4e7d6}.public-nav .button.secondary:hover{background:#a96d20;color:white}.public-hero{color:#f5efe7;background:radial-gradient(circle at 82% 20%,rgba(188,125,39,.26),transparent 27%),radial-gradient(circle at 8% 80%,rgba(115,71,20,.17),transparent 30%),linear-gradient(135deg,#050403,#110c07 62%,#211508)}.public-hero h1{color:#d5d2ce;text-shadow:0 2px 25px rgba(0,0,0,.45)}.public-hero p{color:#bdb8b1}.hero-panel{border-color:rgba(199,143,65,.35);background:rgba(188,125,39,.07)}.hero-number{color:#c88c3a}.button.ghost{border-color:rgba(205,155,85,.58);color:#f5eadb}.public-section h2{color:#211b14}.steps article{border-color:#dcd2c4;background:#fffdf9;box-shadow:0 10px 28px rgba(60,43,22,.05)}.steps b{color:#a96d20}.public-footer{border-top:1px solid #2f2112;background:#080604;color:#a79b8d}.public-form-wrap h1{color:#211b14}.result-icon{background:#efe2ce;color:#8a5819}
.login-body{background:radial-gradient(circle at 80% 10%,rgba(188,125,39,.32),transparent 31%),radial-gradient(circle at 10% 90%,rgba(111,68,18,.25),transparent 30%),linear-gradient(135deg,#050403,#171008)}.login-card{border:1px solid rgba(188,125,39,.42);background:#fffdf9;box-shadow:0 25px 70px rgba(0,0,0,.5)}.login-brand{display:grid;gap:.7rem;margin-bottom:1.6rem}.login-brand .brand-logo-wide{width:270px;margin:auto}.login-brand .brand-product{padding:.65rem 0 0;border-left:0;border-top:1px solid #dbc9ae;text-align:center}.login-brand .brand-product strong{color:#8a5819}.login-card h1{color:#211b14}
@media(max-width:1050px){.shell{grid-template-columns:76px minmax(0,1fr)}.sidebar .brand-logo-wide,.sidebar .brand-product{display:none}.sidebar .brand-logo-symbol{display:block;margin:auto}.sidebar .brand{display:block}}
@media(max-width:720px){.sidebar{width:270px}.sidebar .brand{display:grid}.sidebar .brand-logo-wide{display:block;width:205px}.sidebar .brand-logo-symbol{display:none}.sidebar .brand-product{display:block}.public-nav{gap:1rem}.public-nav .brand-logo-wide{width:165px}.public-nav .brand-product{display:none}.public-hero{min-height:auto}.login-brand .brand-product{display:block}}

/* Administración guiada de WhatsApp */
[hidden]{display:none!important}.page-actions{display:flex;gap:.55rem;flex-wrap:wrap}.whatsapp-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px}.whatsapp-grid{grid-template-columns:repeat(3,minmax(250px,1fr))}.channel-card{position:relative;overflow:hidden}.channel-card:after{content:"";position:absolute;right:-32px;bottom:-42px;width:120px;height:120px;border-radius:50%;background:rgba(189,125,39,.07)}.channel-card h2{margin:.9rem 0 .1rem}.channel-card p{margin:.1rem 0 1rem;color:var(--muted)}.channel-card dl{position:relative;z-index:1}.channel-open{display:block;margin-top:1rem;color:#8a5819;font-weight:800}.whatsapp-explainer{margin-top:1.2rem}.whatsapp-explainer p{max-width:1000px;margin-bottom:0}
.status-card{border-left:5px solid #c58b3e;background:linear-gradient(120deg,#fffdf9,#faf1e4)}.status-card.is-connected{border-left-color:#2f8b63;background:linear-gradient(120deg,#f7fff9,#edf9f1)}.status-card .connection-state{align-items:center}.status-orb{position:relative;display:block;flex:0 0 54px;width:54px;height:54px;border:13px solid #f0d5ad;border-radius:50%;background:#b87928;box-shadow:0 0 0 6px rgba(184,121,40,.09)}.is-connected .status-orb{border-color:#ccebdc;background:#2f8b63;box-shadow:0 0 0 6px rgba(47,139,99,.09)}.status-copy{flex:1}.status-kicker,.connected-number small{display:block;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.status-copy strong{display:block;font-size:1.55rem;color:#211b14}.status-copy p{margin:.12rem 0;color:var(--muted)}.connected-number{min-width:210px;padding:.8rem 1rem;border-left:1px solid var(--line)}.connected-number strong,.connected-number span{display:block}.connected-number strong{font-size:1.2rem;color:#211b14}.connected-number span{color:var(--muted)}
.connect-card{padding:1.5rem}.secure-badge,.live-chip{display:inline-flex;align-items:center;width:max-content;padding:.32rem .62rem;border-radius:999px;background:#f5ead9;color:#754817;font-size:.72rem;font-weight:850}.secure-badge:before{content:"●";margin-right:.35rem;color:#2f8b63}.connection-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.connection-method{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;width:100%;min-height:118px;padding:1rem;border:1px solid #ddcfbc;border-radius:15px;background:#fffdf9;color:var(--ink);text-align:left;transition:.18s}.connection-method:hover{border-color:#bd7d27;box-shadow:0 10px 26px rgba(88,54,18,.11);transform:translateY(-2px)}button.connection-method{cursor:pointer}.connection-method strong,.connection-method small{display:block}.connection-method strong{color:#211b14}.connection-method small{margin-top:.25rem;color:var(--muted)}.connection-method b{color:#95601c}.method-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#f5ead9;color:#8a5819;font-weight:900;font-size:1.1rem}.pairing-method{grid-template-columns:auto 1fr}.pairing-input{grid-column:1/-1;padding-top:.8rem;border-top:1px solid var(--line)}.pairing-input label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.73rem;font-weight:800}.pairing-input>div{display:flex;gap:.55rem}.pairing-input .input{flex:1}.connection-progress{display:grid;place-items:center;gap:.35rem;margin-top:1rem;padding:1.5rem;border-radius:14px;background:#fbf4e9}.connection-progress small{color:var(--muted)}.spinner{width:30px;height:30px;border:4px solid #e3cfb2;border-top-color:#9b651f;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection-result{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:2rem;align-items:center;margin-top:1rem;padding:1.4rem;border:1px solid #ddcfbc;border-radius:16px;background:#fbf8f3}.qr-display,.pair-display{display:grid;place-items:center;min-height:300px;padding:1rem;border-radius:14px;background:white;box-shadow:0 8px 22px rgba(51,38,20,.08)}.qr-display img{display:block;width:min(290px,100%);height:auto;image-rendering:auto}.qr-display small{color:var(--muted);text-align:center}.pair-display{align-content:center;gap:.7rem}.pair-display>small{color:var(--muted);font-weight:800}.pair-display strong{font-size:clamp(1.7rem,4vw,2.7rem);letter-spacing:.12em;color:#211b14}.copy-code{padding:.4rem .7rem;border:0;border-radius:8px;background:#f5ead9;color:#754817;font-weight:800;cursor:pointer}.connection-instructions ol{display:grid;gap:.65rem;padding-left:1.35rem}.waiting-note{margin-top:1.2rem;padding:.75rem;border-radius:10px;background:#edf8f2;color:#285c45}.pulse-dot{display:inline-block;width:8px;height:8px;margin-right:.4rem;border-radius:50%;background:#2f8b63;box-shadow:0 0 0 0 rgba(47,139,99,.5);animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(47,139,99,0)}100%{box-shadow:0 0 0 0 rgba(47,139,99,0)}}.connection-error,.test-result.error{margin-top:1rem;padding:.85rem 1rem;border:1px solid #efc4bf;border-radius:10px;background:#fff2f0;color:#9f2f25}.reset-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}
.test-card .form-grid p{display:grid;gap:.3rem;margin:0}.test-card .form-grid label{font-weight:800;color:#211b14}.test-card textarea,.test-card input{width:100%;min-height:42px;padding:.58rem .7rem;border:1px solid #cfc4b4;border-radius:8px;background:white}.test-card textarea{min-height:92px;resize:vertical}.test-card .helptext{color:var(--muted);font-size:.75rem}.button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.58;box-shadow:none}.test-result{margin-top:1rem;padding:.85rem 1rem;border-radius:10px}.test-result.waiting{background:#fbf4e9;color:#714613}.test-result.success{background:#edf8f2;color:#285c45}.purpose-summary{display:flex;align-items:flex-start;gap:.8rem}.purpose-summary strong{display:block;color:#211b14}.purpose-summary p{margin:.2rem 0;color:var(--muted)}.muted-copy{padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.compact-table{min-width:780px}.compact-table td{font-size:.84rem}
@media(max-width:1050px){.whatsapp-grid,.connection-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.connection-result{grid-template-columns:1fr}.connection-result>div:first-child{max-width:440px;width:100%;margin:auto}.whatsapp-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.whatsapp-grid,.whatsapp-metrics,.connection-methods{grid-template-columns:1fr}.status-card .connection-state{align-items:flex-start;flex-wrap:wrap}.status-orb{flex-basis:45px;width:45px;height:45px;border-width:10px}.connected-number{width:100%;padding:.8rem 0 0;border-left:0;border-top:1px solid var(--line)}.pairing-input>div,.reset-row{align-items:stretch;flex-direction:column}.connection-result{padding:.8rem}.pair-display strong{font-size:1.7rem}.page-actions{width:100%}.page-actions .button{flex:1}}

/* Cuestionario filtro previo a consulta y centro de administración */
.questionnaire-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.questionnaire-admin-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}.embed-card,.preview-card{min-height:650px}.code-label{display:block;margin:.5rem 0 .35rem;color:#211b14;font-weight:800}.embed-code{width:100%;min-height:125px;padding:1rem;border:1px solid #cfc4b4;border-radius:10px;background:#17120c;color:#f5e6d1;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.embed-actions{display:flex;gap:.55rem;margin-top:.6rem}.embed-fallback{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.embed-fallback summary{margin-bottom:.7rem;color:#8a5819;font-weight:800;cursor:pointer}.embed-help{margin-top:1rem;padding:1rem;border-radius:12px;background:#fbf4e9}.embed-help ol{margin:.5rem 0;padding-left:1.3rem}.embed-help p{margin-bottom:0;color:var(--muted)}.embed-help code{padding:.12rem .3rem;border-radius:5px;background:#eee0cc}.preview-card iframe{display:block;width:100%;height:570px;border:1px solid #ddcfbc;border-radius:13px;background:#f3f0ea}.pending-form-section{margin:1rem 0 1.3rem;padding:1rem;border:1px solid #ead9bf;border-radius:13px;background:#fffbf4}.pending-form-section h3{margin:.1rem 0 .6rem}.filters select{min-width:220px;padding:.58rem .7rem;border:1px solid #cbd8e1;border-radius:8px;background:white}.muted-copy{color:var(--muted)}
.filter-intro{align-items:start}.filter-intro-copy>p{font-size:1.05rem;color:var(--muted)}.filter-steps{display:flex;gap:.55rem;margin:1.5rem 0;flex-wrap:wrap}.filter-steps span{display:flex;align-items:center;gap:.45rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:999px;background:#fffdf9;color:var(--muted);font-size:.76rem;font-weight:800}.filter-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ede5d9;color:#6e5c47}.filter-steps .current{border-color:#c58a38;background:#fbf1e3;color:#704617}.filter-steps .current b,.filter-steps .done b{background:#a96d20;color:white}.filter-steps.vertical{align-items:flex-start;flex-direction:column}.questionnaire-form{gap:.2rem}.questionnaire-form p{display:grid;gap:.28rem;margin:.35rem 0}.questionnaire-form label{font-weight:800;color:#211b14}.questionnaire-form input:not([type=checkbox]),.questionnaire-form select,.questionnaire-form textarea{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #cfc4b4;border-radius:9px;background:white;color:var(--ink)}.questionnaire-form textarea{resize:vertical}.questionnaire-form input[type=checkbox]{width:18px;height:18px;margin-right:.45rem;accent-color:#a96d20}.questionnaire-form .errorlist{margin:.15rem 0;padding-left:1.2rem;color:var(--danger)}.questionnaire-form .button{margin-top:.8rem}.long-form{padding:1.7rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.embedded-form{min-height:100vh;background:#f3f0ea}.embedded-form .embedded-wrap{max-width:1100px;margin:0 auto;padding:1.2rem}.embedded-form .filter-intro{grid-template-columns:.72fr 1.28fr}.embedded-form .questionnaire-stage{grid-template-columns:.62fr 1.38fr}.embedded-form .public-form{background:#fffdf9}.embedded-form .privacy-note{font-size:.86rem}
@media(max-width:1050px){.questionnaire-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.questionnaire-admin-grid{grid-template-columns:1fr}.preview-card{min-height:0}.embedded-form .filter-intro,.embedded-form .questionnaire-stage{grid-template-columns:1fr}}
@media(max-width:720px){.questionnaire-metrics{grid-template-columns:1fr}.filter-steps{align-items:stretch;flex-direction:column}.filter-steps span{border-radius:10px}.embedded-form .embedded-wrap{padding:.65rem}.long-form{padding:1rem}.embed-actions{align-items:stretch;flex-direction:column}.preview-card iframe{height:500px}}

/* Cuestionario guiado: una pregunta por pantalla */
.wizard-page{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:2rem;align-items:center;width:min(1120px,100%);margin:2rem auto 4rem;padding:1.2rem}.wizard-context{align-self:center}.wizard-context h1{margin:.35rem 0;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1;color:#211b14}.wizard-context>p:not(.eyebrow){color:var(--muted);font-size:1rem}.wizard-card{display:flex;flex-direction:column;min-height:575px;padding:1.5rem 1.65rem;overflow:hidden;background:#fffdf9}.wizard-progress>div:first-child{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.76rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.wizard-progress strong{color:#8a5819}.wizard-progress-track{height:7px;margin-top:.55rem;overflow:hidden;border-radius:99px;background:#eee6da}.wizard-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#895416,#c78e3f);transition:width .24s ease}.wizard-stage{display:grid;flex:1;align-items:center;min-height:330px;padding:1.25rem 0}.wizard-panel{animation:wizard-in .22s ease}.wizard-panel[hidden]{display:none!important}.wizard-question{display:block;margin-bottom:.45rem;color:#a96d20;font-size:.73rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.wizard-panel>label,.wizard-choice label{display:block;margin-bottom:.9rem;color:#211b14;font-size:clamp(1.25rem,2.3vw,1.75rem);font-weight:850;line-height:1.22}.wizard-panel input:not([type=checkbox]),.wizard-panel select,.wizard-panel textarea{width:100%;min-height:54px;padding:.8rem .9rem;border:1px solid #cdbfae;border-radius:12px;background:white;color:#211b14;font-size:1rem}.wizard-panel textarea{min-height:135px;max-height:190px;resize:vertical}.wizard-panel input:focus,.wizard-panel select:focus,.wizard-panel textarea:focus{outline:4px solid rgba(189,125,39,.14);border-color:#a96d20}.wizard-choice{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding:1.1rem;border:1px solid #ddcfbc;border-radius:14px;background:#fff}.wizard-choice input{width:24px!important;height:24px!important;margin:.15rem 0 0!important;accent-color:#a96d20}.wizard-choice label{margin:0;font-size:1.12rem;cursor:pointer}.wizard-help,.wizard-privacy{display:block;color:var(--muted)}.wizard-panel .errorlist,.wizard-form-errors .errorlist{margin:.65rem 0 0;padding:.65rem .8rem;border-radius:9px;background:#fff0ef;color:var(--danger);list-style:none}.wizard-panel.has-client-error input,.wizard-panel.has-client-error select,.wizard-panel.has-client-error textarea{border-color:#c64134}.wizard-controls{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding-top:1rem;border-top:1px solid var(--line)}.wizard-controls [data-wizard-next],.wizard-controls [data-wizard-submit]{justify-self:end;min-width:190px}.wizard-privacy{margin-top:.7rem;text-align:center;font-size:.72rem}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-color:#edc3bd;background:#fff9f8}.danger-zone h2,.danger-zone p{margin:.1rem 0}.danger-zone h2{color:#8f291f}.danger-zone p{color:var(--muted)}.danger-zone form{flex:0 0 auto}@keyframes wizard-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.embedded-form .wizard-page{min-height:100dvh;margin:0 auto;padding:.65rem}.embedded-form .wizard-context{display:none}.embedded-form .wizard-page{grid-template-columns:1fr;max-width:820px}.embedded-form .wizard-card{min-height:min(610px,calc(100dvh - 1.3rem));box-shadow:none}
@media(max-width:720px){.wizard-page{display:block;margin:.5rem auto 2rem;padding:.65rem}.wizard-context{padding:.25rem .25rem .6rem}.wizard-context h1{font-size:1.75rem}.wizard-context>p:not(.eyebrow),.wizard-context .privacy-note{display:none}.wizard-context .filter-steps{margin:.7rem 0 0}.wizard-context .filter-steps span:not(.current){display:none}.wizard-card{min-height:535px;padding:1rem;border-radius:16px}.wizard-stage{min-height:300px;padding:.7rem 0}.wizard-panel>label,.wizard-choice label{font-size:1.18rem}.wizard-panel textarea{min-height:125px;max-height:29dvh}.wizard-controls{grid-template-columns:minmax(90px,.7fr) minmax(150px,1.3fr);position:sticky;bottom:0;padding:.75rem 0 0;background:#fffdf9}.wizard-controls .button{width:100%;min-width:0}.wizard-privacy{font-size:.65rem}.embedded-form .wizard-page{padding:.35rem}.embedded-form .wizard-card{min-height:min(585px,calc(100dvh - .7rem));padding:.9rem}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone form,.danger-zone .button{width:100%}}

/* Cuestionario compacto: jerarquía sobria y controles visibles sin desplazarse */
.wizard-public-body:not(.embedded-form){display:flex;min-height:100dvh;flex-direction:column;background:radial-gradient(circle at 82% 16%,rgba(188,125,39,.07),transparent 24%),#f3f0ea}.wizard-public-body:not(.embedded-form) .public-nav{width:100%;max-width:1180px;min-height:66px;flex:0 0 auto;padding:.4rem 1.25rem}.wizard-public-body:not(.embedded-form) .public-nav .brand-logo-wide{width:150px}.wizard-public-body:not(.embedded-form) .public-nav .brand-product{padding-left:.65rem}.wizard-public-body:not(.embedded-form) .public-nav .brand-product strong{font-size:.9rem;line-height:1.15}.wizard-public-body:not(.embedded-form) .public-nav .brand-product small{font-size:.66rem}.wizard-public-body:not(.embedded-form) .public-nav>.button{min-height:34px;padding:.4rem .75rem;font-size:.78rem}.wizard-public-body:not(.embedded-form)>main{display:grid;min-height:0;flex:1}.wizard-public-body:not(.embedded-form) .public-footer{display:none}
.wizard-public-body:not(.embedded-form) .wizard-page{grid-template-columns:minmax(205px,240px) minmax(0,720px);gap:1.35rem;align-self:center;width:min(1000px,100%);margin:0 auto;padding:.7rem 1rem}.wizard-public-body .wizard-context h1{margin:.25rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.04;letter-spacing:-.035em}.wizard-public-body .wizard-context>p:not(.eyebrow){max-width:29ch;margin:.2rem 0;color:#746b60;font-size:.88rem;line-height:1.55}.wizard-public-body .wizard-context .filter-steps{gap:.38rem;margin:.85rem 0}.wizard-public-body .wizard-context .filter-steps span{padding:.34rem .5rem;font-size:.68rem}.wizard-public-body .wizard-context .filter-steps b{width:19px;height:19px}.wizard-public-body .wizard-context .privacy-note{margin-top:.7rem;padding:.7rem .75rem;font-size:.75rem;line-height:1.4}.wizard-public-body .wizard-context .privacy-note p{margin:.2rem 0 0}
.wizard-public-body .wizard-card{min-height:460px;padding:1rem 1.25rem;border-radius:18px;box-shadow:0 14px 38px rgba(60,43,22,.09)}.wizard-public-body .wizard-progress>div:first-child{font-size:.68rem}.wizard-public-body .wizard-progress-track{height:5px;margin-top:.42rem}.wizard-public-body .wizard-stage{min-height:238px;padding:.7rem 0}.wizard-public-body .wizard-question{margin-bottom:.32rem;font-size:.66rem}.wizard-public-body .wizard-panel>label,.wizard-public-body .wizard-choice label{margin-bottom:.65rem;font-size:clamp(1.12rem,1.8vw,1.38rem);line-height:1.2}.wizard-public-body .wizard-panel input:not([type=checkbox]),.wizard-public-body .wizard-panel select,.wizard-public-body .wizard-panel textarea{min-height:47px;padding:.68rem .78rem;border-radius:10px;font-size:.95rem}.wizard-public-body .wizard-panel textarea{min-height:108px;max-height:140px}.wizard-public-body .wizard-choice{gap:.7rem;padding:.8rem;border-radius:11px}.wizard-public-body .wizard-choice input{width:21px!important;height:21px!important}.wizard-public-body .wizard-choice label{margin:0;font-size:1rem}.wizard-public-body .wizard-help{font-size:.72rem}.wizard-public-body .wizard-controls{gap:.55rem;padding-top:.72rem}.wizard-public-body .wizard-controls .button{min-height:39px;margin:0;padding:.5rem .85rem}.wizard-public-body .wizard-controls [data-wizard-next],.wizard-public-body .wizard-controls [data-wizard-submit]{min-width:160px}.wizard-public-body .wizard-privacy{margin-top:.5rem;font-size:.65rem;line-height:1.3}
.embedded-form.wizard-public-body .wizard-page{max-width:760px;padding:.45rem}.embedded-form.wizard-public-body .wizard-card{min-height:min(500px,calc(100dvh - .9rem));padding:1rem 1.2rem}
@media(max-width:900px){.wizard-public-body:not(.embedded-form) .wizard-page{grid-template-columns:1fr;max-width:750px}.wizard-public-body:not(.embedded-form) .wizard-context{display:none}}
@media(max-width:720px){.wizard-public-body:not(.embedded-form) .public-nav{min-height:58px;padding:.35rem .7rem}.wizard-public-body:not(.embedded-form) .public-nav .brand-logo-wide{width:126px}.wizard-public-body:not(.embedded-form) .public-nav>.button{min-height:32px;padding:.32rem .55rem;font-size:.7rem}.wizard-public-body:not(.embedded-form) .wizard-page{margin:0 auto;padding:.5rem}.wizard-public-body .wizard-card{min-height:min(500px,calc(100dvh - 68px));padding:.85rem;border-radius:14px}.wizard-public-body .wizard-stage{min-height:245px;padding:.55rem 0}.wizard-public-body .wizard-panel>label,.wizard-public-body .wizard-choice label{font-size:1.08rem}.wizard-public-body .wizard-panel textarea{min-height:108px;max-height:24dvh}.wizard-public-body .wizard-controls{position:static;grid-template-columns:minmax(82px,.65fr) minmax(140px,1.35fr);padding-top:.65rem}.wizard-public-body .wizard-controls [data-wizard-next],.wizard-public-body .wizard-controls [data-wizard-submit]{min-width:0}.wizard-public-body .wizard-privacy{margin-top:.4rem;font-size:.61rem}.embedded-form.wizard-public-body .wizard-page{padding:.3rem}.embedded-form.wizard-public-body .wizard-card{min-height:min(500px,calc(100dvh - .6rem));padding:.8rem}}
@media(max-height:700px) and (min-width:721px){.wizard-public-body:not(.embedded-form) .wizard-card{min-height:435px}.wizard-public-body:not(.embedded-form) .wizard-stage{min-height:215px}.wizard-public-body:not(.embedded-form) .wizard-panel textarea{min-height:98px;max-height:115px}.wizard-public-body:not(.embedded-form) .wizard-context .privacy-note{display:none}}

/* ==========================================================================
   Etapa 1 · Datos básicos en una sola pantalla
   --------------------------------------------------------------------------
   Escrito sin minificar a propósito: es la pantalla que más se va a retocar.
   Paleta heredada de elmecanicodelcuerpohumano.com (ocre #bd7d27 sobre crema).
   ========================================================================== */

.intake-public-body {
  display: flex;
  min-height: 100dvh;
  flex-direction: column;
  background:
    radial-gradient(circle at 84% 8%, rgba(188, 125, 39, .09), transparent 26%),
    #f3f0ea;
}
.intake-public-body > main { flex: 1 }

.intake-page {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 2.4rem 1.25rem 3.5rem;
}
.embedded-form .intake-page { padding: 1.1rem .9rem 1.6rem }

/* --- Encabezado de la página ------------------------------------------- */

.intake-head { margin-bottom: 1.5rem }
.intake-head h1 {
  margin: .3rem 0 .45rem;
  font-size: clamp(1.95rem, 4vw, 2.75rem);
  line-height: 1.03;
  letter-spacing: -.035em;
  color: #211b14;
}
.intake-lead {
  max-width: 52ch;
  margin: 0;
  color: #6f6659;
  font-size: 1rem;
  line-height: 1.55;
}

.intake-steps {
  display: flex;
  gap: .45rem;
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}
.intake-steps li {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .38rem .7rem .38rem .4rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fffdf9;
  color: #857b6d;
  font-size: .77rem;
  font-weight: 800;
}
.intake-steps b {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #ece3d5;
  color: #6e5c47;
  font-size: .72rem;
}
.intake-steps .current {
  border-color: #c58a38;
  background: #fbf1e3;
  color: #6f4515;
}
.intake-steps .current b { background: #a96d20; color: #fff }

/* --- Tarjeta del formulario -------------------------------------------- */

.intake-form {
  padding: .35rem 1.65rem 1.5rem;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fffdf9;
  box-shadow: 0 14px 38px rgba(60, 43, 22, .07);
}

.intake-block {
  margin: 0;
  padding: 1.35rem 0;
  border: 0;
  border-bottom: 1px solid #eee7dc;
}
.intake-block:last-of-type { border-bottom: 0; padding-bottom: .5rem }
.intake-block legend {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .95rem;
  padding: 0;
  color: #211b14;
  font-size: 1.02rem;
  font-weight: 850;
}
.block-num {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #f4e8d6;
  color: #8a5819;
  font-size: .8rem;
  font-weight: 900;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.field { display: grid; gap: .34rem; margin: 0 }
.field > label {
  color: #4c4438;
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .005em;
}
.field-help { color: var(--muted); font-size: .76rem }

.intake-form input:not([type=checkbox]):not([type=radio]),
.intake-form select,
.intake-form textarea {
  width: 100%;
  min-height: 48px;
  padding: .7rem .85rem;
  border: 1px solid #cfc4b4;
  border-radius: 11px;
  background: #fff;
  color: #211b14;
  font-size: 1rem;
  transition: border-color .15s, box-shadow .15s;
}
.intake-form input:focus,
.intake-form select:focus,
.intake-form textarea:focus {
  outline: 0;
  border-color: #a96d20;
  box-shadow: 0 0 0 4px rgba(189, 125, 39, .15);
}

/* --- Sede: tarjetas en vez de desplegable ------------------------------ */

.choice-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.choice-card {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .95rem;
  border: 1px solid #ddcfbc;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .15s;
}
.choice-card:hover { border-color: #bd7d27; transform: translateY(-2px) }
.choice-card input[type=radio] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: .1rem 0 0;
  accent-color: #a96d20;
  cursor: pointer;
}
.choice-body { display: grid; gap: .18rem; min-width: 0 }
.choice-body strong { color: #211b14; font-size: .97rem }
.choice-body small { color: var(--muted); font-size: .78rem; line-height: 1.35 }
/* `.is-selected` la pone intake.js y es la que manda: hay navegadores que no
   recalculan `:has()` al cambiar la marca de un radio. La variante con :has()
   se conserva como refuerzo por si el JS no llega a cargar. */
.choice-card.is-selected,
.choice-card:has(input:checked) {
  border-color: #bd7d27;
  background: #fdf6ec;
  box-shadow: inset 0 0 0 1px #bd7d27;
}
.choice-card:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(189, 125, 39, .18) }

/* --- Permisos ----------------------------------------------------------- */

.consent-box {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid #ddcfbc;
  border-radius: 13px;
  background: #fbf6ee;
  cursor: pointer;
}
.consent-box.is-selected,
.consent-box:has(input:checked) { border-color: #bd7d27; background: #fdf6ec }
.consent-box input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: .12rem 0 0;
  accent-color: #a96d20;
}
.consent-box > span { display: grid; gap: .2rem; color: #211b14; font-weight: 700 }
.consent-box small { color: var(--muted); font-weight: 500 }

.opt-intro { margin: 1.05rem 0 .5rem; color: var(--muted); font-size: .87rem }
.opt-row { display: flex; gap: .6rem; flex-wrap: wrap }
.opt-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .9rem;
  border: 1px solid #ddcfbc;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 700;
}
.opt-check.is-selected,
.opt-check:has(input:checked) { border-color: #bd7d27; background: #fdf6ec; color: #6f4515 }
.opt-check input { width: 17px; height: 17px; margin: 0; accent-color: #a96d20 }

/* --- Acción final ------------------------------------------------------- */

.intake-actions { display: grid; gap: .65rem; padding-top: 1.4rem }
.intake-actions .button {
  width: 100%;
  min-height: 54px;
  justify-content: center;
  border-radius: 12px;
  font-size: 1.03rem;
}
.intake-actions small {
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.4;
  text-align: center;
}

.intake-note {
  margin-top: 1.2rem;
  padding: 1rem 1.15rem;
  border-left: 4px solid #bd7d27;
  border-radius: 0 13px 13px 0;
  background: #f6ecdd;
}
.intake-note strong { color: #211b14 }
.intake-note p { margin: .28rem 0 0; color: #6b6153; font-size: .87rem; line-height: 1.5 }

/* --- Errores ------------------------------------------------------------ */

.intake-alert {
  margin: 1rem 0 0;
  padding: .85rem 1rem;
  border: 1px solid #efc4bf;
  border-radius: 11px;
  background: #fff2f0;
  color: #9f2f25;
}
.intake-form .errorlist {
  margin: .1rem 0 0;
  padding: 0;
  color: var(--danger);
  font-size: .82rem;
  list-style: none;
}
.field.has-error input,
.field.has-error select,
.choice-cards.has-error,
.consent-box.has-error { border-color: #c64134 }

/* ==========================================================================
   Cabecera pública (las dos etapas comparten la misma)
   --------------------------------------------------------------------------
   `width:100%` es imprescindible: `.public-nav` lleva `margin:0 auto` y, dentro
   de un contenedor `flex-direction:column`, los márgenes automáticos ganan al
   `stretch` y encogen la barra al ancho de su contenido (se quedaba en 570 px
   sobre 1280 y el botón acababa pegado al logotipo).
   ========================================================================== */

.intake-public-body .public-nav,
.wizard-public-body:not(.embedded-form) .public-nav {
  width: 100%;
  max-width: 1180px;
  min-height: 68px;
  gap: 1.25rem;
  padding: .5rem 1.5rem;
}
.intake-public-body .public-nav .brand,
.wizard-public-body:not(.embedded-form) .public-nav .brand {
  min-width: 0;
  gap: 0;
}
.intake-public-body .public-nav .brand-logo-wide,
.wizard-public-body:not(.embedded-form) .public-nav .brand-logo-wide { width: 186px }
.intake-public-body .public-nav .brand-product,
.wizard-public-body:not(.embedded-form) .public-nav .brand-product {
  padding-left: .8rem;
  margin-left: .8rem;
  border-left: 1px solid rgba(188, 125, 39, .42);
}
.intake-public-body .public-nav .brand-product strong,
.wizard-public-body:not(.embedded-form) .public-nav .brand-product strong { font-size: .95rem; line-height: 1.2 }
.intake-public-body .public-nav .brand-product small,
.wizard-public-body:not(.embedded-form) .public-nav .brand-product small { font-size: .7rem }
.intake-public-body .public-nav > .button,
.wizard-public-body:not(.embedded-form) .public-nav > .button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: .45rem .95rem;
  font-size: .82rem;
}

/* ==========================================================================
   Pie público · el logotipo sustituye al nombre escrito
   ========================================================================== */

.public-footer { padding: 1.5rem 1.25rem; text-align: left }
.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.footer-brand { display: block; flex: 0 0 auto; line-height: 0 }
.footer-brand img { display: block; width: 200px; height: auto }
.footer-links { display: flex; gap: 1.5rem; flex-wrap: wrap }
.footer-links a { color: #d39a4a; font-size: .85rem; font-weight: 700 }
.footer-links a:hover { color: #f0c98a }
.footer-note {
  width: 100%;
  max-width: 1180px;
  margin: 1.1rem auto 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(188, 125, 39, .2);
  color: #8a7f72;
  font-size: .76rem;
}

/* El asistente sí muestra pie, pero estrecho: esa pantalla está calibrada para
   verse entera sin desplazarse en 1280 × 720. */
.wizard-public-body:not(.embedded-form) .public-footer { display: block; padding: .7rem 1.25rem }
.wizard-public-body:not(.embedded-form) .footer-note { display: none }
.wizard-public-body:not(.embedded-form) .footer-brand img { width: 148px }
.wizard-public-body:not(.embedded-form) .wizard-card { min-height: 424px }
.wizard-public-body:not(.embedded-form) .wizard-stage { min-height: 212px }

@media (max-width: 720px) {
  .intake-page { padding: 1.3rem .9rem 2.5rem }
  .intake-form { padding: .3rem 1.05rem 1.2rem; border-radius: 16px }
  .field-grid,
  .choice-cards { grid-template-columns: 1fr }
  .intake-steps li span { display: none }
  .intake-steps .current span { display: inline }

  .intake-public-body .public-nav,
  .wizard-public-body:not(.embedded-form) .public-nav { gap: .6rem; padding: .45rem .8rem }
  .intake-public-body .public-nav .brand-logo-wide,
  .wizard-public-body:not(.embedded-form) .public-nav .brand-logo-wide { width: 132px }

  .footer-inner { flex-direction: column; align-items: flex-start; gap: .9rem }
  .footer-brand img { width: 168px }
  .footer-links { gap: 1.1rem }
  .footer-note { margin-top: .9rem }
}

/* ==========================================================================
   Conexiones con servicios externos
   Una tarjeta por servicio, con su campo dentro: pegar clave → guardar.
   ========================================================================== */

.grupo-titulo {
  margin: 2rem 0 .9rem;
  color: #211b14;
  font-size: 1.05rem;
  font-weight: 850;
  letter-spacing: .01em;
}
.grupo-titulo:first-of-type { margin-top: 1rem }

.servicios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 1rem;
}
.servicio { display: flex; flex-direction: column; margin: 0; border-left: 4px solid var(--line) }
.servicio.ok { border-left-color: #2f8b63 }
.servicio.mal { border-left-color: #c64134 }

.servicio-cabecera {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .9rem;
}
.servicio-cabecera h3 { margin: 0; color: #211b14; font-size: 1.05rem }
.servicio-para { margin: .22rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.45 }

.servicio-form { display: grid; gap: .8rem }
.campo { display: grid; gap: .3rem }
.campo > span { color: #4c4438; font-size: .8rem; font-weight: 800 }
.campo input {
  width: 100%;
  min-height: 44px;
  padding: .6rem .75rem;
  border: 1px solid #cfc4b4;
  border-radius: 10px;
  background: #fff;
  font-size: .95rem;
}
.campo input:focus { outline: 0; border-color: #a96d20; box-shadow: 0 0 0 4px rgba(189, 125, 39, .15) }
.campo input::placeholder { color: #a99e8f; font-size: .88rem }
.campo small { color: var(--muted); font-size: .74rem }

.servicio-donde {
  margin: 0;
  padding: .55rem .7rem;
  border-radius: 8px;
  background: #f7f2e9;
  color: #6b6153;
  font-size: .76rem;
  line-height: 1.4;
}
.servicio-acciones { display: flex; gap: .55rem; flex-wrap: wrap }
.servicio-acciones .button { flex: 1; min-width: 150px; justify-content: center }
.servicio-borrar { margin-top: .7rem }
.servicio-borrar .link-button { color: #9f2f25; font-size: .78rem }

.servicio-mensaje {
  margin: .85rem 0 0;
  padding-top: .75rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.45;
  word-break: break-word;
}
.servicio.ok .servicio-mensaje { color: #2f6b50 }
.servicio.mal .servicio-mensaje { color: #9f2f25 }

.servicio-mensaje.ia-en-uso {
  border-top: none; padding-top: 0; margin-top: .5rem;
  color: #2f6b50; font-weight: 600;
}
.servicio-mensaje.ia-en-espera {
  border-top: none; padding-top: 0; margin-top: .5rem;
  color: var(--muted); font-style: italic;
}

.enlace-n8n { display: flex !important; align-items: center; gap: .4rem }
.enlace-n8n img { border-radius: 3px }

.aviso-n8n {
  margin-top: .7rem; padding: .8rem .9rem; border-radius: 10px;
  background: #fff8e9; border: 1px solid #f3d59f; font-size: .82rem;
}
.aviso-n8n p { margin: 0 0 .6rem; color: #75420a; line-height: 1.45 }

@media (max-width: 720px) {
  .servicios { grid-template-columns: 1fr }
  .servicio-acciones .button { min-width: 0 }
}
.campo select {
  width: 100%;
  min-height: 44px;
  padding: .6rem .75rem;
  border: 1px solid #cfc4b4;
  border-radius: 10px;
  background: #fff;
  color: #211b14;
  font-size: .95rem;
}
.campo select:focus { outline: 0; border-color: #a96d20; box-shadow: 0 0 0 4px rgba(189, 125, 39, .15) }
.campo select:disabled { background: #f4f0e9; color: #a99e8f; cursor: not-allowed }

/* --- Revisión de casos: repetir análisis y contestar al paciente --------- */
.ai-card.ai-fallo { border-top-color: #c64134 }
.acciones-ia { display: flex; gap: .55rem; margin: 1rem 0 .8rem; flex-wrap: wrap }
.acciones-ia .button { flex: 1; min-width: 175px; justify-content: center }

.vista-correo {
  margin: .8rem 0 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbf8f3;
}
.correo-asunto { margin: 0 0 .6rem; color: #211b14; font-weight: 850 }
.vista-correo pre {
  margin: 0;
  color: #4c4438;
  font: inherit;
  font-size: .87rem;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}
.lista-correos { margin: .6rem 0 0; padding: 0; list-style: none }
.lista-correos li {
  padding: .6rem 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .85rem;
}
.lista-correos .error-text { display: block; margin-top: .2rem; font-size: .78rem }
.spinner-boton {
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: .45rem;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: -2px;
  animation: spin .8s linear infinite;
}
.button.secondary .spinner-boton { border-color: rgba(33,27,20,.25); border-top-color: #8a5819 }
.aviso-tardanza { display: block; margin-top: .5rem; color: var(--warn); font-size: .78rem }
.prueba-correo { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); display: grid; gap: .7rem }
.prueba-correo form { display: grid; gap: .7rem }
.estado-correo { padding: .8rem .9rem; border-radius: 10px; font-size: .84rem }
.estado-correo strong { display: block; margin-bottom: .2rem }
.estado-correo p { margin: .2rem 0 0; line-height: 1.45 }
.estado-correo.pruebas { background: var(--ambar-claro, #fdf3e0); border: 1px solid #eddcb8; color: #75420a }
.estado-correo.real { background: #edf8f2; border: 1px solid #c3e5d2; color: #285c45 }
.estado-correo.sin { background: #fff2f0; border: 1px solid #efc4bf; color: #9f2f25 }

/* --- Prueba real del modelo de IA --------------------------------------- */
.prueba-modelo { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); display: grid; gap: .65rem }
.modelo-uso { margin: 0; color: #4c4438; font-size: .87rem }
.modelo-uso strong { color: #211b14; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem }
.resultado-modelo { padding: .75rem .85rem; border-radius: 10px; font-size: .82rem }
.resultado-modelo strong { display: block; margin-bottom: .25rem }
.resultado-modelo p { margin: .2rem 0; line-height: 1.5 }
.resultado-modelo small { display: block; margin-top: .4rem; opacity: .75 }
.resultado-modelo.bien { background: #edf8f2; border: 1px solid #c3e5d2; color: #285c45 }
.resultado-modelo.mal { background: #fff2f0; border: 1px solid #efc4bf; color: #9f2f25 }
