:root{--pev2-ink:#14233d;--pev2-muted:#64748b;--pev2-line:#d9e5f2;--pev2-blue:#1478d4;--pev2-cyan:#16b8d4;--pev2-soft:#f2f8fd;--pev2-white:#fff}
.paciente-editor-v2{position:fixed;inset:0;z-index:1000001;background:rgba(18,38,67,.56);padding:22px;align-items:center;justify-content:center;pointer-events:auto;font-family:"Avenir Next","Nunito Sans","Segoe UI",sans-serif}
.paciente-editor-v2,.paciente-editor-v2 *{box-sizing:border-box}
.pev2-panel{width:min(1400px,calc(100vw - 44px));height:min(920px,calc(100vh - 44px));display:flex;flex-direction:column;background:linear-gradient(145deg,#f9fcff 0%,#edf6fd 100%);border:1px solid rgba(255,255,255,.78);border-radius:26px;box-shadow:0 32px 90px rgba(8,31,59,.35),0 0 0 1px rgba(29,117,193,.08);overflow:hidden;color:var(--pev2-ink);position:relative;pointer-events:auto}
.pev2-header{position:relative;min-height:112px;padding:24px 30px;background:linear-gradient(112deg,#075eae 0%,#198bda 56%,#43bdd8 100%);color:#fff;display:flex;align-items:center;gap:18px;overflow:hidden}
.pev2-header:after{content:"";position:absolute;width:440px;height:180px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:100px;top:-105px;transform:rotate(-12deg);pointer-events:none;box-shadow:0 0 55px rgba(255,255,255,.08)}
.pev2-header-mark{width:62px;height:62px;flex:0 0 62px;border-radius:19px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.36);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.pev2-header-mark span{width:34px;height:20px;border:3px solid #fff;border-radius:50%;position:relative}.pev2-header-mark span:after{content:"";position:absolute;width:8px;height:8px;border:2px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.pev2-heading{position:relative;z-index:1}.pev2-header h2{font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.05;letter-spacing:-.035em;margin:4px 0 5px}.pev2-header p{margin:0;color:rgba(255,255,255,.82);font-size:.9rem}.pev2-kicker{color:#d8f7ff;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}
.pev2-close{position:relative;z-index:2;margin-left:auto;width:46px;height:46px;border:1px solid rgba(255,255,255,.34);border-radius:15px;background:rgba(255,255,255,.13);color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:.18s ease}.pev2-close:hover{background:#fff;color:#126ebc;transform:translateY(-1px)}
.pev2-status{min-height:48px;padding:10px 30px;background:rgba(232,247,255,.92);border-bottom:1px solid #cce6f4;color:#075985;display:flex;gap:10px;align-items:center;font-size:.82rem;font-weight:650}.pev2-status>span:first-child{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#d7f1fb}.pev2-status #pf-rips-count{margin-left:auto;font-weight:850}.pev2-status #pf-rips-missing,.pev2-status #pf-rips-progress-fill{display:none}
.pev2-body{padding:20px 24px 24px;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:16px;align-content:start;scrollbar-color:#9ec7e2 transparent;scrollbar-width:thin}.pev2-cita{display:none;grid-column:1/-1;background:#e9fbf4;color:#057457;padding:11px 14px;border:1px solid #bcebd9;border-radius:12px}.pev2-cita.is-visible{display:block}
.pev2-section{background:rgba(255,255,255,.94);border:1px solid var(--pev2-line);border-radius:18px;padding:18px 19px 20px;margin:0;box-shadow:0 8px 24px rgba(25,75,116,.055);min-width:0}.pev2-identity,.pev2-fiscal,.pev2-additional{grid-column:1/-1}.pev2-section-title{display:flex;align-items:center;gap:11px;padding-bottom:13px;margin-bottom:15px;border-bottom:1px solid #e6eef6}.pev2-section-title>.material-symbols-outlined{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#e4f4ff,#d9f8fa);color:#097cb7;font-size:19px}.pev2-section-title h3{font-size:.88rem;line-height:1.1;margin:0 0 3px;color:#263a56}.pev2-section-title p{font-size:.69rem;margin:0;color:#8190a5}
.pev2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}.pev2-grid-identity{grid-template-columns:repeat(4,minmax(0,1fr))}.pev2-grid label{display:flex;flex-direction:column;gap:6px;font-size:.68rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase;color:#50617a;min-width:0}.pev2-grid label small{font-size:.66rem;text-transform:none;color:#1780b7}.pev2-grid input,.pev2-grid select,.pev2-grid textarea{width:100%;min-height:45px;border:1px solid #c6d6e8;border-radius:11px;background:#fbfdff;color:#15243c;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:550;text-transform:none;letter-spacing:normal;pointer-events:auto;transition:border-color .16s,box-shadow .16s,background .16s}.pev2-grid textarea{resize:vertical}.pev2-grid input:hover,.pev2-grid select:hover,.pev2-grid textarea:hover{border-color:#91b9d8;background:#fff}.pev2-grid input:focus,.pev2-grid select:focus,.pev2-grid textarea:focus{outline:0;background:#fff;border-color:#1688cf;box-shadow:0 0 0 4px rgba(22,136,207,.12)}.pev2-span-2{grid-column:span 2}.pev2-grid-identity .pev2-span-2{grid-column:span 2}.pev2-subgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border-radius:13px;background:#f3f9fd;border:1px dashed #b9d8ea}.pev2-check{flex-direction:row!important;align-items:center!important;text-transform:none!important;font-size:.79rem!important}.pev2-check input{width:20px!important;min-height:20px!important;accent-color:var(--pev2-blue)}.pf-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.1)!important}
.pev2-footer{min-height:76px;padding:14px 26px;background:#fff;border-top:1px solid var(--pev2-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.pev2-footer-note{display:flex;align-items:center;gap:8px;color:#718198;font-size:.74rem}.pev2-footer-note .material-symbols-outlined{font-size:18px;color:#249d84}.pev2-actions{display:flex;gap:10px}.pev2-footer button{min-height:46px;border-radius:12px;padding:0 24px;font-family:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.pev2-cancel{background:#fff;border:1px solid #c5d2e1;color:#40516a}.pev2-cancel:hover{background:#f2f6fa}.pev2-save{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#086ec7,#159cd5);border:1px solid #0874c7;color:#fff;box-shadow:0 8px 20px rgba(8,116,199,.22)}.pev2-save:hover{transform:translateY(-1px);box-shadow:0 11px 25px rgba(8,116,199,.28)}.pev2-save .material-symbols-outlined{font-size:19px}.pev2-save:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:1100px){.pev2-panel{width:min(1000px,calc(100vw - 30px))}.pev2-grid-identity{grid-template-columns:repeat(3,minmax(0,1fr))}.pev2-body{grid-template-columns:1fr}.pev2-section{grid-column:1}.pev2-identity,.pev2-fiscal,.pev2-additional{grid-column:1}}
@media(max-width:700px){.paciente-editor-v2{padding:0}.pev2-panel{width:100vw;height:100vh;border-radius:0}.pev2-header{min-height:96px;padding:18px 16px}.pev2-header-mark{width:48px;height:48px;flex-basis:48px;border-radius:15px}.pev2-header p{display:none}.pev2-status{padding:9px 16px}.pev2-body{padding:14px;display:block}.pev2-section{margin-bottom:12px;padding:16px}.pev2-grid,.pev2-grid-identity{grid-template-columns:1fr}.pev2-span-2,.pev2-grid-identity .pev2-span-2{grid-column:span 1}.pev2-subgrid{grid-template-columns:1fr}.pev2-footer{padding:12px 14px}.pev2-footer-note{display:none}.pev2-actions{width:100%}.pev2-actions button{flex:1;padding:0 12px}}
@media(prefers-reduced-motion:reduce){.paciente-editor-v2 *{transition:none!important}}

/* Liquid Glass: misma familia material del formulario de Citas, aislada bajo V2. */
.paciente-editor-v2{
  --pev2-spring:cubic-bezier(.22,1,.36,1);
  background:
    radial-gradient(circle at 18% 15%,color-mix(in srgb,var(--glass-primary,#6366f1) 30%,transparent),transparent 43%),
    radial-gradient(circle at 84% 80%,color-mix(in srgb,var(--glass-secondary,#38bdf8) 27%,transparent),transparent 44%),
    rgba(15,23,42,.40);
  backdrop-filter:blur(26px) saturate(1.5);
  -webkit-backdrop-filter:blur(26px) saturate(1.5);
  animation:pev2BackdropIn .25s var(--pev2-spring)
}
@keyframes pev2BackdropIn{from{opacity:0}to{opacity:1}}
@keyframes pev2SheetIn{from{opacity:0;transform:translateY(20px) scale(.965)}to{opacity:1;transform:none}}
.pev2-panel{
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(239,246,255,.60) 55%,rgba(235,245,255,.70));
  border-color:rgba(255,255,255,.82);
  backdrop-filter:blur(40px) saturate(1.8);
  -webkit-backdrop-filter:blur(40px) saturate(1.8);
  box-shadow:0 42px 100px -24px rgba(15,23,42,.52),0 8px 26px -12px rgba(30,64,175,.28),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(255,255,255,.45);
  animation:pev2SheetIn .4s var(--pev2-spring)
}
.pev2-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;background:linear-gradient(106deg,transparent 31%,rgba(255,255,255,.34) 48%,transparent 65%)}
.pev2-panel>*{position:relative;z-index:1}
.pev2-header{
  min-height:100px;
  margin:0;
  color:#17233d;
  background:linear-gradient(180deg,rgba(255,255,255,.83),rgba(255,255,255,.52));
  border-bottom:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4)
}
.pev2-header:after{border-color:rgba(99,102,241,.12);box-shadow:none}
.pev2-header-mark{background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(224,231,255,.78));border-color:rgba(255,255,255,.98);box-shadow:0 10px 25px -12px rgba(79,70,229,.65),inset 0 1px 0 #fff}
.pev2-header-mark span{border-color:#5146e5}.pev2-header-mark span:after{border-color:#5146e5}
.pev2-header h2{color:#16233d}.pev2-header p{color:#6b7c9b}.pev2-kicker{color:#4f46e5}
.pev2-close,.pev2-minimize,.pev2-header #btn-paciente-smart-voice{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.96);color:#64748b;box-shadow:0 8px 20px -10px rgba(15,23,42,.45),inset 0 1px 0 #fff;cursor:pointer;transition:transform .18s var(--pev2-spring),background .25s,color .25s}
.pev2-header #btn-paciente-smart-voice{margin-left:auto}.pev2-header #btn-paciente-smart-voice+.pev2-close{margin-left:0}.pev2-header #btn-paciente-smart-voice:hover{color:#4f46e5;background:rgba(238,242,255,.92)}
.pev2-close:hover{color:#dc2626;background:rgba(254,226,226,.94);transform:none}.pev2-minimize:hover{color:#4338ca;background:rgba(238,242,255,.94)}.pev2-close:active,.pev2-minimize:active,.pev2-header #btn-paciente-smart-voice:active{transform:scale(.9)}
.pev2-status{background:rgba(231,246,255,.63);border-bottom-color:rgba(255,255,255,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pev2-body{background:transparent}
.pev2-section{background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.34));border-color:rgba(255,255,255,.84);box-shadow:0 12px 30px -18px rgba(15,23,42,.32),inset 0 1px 0 rgba(255,255,255,.85)}
.pev2-section-title{border-bottom-color:rgba(255,255,255,.88)}
.pev2-section-title>.material-symbols-outlined{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(219,242,255,.68));border:1px solid rgba(255,255,255,.9);box-shadow:0 7px 16px -10px rgba(37,99,235,.6)}
.pev2-grid input,.pev2-grid select,.pev2-grid textarea{background-color:rgba(255,255,255,.58);border-color:rgba(255,255,255,.92);box-shadow:0 2px 9px -5px rgba(15,23,42,.22),inset 0 1px 0 rgba(255,255,255,.92);transition:border-color .25s var(--pev2-spring),box-shadow .25s var(--pev2-spring),background .25s,transform .25s var(--pev2-spring)}
.pev2-grid input:hover,.pev2-grid select:hover,.pev2-grid textarea:hover{background-color:rgba(255,255,255,.78);border-color:#fff}
.pev2-grid input:focus,.pev2-grid select:focus,.pev2-grid textarea:focus{background-color:rgba(255,255,255,.9);border-color:rgba(99,102,241,.38);box-shadow:0 0 0 4px rgba(99,102,241,.11),0 8px 20px -14px rgba(79,70,229,.48)}
.pev2-input-actions{display:grid;grid-template-columns:minmax(0,1fr) 45px 45px;gap:6px}.pev2-input-actions button{width:45px;height:45px;border-radius:13px;border:1px solid rgba(255,255,255,.94);background:rgba(255,255,255,.7);color:#4f46e5;box-shadow:0 5px 14px -9px rgba(15,23,42,.5),inset 0 1px 0 #fff;cursor:pointer}.pev2-input-actions button:active{transform:scale(.93)}
.pev2-subgrid{background:rgba(239,246,255,.42);border-color:rgba(255,255,255,.9)}
.pev2-footer{background:linear-gradient(0deg,rgba(255,255,255,.86),rgba(255,255,255,.58));border-top-color:rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}
.pev2-cancel{background:rgba(255,255,255,.68);border-color:rgba(255,255,255,.95);box-shadow:0 6px 16px -10px rgba(15,23,42,.38),inset 0 1px 0 #fff}.pev2-save{background:linear-gradient(135deg,var(--glass-primary,#4f46e5),var(--glass-secondary,#2563eb));border-color:rgba(255,255,255,.48);box-shadow:0 12px 28px -12px color-mix(in srgb,var(--glass-primary,#4f46e5) 65%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}
@supports not (backdrop-filter:blur(1px)){.paciente-editor-v2{background:rgba(30,41,59,.78)}.pev2-panel{background:#eef5fb}.pev2-header,.pev2-footer,.pev2-section{background:#fff}}

/* Densidad de expediente: recupera la lectura inmediata del formulario original. */
.pev2-panel{width:min(1480px,calc(100vw - 30px));height:min(940px,calc(100vh - 30px))}
.pev2-header{min-height:78px;padding:14px 24px}.pev2-header-mark{width:50px;height:50px;flex-basis:50px;border-radius:15px}.pev2-header-mark span{transform:scale(.82)}.pev2-header h2{font-size:1.45rem}.pev2-header p{font-size:.78rem}.pev2-close,.pev2-minimize,.pev2-header #btn-paciente-smart-voice{width:40px;height:40px}
.pev2-status{min-height:42px;padding:7px 24px}.pev2-status #pf-rips-icon{font-size:19px}.pev2-rips-progress{display:block;width:112px;height:6px;margin-left:auto;border-radius:99px;background:rgba(100,116,139,.17);overflow:hidden}.pev2-status .pev2-rips-progress #pf-rips-progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#22c5d6);transition:width .3s var(--pev2-spring)}.pev2-status #pf-rips-count{margin-left:5px;min-width:34px;text-align:right}.pev2-status #pf-rips-missing{display:none}
.pev2-body{padding:12px 16px 15px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"identity identity identity" "fiscal fiscal fiscal" "contact insurance additional" "clinical clinical clinical"}
.pev2-identity{grid-area:identity}.pev2-fiscal{grid-area:fiscal}.pev2-contact{grid-area:contact}.pev2-insurance{grid-area:insurance}.pev2-additional{grid-area:additional}.pev2-clinical{grid-area:clinical}
.pev2-section{padding:10px 13px 13px;border-radius:16px}.pev2-section-title{min-height:34px;padding-bottom:8px;margin-bottom:9px;gap:8px}.pev2-section-title>.material-symbols-outlined{width:29px;height:29px;border-radius:9px;font-size:17px}.pev2-section-title h3{font-size:.8rem;margin:0}.pev2-section-title p{font-size:.62rem}.pev2-grid{gap:8px 9px}.pev2-grid label{gap:4px;font-size:.63rem}.pev2-grid input,.pev2-grid select,.pev2-grid textarea{min-height:40px;padding:7px 10px;border-radius:10px;font-size:.82rem}.pev2-grid textarea{min-height:58px}.pev2-input-actions{grid-template-columns:minmax(0,1fr) 40px 40px;gap:5px}.pev2-input-actions button{width:40px;height:40px;border-radius:10px}.pev2-input-actions button .material-symbols-outlined{font-size:18px}
.pev2-grid-identity{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"doctype doctype doctype docnum docnum docnum docnum sex sex birth birth birth" "names names names names lastname lastname lastname lastname secondlast secondlast secondlast secondlast" "civil civil civil civil job job job job job job job job"}.pev2-id-doc{grid-area:doctype}.pev2-id-number{grid-area:docnum}.pev2-id-sex{grid-area:sex}.pev2-id-birth{grid-area:birth}.pev2-id-names{grid-area:names}.pev2-id-lastname{grid-area:lastname}.pev2-id-second-lastname{grid-area:secondlast}.pev2-id-civil{grid-area:civil}.pev2-id-job{grid-area:job}
.pev2-rips,.pev2-optional{display:inline-flex;align-items:center;margin-left:4px;padding:2px 6px;border-radius:999px;font-size:.54rem;font-style:normal;line-height:1.1;letter-spacing:.035em;vertical-align:1px}.pev2-rips{color:#3730a3;background:rgba(224,231,255,.92);border:1px solid rgba(199,210,254,.9)}.pev2-optional{color:#53647d;background:rgba(226,232,240,.8)}#pac-eps-rips-tag{display:inline-flex;margin-left:4px;padding:2px 6px;border-radius:999px;color:#3730a3;background:rgba(224,231,255,.92);font-size:.54rem;font-style:normal}
.pev2-footer{min-height:62px;padding:9px 18px}.pev2-footer button{min-height:42px}.pev2-footer-note b:first-of-type{color:#dc2626}.pev2-footer-note b:last-of-type{color:#4338ca;background:#e0e7ff;padding:1px 5px;border-radius:6px}
@media(max-width:1100px){.pev2-body{grid-template-columns:1fr 1fr;grid-template-areas:"identity identity" "fiscal fiscal" "contact insurance" "additional clinical"}.pev2-grid-identity{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none}.pev2-grid-identity>*{grid-area:auto!important}}
@media(max-width:700px){.pev2-body{display:block}.pev2-status .pev2-rips-progress{display:none}.pev2-grid-identity{grid-template-columns:1fr}.pev2-section-title p{display:none}.pev2-panel{width:100vw;height:100vh}.pev2-header{min-height:82px}}

/* Acciones del encabezado: dictado legible y cierre secundario. */
.pev2-header #btn-paciente-smart-voice{width:auto;min-width:164px;height:40px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;color:#4338ca;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(231,232,255,.76));font-size:.75rem;line-height:1;font-weight:800;white-space:nowrap}
.pev2-header #btn-paciente-smart-voice .material-symbols-outlined{font-size:19px}.pev2-header #btn-paciente-smart-voice.is-listening{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-color:rgba(255,255,255,.7);animation:patient-voice-pulse 1.2s ease infinite}
.pev2-header .pev2-minimize,.pev2-header .pev2-close{width:38px;height:38px;flex:0 0 38px;margin-left:7px;color:#586980}.pev2-header .pev2-minimize .material-symbols-outlined,.pev2-header .pev2-close .material-symbols-outlined{font-size:21px;font-weight:650}.pev2-header .pev2-close{border-color:rgba(255,255,255,.98);background:rgba(255,255,255,.82)}
@media(max-width:700px){.pev2-header #btn-paciente-smart-voice{min-width:40px;width:40px;padding:0}.pev2-header #btn-paciente-smart-voice .pev2-voice-label{display:none}.pev2-header .pev2-minimize,.pev2-header .pev2-close{margin-left:3px}}

/* Modo Empresa (NIT): Aseguramiento e Información clínica no aplican a una
   empresa y se ocultan (ver actualizarCamposNIT en pacientes-module.js). Las
   áreas nombradas del grid no reflowean solas, así que sin esto ocultar
   "insurance" deja un hueco vacío entre Contacto e Información adicional. */
.paciente-editor-v2.pev2-empresa .pev2-body{grid-template-areas:"identity identity identity" "fiscal fiscal fiscal" "contact contact additional" "clinical clinical clinical"}
@media(max-width:1100px){.paciente-editor-v2.pev2-empresa .pev2-body{grid-template-areas:"identity identity" "fiscal fiscal" "contact additional" "clinical clinical"}}

/* Editor visible: superficies legibles, profesión guiada y vista completa en escritorio. */
.paciente-editor-v2 .pev2-panel{background:linear-gradient(145deg,#f8fbff 0%,#f4f8ff 54%,#eef6ff 100%)}
.paciente-editor-v2 .pev2-section{background:rgba(255,255,255,.96);border-color:#d8e5f4;box-shadow:0 10px 26px -20px rgba(30,64,175,.38),inset 0 1px 0 #fff}
.paciente-editor-v2 .pev2-grid input,
.paciente-editor-v2 .pev2-grid select,
.paciente-editor-v2 .pev2-grid textarea{background:#f8fbff;border-color:#c9d9ec;box-shadow:inset 0 1px 0 #fff,0 2px 8px -7px rgba(15,23,42,.35)}
.paciente-editor-v2 #pac-ocupacion{background:#fff;border-color:#8eb8ee;box-shadow:0 0 0 3px rgba(59,130,246,.08)}
.paciente-editor-v2 .pev2-id-job small{color:#2563eb;font-size:.62rem;font-weight:750;letter-spacing:0;text-transform:none}
.paciente-editor-v2 .pev2-profession-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px;align-items:center}
.paciente-editor-v2 .pev2-profession-manage{width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid #b8cdf0;border-radius:11px;background:linear-gradient(145deg,#fff,#edf3ff);color:#4f46e5;box-shadow:0 7px 16px -12px rgba(49,46,129,.7);cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}
.paciente-editor-v2 .pev2-profession-manage:hover{background:#e8edff;color:#3730a3;transform:translateY(-1px)}
.paciente-editor-v2 .pev2-profession-manage:active{transform:scale(.94)}
.paciente-editor-v2 .pev2-profession-manage .material-symbols-outlined{font-size:20px}
.paciente-editor-v2 .pev2-patient-note textarea{background:#fff;border-color:#9dbcea;min-height:54px}
.paciente-editor-v2 .pev2-patient-note small{color:#536b91;font-size:.61rem;font-weight:700;letter-spacing:0;text-transform:none}
.paciente-editor-v2 .pev2-cita.is-confirmed{display:block;background:linear-gradient(135deg,#e8fff5,#eefbf7);border-color:#91e2c1;color:#076c50;font-weight:750}
.paciente-editor-v2 .pev2-cita.is-confirmed small{display:block;margin-top:3px;color:#387667;font-weight:600}

@media(min-width:1101px){
  .paciente-editor-v2{padding:4px}
  .paciente-editor-v2 .pev2-panel{width:calc(100vw - 8px)!important;max-width:none!important;height:calc(100dvh - 8px)!important;max-height:none!important;border-radius:18px}
  .paciente-editor-v2 .pev2-header{min-height:68px;padding:10px 20px}
  .paciente-editor-v2 .pev2-header-mark{width:44px;height:44px;flex-basis:44px}
  .paciente-editor-v2 .pev2-status{min-height:36px;padding:5px 20px}
  .paciente-editor-v2 .pev2-body{min-height:0;overflow:auto;padding:8px 12px 10px;gap:8px;grid-template-areas:"identity identity identity" "fiscal contact insurance" "additional additional clinical"}
  .paciente-editor-v2 .pev2-section{padding:8px 11px 10px;border-radius:14px}
  .paciente-editor-v2 .pev2-section-title{min-height:27px;padding-bottom:5px;margin-bottom:6px}
  .paciente-editor-v2 .pev2-section-title>.material-symbols-outlined{width:25px;height:25px;font-size:15px}
  .paciente-editor-v2 .pev2-grid{gap:6px 8px}
  .paciente-editor-v2 .pev2-grid label{gap:3px}
  .paciente-editor-v2 .pev2-grid input,
  .paciente-editor-v2 .pev2-grid select,
  .paciente-editor-v2 .pev2-grid textarea{min-height:34px;padding:5px 9px}
  .paciente-editor-v2 .pev2-grid textarea{min-height:42px;max-height:48px;resize:none}
  .paciente-editor-v2 .pev2-footer{min-height:54px;padding:6px 16px}
  .paciente-editor-v2 .pev2-footer button{min-height:38px}
}

#modal-profesiones{z-index:2147483646!important}

/* Pantalla completa real y distribución final del expediente. */
.paciente-editor-v2.is-fullscreen{inset:0!important;width:100vw!important;height:100dvh!important;padding:0!important;align-items:stretch!important;justify-content:stretch!important}
.paciente-editor-v2.is-fullscreen>.pev2-panel{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important}

@media(min-width:1201px){
  .paciente-editor-v2.is-fullscreen .pev2-body{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"identity identity identity identity identity identity identity identity identity identity identity identity" "contact contact contact contact contact fiscal fiscal fiscal fiscal insurance insurance insurance" "additional additional additional additional additional additional additional additional clinical clinical clinical clinical";align-content:start}
  .paciente-editor-v2.is-fullscreen .pev2-contact{grid-area:contact}
  .paciente-editor-v2.is-fullscreen .pev2-fiscal{grid-area:fiscal}
  .paciente-editor-v2.is-fullscreen .pev2-insurance{grid-area:insurance}
  .paciente-editor-v2.is-fullscreen .pev2-additional{grid-area:additional}
  .paciente-editor-v2.is-fullscreen .pev2-clinical{grid-area:clinical}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-patient-note{grid-column:span 2;grid-row:span 2}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-check{grid-column:span 2}
  .paciente-editor-v2.is-fullscreen .pev2-additional #pac-section-acompanante{grid-column:1/-1}
  .paciente-editor-v2.is-fullscreen .pev2-patient-note textarea{min-height:70px;max-height:82px}
}

@media(min-width:701px) and (max-width:1200px){
  .paciente-editor-v2.is-fullscreen .pev2-body{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"identity identity" "contact insurance" "fiscal fiscal" "additional clinical"}
}

/* Flujo automático: si una sección está oculta, las demás ocupan su espacio. */
@media(min-width:1201px){
  .paciente-editor-v2.is-fullscreen .pev2-body{display:flex!important;flex-flow:row wrap;align-content:flex-start;align-items:flex-start;gap:10px;overflow-y:auto}
  .paciente-editor-v2.is-fullscreen .pev2-section{grid-area:auto!important;grid-column:auto!important;height:auto;align-self:flex-start}
  .paciente-editor-v2.is-fullscreen .pev2-identity{order:1;flex:1 0 100%}
  .paciente-editor-v2.is-fullscreen .pev2-contact{order:2;flex:2 1 560px}
  .paciente-editor-v2.is-fullscreen .pev2-fiscal{order:3;flex:1 1 360px}
  .paciente-editor-v2.is-fullscreen .pev2-insurance{order:4;flex:1 1 390px}
  .paciente-editor-v2.is-fullscreen .pev2-additional{order:5;flex:2 1 760px}
  .paciente-editor-v2.is-fullscreen .pev2-clinical{order:6;flex:1 1 390px}
  .paciente-editor-v2.is-fullscreen .pev2-identity .pev2-section-title{display:flex}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-patient-note{grid-column:span 2;grid-row:span 2}
  .paciente-editor-v2.is-fullscreen .pev2-additional .pev2-check{grid-column:span 2}
  .paciente-editor-v2.is-fullscreen .pev2-additional #pac-section-acompanante{grid-column:1/-1}
}

/* Restauración del formulario centrado; fullscreen corresponde al navegador. */
@media(min-width:1101px){
  .paciente-editor-v2{padding:22px!important;align-items:center!important;justify-content:center!important}
  .paciente-editor-v2>.pev2-panel{width:min(1480px,calc(100vw - 30px))!important;height:min(940px,calc(100vh - 30px))!important;max-width:none!important;max-height:none!important;border-radius:26px!important}
  .paciente-editor-v2 .pev2-header{min-height:78px;padding:14px 24px}
  .paciente-editor-v2 .pev2-header-mark{width:50px;height:50px;flex-basis:50px}
  .paciente-editor-v2 .pev2-status{min-height:42px;padding:7px 24px}
  .paciente-editor-v2 .pev2-body{display:grid!important;min-height:0;overflow:auto;padding:12px 16px 15px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"identity identity identity" "fiscal fiscal fiscal" "contact insurance additional" "clinical clinical clinical";align-content:start;align-items:stretch}
  .paciente-editor-v2 .pev2-section{padding:10px 13px 13px;border-radius:16px;height:auto}
  .paciente-editor-v2 .pev2-section-title{min-height:34px;padding-bottom:8px;margin-bottom:9px}
  .paciente-editor-v2 .pev2-section-title>.material-symbols-outlined{width:29px;height:29px;font-size:17px}
  .paciente-editor-v2 .pev2-grid{gap:8px 9px}
  .paciente-editor-v2 .pev2-grid label{gap:4px}
  .paciente-editor-v2 .pev2-grid input,
  .paciente-editor-v2 .pev2-grid select,
  .paciente-editor-v2 .pev2-grid textarea{min-height:40px;padding:7px 10px}
  .paciente-editor-v2 .pev2-grid textarea{min-height:58px;max-height:none;resize:vertical}
  .paciente-editor-v2 .pev2-footer{min-height:62px;padding:9px 18px}
  .paciente-editor-v2 .pev2-footer button{min-height:42px}
}

@media(min-width:1101px){
  .paciente-editor-v2 .pev2-body{grid-template-areas:"identity identity identity" "fiscal fiscal fiscal" "contact insurance additional"}
  .paciente-editor-v2 .pev2-grid-identity{grid-template-areas:"doctype doctype doctype docnum docnum docnum docnum sex sex birth birth birth" "names names names names lastname lastname lastname lastname secondlast secondlast secondlast secondlast" "civil civil civil civil job job job job job . . ."}
  .paciente-editor-v2 .pev2-id-job{max-width:720px}
}

/* Proporción editorial: evita campos excesivamente largos en monitores amplios. */
@media(min-width:1101px){
  .paciente-editor-v2>.pev2-panel{width:min(1240px,calc(100vw - 56px))!important;height:min(900px,calc(100vh - 42px))!important;border-radius:24px!important;box-shadow:0 34px 90px -28px rgba(15,23,42,.54),0 12px 34px -24px rgba(37,99,235,.32)!important}
  .paciente-editor-v2 .pev2-header{padding:14px 22px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(240,246,255,.94))}
  .paciente-editor-v2 .pev2-body{grid-template-columns:1.08fr .92fr 1fr;align-items:start;padding:14px 16px 18px;gap:12px;background:linear-gradient(180deg,#f5f8fd 0%,#eef4fb 100%)}
  .paciente-editor-v2 .pev2-section{align-self:start;padding:12px 14px 14px;border:1px solid #d7e3f1;border-radius:17px;background:#fff;box-shadow:0 10px 24px -22px rgba(30,64,175,.44)}
  .paciente-editor-v2 .pev2-section-title{min-height:32px;margin-bottom:11px;padding-bottom:9px}
  .paciente-editor-v2 .pev2-section-title h3{font-size:.82rem;color:#172a49}
  .paciente-editor-v2 .pev2-section-title p{font-size:.61rem;color:#7b8ba3}
  .paciente-editor-v2 .pev2-grid{gap:9px 10px}
  .paciente-editor-v2 .pev2-fiscal .pev2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .paciente-editor-v2 .pev2-grid input,
  .paciente-editor-v2 .pev2-grid select,
  .paciente-editor-v2 .pev2-grid textarea{min-height:39px;padding:7px 10px;border-color:#cbd9eb;background:#f8faff;font-size:.8rem}
  .paciente-editor-v2 .pev2-grid-identity{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:10px}
  .paciente-editor-v2 .pev2-id-job{max-width:560px}
  .paciente-editor-v2 .pev2-profession-row{grid-template-columns:minmax(0,1fr) 39px}
  .paciente-editor-v2 .pev2-profession-manage{width:39px;height:39px}
  .paciente-editor-v2 .pev2-patient-note textarea{min-height:76px}
  .paciente-editor-v2 .pev2-footer{padding:10px 18px;background:rgba(255,255,255,.96)}
}

/* Alineación final: tres tarjetas inferiores con ritmo y filas equivalentes. */
@media(min-width:1101px){
  .paciente-editor-v2 .pev2-body{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .paciente-editor-v2 .pev2-contact,
  .paciente-editor-v2 .pev2-insurance,
  .paciente-editor-v2 .pev2-additional{height:100%;min-height:340px;align-self:stretch}
  .paciente-editor-v2 .pev2-contact .pev2-grid,
  .paciente-editor-v2 .pev2-insurance .pev2-grid,
  .paciente-editor-v2 .pev2-additional .pev2-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .paciente-editor-v2 .pev2-contact .pev2-span-2:last-child{grid-column:auto}
  .paciente-editor-v2 .pev2-insurance .pev2-span-2{grid-column:auto}
  .paciente-editor-v2 .pev2-additional .pev2-patient-note,
  .paciente-editor-v2 .pev2-additional .pev2-check,
  .paciente-editor-v2 .pev2-additional #pac-section-acompanante,
  .paciente-editor-v2 .pev2-additional label:has(#pac-origen-canal),
  .paciente-editor-v2 .pev2-additional #pac-campo-origen-detalle{grid-column:1/-1}
  .paciente-editor-v2 .pev2-additional #pac-origen-canal{width:100%}
  .paciente-editor-v2 .pev2-grid-identity{grid-template-areas:"doctype doctype doctype docnum docnum docnum docnum sex sex birth birth birth" "names names names names lastname lastname lastname lastname secondlast secondlast secondlast secondlast" "civil civil civil civil job job job job job job . ."}
  .paciente-editor-v2 .pev2-id-job{max-width:none}
}
