:root{--purple:#7137cf;--purple-dark:#4d1ea6;--purple-soft:#eee7ff;--pink:#df8fc5;--pink-soft:#fff0f8;--mint:#23a97c;--mint-soft:#e8faf4;--rose:#e75469;--rose-soft:#fff0f2;--amber:#d88a25;--amber-soft:#fff5e6;--ink:#231b35;--muted:#766d84;--line:#ece5f5;--surface:#fff;--bg:#faf8fd;--shadow:0 12px 34px rgba(65,37,103,.10);--shadow-soft:0 5px 16px rgba(65,37,103,.07)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fbf9ff 0%,#fff 70%);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{touch-action:manipulation}.app-shell{min-height:100vh;max-width:1180px;margin:auto;padding-bottom:96px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand img{width:56px;height:56px;border-radius:16px;object-fit:contain}.brand img.brand-logo{background:#fff}.brand h1{font-size:1.05rem;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-title{background:linear-gradient(90deg,#5a2dbb 0%,#8b3fd0 48%,#e34b9b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:850}.brand small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}.admin-badge{display:inline-flex;background:var(--ink);color:#fff;padding:4px 8px;border-radius:999px;font-size:.69rem;font-weight:750}.container{padding:18px}.eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;font-weight:850;color:var(--purple);margin-bottom:6px}.eyebrow.light{color:#eadfff}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 2px 18px}.welcome-copy h2{font-size:1.8rem;margin:0 0 6px;letter-spacing:-.03em}.welcome-copy p{margin:0;color:var(--muted);font-size:.96rem}.welcome-logo img{width:62px;height:62px;border-radius:50%;box-shadow:var(--shadow-soft)}.membership-hero,.admin-welcome{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#5922bd 0%,#8d5bda 58%,#d690c6 100%);color:#fff;border-radius:27px;padding:25px;box-shadow:0 18px 38px rgba(91,39,176,.23)}.membership-hero:after,.admin-welcome:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-80px;top:-100px;background:rgba(255,255,255,.12)}.membership-icon,.admin-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:0 0 auto}.membership-icon svg,.admin-mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8}.membership-copy{flex:1;min-width:0;z-index:1}.membership-copy h2,.admin-welcome h2{font-size:1.52rem;margin:7px 0 6px;letter-spacing:-.02em}.membership-copy p,.admin-welcome p{margin:0;color:#f6efff;line-height:1.45}.status-chip{display:inline-flex;background:#fff;color:var(--purple-dark);font-weight:850;border-radius:999px;padding:6px 11px;font-size:.75rem}.hero-action{z-index:1;border:0;background:#fff;color:var(--purple-dark);border-radius:16px;padding:13px 17px;font-weight:850;box-shadow:var(--shadow-soft);white-space:nowrap}.hero-action span{font-size:1.35rem;margin-left:8px}.dashboard-metrics,.admin-metrics{display:grid;gap:14px;margin-top:17px}.dashboard-metrics.three{grid-template-columns:repeat(3,1fr)}.metric-card,.admin-stat{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:21px;padding:17px;box-shadow:var(--shadow-soft)}.metric-icon,.stat-icon,.quick-icon,.list-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:14px;color:var(--purple)}.metric-icon svg,.stat-icon svg,.quick-icon svg,.list-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.lilac{background:var(--purple-soft);color:var(--purple)}.mint{background:var(--mint-soft);color:var(--mint)}.rose{background:var(--rose-soft);color:var(--rose)}.amber{background:var(--amber-soft);color:var(--amber)}.metric-card small,.admin-stat small{display:block;color:var(--muted);font-size:.77rem;font-weight:750}.metric-card strong,.admin-stat strong{display:block;font-size:1.38rem;line-height:1.15;margin-top:3px}.metric-card strong.compact{font-size:1rem}.metric-card p,.admin-stat p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-title h2{margin:0;font-size:1.18rem;letter-spacing:-.015em}.section-note{color:var(--muted);font-size:.78rem}.text-btn{border:0;background:transparent;color:var(--purple);font-weight:850;padding:6px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:21px;padding:17px;text-align:left;box-shadow:var(--shadow-soft)}.quick-card>span:nth-child(2){flex:1;min-width:0}.quick-card strong{display:block;font-size:.93rem}.quick-card small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;margin-top:3px}.quick-card b{color:var(--muted);font-size:1.4rem}.appointment-feature{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.appointment-feature>div{flex:1}.appointment-feature strong{display:block;font-size:.98rem}.appointment-feature p{margin:5px 0 0;color:var(--muted);font-size:.85rem}.feature-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--purple-soft);color:var(--purple)}.feature-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}.grid{display:grid;gap:14px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:16px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.card h3{margin:0 0 10px;font-size:1rem}.metric{font-size:1.8rem;font-weight:850;color:var(--purple)}.muted{display:block;color:var(--muted);font-size:.84rem;line-height:1.4}.btn{border:0;border-radius:14px;padding:11px 15px;cursor:pointer;font-weight:800}.btn.primary{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff;box-shadow:0 6px 14px rgba(93,41,177,.20)}.btn.secondary{background:var(--purple-soft);color:var(--purple-dark)}.btn.ghost{background:#f8f5fc;color:var(--purple)}.btn.danger{background:#fdecef;color:#b7384b}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}.field label{display:block;font-weight:800;font-size:.84rem;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:12px 13px;border:1px solid #ddd3e8;border-radius:14px;background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(113,55,207,.10)}.field textarea{min-height:104px;resize:vertical}.list{display:grid;gap:10px}.item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;box-shadow:0 3px 10px rgba(65,37,103,.04)}.item-main{flex:1;min-width:0}.item strong{display:block;font-size:.91rem}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--purple-soft);color:var(--purple);font-size:.72rem;font-weight:850;white-space:nowrap}.pill.green{background:#e8f7ef;color:#278762}.pill.amber{background:#fff3df;color:#ad6c1c}.pill.red{background:#fde9ed;color:#b83d50}.file-badge{width:45px;height:48px;border-radius:12px;background:linear-gradient(160deg,#f23f50,#c72035);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:900}.icon-button{width:42px;height:42px;border:0;border-radius:13px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #d8cbe6;border-radius:18px}.empty.polished{border-style:solid;box-shadow:var(--shadow-soft)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1180px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -8px 25px rgba(57,31,89,.07)}.nav-btn{position:relative;border:0;background:transparent;color:#7a7287;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:61px;padding:5px 2px;font-size:.68rem}.nav-icon{display:grid!important;place-items:center;width:27px;height:27px}.nav-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-label{display:block;font-size:.67rem;font-weight:720}.nav-btn.active{color:var(--purple)}.nav-btn.active:after{content:"";position:absolute;bottom:0;width:28px;height:3px;border-radius:3px;background:var(--purple)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#f2e8ff,#fff6fb 58%,#fff)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:27px;box-shadow:0 22px 55px rgba(73,40,113,.16);text-align:center}.login-card img{width:112px;height:112px;border-radius:50%}.login-card img.login-logo{width:min(340px,88vw);height:auto;border-radius:0;display:block;margin:0 auto 10px}.login-tagline{font-size:1rem;font-weight:650;margin-top:0}.login-card h1{margin:9px 0 3px;font-size:1.8rem}.login-card .tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--purple-soft);border-radius:15px;padding:4px;margin:20px 0}.login-card .tabs button{border:0;background:transparent;padding:11px;border-radius:12px}.login-card .tabs button.active{background:#fff;color:var(--purple);font-weight:850;box-shadow:0 3px 9px rgba(70,41,105,.08)}.toast{position:fixed;right:16px;bottom:100px;background:#2d2138;color:#fff;padding:13px 16px;border-radius:14px;z-index:99;box-shadow:var(--shadow);max-width:340px}.alert-banner{background:linear-gradient(135deg,#fff0f7,#f1e9fd);border:1px solid #ecd6e6;border-radius:18px;padding:15px;margin-top:16px}.doc-link{color:var(--purple);font-weight:800;text-decoration:none}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.patient-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.patient-summary strong,.patient-summary .muted{display:block}.loading-row{display:flex;align-items:center;gap:12px}.spinner{width:22px;height:22px;border:3px solid #eadff3;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;flex:0 0 auto}@keyframes spin{to{transform:rotate(360deg)}}.admin-welcome{justify-content:space-between}.admin-welcome>div:first-child{z-index:1}.admin-mark{z-index:1;width:70px;height:70px}.admin-metrics{grid-template-columns:repeat(4,1fr)}.admin-stat{cursor:pointer}.admin-stat div{flex:1}.admin-stat b{color:var(--muted);font-size:1.4rem}.admin-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-shortcuts button{border:1px solid var(--line);background:#fff;border-radius:19px;padding:17px;text-align:left;box-shadow:var(--shadow-soft)}.admin-shortcuts span{width:40px;height:40px;border-radius:13px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;margin-bottom:11px}.admin-shortcuts svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.admin-shortcuts strong{display:block;font-size:.88rem}.admin-shortcuts small{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}.time-badge{min-width:58px;background:var(--purple-soft);color:var(--purple-dark);border-radius:13px;padding:9px 8px;text-align:center;font-size:.75rem;font-weight:850}
@media(max-width:760px){html{font-size:16px}.app-shell{padding-bottom:88px}.container{padding:14px}.topbar{padding:10px 13px}.brand img{width:42px;height:42px}.brand h1{font-size:.94rem}.membership-hero,.admin-welcome{padding:20px;border-radius:23px;align-items:flex-start}.membership-icon{width:50px;height:50px;border-radius:16px}.membership-copy h2,.admin-welcome h2{font-size:1.3rem}.hero-action{display:none}.dashboard-metrics.three{grid-template-columns:1fr}.metric-card{padding:14px}.quick-actions{grid-template-columns:1fr}.quick-card{padding:14px}.appointment-feature{align-items:flex-start;flex-wrap:wrap}.appointment-feature .btn{width:100%}.welcome-copy h2{font-size:1.55rem}.welcome-logo img{width:52px;height:52px}.section-title{margin-top:22px}.section-title h2{font-size:1.08rem}.split{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr 1fr}.admin-stat{padding:14px}.admin-stat .stat-icon{width:40px;height:40px}.admin-shortcuts{grid-template-columns:1fr 1fr}.item{padding:13px}.nav-label{font-size:.64rem}.nav-icon svg{width:24px;height:24px}.login-card{padding:23px 20px}.hide-mobile{display:none!important}}
@media(max-width:390px){.brand h1{max-width:185px}.admin-metrics{grid-template-columns:1fr}.admin-shortcuts{grid-template-columns:1fr 1fr}.welcome-row{padding-top:3px}.welcome-copy p{font-size:.88rem}}

.live-datetime{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;margin-right:12px;color:var(--ink);text-transform:capitalize}
.live-datetime strong{font-size:.78rem;line-height:1.1}.live-datetime span{font-size:.72rem;color:var(--muted);font-weight:700}
.quick-card,.hero-action,.text-btn,.appointment-feature .btn,.admin-stat,.admin-shortcuts button{cursor:pointer}
.quick-card:active,.admin-stat:active,.admin-shortcuts button:active{transform:scale(.985)}
@media(max-width:760px){.live-datetime{display:none}}


/* Navegación contextual: volver y actualizar */
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0 1px}
.page-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:15px;padding:10px 14px;background:#fff;color:var(--purple-dark);font-weight:850;box-shadow:var(--shadow-soft);cursor:pointer}
.page-tool-btn span{display:grid;place-items:center;width:22px;height:22px}
.page-tool-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-tool-btn:last-child{margin-left:auto;background:var(--purple-soft);color:var(--purple)}
.page-tool-btn:active{transform:scale(.98)}
.page-tool-btn:disabled{opacity:.65;cursor:wait}
.page-tool-btn.is-loading svg{animation:spin .8s linear infinite}
@media(max-width:760px){
  .page-toolbar{position:sticky;top:66px;z-index:18;margin:-3px -2px 14px;padding:8px 2px;background:linear-gradient(180deg,rgba(251,248,255,.98),rgba(251,248,255,.88));backdrop-filter:blur(10px)}
  .page-tool-btn{min-height:46px;padding:10px 13px;border-radius:14px;font-size:.84rem}
  .page-tool-btn span,.page-tool-btn svg{width:21px;height:21px}
}

/* V3.4: catálogo de beneficios configurable */
.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.benefit-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #eadff7;border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(69,38,112,.08)}
.benefit-card.is-disabled{opacity:.58}
.benefit-card-icon{width:50px;height:50px;border-radius:16px;background:#f0e8ff;color:#6c3bd1;display:grid;place-items:center;flex:0 0 50px}
.benefit-card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.benefit-card-content{min-width:0;flex:1}
.benefit-card strong{font-size:1rem;color:#251b38}
.benefit-card p{margin:6px 0 0;color:#766c83;line-height:1.45}
.benefit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:720px){.benefit-grid{grid-template-columns:1fr}.benefit-card{padding:16px}}


/* OneSignal / notificaciones */
.notify-btn{display:inline-flex;align-items:center;gap:8px;background:#f2eafe;color:#5b2aaa;border:1px solid #dcc9fb;font-weight:800;white-space:nowrap}
.notify-btn:hover{background:#e9dcfc}
.notify-btn.is-active{background:#e7f8f0;color:#087a54;border-color:#bcebd8}
.notify-btn.is-blocked{background:#fff0f1;color:#b42335;border-color:#ffd1d6}
.notify-dot{width:10px;height:10px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.13)}
.notify-btn.is-active .notify-dot{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.13)}
.notify-btn.is-blocked .notify-dot{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}
.notification-help{margin-top:10px;font-size:.9rem;color:#756d82}
@media(max-width:760px){
  .topbar{gap:8px;flex-wrap:wrap}
  .live-datetime{order:3;width:100%;text-align:left}
  .notify-btn{padding:10px 12px}
  #notificationsBtnText{font-size:.82rem}
}

/* V3.7: controles superiores y notificaciones */
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.notification-btn{display:inline-flex;align-items:center;gap:8px;background:#efe6ff;color:#6330b7;border:1px solid #dbc9fb;white-space:nowrap}
.notification-btn:disabled{opacity:.75;cursor:wait}
.notification-btn.is-active{background:#e4f8ef;color:#167c57;border-color:#bfead8}
.notification-btn.is-blocked{background:#fff0f1;color:#b33446;border-color:#f2c7ce}
.notification-dot{width:10px;height:10px;border-radius:50%;background:#f2a30b;flex:0 0 auto}
.notification-btn.is-active .notification-dot{background:#22a86f}
.notification-btn.is-blocked .notification-dot{background:#d94b5c}
@media(max-width:760px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar-actions{width:100%;justify-content:space-between;gap:8px}.notification-btn{font-size:.9rem;padding:10px 12px}.live-datetime{display:none}.topbar .secondary{margin-left:auto}}

/* V4.1: agenda inteligente, mejor legibilidad y acciones administrativas */
.brand h1{font-size:1.2rem;line-height:1.15;letter-spacing:-.01em;font-weight:900}
.item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:8px}
.slot-btn{border:1px solid #ded1f1;background:#fff;color:#3f2b5d;border-radius:16px;padding:12px 10px;text-align:center;box-shadow:var(--shadow-soft);cursor:pointer}
.slot-btn strong{display:block;font-size:1rem}.slot-btn span{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.slot-btn.selected{background:linear-gradient(135deg,#6d3cb8,#9d66dc);color:#fff;border-color:transparent}.slot-btn.selected span{color:#f6efff}
.scheduling-card textarea{min-height:92px}.agenda-settings{align-items:start}
@media(max-width:760px){.brand h1{font-size:1.08rem;max-width:none}.brand small{font-size:.76rem}.item-actions{width:100%;justify-content:stretch}.item-actions .btn{flex:1}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title h2{text-transform:none;font-size:1.14rem}.field label{font-size:.86rem}.btn{font-size:.9rem}.item strong{font-size:.94rem}.muted{font-size:.82rem}}

.upload-card{overflow:hidden}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.upload-option{display:flex;align-items:center;gap:12px;border:1.5px solid #ded2eb;border-radius:18px;padding:15px;background:linear-gradient(180deg,#fff,#fbf8ff);cursor:pointer;box-shadow:var(--shadow-soft)}.upload-option:active{transform:scale(.99)}.upload-option-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--purple-soft);color:var(--purple);flex:0 0 auto}.upload-option-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.upload-option strong,.upload-option small{display:block}.upload-option strong{font-size:.92rem}.upload-option small{font-size:.75rem;color:var(--muted);line-height:1.35;margin-top:3px}.camera-option .upload-option-icon{background:var(--mint-soft);color:var(--mint)}.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.selected-file{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:13px 15px;border-radius:15px;background:#f4edff;color:var(--purple-dark)}.selected-file span{font-size:.78rem;color:var(--muted)}.upload-status{min-height:22px;margin:8px 0 12px}@media(max-width:640px){.upload-actions{grid-template-columns:1fr}.upload-option{padding:14px}.upload-option strong{font-size:.98rem}.upload-option small{font-size:.79rem}}

/* V4.3: carga de archivos compatible con iPhone/Android */
.upload-option{font:inherit;text-align:left;width:100%;border:1.5px solid #ded2eb}
.native-file-fallback{margin:10px 0 4px;padding:12px;border:1px dashed #d9cce8;border-radius:15px;background:#fcfaff}
.native-file-fallback label{display:block;font-weight:700;font-size:.82rem;margin-bottom:7px;color:var(--purple-dark)}
.native-file-fallback input[type=file]{display:block;width:100%;font-size:.82rem;color:var(--muted)}
.camera-native-input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.coupon-code{display:inline-flex;margin-top:8px;padding:6px 10px;border-radius:10px;background:#f3ecff;color:#5f3a91;font-weight:800;letter-spacing:.06em;font-size:.85rem}.coupon-item{align-items:center}.item-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn[disabled]{opacity:.5;cursor:not-allowed}.pill.red{background:#fee2e2;color:#991b1b}.pill.amber{background:#fff4d6;color:#8a5a00}.pill.green{background:#dcfce7;color:#166534}@media(max-width:600px){.item-actions{width:100%;justify-content:flex-start}.item-actions .btn{flex:1;min-width:110px}.coupon-item{align-items:flex-start}}

/* V4.6: selector nativo invisible integrado dentro de botones visuales */
.upload-label{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none}
.upload-input-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:3!important;font-size:100px!important}
.upload-label:focus-within{outline:3px solid rgba(111,58,132,.18);outline-offset:2px}


/* V4.7: selector elegante con recuperación al volver desde Android/PWA */
.file-picker-accessible{position:fixed!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:.001!important;overflow:hidden!important}
.upload-option{appearance:none;-webkit-appearance:none;color:inherit}


/* V4.11: jerarquía visual profesional y paneles menos saturados */
.section-title{margin:28px 0 13px;padding:10px 14px;border:1px solid #dcccf4;border-radius:16px;background:linear-gradient(135deg,#f0e8ff,#faf6ff);box-shadow:0 5px 14px rgba(91,48,145,.07)}
.section-title h2{color:#4d1ea6;font-size:1.05rem;font-weight:900;letter-spacing:.005em}
.section-title .section-note{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:4px 9px;border-radius:999px;background:#fff;color:#6935ba;font-weight:850;border:1px solid #e2d6f4}
.subsection-title{display:flex;align-items:center;margin:22px 0 10px}
.subsection-title span{display:inline-flex;padding:8px 13px;border-radius:14px;background:#f1e9ff;color:#5423a8;font-weight:900;font-size:.92rem;border:1px solid #dfd1f3}
.archive-panel{margin-top:16px;border:1px solid #e2d7ef;border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}
.archive-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;color:#4d1ea6;font-weight:900;list-style:none;background:linear-gradient(180deg,#fff,#fbf8ff)}
.archive-panel summary::-webkit-details-marker{display:none}
.archive-panel summary:after{content:'▾';font-size:1rem;color:#7b55ad}
.archive-panel[open] summary:after{content:'▴'}
.archive-panel summary span{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 8px;border-radius:999px;background:#eee5fb;color:#5d2dad;font-size:.76rem}
.archive-list{padding:12px;border-top:1px solid #eee6f6;background:#fcfaff}
.compact-item{padding:11px 13px;box-shadow:none;background:#fff}
.compact-item strong{font-size:.86rem}.compact-item .muted{font-size:.78rem}
@media(max-width:760px){
  .section-title{margin:23px 0 11px;padding:9px 12px;border-radius:15px}
  .section-title h2{font-size:1rem!important}
  .archive-panel summary{padding:14px}
  .compact-item{align-items:flex-start}
}
.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.35}
.hidden{display:none!important}
#benefitEditorCard{scroll-margin-top:24px}

/* V4.13: experiencia más clara, profesional y menos saturada */
.section-title.major-heading{padding:15px 18px;border-radius:20px;background:linear-gradient(135deg,#5b27b8,#8c58d5);border:0;box-shadow:0 10px 24px rgba(86,39,171,.20)}
.section-title.major-heading h2{color:#fff;font-size:1.32rem;font-weight:950;letter-spacing:-.015em}
.section-title.major-heading .section-note{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.22)}
.primary-action-menu{margin:24px 0 8px;border-radius:24px;background:linear-gradient(135deg,#5a27b7,#9160d9);box-shadow:0 14px 30px rgba(83,37,166,.22);overflow:hidden;color:#fff}
.primary-action-menu>summary{display:flex;align-items:center;gap:14px;padding:19px 20px;cursor:pointer;list-style:none}
.primary-action-menu>summary::-webkit-details-marker{display:none}.primary-action-menu>summary>span:nth-child(2){flex:1}.primary-action-menu>summary strong,.primary-action-menu>summary small{display:block}.primary-action-menu>summary strong{font-size:1.08rem}.primary-action-menu>summary small{margin-top:3px;color:#eee5ff;font-size:.8rem}.primary-action-menu>summary b{font-size:1.4rem;transition:.2s}.primary-action-menu[open]>summary b{transform:rotate(180deg)}
.primary-action-icon{width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.16);display:grid;place-items:center}.primary-action-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.primary-action-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 13px 13px}.primary-action-options button{display:flex;align-items:center;gap:11px;padding:14px;border:0;border-radius:17px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 4px 12px rgba(38,21,61,.12)}.primary-action-options button>span:nth-child(2){flex:1}.primary-action-options strong,.primary-action-options small{display:block}.primary-action-options strong{font-size:.9rem}.primary-action-options small{font-size:.74rem;color:var(--muted);margin-top:3px;line-height:1.3}.primary-action-options b{color:var(--purple);font-size:1.2rem}
.appointment-overview{display:flex;align-items:center;gap:15px;padding:18px;border-radius:22px;margin-bottom:13px}.appointment-overview.has-appointments{background:linear-gradient(135deg,#f0e9ff,#fff);border:1px solid #ddcff4}.appointment-overview.no-appointments{background:linear-gradient(135deg,#fff4f9,#fff);border:1px solid #f0d6e4}.appointment-overview-icon{width:53px;height:53px;border-radius:17px;background:#fff;color:var(--purple);display:grid;place-items:center;box-shadow:var(--shadow-soft);flex:0 0 auto}.appointment-overview-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}.appointment-overview strong{display:block;font-size:1rem}.appointment-overview p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.4}.appointment-item{border-left:4px solid var(--purple)}.action-heading{margin-top:30px!important}
.document-intro{display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.document-intro>span{width:49px;height:49px;border-radius:15px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center}.document-intro svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.document-intro strong{display:block}.document-intro p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.document-heading{padding:12px 15px!important}.received-heading{background:linear-gradient(135deg,#eee7ff,#faf7ff)!important}.sent-heading{background:linear-gradient(135deg,#e8faf4,#f7fffc)!important;border-color:#cfeee3!important}.sent-heading h2{color:#187b5e!important}
.document-groups{display:grid;gap:10px}.document-category{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}.document-category>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;cursor:pointer;list-style:none;color:#4d1ea6;font-weight:900}.document-category>summary::-webkit-details-marker{display:none}.document-category>summary b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--purple-soft);font-size:.76rem}.document-category-list{padding:10px;border-top:1px solid var(--line);background:#fcfaff}
.upload-panel{margin-top:24px;border-radius:22px;background:linear-gradient(135deg,#5b27b8,#8d59d5);box-shadow:0 12px 28px rgba(82,37,164,.20);overflow:hidden}.upload-panel>summary{display:flex;align-items:center;gap:13px;padding:17px 18px;color:#fff;cursor:pointer;list-style:none}.upload-panel>summary::-webkit-details-marker{display:none}.upload-panel>summary>span:nth-child(2){flex:1}.upload-panel>summary strong,.upload-panel>summary small{display:block}.upload-panel>summary small{color:#eee5ff;margin-top:3px}.upload-summary-icon{width:45px;height:45px;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center}.upload-summary-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.upload-card-inside{border-radius:20px 20px 0 0;box-shadow:none;border:0;margin:0}
.interactive-benefits{grid-template-columns:1fr}.benefit-detail{display:block;padding:0;overflow:hidden}.benefit-detail>summary{display:flex;gap:14px;align-items:center;padding:17px 18px;cursor:pointer;list-style:none}.benefit-detail>summary::-webkit-details-marker{display:none}.benefit-detail>summary .benefit-card-content{flex:1}.benefit-detail>summary small{display:block;color:var(--purple);font-size:.75rem;font-weight:800;margin-top:4px}.benefit-detail>summary>b{color:var(--purple);font-size:1.25rem}.benefit-detail[open]>summary>b{transform:rotate(180deg)}.benefit-detail-body{padding:0 18px 18px 82px;border-top:1px solid #eee5f7}.benefit-detail-body p{margin:14px 0;line-height:1.55}.benefit-detail-body .btn{width:100%}
.today-heading{padding:18px 20px!important;border:0!important;background:linear-gradient(135deg,#c91d59,#f05284)!important;box-shadow:0 12px 26px rgba(201,29,89,.25)!important}.today-heading h2{color:#fff!important;font-size:1.55rem!important}.today-heading .section-note{background:#fff!important;color:#b41850!important;border:0!important}.today-kicker{display:block;color:#ffe3ee;font-size:.68rem;font-weight:950;letter-spacing:.14em;margin-bottom:3px}
@media(max-width:760px){.section-title.major-heading{padding:14px 15px}.section-title.major-heading h2{font-size:1.2rem!important}.primary-action-options{grid-template-columns:1fr}.appointment-overview{align-items:flex-start}.benefit-detail-body{padding:0 15px 16px}.today-heading h2{font-size:1.38rem!important}.document-intro{align-items:flex-start}}
/* Encabezados generales más visibles en toda la aplicación */
.section-title h2{font-size:1.16rem!important;line-height:1.2}
@media(max-width:760px){.section-title h2{font-size:1.08rem!important}.section-title.major-heading h2{font-size:1.2rem!important}.today-heading h2{font-size:1.38rem!important}}


/* V4.14: contacto directo por WhatsApp */
.whatsapp-contact-card{margin:18px 0 8px;display:flex;align-items:center;gap:16px;padding:19px 20px;border-radius:23px;background:linear-gradient(135deg,#eefcf4,#ffffff);border:1px solid #ccefd9;box-shadow:0 10px 24px rgba(29,135,78,.10)}
.whatsapp-contact-icon{width:54px;height:54px;flex:0 0 auto;border-radius:17px;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(37,211,102,.25)}
.whatsapp-contact-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-contact-copy{flex:1;min-width:0}.whatsapp-contact-copy>span{display:block;font-size:.69rem;letter-spacing:.12em;font-weight:900;color:#18854b;margin-bottom:4px}
.whatsapp-contact-copy h2{font-size:1.08rem;margin:0 0 4px;color:#20372a}.whatsapp-contact-copy p{margin:0;color:#65756b;font-size:.84rem;line-height:1.4}
.whatsapp-contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border-radius:15px;background:#25d366;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(37,211,102,.22)}
.whatsapp-contact-button:active{transform:translateY(1px)}
@media(max-width:760px){.whatsapp-contact-card{align-items:flex-start;flex-wrap:wrap;padding:17px}.whatsapp-contact-copy{width:calc(100% - 70px)}.whatsapp-contact-button{width:100%}}


/* V4.15: documentos diferenciados, menús plegables y jerarquía visual */
.primary-action-menu>summary strong{font-size:1.22rem;line-height:1.15}
.primary-action-menu>summary small{font-size:.84rem;line-height:1.35;margin-top:4px}
.primary-action-options strong{font-size:1rem}
.primary-action-options small{font-size:.8rem}
.document-direction-panel{margin-top:14px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.document-direction-panel>summary{display:flex;align-items:center;gap:13px;padding:17px 18px;cursor:pointer;list-style:none}
.document-direction-panel>summary::-webkit-details-marker{display:none}
.document-direction-panel>summary>span:nth-child(2){flex:1;min-width:0}
.document-direction-panel>summary strong,.document-direction-panel>summary small{display:block}
.document-direction-panel>summary strong{font-size:1.02rem;color:var(--ink)}
.document-direction-panel>summary small{font-size:.78rem;color:var(--muted);margin-top:4px;line-height:1.35}
.document-direction-panel>summary>b{min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-size:.8rem}
.direction-panel-icon{width:46px;height:46px;flex:0 0 auto;border-radius:15px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple)}
.direction-panel-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}
.document-direction-body{padding:12px;border-top:1px solid var(--line);background:#fcfbff}
.received-panel>summary,.doctor-sent-panel>summary{background:linear-gradient(135deg,#f1ebff,#fff)}
.sent-panel>summary,.patient-sent-panel>summary{background:linear-gradient(135deg,#eafaf4,#fff)}
.sent-panel .direction-panel-icon,.patient-sent-panel .direction-panel-icon{background:#ddf6eb;color:#187b5e}
.sent-panel>summary>b,.patient-sent-panel>summary>b{background:#ddf6eb;color:#187b5e}
.whatsapp-contact-icon svg{fill:none;stroke:currentColor;stroke-width:1.75}
.whatsapp-contact-copy h2{font-size:1.28rem;font-weight:950;line-height:1.15;margin:0 0 6px;color:#173d2a}
.whatsapp-contact-copy p{font-size:.86rem;line-height:1.48}
@media(max-width:760px){
  .primary-action-menu>summary strong{font-size:1.16rem}
  .primary-action-menu>summary small{font-size:.8rem}
  .primary-action-options strong{font-size:.98rem}
  .document-direction-panel>summary{padding:15px}
  .document-direction-panel>summary strong{font-size:.98rem}
  .whatsapp-contact-copy h2{font-size:1.2rem}
}

/* Encabezado visual BernardHealth: imagen de atención domiciliaria */
.topbar{
  min-height:132px;
  padding:18px 22px;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 38%,rgba(255,255,255,.56) 66%,rgba(255,255,255,.18) 100%),
    url("assets/header-home-care.webp");
  background-size:cover;
  background-position:center 43%;
  background-repeat:no-repeat;
  box-shadow:0 8px 24px rgba(67,37,105,.10);
}
.topbar .brand{
  position:relative;
  z-index:1;
  padding:8px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 4px 18px rgba(62,32,98,.08);
  backdrop-filter:blur(8px);
}
.topbar .brand img.brand-logo{
  width:64px;
  height:64px;
  box-shadow:0 5px 16px rgba(72,37,116,.14);
}
.topbar .brand h1{
  font-size:1.28rem;
}
.topbar-actions{
  position:relative;
  z-index:1;
  padding:9px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 4px 18px rgba(62,32,98,.08);
  backdrop-filter:blur(10px);
}
.topbar .btn{
  box-shadow:0 3px 10px rgba(64,36,98,.08);
}
@media(max-width:760px){
  .topbar{
    min-height:154px;
    padding:13px 14px;
    background-position:61% center;
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 58%,rgba(255,255,255,.40) 100%),
      url("assets/header-home-care.webp");
  }
  .topbar .brand{
    max-width:100%;
    padding:7px 10px;
  }
  .topbar .brand img.brand-logo{
    width:56px;
    height:56px;
  }
  .topbar .brand h1{
    font-size:1.12rem;
  }
  .topbar-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:8px;
    padding:8px;
  }
  .notification-btn{
    max-width:calc(100vw - 104px);
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* Ajuste visual del encabezado: fondo más visible y acciones sin globo blanco */
.topbar{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.58) 34%,rgba(255,255,255,.18) 62%,rgba(255,255,255,.03) 100%),
    url("assets/header-home-care.webp");
  background-position:center 43%;
}
.topbar-actions{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
}
.topbar-actions .btn,
.topbar-actions .live-datetime{
  background:rgba(255,255,255,.86);
  border-radius:14px;
  backdrop-filter:blur(8px);
}
.topbar-actions .btn{box-shadow:0 3px 12px rgba(64,36,98,.10)}
.topbar-actions .live-datetime{padding:8px 10px}
.topbar .brand{background:rgba(255,255,255,.58);backdrop-filter:blur(6px)}

/* Indicador discreto de deslizar para actualizar */
.pull-refresh-indicator{
  position:fixed;
  left:50%;
  top:12px;
  z-index:1000;
  transform:translate(-50%,-80px);
  opacity:0;
  pointer-events:none;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--purple-dark);
  font-weight:850;
  font-size:.82rem;
  box-shadow:0 8px 24px rgba(62,32,98,.16);
  transition:transform .18s ease,opacity .18s ease;
}
.pull-refresh-indicator.visible{opacity:1;transform:translate(-50%,0)}
.pull-refresh-indicator.refreshing .pull-refresh-icon{animation:pullSpin .8s linear infinite}
.pull-refresh-icon{font-size:1rem;display:inline-block}
@keyframes pullSpin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .topbar{
    background-position:67% center;
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.64) 48%,rgba(255,255,255,.18) 78%,rgba(255,255,255,.03) 100%),
      url("assets/header-home-care.webp");
  }
  .topbar-actions{padding:0!important}
  .topbar-actions .live-datetime{display:none}
}

.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.76rem;line-height:1.35}
.admin-whatsapp-card{margin:15px 0 18px;padding:18px;border-radius:22px;border:1px solid rgba(35,169,124,.22);background:linear-gradient(135deg,#f4fff9 0%,#ffffff 70%);box-shadow:var(--shadow-soft)}
.admin-whatsapp-copy{display:flex;align-items:center;gap:13px}.admin-whatsapp-copy small{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#17825f;margin-bottom:3px}.admin-whatsapp-copy strong{display:block;font-size:1.08rem;color:var(--ink)}.admin-whatsapp-copy span:not(.admin-whatsapp-icon){display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.admin-whatsapp-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#e4f8ef;color:#15956a;flex:0 0 auto}.admin-whatsapp-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.admin-whatsapp-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.whatsapp-admin-btn{background:#19a76f;color:#fff;border:0}.whatsapp-admin-btn:hover{filter:brightness(.96)}.whatsapp-admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-whatsapp-editor{margin-top:14px;padding-top:14px;border-top:1px solid rgba(35,169,124,.18)}
@media(max-width:640px){.admin-whatsapp-actions .btn{flex:1 1 100%}.admin-whatsapp-copy{align-items:flex-start}}

/* V4.19 · Selector múltiple de días para horarios semanales */
.field-full{grid-column:1/-1}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:.76rem;line-height:1.35}.weekday-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.weekday-option{position:relative;cursor:pointer;margin:0!important}.weekday-option input{position:absolute;opacity:0;pointer-events:none}.weekday-option span{display:flex;align-items:center;justify-content:center;min-height:43px;padding:9px 10px;border:1px solid #ddd3e8;border-radius:13px;background:#fff;color:var(--ink);font-size:.8rem;font-weight:800;transition:.18s ease}.weekday-option input:checked+span{border-color:var(--purple);background:linear-gradient(135deg,var(--purple-dark),#d84f9b);color:#fff;box-shadow:0 6px 14px rgba(113,55,207,.18)}.weekday-option input:focus-visible+span{outline:3px solid rgba(113,55,207,.18);outline-offset:2px}@media(max-width:620px){.weekday-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V4.21 - tarjetas visuales para cupones y campañas */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:24px}.promo-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}.promo-image{display:block;width:100%;height:190px;object-fit:cover;background:#f4effc}.promo-card-body{display:flex;flex-direction:column;gap:10px;padding:18px}.promo-card-body h3{margin:0;font-size:1.08rem}.promo-card-body p{margin:0;color:var(--muted);line-height:1.5}.promo-card-body small{color:var(--muted)}.promo-card-body .pill{align-self:flex-start}.promo-card-body .btn{margin-top:4px}.promo-label{align-self:flex-start;padding:5px 9px;border-radius:999px;background:var(--purple-soft);color:var(--purple-dark);font-size:.72rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.admin-promos .promo-image{height:150px}@media(max-width:600px){.promo-grid{grid-template-columns:1fr}.promo-image{height:180px}}

/* V4.22 Agenda semanal y cancelación de citas */
.weekly-agenda-card{padding:18px}.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.week-toolbar>div{text-align:center}.week-toolbar strong{display:block;font-size:1.05rem}.week-today-link{border:0;background:transparent;color:var(--purple);font-weight:800;margin-top:4px;cursor:pointer}.weekly-agenda-grid{display:grid;gap:12px}.week-day-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.week-day-card.is-today{border:2px solid var(--purple);box-shadow:var(--shadow-soft)}.week-day-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--purple-soft);text-transform:capitalize}.week-day-heading span{font-size:.78rem;color:var(--muted)}.compact-week-list{padding:8px}.compact-empty{padding:10px!important}.admin-agenda-panel,.emergency-block-panel{margin-top:18px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.admin-agenda-panel>summary,.emergency-block-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-weight:850;cursor:pointer;list-style:none}.admin-agenda-panel>summary::-webkit-details-marker,.emergency-block-panel>summary::-webkit-details-marker{display:none}.admin-agenda-panel>summary b{background:var(--purple-soft);color:var(--purple);border-radius:999px;padding:5px 10px}.admin-agenda-panel-body,.emergency-block-body{padding:0 18px 18px}.emergency-block-panel{border:2px solid #e75469}.emergency-block-panel>summary{background:linear-gradient(135deg,#c72f47,#e75469);color:#fff;font-size:1rem}.emergency-block-body{padding-top:16px}.appointment-actions{display:flex;align-items:flex-end;gap:8px;flex-direction:column}.cancel-appointment-panel{min-width:170px}.cancel-appointment-panel>summary{cursor:pointer;color:var(--rose);font-weight:800;font-size:.8rem}.cancel-appointment-body{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:8px}.cancel-appointment-body select,.cancel-appointment-body textarea{width:100%}@media(max-width:700px){.week-toolbar{flex-wrap:wrap}.week-toolbar>div{order:-1;width:100%}.week-toolbar .btn{flex:1}.appointment-item{align-items:flex-start}.appointment-actions{width:100%;align-items:stretch}.cancel-appointment-panel{width:100%}}

/* V4.23 - Acabado visual profesional */
.admin-agenda-panel>summary{background:linear-gradient(135deg,#ffd55c,#f4b928);color:#4b3700;border-bottom:1px solid rgba(121,86,0,.12)}
.admin-agenda-panel>summary b{background:rgba(255,255,255,.68);color:#5a4100}
.emergency-block-panel>summary{justify-content:center;text-align:center;font-size:1.05rem;letter-spacing:.01em}
.emergency-block-panel>summary:after{display:none}
.archive-panel>summary{background:linear-gradient(135deg,#10294f,#173e73);color:#fff}
.archive-panel>summary span{background:rgba(255,255,255,.17);color:#fff}
.archive-panel>summary:after{color:#fff}
.whatsapp-contact-card{background:linear-gradient(135deg,#f0fff5,#ffffff);border-color:#bde9cb}
.whatsapp-contact-button{background:#25d366!important;color:#fff!important;border:0!important;box-shadow:0 9px 20px rgba(37,211,102,.25)!important}
.document-direction-panel.received-panel>summary{background:linear-gradient(135deg,#fff0fa,#fff);border-bottom:1px solid #f4cbe6}
.received-panel .direction-panel-icon{background:#ffe1f3;color:#d3298f}
.received-panel>summary>b{background:#ffe1f3!important;color:#c32182!important}
.appointment-upcoming-list{display:grid;gap:13px}
.appointment-patient-card{display:flex;gap:15px;background:#fff;border:1px solid #e8def2;border-radius:22px;padding:16px;box-shadow:0 8px 22px rgba(65,37,103,.08)}
.appointment-date-column{width:58px;height:68px;border-radius:17px;background:linear-gradient(145deg,#7137cf,#df4aa9);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 8px 18px rgba(113,55,207,.22)}
.appointment-date-column .appointment-day{font-size:1.45rem;font-weight:950;line-height:1}.appointment-date-column small{text-transform:uppercase;font-weight:850;margin-top:4px;font-size:.68rem}
.appointment-patient-content{flex:1;min-width:0}.appointment-patient-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.appointment-patient-top h3{margin:2px 0 5px;font-size:1.02rem}.appointment-patient-top p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.4}
.patient-cancel-card{margin-top:12px;border-top:1px solid #eee7f5;padding-top:10px}.patient-cancel-card>summary{list-style:none;cursor:pointer;color:#b92f49;font-size:.78rem;font-weight:850}.patient-cancel-card>summary::-webkit-details-marker{display:none}.patient-cancel-card>summary:before{content:'×';display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border-radius:50%;background:#fff0f2;color:#c8334d}
.scheduling-card{border:1px solid #e0d3f2;background:linear-gradient(180deg,#fff,#fcf9ff);border-radius:24px;padding:20px;box-shadow:0 12px 28px rgba(78,39,126,.10)}
.scheduling-card-heading{display:flex;gap:13px;align-items:center;margin-bottom:18px}.scheduling-card-heading>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#eee5ff,#ffe3f4);color:#7137cf}.scheduling-card-heading svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.scheduling-card-heading h3{margin:0 0 4px}.scheduling-card-heading p{margin:0;color:var(--muted);font-size:.82rem}
.appointment-submit-btn{min-height:50px;border-radius:16px;background:linear-gradient(135deg,#7137cf,#d83f9d)!important;box-shadow:0 10px 22px rgba(113,55,207,.22)}
@media(max-width:700px){.appointment-patient-card{padding:14px;gap:12px}.appointment-date-column{width:52px;height:62px}.appointment-patient-top{display:block}.appointment-patient-top .pill{display:inline-flex;margin-top:8px}.scheduling-card{padding:16px}.whatsapp-contact-button{width:100%}}

/* V4.24 - Experiencia profesional para pacientes */
.patient-appointments-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:26px;background:linear-gradient(135deg,#f3ecff 0%,#fff 55%,#ffeaf7 100%);border:1px solid #e6d8f6;box-shadow:var(--shadow-soft);margin-bottom:18px}.patient-appointments-hero h2{margin:3px 0 7px;font-size:1.65rem;letter-spacing:-.03em}.patient-appointments-hero p{margin:0;color:var(--muted);line-height:1.45}.patient-appointments-hero-icon{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7137cf,#dc429f);box-shadow:0 12px 25px rgba(113,55,207,.24);flex:0 0 auto}.patient-appointments-hero-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.8}
.appointment-booking-card{background:#fff;border:1px solid #e8def2;border-radius:26px;padding:22px;box-shadow:0 14px 32px rgba(65,37,103,.09)}.booking-step{display:flex;align-items:center;gap:12px;margin-bottom:14px}.booking-step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7137cf,#d83f9d);color:#fff;font-weight:950;box-shadow:0 7px 16px rgba(113,55,207,.2)}.booking-step h3{margin:0 0 3px;font-size:1.05rem}.booking-step p{margin:0;color:var(--muted);font-size:.82rem}.booking-divider{height:1px;background:linear-gradient(90deg,transparent,#e8def2,transparent);margin:21px 0}.appointment-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.appointment-type-option{border:1px solid #e5daf1;background:#fff;border-radius:18px;padding:15px 12px;text-align:left;cursor:pointer;transition:.18s ease;color:var(--ink)}.appointment-type-option span{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);margin-bottom:10px}.appointment-type-option span svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.appointment-type-option strong,.appointment-type-option small{display:block}.appointment-type-option strong{font-size:.9rem;margin-bottom:4px}.appointment-type-option small{font-size:.72rem;color:var(--muted);line-height:1.3}.appointment-type-option.selected{border:2px solid #9e58da;background:linear-gradient(145deg,#f6f0ff,#fff7fb);box-shadow:0 8px 20px rgba(113,55,207,.11)}.appointment-type-option.selected span{background:linear-gradient(135deg,#7137cf,#d83f9d);color:#fff}.premium-date-field input{min-height:50px;border-radius:15px}.premium-slot-grid{margin-top:5px}.premium-booking-submit{min-height:54px;border-radius:17px;font-size:1rem;background:linear-gradient(135deg,#7137cf,#d83f9d)!important;box-shadow:0 11px 24px rgba(113,55,207,.23);margin-top:7px}.appointments-list-heading{margin-top:28px!important}.patient-appointments-list{display:grid;gap:13px}.patient-appointment-premium{display:flex;gap:14px;padding:17px;background:#fff;border:1px solid #e8def2;border-radius:22px;box-shadow:0 8px 21px rgba(65,37,103,.07)}.appointment-date-badge{width:60px;height:70px;border-radius:18px;background:linear-gradient(145deg,#7137cf,#df4aa9);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.appointment-date-badge strong{font-size:1.5rem;line-height:1}.appointment-date-badge span{text-transform:capitalize;font-size:.72rem;font-weight:850;margin-top:5px}.appointment-premium-main{flex:1;min-width:0}.appointment-premium-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.appointment-type-label{font-size:.75rem;color:var(--purple);font-weight:900}.appointment-premium-heading h3{margin:4px 0 0;font-size:1.18rem}.appointment-reason{margin:9px 0 12px;color:var(--muted);font-size:.84rem;line-height:1.45}.appointment-premium-actions{display:flex;justify-content:flex-end}.btn.danger-soft{background:#fff2f4;color:#be2940;border:1px solid #f1c5cc;box-shadow:none}.cancel-appointment-box{margin-top:13px;padding:15px;border-radius:17px;background:#fff8f9;border:1px solid #f3ced4}.cancel-actions{display:flex;gap:9px;justify-content:flex-end}.cancel-actions .btn{min-width:120px}.appointment-empty-state span{display:grid;place-items:center;margin:0 auto 8px;color:var(--purple)}.appointment-empty-state span svg{width:32px;height:32px;fill:none;stroke:currentColor}.appointment-empty-state strong,.appointment-empty-state p{display:block}.appointment-empty-state p{margin:5px 0 0;color:var(--muted)}
.document-intro{background:linear-gradient(135deg,#f3ecff,#fff 58%,#ffeaf7);border:1px solid #e5d8f3}.upload-panel{border:1px solid #f0c6e2;box-shadow:0 10px 25px rgba(211,41,143,.09)}.upload-panel>summary{background:linear-gradient(135deg,#fff0fa,#fff)}.upload-panel>summary strong{color:#b51a78}.upload-summary-icon{background:#ffe2f3!important;color:#d3298f!important}.upload-option{border:1px solid #eadff2!important;background:#fff!important}.upload-option:hover{border-color:#cf57a6!important;background:#fff7fb!important}.upload-card #uploadPatientDocBtn{background:linear-gradient(135deg,#d3298f,#f052aa)!important;color:#fff!important;box-shadow:0 10px 22px rgba(211,41,143,.23)!important;min-height:50px;border-radius:16px}.received-panel .btn.secondary{background:#d3298f;color:#fff;border-color:#d3298f}.sent-panel .btn.secondary{background:#7137cf;color:#fff;border-color:#7137cf}
.cancellation-alert-title{display:flex;align-items:center;justify-content:space-between;background:#fff1f3;border:1px solid #f0c3ca;border-radius:16px;padding:13px 15px!important}.cancellation-alert-title span{color:#a91f35!important;font-weight:900}.cancellation-alert-title b{background:#c72f47;color:#fff;min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center}.cancellation-alert-item{border-left:4px solid #d63d55}.alert-dot-red{width:12px;height:12px;border-radius:50%;background:#d63d55;box-shadow:0 0 0 5px #ffe6ea;flex:0 0 auto}
@media(max-width:760px){.patient-appointments-hero{padding:20px;align-items:flex-start}.patient-appointments-hero h2{font-size:1.42rem}.patient-appointments-hero-icon{width:56px;height:56px}.appointment-booking-card{padding:17px}.appointment-type-grid{grid-template-columns:1fr}.appointment-type-option{display:grid;grid-template-columns:42px 1fr;column-gap:11px;align-items:center}.appointment-type-option span{grid-row:1/3;margin:0}.appointment-type-option strong,.appointment-type-option small{grid-column:2}.patient-appointment-premium{padding:14px}.appointment-date-badge{width:54px;height:65px}.appointment-premium-heading{display:block}.appointment-premium-heading .pill{display:inline-flex;margin-top:8px}.appointment-premium-actions{justify-content:stretch}.cancel-appointment-trigger{width:100%}.cancel-actions{flex-direction:column}.cancel-actions .btn{width:100%}}

/* V4.25 ajustes finales */
.upload-panel-celeste>summary{background:linear-gradient(135deg,#e9f8ff,#f7fcff);border:1px solid #bfe7f7;color:#176b87}.upload-panel-celeste>summary .upload-summary-icon{background:#dff5ff;color:#1698c1}.upload-exams-celeste{background:linear-gradient(135deg,#27b6df,#54c9e8)!important;color:#fff!important;box-shadow:0 10px 22px rgba(39,182,223,.24)!important}.upload-exams-celeste:disabled{opacity:.55}.appointment-type-option span svg{display:block}


/* V4.26 — Acción principal para envío de información médica */
.upload-panel-celeste{
  border:0!important;
  border-radius:25px!important;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(25,151,197,.24)!important;
}
.upload-panel-celeste>summary{
  min-height:118px;
  padding:22px 24px!important;
  justify-content:center;
  text-align:center;
  background:linear-gradient(135deg,#dff7ff 0%,#63cdeb 48%,#159bc8 100%)!important;
  color:#073f57!important;
  border:0!important;
  position:relative;
}
.upload-panel-celeste>summary>span:nth-child(2){flex:0 1 auto!important;text-align:center}
.upload-panel-celeste>summary strong{
  font-size:1.28rem!important;
  line-height:1.15;
  letter-spacing:.055em;
  font-weight:950!important;
  color:#063b52!important;
}
.upload-panel-celeste>summary small{
  margin-top:7px!important;
  font-size:.83rem!important;
  color:#0b536d!important;
  font-weight:750;
}
.upload-panel-celeste>summary>b{position:absolute;right:20px;font-size:1.45rem;color:#07506c}
.upload-panel-celeste>summary .upload-summary-icon{
  width:62px!important;height:62px!important;border-radius:19px!important;
  background:rgba(255,255,255,.88)!important;color:#159bc8!important;
  box-shadow:0 9px 22px rgba(7,80,108,.18);
}
.upload-panel-celeste>summary .upload-summary-icon svg{width:34px!important;height:34px!important;stroke-width:2!important}
.upload-panel-celeste[open]>summary{border-radius:25px 25px 0 0!important}
.premium-slot-grid .empty strong,.premium-slot-grid .empty span{display:block}
.premium-slot-grid .empty span{margin-top:5px;color:var(--muted);font-size:.82rem}
@media(max-width:600px){
  .upload-panel-celeste>summary{min-height:108px;padding:18px 16px!important;gap:12px!important}
  .upload-panel-celeste>summary strong{font-size:1.12rem!important}
  .upload-panel-celeste>summary .upload-summary-icon{width:56px!important;height:56px!important}
}

/* V4.27: centrado preciso del panel de ingreso y registro */
#loginView.login-wrap{
  width:100%;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  margin:0;
}
#loginView .login-card{
  width:min(430px,100%);
  margin:auto;
  flex:0 1 430px;
}
@media(max-width:760px){
  #loginView.login-wrap{
    min-height:100dvh;
    padding:18px 14px;
  }
  #loginView .login-card{
    width:100%;
    max-width:430px;
    margin:auto;
  }
}

/* V4.28 - Cancelación de citas funcional y visible */
.appointment-premium-actions{justify-content:center!important;margin-top:12px}
.cancel-appointment-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-width:220px;min-height:48px;padding:12px 22px!important;border-radius:16px!important;font-size:.98rem!important;font-weight:900!important;letter-spacing:.01em}
.cancel-circle-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d93249;color:#fff;font-size:1.12rem;line-height:1;font-weight:950;flex:0 0 auto;box-shadow:0 5px 12px rgba(217,50,73,.25)}
.admin-cancellation-banner{margin:18px 0;padding:18px;border:2px solid #e75469;border-radius:22px;background:linear-gradient(145deg,#fff5f6,#fff);box-shadow:0 10px 24px rgba(199,47,71,.1)}
.admin-cancellation-banner-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.admin-cancellation-banner-head strong,.admin-cancellation-banner-head small{display:block}.admin-cancellation-banner-head strong{font-size:1.05rem;color:#a92138}.admin-cancellation-banner-head small{margin-top:3px;color:var(--muted)}
.admin-cancellation-banner-list{display:grid;gap:8px;margin-bottom:13px}.admin-cancellation-banner-list>div{padding:10px 12px;border-radius:13px;background:#fff;border:1px solid #f3d3d8}.admin-cancellation-banner-list b,.admin-cancellation-banner-list span{display:block}.admin-cancellation-banner-list span{margin-top:3px;font-size:.8rem;color:var(--muted)}
@media(max-width:760px){.cancel-appointment-trigger{width:100%;min-width:0}.admin-cancellation-banner .btn{width:100%}}

/* V4.29 — Cancelación desplegable y alertas internas */
.cancel-appointment-details{margin-top:14px;border:1px solid #ffd2d8;border-radius:18px;background:#fff7f8;overflow:hidden}
.cancel-appointment-details>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;color:#b91c35;font-weight:900;font-size:1rem;cursor:pointer;text-align:center}
.cancel-appointment-details>summary::-webkit-details-marker{display:none}
.cancel-appointment-details>summary b{margin-left:auto;font-size:1rem}
.cancel-appointment-details[open]>summary{border-bottom:1px solid #ffd2d8;background:#fff0f2}
.cancel-appointment-details .cancel-circle-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d92948;color:#fff;font-size:1rem;line-height:1}
.cancel-appointment-details .cancel-appointment-box{padding:16px;background:#fff}
.cancel-appointment-details .cancel-actions{justify-content:center}
.cancel-appointment-details .cancel-actions .btn{min-width:220px;font-size:1rem;font-weight:900}
.cancellation-alert-details{margin:0 0 18px;border:1px solid #ffcbd4;border-radius:20px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}
.cancellation-alert-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;background:linear-gradient(135deg,#fff0f3,#fff8fa);color:#a91d34;cursor:pointer}
.cancellation-alert-details>summary::-webkit-details-marker{display:none}
.cancellation-alert-details>summary>span{display:flex;align-items:center;gap:10px}
.cancellation-alert-details>summary strong{font-size:1.04rem;letter-spacing:-.01em}
.cancellation-alert-details>summary b{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:38px;font-size:.95rem;font-weight:900;background:#fff;border:1px solid #ffcbd4;border-radius:999px;padding:0 12px;color:#a91d34;box-shadow:0 4px 10px rgba(169,29,52,.10)}
.cancellation-alert-details .cancel-circle-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d92747,#ef5778);color:#fff;box-shadow:0 8px 16px rgba(217,39,71,.24)}.cancellation-alert-details .cancel-circle-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cancellation-alert-details .cancellation-alert-list{padding:12px}
@media(max-width:760px){.cancel-appointment-details .cancel-actions .btn{width:100%;min-width:0}.cancellation-alert-details>summary{align-items:flex-start}.cancellation-alert-details>summary b{white-space:nowrap}}

/* V4.30 — Alertas y archivo administrativo */
.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f7f8fb;border-bottom:1px solid var(--line)}
.archive-toolbar p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.archive-history-btn{white-space:nowrap;background:#12345b!important;color:#fff!important;border-color:#12345b!important}
.archive-cancel-btn{margin-left:auto;white-space:nowrap}
.cancellation-alert-item .item-main{flex:1;min-width:0}
@media(max-width:760px){.archive-toolbar{align-items:stretch;flex-direction:column}.archive-history-btn,.archive-cancel-btn{width:100%;margin-left:0}.cancellation-alert-item{align-items:stretch;flex-direction:column}.cancellation-alert-item .alert-dot-red{display:none}}

.medical-doc-builder{margin:18px 0;border:1px solid #ded4f2;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#fbf8ff 60%,#f5eeff 100%);box-shadow:var(--shadow-soft);overflow:hidden}.medical-doc-builder>summary{display:flex;align-items:center;gap:14px;padding:20px;cursor:pointer;list-style:none}.medical-doc-builder>summary::-webkit-details-marker{display:none}.medical-doc-builder>summary span:nth-child(2){flex:1}.medical-doc-builder>summary strong{display:block;font-size:1.06rem}.medical-doc-builder>summary small{display:block;color:var(--muted);margin-top:4px}.medical-doc-builder-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#7137cf,#ee168f);color:#fff}.medical-doc-builder-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.medical-doc-builder-body{padding:0 20px 22px}.medical-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.medical-form-section{margin-top:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}.medical-doc-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.verify-logo{width:96px;height:96px;object-fit:contain}.verify-card{margin-top:18px;padding:20px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.verify-card>*{display:block;margin:6px 0}@media(max-width:640px){.medical-doc-grid{grid-template-columns:1fr}.medical-doc-actions .btn{width:100%}}
.prescription-patient-meta{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f7fbff,#f3edff)}
.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input{flex:1}.input-with-unit span{font-weight:800;color:var(--purple);background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:12px}

/* V4.37 — Orden de laboratorios con matriz clínica */
.medical-doc-builder,.medical-doc-builder input,.medical-doc-builder select,.medical-doc-builder textarea,.medical-doc-builder button{font-family:"Avenir Next",Inter,"Segoe UI",system-ui,sans-serif}
.lab-order-section{background:linear-gradient(155deg,#ffffff 0%,#fbf9ff 55%,#f6f1ff 100%);padding:20px}
.lab-order-title{margin:0 0 16px}.lab-order-title h3{font-size:1.35rem;margin:2px 0 4px;letter-spacing:-.025em}.lab-order-title p{margin:0;color:var(--muted);font-size:.86rem}
.lab-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.lab-group-card{border:1px solid #e3d9f2;background:#fff;border-radius:18px;padding:14px;box-shadow:0 5px 16px rgba(74,43,108,.06)}
.lab-group-title{font-weight:900;color:#5530a6;margin-bottom:10px;font-size:.93rem;letter-spacing:-.01em}
.lab-check-grid{display:grid;gap:8px}.lab-check{display:flex;align-items:flex-start;gap:9px;padding:8px 9px;border-radius:11px;cursor:pointer;transition:.15s ease}.lab-check:hover{background:#f8f3ff}.lab-check input{width:18px;height:18px;min-height:0;margin:1px 0 0;accent-color:#7a3fd0;flex:0 0 auto}.lab-check span{font-size:.86rem;line-height:1.3;color:#332a40}
.lab-special-box{margin-top:14px;padding:15px;border-radius:17px;border:1px solid #cfe7f4;background:linear-gradient(135deg,#f6fcff,#f7f3ff)}
.lab-order-meta{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.lab-order-meta>.field:first-child{max-width:280px}
@media(max-width:720px){.lab-matrix{grid-template-columns:1fr}.lab-order-section{padding:15px}.lab-group-card{padding:13px}}

/* V5.1 · Mi Familia */
.family-context-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 16px;border-radius:20px;background:linear-gradient(135deg,#f1eaff,#fff5fb);border:1px solid #e2d3f4;box-shadow:var(--shadow-soft)}.family-context-bar small,.family-context-bar strong,.family-context-bar span{display:block}.family-context-bar small{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:var(--purple)}.family-context-bar strong{font-size:1.05rem;margin-top:3px}.family-context-bar span{font-size:.78rem;color:var(--muted);margin-top:2px}.family-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:27px;background:linear-gradient(135deg,#5b25bd,#9b57d4 58%,#e45aa8);color:#fff;box-shadow:0 18px 38px rgba(91,39,176,.22);margin-bottom:18px}.family-hero h2{margin:4px 0 7px;font-size:1.75rem}.family-hero p{margin:0;max-width:690px;line-height:1.5;color:#f8f0ff}.family-hero>span{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:0 0 auto}.family-hero>span svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8}.family-members-grid{display:grid;gap:13px}.family-member-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}.family-member-card.active{border:2px solid #9c5adb;background:linear-gradient(145deg,#faf7ff,#fff7fb)}.family-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--purple);background:var(--purple-soft);flex:0 0 auto}.family-avatar svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.family-member-card>div:nth-child(2){flex:1;min-width:0}.family-member-card strong,.family-member-card span,.family-member-card small{display:block}.family-member-card span{color:var(--purple);font-size:.78rem;font-weight:850;margin-top:3px}.family-member-card small{color:var(--muted);margin-top:4px;line-height:1.35}.family-card-actions{display:flex;gap:8px;align-items:center}.family-add-panel{margin-top:18px;border:1px solid #e4d7f2;border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}.family-add-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;cursor:pointer;list-style:none}.family-add-panel>summary strong,.family-add-panel>summary small{display:block}.family-add-panel>summary small{color:var(--muted);margin-top:3px}.family-add-body{padding:0 18px 18px}.family-count{display:block;color:var(--purple);margin-top:5px;font-size:.74rem}.admin-family-selector{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:18px;border:1px solid #dfd1ef;border-radius:22px;background:linear-gradient(135deg,#f5efff 0%,#fff7fb 62%,#fff 100%);box-shadow:var(--shadow-soft)}.admin-family-copy{flex:1;min-width:0}.admin-family-selector h3{margin:4px 0 3px;font-size:1.2rem;letter-spacing:-.02em}.admin-family-selector p{margin:0;color:var(--muted);font-size:.88rem}.admin-family-picker{position:relative;min-width:280px;max-width:420px;width:100%;background:#fff;border:1px solid #e2d5f2;border-radius:18px;padding:12px 14px;box-shadow:0 8px 18px rgba(93,41,177,.07)}.admin-family-picker label{display:block;margin:0 0 8px;color:var(--purple-dark);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-family-picker:after{content:'⌄';position:absolute;right:18px;bottom:25px;color:var(--purple);font-weight:900;font-size:1rem;pointer-events:none}.admin-family-selector select{appearance:none;-webkit-appearance:none;min-width:0;max-width:none;width:100%;min-height:52px;padding:12px 40px 12px 14px;border:1px solid #d7c6ed;border-radius:14px;background:linear-gradient(180deg,#fff,#fbf8ff);color:var(--ink);font-weight:800}.admin-family-selector select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(113,55,207,.10)}
@media(max-width:700px){.family-member-card{align-items:flex-start;flex-wrap:wrap}.family-card-actions{width:100%}.family-card-actions .btn{flex:1}.family-context-bar{align-items:flex-start}.family-hero{align-items:flex-start}.family-hero>span{width:56px;height:56px}.admin-family-selector{display:block}.admin-family-picker{margin-top:12px;max-width:none}.admin-family-selector select{max-width:none;width:100%}}

.alert-all-clear{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:86px}.alert-all-clear strong{display:block;color:var(--ink);font-size:1.14rem;letter-spacing:-.015em}.alert-all-clear span{display:block;color:var(--muted);font-size:.96rem}
/* V6 · Facturación interna */
.billing-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px;border-radius:27px;background:linear-gradient(135deg,#5422b8 0%,#8e4ed2 58%,#df55a3 100%);color:#fff;box-shadow:0 18px 38px rgba(91,39,176,.23);margin-bottom:18px}.billing-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-110px;background:rgba(255,255,255,.12)}.billing-hero>div,.billing-hero>span{position:relative;z-index:1}.billing-hero h2{margin:5px 0 7px;font-size:1.72rem;letter-spacing:-.025em}.billing-hero p{margin:0;max-width:760px;line-height:1.5;color:#f8f0ff}.billing-hero>span{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:0 0 auto}.billing-hero>span svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.billing-month-bar{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow-soft);margin-bottom:16px}.billing-month-bar>div{flex:1}.billing-month-bar small,.billing-month-bar strong{display:block}.billing-month-bar small{font-size:.68rem;letter-spacing:.12em;font-weight:900;color:var(--purple)}.billing-month-bar strong{font-size:1.08rem;margin-top:3px}.billing-month-bar input{min-height:44px;padding:10px 12px;border:1px solid #d9cceb;border-radius:13px;background:#fff;color:var(--ink);font-weight:800}.gti-btn{background:linear-gradient(135deg,#153d72,#2877b7);color:#fff;box-shadow:0 7px 15px rgba(29,91,145,.18)}
.billing-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.billing-metrics article{padding:17px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow-soft)}.billing-metrics small,.billing-metrics strong,.billing-metrics span{display:block}.billing-metrics small{color:var(--muted);font-size:.76rem;font-weight:800}.billing-metrics strong{font-size:1.3rem;color:var(--ink);margin-top:5px;letter-spacing:-.02em}.billing-metrics span{font-size:.73rem;color:var(--purple);font-weight:750;margin-top:4px}
.billing-entry-panel{border:1px solid #dfd1ef;border-radius:23px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft);margin-bottom:17px}.billing-entry-panel>summary{list-style:none;display:flex;align-items:center;gap:13px;padding:18px;cursor:pointer;background:linear-gradient(135deg,#f4edff,#fff7fb)}.billing-entry-panel>summary::-webkit-details-marker{display:none}.billing-entry-panel>summary>span:nth-child(2){flex:1}.billing-entry-panel>summary strong,.billing-entry-panel>summary small{display:block}.billing-entry-panel>summary strong{font-size:1rem}.billing-entry-panel>summary small{font-size:.78rem;color:var(--muted);margin-top:3px}.billing-entry-panel>summary b{color:var(--purple);font-size:1.15rem}.billing-entry-icon,.patient-billing-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#6530c6,#dc4c9b);color:#fff;flex:0 0 auto;box-shadow:0 8px 16px rgba(101,48,198,.2)}.billing-entry-icon svg,.patient-billing-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.billing-entry-body{padding:18px}.billing-calculation{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.billing-calculation>div{padding:13px 14px;border-radius:16px;background:#faf7ff;border:1px solid #e7dcf4}.billing-calculation small,.billing-calculation strong{display:block}.billing-calculation small{font-size:.72rem;color:var(--muted);font-weight:800}.billing-calculation strong{margin-top:4px;font-size:1.03rem;color:var(--purple-dark)}.billing-save-btn{min-height:50px}
.billing-report-actions{display:flex;gap:12px;margin:0 0 18px}.billing-report-actions .btn{flex:1;min-height:48px}.studio-report-btn{background:linear-gradient(135deg,#a91855,#e14b8b);color:#fff;box-shadow:0 7px 15px rgba(196,34,105,.18)}
.billing-service-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:11px}.billing-service-summary article{display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 4px 12px rgba(65,37,103,.04)}.billing-service-summary article strong{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-size:1rem}.billing-service-summary article span{font-size:.82rem;font-weight:800;line-height:1.3}
.billing-record-list{display:grid;gap:11px}.billing-record-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}.billing-record-date{width:52px;height:57px;border-radius:15px;background:linear-gradient(145deg,#f1e8ff,#fff2f8);display:grid;place-items:center;align-content:center;color:var(--purple)}.billing-record-date strong,.billing-record-date span{display:block}.billing-record-date strong{font-size:1.14rem;line-height:1}.billing-record-date span{font-size:.69rem;text-transform:uppercase;margin-top:3px}.billing-record-main{min-width:0}.billing-record-main small,.billing-record-main strong,.billing-record-main span{display:block}.billing-record-main small{font-size:.68rem;color:var(--purple);font-weight:850}.billing-record-main strong{font-size:.93rem;margin-top:2px}.billing-record-main span{color:var(--muted);font-size:.76rem;line-height:1.35;margin-top:3px}.billing-record-total{text-align:right}.billing-record-total strong{display:block;font-size:1rem}.billing-record-total .pill{margin-top:6px}.billing-record-actions{display:flex;gap:7px}.billing-record-actions .btn{padding:9px 11px;font-size:.75rem}
.patient-billing-entry{display:flex;align-items:center;gap:14px;padding:17px;margin:0 0 16px;border:1px solid #ddcff0;border-radius:21px;background:linear-gradient(135deg,#f5efff,#fff8fb);box-shadow:var(--shadow-soft)}.patient-billing-entry>div{flex:1;min-width:0}.patient-billing-entry small,.patient-billing-entry strong,.patient-billing-entry p{display:block}.patient-billing-entry small{font-size:.66rem;letter-spacing:.11em;color:var(--purple);font-weight:900}.patient-billing-entry strong{font-size:1rem;margin-top:3px}.patient-billing-entry p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.billing-access-card{display:flex;align-items:center;gap:15px;padding:18px;margin-bottom:20px;border-radius:22px;background:linear-gradient(135deg,#f1e9ff,#fff4fa);border:1px solid #dfd0f1;box-shadow:var(--shadow-soft)}.billing-access-card>span{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#6530c6,#dc4c9b);color:#fff;flex:0 0 auto}.billing-access-card>span svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9}.billing-access-card>div{flex:1}.billing-access-card small,.billing-access-card strong,.billing-access-card p{display:block}.billing-access-card small{font-size:.66rem;letter-spacing:.12em;font-weight:900;color:var(--purple)}.billing-access-card strong{font-size:1.05rem;margin-top:3px}.billing-access-card p{margin:3px 0 0;color:var(--muted);font-size:.8rem}.admin-shortcuts{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}
@media(max-width:900px){.billing-metrics{grid-template-columns:1fr 1fr}.billing-record-card{grid-template-columns:auto minmax(0,1fr) auto}.billing-record-actions{grid-column:2/4}.billing-record-actions .btn{flex:1}}
@media(max-width:700px){.billing-hero{padding:21px;align-items:flex-start}.billing-hero h2{font-size:1.45rem}.billing-hero>span{width:56px;height:56px}.billing-month-bar{align-items:stretch;flex-direction:column}.billing-month-bar input,.billing-month-bar .btn{width:100%}.billing-metrics{grid-template-columns:1fr 1fr}.billing-calculation{grid-template-columns:1fr 1fr}.billing-report-actions{flex-direction:column}.billing-record-card{grid-template-columns:auto minmax(0,1fr)}.billing-record-total{grid-column:2;text-align:left}.billing-record-actions{grid-column:1/3}.patient-billing-entry{align-items:flex-start;flex-wrap:wrap}.patient-billing-entry .btn{width:100%}.billing-access-card{align-items:flex-start;flex-wrap:wrap}.billing-access-card .btn{width:100%}}
.receipt-archive-btn{background:#f0e9fb!important;color:#5a2dbb!important;border:1px solid #dfd1f3!important}
.receipt-delete-btn{width:38px;height:38px;border:1px solid #f3cbd3;border-radius:12px;background:linear-gradient(145deg,#fff5f7,#fdecef);color:#c3314b;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 12px rgba(195,49,75,.08)}
.receipt-delete-btn:hover{background:#fde6eb;transform:translateY(-1px)}
.receipt-delete-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.billing-archive-panel{margin-top:16px;border:1px solid #e1d6ef;border-radius:20px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}
.billing-archive-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#fff,#faf7ff);color:#5423a8;font-weight:900}
.billing-archive-panel>summary::-webkit-details-marker{display:none}.billing-archive-panel>summary b{min-width:30px;height:30px;border-radius:999px;background:#eee5fb;color:#5d2dad;display:grid;place-items:center;font-size:.78rem}
.billing-archive-list{padding:12px;border-top:1px solid #eee6f6;background:#fcfaff}.billing-record-card.is-archived{opacity:.86;background:#fbf9fd}
@media(max-width:700px){.receipt-delete-btn{width:42px;height:42px}.billing-record-actions{flex-wrap:wrap}}
.patient-summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-identification-editor{display:flex;align-items:end;gap:12px;padding:16px;margin:-4px 0 16px;border:1px solid #e0d3ef;border-radius:18px;background:linear-gradient(135deg,#faf7ff,#fff);box-shadow:var(--shadow-soft)}.admin-identification-editor .field{flex:1}.admin-identification-editor .btn{min-height:46px}@media(max-width:700px){.patient-summary{align-items:flex-start;flex-direction:column}.patient-summary-actions{width:100%;justify-content:flex-start}.admin-identification-editor{align-items:stretch;flex-direction:column}.admin-identification-editor .btn{width:100%}}

/* BernardHealth V6.8 · Gestión de documentos enviados */
.admin-document-item{align-items:center;gap:14px}
.admin-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-document-actions .btn{white-space:nowrap}
.document-managed-note{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f4f0fa;color:#756889;font-weight:700;font-size:.73rem}
.document-recipient-dialog{border:0;padding:0;background:transparent;width:min(94vw,620px);max-width:620px}
.document-recipient-dialog::backdrop{background:rgba(26,14,48,.62);backdrop-filter:blur(5px)}
.document-recipient-card{background:#fff;border-radius:26px;padding:24px;box-shadow:0 28px 80px rgba(35,15,72,.28)}
.document-recipient-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.document-recipient-heading h3{margin:4px 0 0;color:#25183a;font-size:1.25rem}
.dialog-close{border:0;background:#f4effa;color:#5b2ac4;width:38px;height:38px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer}
.alert-banner.compact{margin:0 0 18px;padding:14px 16px}
.document-recipient-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:720px){.admin-document-item{align-items:flex-start}.admin-document-actions{width:100%;justify-content:flex-start}.admin-document-actions .btn{flex:1 1 auto}.document-recipient-card{padding:20px;border-radius:22px}.document-recipient-actions{flex-direction:column-reverse}.document-recipient-actions .btn{width:100%}}

/* BernardHealth V6.11 · Acciones de documentos optimizadas para móvil */
.document-share-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.document-share-actions .btn{min-width:92px}
@media(max-width:760px){
  .document-category-list .item,.sent-panel .document-direction-body>.list>.item{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:15px;border-radius:18px}
  .document-category-list .item-main,.sent-panel .document-direction-body>.list>.item .item-main{width:100%;min-width:0}
  .document-category-list .item-main strong,.sent-panel .document-direction-body>.list>.item .item-main strong{font-size:1rem;line-height:1.28;overflow-wrap:anywhere;word-break:normal}
  .document-category-list .item-main .muted,.sent-panel .document-direction-body>.list>.item .item-main .muted{font-size:.8rem;line-height:1.4;margin-top:5px}
  .document-share-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .document-share-actions .btn{min-width:0;width:100%;padding:10px 6px;border-radius:12px;font-size:.78rem;white-space:nowrap}
}
@media(max-width:380px){
  .document-share-actions{grid-template-columns:1fr 1fr}
  .document-share-actions .btn:last-child{grid-column:1/-1}
}


/* V6.12 recuperación de contraseña y administración de accesos */
.auth-link-btn{display:block;width:100%;margin-top:10px;border:0;background:transparent;color:#6730bd;font-weight:800;font-size:.95rem;cursor:pointer;padding:10px}
.auth-link-btn:hover{text-decoration:underline}
.password-recovery-panel{margin-top:18px;padding:20px;border:1px solid #e4d9f4;border-radius:22px;background:linear-gradient(145deg,#fff,#faf7ff)}
.password-recovery-panel h2{margin:0 0 8px;color:#33214e}
.account-admin-card{margin:0 0 24px;padding:22px;border:1px solid #e7dcf5;border-radius:26px;background:linear-gradient(145deg,#fff,#fbf8ff);box-shadow:0 12px 32px rgba(87,43,144,.08)}
.account-admin-card .section-title{margin-top:0}
.account-admin-list{margin-top:12px;max-height:460px;overflow:auto;padding-right:4px}
.account-row{align-items:center}
.account-security-note{display:block;margin:14px 2px 0;line-height:1.45}
@media(max-width:640px){.account-row{align-items:flex-start}.account-row .item-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.account-row .item-actions .btn{width:100%}}


/* V6.13 · Espaciado visual del ingreso y creación de cuenta */
#authForm{
  display:grid;
  gap:15px;
  text-align:left;
}
#authForm .field{
  margin:0;
}
#authForm #authSubmit{
  margin-top:3px;
  min-height:49px;
}
#authForm .auth-link-btn{
  margin-top:-3px;
  padding:8px 10px 2px;
  text-align:center;
}
#passwordRecoveryPanel{
  text-align:left;
}
#passwordRecoveryPanel .field{
  margin-top:14px;
}
#passwordRecoveryPanel #saveNewPasswordBtn{
  margin-top:16px;
  min-height:49px;
}
#signupNotice{
  padding:11px 13px;
  border-radius:14px;
  background:#faf7ff;
  border:1px solid #eee5f8;
  text-align:left;
}
@media(max-width:760px){
  #authForm{gap:14px}
  #loginView .login-card{padding:24px 19px 22px}
  #authForm #authSubmit{margin-top:5px}
}


/* V6.14 — Ajustes visuales puntuales en perfil del paciente */
.upload-panel-celeste>summary{list-style:none!important}
.upload-panel-celeste>summary::marker{content:""!important;font-size:0!important}
.upload-panel-celeste>summary::-webkit-details-marker{display:none!important}
.upload-panel-celeste>summary>b{line-height:1;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.46);box-shadow:0 4px 12px rgba(7,80,108,.10)}
.upload-panel-celeste[open]>summary>b{transform:rotate(180deg)}
.patient-control-form>.btn{margin-top:18px;min-height:48px}
@media(max-width:640px){.patient-control-form>.btn{width:100%;margin-top:16px}}

/* V6.17 — consolidación visual y funcional */
.upload-panel-celeste{background:#fff!important;isolation:isolate!important;overflow:hidden!important;border-radius:25px!important}
.upload-panel-celeste>summary{margin:0!important;border-radius:25px!important}
.upload-panel-celeste[open]>summary{border-radius:25px 25px 0 0!important}
.upload-panel-celeste>.upload-card-inside{margin:0!important;border:0!important;border-radius:0 0 25px 25px!important;box-shadow:none!important;background:#fff!important;padding:22px!important;position:relative;z-index:2}
.upload-panel-celeste>.upload-card-inside::before,.upload-panel-celeste>.upload-card-inside::after{display:none!important;content:none!important}
.unified-alert-list{margin-top:14px}.actions-heading{margin-top:34px!important}
@media(max-width:700px){.upload-panel-celeste>.upload-card-inside{padding:18px!important}}

/* BernardHealth V6.19 · Pacientes inactivos */
.inactive-hero,.inactive-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px;border-radius:28px;background:linear-gradient(135deg,#5226aa 0%,#8e36d3 52%,#ed168e 100%);color:#fff;box-shadow:0 18px 45px rgba(87,39,166,.24);margin-bottom:20px;overflow:hidden;position:relative}.inactive-hero:after,.inactive-detail-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12);right:-55px;top:-70px}.inactive-hero h2,.inactive-detail-hero h2{font-size:clamp(1.65rem,4vw,2.35rem);margin:5px 0 8px}.inactive-hero p,.inactive-detail-hero p{max-width:650px;margin:0;line-height:1.55;color:rgba(255,255,255,.9)}.inactive-hero-icon{width:86px;height:86px;border-radius:26px;background:rgba(255,255,255,.18);display:grid;place-items:center;z-index:1;flex:0 0 auto}.inactive-hero-icon svg{width:44px;height:44px;stroke:#fff;fill:none;stroke-width:1.8}
.inactive-create-card,.inactive-upload-card,.inactive-info-card{background:#fff;border:1px solid #eadff4;border-radius:24px;padding:22px;box-shadow:0 12px 32px rgba(63,36,96,.09);margin-bottom:20px}.inactive-create-heading,.inactive-upload-card>div:first-child{display:flex;align-items:center;gap:14px;margin-bottom:18px}.inactive-create-heading>span,.inactive-upload-card>div:first-child>span{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,#f1e8ff,#ffe8f5);display:grid;place-items:center;color:#7c36c8}.inactive-create-heading svg,.inactive-upload-card svg{width:27px;height:27px;stroke:currentColor;fill:none}.inactive-create-heading small,.inactive-upload-card small,.inactive-info-card small{font-weight:800;letter-spacing:.11em;color:#8c63b6}.inactive-create-heading h3,.inactive-upload-card h3{margin:3px 0}.inactive-create-heading p,.inactive-upload-card p{margin:0;color:#766987}.inactive-create-btn{border:0;color:#fff;background:linear-gradient(135deg,#612fc1,#df168e);box-shadow:0 10px 24px rgba(166,33,151,.25);padding:13px 20px}.inactive-create-btn span{font-size:1.35rem;margin-right:6px}.inactive-list-title{margin-top:24px}.inactive-search{max-width:520px}.inactive-patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px;margin-top:14px}.inactive-patient-card{display:grid;grid-template-columns:auto 1fr;gap:14px;background:#fff;border:1px solid #eadff4;border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(63,36,96,.08);position:relative;overflow:hidden}.inactive-patient-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#6730c4,#ef168f)}.inactive-avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#6d36c7,#e41991);color:#fff;display:grid;place-items:center;font-size:1.25rem;font-weight:800;box-shadow:0 8px 20px rgba(112,49,192,.25)}.inactive-avatar.large{width:72px;height:72px;border-radius:23px;font-size:1.8rem;z-index:1}.inactive-card-main h3{margin:5px 0 3px}.inactive-card-main p,.inactive-card-main small{display:block;margin:0;color:#746881}.inactive-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:#f2eafe;color:#7134bd}.inactive-status.invited{background:#fff1dc;color:#ad6200}.inactive-card-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}.inactive-card-actions .btn{flex:1;min-width:92px}.whatsapp-invite-btn{background:linear-gradient(135deg,#18a75a,#28c56c)!important;color:#fff!important;border:0!important;box-shadow:0 8px 20px rgba(27,174,93,.2)}.inactive-detail-hero{justify-content:flex-start}.inactive-detail-hero>div:nth-child(2){flex:1;z-index:1}.inactive-detail-hero .btn{z-index:1}.inactive-detail-actions{display:flex;gap:10px;flex-wrap:wrap;z-index:1}.inactive-info-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.inactive-info-card div{display:grid;gap:4px}.inactive-info-card strong{font-size:1.08rem}.inactive-info-card span{color:#756783}.inactive-doc-list{display:grid;gap:12px}.inactive-doc-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #eadff4;border-radius:19px;padding:14px 16px;box-shadow:0 8px 22px rgba(63,36,96,.07)}.inactive-doc-icon{width:42px;height:42px;border-radius:14px;background:#f1e8fb;color:#7135bd;display:grid;place-items:center}.inactive-doc-icon svg{width:22px;height:22px;stroke:currentColor;fill:none}.inactive-doc-card small{display:block;color:#806f8f;margin-top:3px}.inactive-doc-actions{display:flex;gap:7px;flex-wrap:wrap}.activation-invite-banner{display:grid;gap:5px;margin-top:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#f0e8ff,#ffeaf6);border:1px solid #decaf2;color:#4c296d}.activation-invite-banner span{font-size:.9rem;line-height:1.45}.invitation-mode{box-shadow:0 22px 60px rgba(99,48,177,.22)}.admin-stat.inactive-stat{border-color:#edcde4}.inactive-shortcut{background:linear-gradient(145deg,#fff,#fff3fa)!important}
@media(max-width:700px){.inactive-hero,.inactive-detail-hero{padding:21px;border-radius:23px;align-items:flex-start}.inactive-hero-icon{width:64px;height:64px;border-radius:20px}.inactive-detail-hero{display:grid;grid-template-columns:auto 1fr}.inactive-detail-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr;gap:8px}.inactive-detail-hero .btn{grid-column:1/-1;width:100%}.inactive-info-card{align-items:flex-start;flex-direction:column}.inactive-info-card .btn{width:100%}.inactive-doc-card{grid-template-columns:auto 1fr}.inactive-doc-actions{grid-column:1/-1}.inactive-doc-actions .btn{flex:1}.inactive-patient-grid{grid-template-columns:1fr}.inactive-create-card,.inactive-upload-card{padding:18px}}

/* V6.29 · Carrusel y administración de promociones reconstruidos */
.featured-promotions{margin:20px 0 24px}.featured-promotions-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.featured-promotions-head h2{margin:3px 0 0}.featured-promotions-head small{color:#756783;font-weight:700}.promotion-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:25px}.promotion-carousel::-webkit-scrollbar{display:none}.promotion-slide{appearance:none;border:0;background:#fff;flex:0 0 100%;padding:0;border-radius:25px;overflow:hidden;scroll-snap-align:start;box-shadow:0 14px 34px rgba(58,31,91,.14);cursor:pointer;aspect-ratio:16/8.8}.promotion-slide img{display:block;width:100%;height:100%;object-fit:cover}.promotion-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}.promotion-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#d8cce7;transition:.2s}.promotion-dots button.active{width:24px;background:linear-gradient(90deg,#6730c4,#ed168f)}
.promotion-modal{position:fixed;inset:0;z-index:9999;background:rgba(31,18,45,.62);display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}.promotion-modal-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:28px;box-shadow:0 25px 75px rgba(31,18,45,.32)}.promotion-modal-close{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:1.55rem;line-height:1;color:#532588;box-shadow:0 5px 16px rgba(0,0,0,.16)}.promotion-modal-image{display:block;width:100%;max-height:390px;object-fit:cover;border-radius:28px 28px 0 0}.promotion-modal-body{padding:24px}.promotion-modal-body h2{margin:8px 0 10px}.promotion-modal-body p{white-space:pre-line;line-height:1.6;color:#675b73}.promotion-modal-body .btn{margin-top:18px}
.promo-admin-title{display:flex;gap:16px;align-items:center;margin:30px 0 14px;padding:20px 22px;border-radius:24px;background:linear-gradient(135deg,#5426aa,#8b36d0 55%,#e71991);color:#fff;box-shadow:0 16px 38px rgba(97,42,166,.2)}.promo-admin-title.campaign{background:linear-gradient(135deg,#174fa1,#247fbe 52%,#28a9ae)}.promo-admin-title>span{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.18);display:grid;place-items:center}.promo-admin-title svg{width:28px;height:28px;stroke:#fff;fill:none}.promo-admin-title small{font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.8)}.promo-admin-title h2{margin:3px 0}.promo-admin-title p{margin:0;color:rgba(255,255,255,.88)}.promo-editor-card{background:#fff;border:1px solid #eadff3;border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(62,34,91,.08)}.promo-description{min-height:150px;resize:vertical}.featured-check{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:15px;background:#f8f3fc;color:#4d3267;font-weight:750}.featured-check input{width:20px;height:20px}.promo-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.promo-admin-list{display:grid;gap:13px}.promo-admin-row{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:15px;align-items:center;background:#fff;border:1px solid #e8ddf1;border-radius:20px;padding:13px;box-shadow:0 8px 24px rgba(55,32,81,.07)}.promo-admin-row.is-hidden{opacity:.62}.promo-admin-thumb{width:108px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#f2edf6;display:grid;place-items:center;color:#8b7a96;font-size:.75rem;text-align:center}.promo-admin-thumb img{width:100%;height:100%;object-fit:cover}.promo-admin-main{min-width:0;display:grid;gap:4px}.promo-admin-main small{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#7c4db1;font-weight:800}.promo-admin-main strong{font-size:1rem}.promo-admin-main span{color:#766a80;font-size:.86rem}.promo-admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.promo-admin-actions .btn{padding:9px 11px;font-size:.78rem}
@media(max-width:700px){.featured-promotions-head{align-items:flex-start}.featured-promotions-head small{display:none}.promotion-slide{aspect-ratio:16/9}.promotion-modal-body{padding:20px}.promo-admin-title{padding:18px}.promo-editor-card{padding:18px}.promo-admin-row{grid-template-columns:82px 1fr}.promo-admin-thumb{width:82px}.promo-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.promo-admin-actions .btn{width:100%}}
.coupon-state-box{margin-top:18px;padding:14px 16px;border-radius:16px;background:#f5effd;border:1px solid #e4d5f6;display:grid;gap:4px}.coupon-state-box strong{color:#5f2fb2;font-size:1rem}.coupon-state-box span{color:#6d6276;line-height:1.45}

/* V6.32 · navegación contextual y editores amplios */
.promo-description,
#cpDesc,
#camDesc,
#benefitDescription,
#mbDescription,
textarea[data-description-editor]{
  min-height:220px!important;
  height:auto;
  resize:vertical!important;
  line-height:1.55;
  padding:18px!important;
}
.promo-editor-card .field-full textarea,
.benefit-editor-card textarea,
.membership-benefit-editor textarea{
  min-height:220px!important;
  resize:vertical!important;
}
@media(max-width:700px){
  .promo-description,
  #cpDesc,
  #camDesc,
  #benefitDescription,
  #mbDescription,
  textarea[data-description-editor]{min-height:260px!important;font-size:1rem;}
}


/* V7.8.1 · Solo título Medical Care en el encabezado */
#roleLabel{display:none!important}
.topbar .brand .brand-title{
  max-width:280px;
  margin:0;
  line-height:.95;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  background:none;
  color:inherit;
  font-weight:inherit;
}
.topbar .brand .brand-title>span{
  display:block;
  font-size:1.28rem;
  line-height:.98;
  font-weight:850;
  background:linear-gradient(90deg,#5a2dbb 0%,#8b3fd0 48%,#e34b9b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.topbar .brand .brand-title>strong{
  display:block;
  margin-top:1px;
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-size:1.36rem;
  line-height:.88;
  font-weight:500;
  letter-spacing:-.02em;
  color:#8d8993;
  white-space:nowrap;
}
@media(max-width:520px){
  .topbar .brand .brand-title{max-width:210px}
  .topbar .brand .brand-title>span{font-size:1.12rem}
  .topbar .brand .brand-title>strong{font-size:1.18rem}
}

/* V7.8.2 · aumentar Medical Care y mostrarlo también en ingreso/suscripción */
.login-product-title{margin:-2px 0 8px;line-height:.9;letter-spacing:-.03em;text-align:center}.login-product-title>strong{display:block;margin-top:0;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:2.95rem;line-height:.86;font-weight:500;letter-spacing:-.02em;color:#8d8993;background:linear-gradient(180deg,#d6d5da 0%,#aaa7b0 48%,#c4c2c9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media(max-width:520px){.login-product-title>strong{font-size:2.45rem;line-height:.86}}

/* V7.8.5 · tarjetas principales navegables */
.metric-card.metric-link{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.metric-card.metric-link:hover,.metric-card.metric-link:focus-visible{transform:translateY(-2px);border-color:rgba(113,55,207,.35);box-shadow:0 10px 24px rgba(75,39,120,.12);outline:none}.metric-card.metric-link:active{transform:scale(.985)}

/* V7.8.8 · Alertas vistas fuera de la lista principal */
.patient-alert-history{margin-top:18px}.patient-alert-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-weight:850;cursor:pointer;list-style:none}.patient-alert-history>summary::-webkit-details-marker{display:none}.patient-alert-history>summary span{background:var(--purple-soft);color:var(--purple);border-radius:999px;padding:5px 10px}.patient-alert-history .archive-list{padding:0 14px 14px}.alert-all-clear strong,.alert-all-clear span{display:block}.alert-all-clear span{margin-top:4px;color:var(--muted)}

/* V7.8.9 · formulario unificado de controles */
.controls-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:16px;border-radius:25px;background:linear-gradient(135deg,#5f2bbb,#8a4ed1 58%,#d884c1);color:#fff;box-shadow:0 16px 36px rgba(91,39,176,.20)}.controls-hero h2{margin:3px 0 5px;font-size:1.55rem}.controls-hero p{margin:0;color:#f4eefe;line-height:1.45}.controls-hero>span{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:0 0 auto}.controls-hero svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8}.unified-controls-card{padding:22px}.control-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.control-section-title strong{font-size:1.08rem}.control-section-title small{color:var(--muted)}.control-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pressure-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.pressure-pair span{font-weight:900;color:var(--muted)}.control-history-item{align-items:flex-start}.control-history-values{display:block;margin:5px 0;color:var(--ink);font-size:.86rem;line-height:1.5}.unified-control-form textarea{min-height:110px}@media(max-width:640px){.controls-hero{align-items:flex-start;padding:20px}.controls-hero>span{width:50px;height:50px}.control-vitals-grid{grid-template-columns:1fr}.control-section-title{align-items:flex-start;flex-direction:column;gap:3px}.unified-controls-card{padding:18px}}

/* V7.8.12 · edición y eliminación independiente de controles */
.control-form-actions{display:flex;gap:10px;flex-wrap:wrap}.control-form-actions .btn{flex:1}.control-history-item .item-actions{flex-wrap:wrap}@media(max-width:640px){.control-history-item{flex-direction:column}.control-history-item .item-actions{width:100%}.control-history-item .item-actions .btn{flex:1}}

/* V7.8.14 · Agenda automática y alineación homogénea */
.admin-metrics{align-items:stretch}
.admin-stat{min-height:126px;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center}
.admin-stat>div{display:grid;grid-template-rows:minmax(32px,auto) 30px minmax(34px,auto);align-content:center;min-width:0}
.admin-stat small{display:flex;align-items:flex-end;line-height:1.15}
.admin-stat strong{display:flex;align-items:center;margin:0;font-variant-numeric:tabular-nums}
.admin-stat p{display:flex;align-items:flex-start;line-height:1.25;margin:2px 0 0}
.admin-stat>b{justify-self:end;align-self:center}
.patient-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.patient-list-copy{min-width:0}
.patient-list-actions{display:grid;grid-template-columns:repeat(2,minmax(104px,1fr));gap:9px;align-items:stretch}
.patient-list-actions .btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 14px}
@media(max-width:760px){
  .admin-stat{min-height:132px;grid-template-columns:40px minmax(0,1fr) 16px;padding:14px}
  .admin-stat>div{grid-template-rows:minmax(34px,auto) 30px minmax(38px,auto)}
  .patient-list-item{grid-template-columns:1fr;align-items:stretch}
  .patient-list-actions{width:100%;grid-template-columns:1fr 1fr;margin-top:4px}
}
@media(max-width:390px){
  .admin-stat{min-height:112px}
  .patient-list-actions{grid-template-columns:1fr}
}

/* V7.8.15 · Contadores homogéneos en panel médico y paciente */
.counter-heading{align-items:center!important}.counter-heading>div:first-child{min-width:0;flex:1}.counter-badge{flex:0 0 auto;min-width:88px;min-height:66px;padding:10px 14px;border:1px solid #dfd1ef;border-radius:22px;background:#fff;color:var(--purple-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1;box-shadow:0 5px 14px rgba(82,42,128,.06)}.counter-badge strong{display:block;font-size:1.28rem;line-height:1;font-weight:950;font-variant-numeric:tabular-nums}.counter-badge small{display:block;margin-top:5px;font-size:.72rem;line-height:1.05;font-weight:850;text-transform:lowercase;white-space:nowrap}.counter-badge-white{background:#fff;border-color:rgba(255,255,255,.35);color:#b41850}.counter-badge-light{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28);color:#fff;box-shadow:none}.inbox-counter-heading{padding:20px 22px;border:1px solid #dfd1ef;border-radius:24px;background:linear-gradient(135deg,#f5efff,#fff9fd)}.inbox-counter-heading p,.actions-heading p{margin:8px 0 0;line-height:1.38}.actions-heading{align-items:center!important}.actions-heading .counter-badge{min-width:82px}.patient-alert-history>summary span{font-variant-numeric:tabular-nums}
@media(max-width:520px){.counter-heading{gap:14px}.counter-badge{min-width:78px;min-height:60px;padding:9px 11px;border-radius:19px}.counter-badge strong{font-size:1.16rem}.counter-badge small{font-size:.66rem}.inbox-counter-heading{padding:18px}.actions-heading{padding-right:14px!important}}

/* =========================================================
   BernardHealth Medical Care V7.9.2 — Expediente clínico
   ========================================================= */
.management-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;margin-bottom:16px;border-radius:26px;background:linear-gradient(135deg,#4d238d,#7440b8 56%,#c96ca8);color:#fff;box-shadow:0 18px 38px rgba(77,35,141,.22)}
.management-hero h2{margin:4px 0 7px;font-size:1.55rem}.management-hero p{margin:0;color:#f5edff}.management-hero>span{width:62px;height:62px;border-radius:19px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:0 0 auto}.management-hero svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8}
.management-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.management-access-grid button{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:20px;padding:17px;box-shadow:var(--shadow-soft)}.management-access-grid button>span{width:43px;height:43px;border-radius:14px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;flex:0 0 auto}.management-access-grid svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.management-access-grid strong,.management-access-grid small{display:block}.management-access-grid small{color:var(--muted);margin-top:3px}
.clinical-workspace{margin:18px 0 20px;border:1px solid #dcd0ec;border-radius:28px;background:#fff;box-shadow:0 18px 42px rgba(60,35,95,.10);overflow:hidden}
.clinical-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;background:linear-gradient(135deg,#382657 0%,#5e3a8a 58%,#9470bd 100%);color:#fff}.clinical-workspace-head h2{margin:3px 0 7px;font-size:1.5rem;letter-spacing:-.025em}.clinical-workspace-head p{margin:0;color:#eee6f8;line-height:1.45}.clinical-head-mark{width:62px;height:62px;border-radius:19px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:0 0 auto}.clinical-head-mark svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8}.clinical-workspace-head .eyebrow{color:#e8daf8}
.clinical-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:11px;background:#f7f3fb;border-bottom:1px solid var(--line)}.clinical-tabs button{border:0;border-radius:13px;padding:12px 8px;background:transparent;color:#71697c;font-weight:850;cursor:pointer}.clinical-tabs button.active{background:#fff;color:var(--purple-dark);box-shadow:0 4px 14px rgba(67,40,101,.09)}
.clinical-panel{display:none;padding:22px}.clinical-panel.active{display:block}.clinical-loading{padding:30px;text-align:center;color:var(--muted)}
.clinical-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.clinical-summary-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#fbf9fd)}.clinical-summary-card.wide{grid-column:1/-1}.clinical-summary-card.alert{border-color:#efcfda;background:#fff8fb}.clinical-summary-card small,.clinical-last-grid small{display:block;color:var(--purple);font-weight:900;font-size:.68rem;letter-spacing:.08em}.clinical-summary-card p,.clinical-last-grid p,.clinical-history-body p{white-space:pre-wrap;line-height:1.55;margin:7px 0 0;color:var(--ink)}
.clinical-last-consultation{margin-top:16px;border:1px solid var(--line);border-radius:21px;padding:18px;background:#fff}.clinical-last-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.clinical-last-head h3{margin:3px 0 0}.clinical-last-head>span{font-size:.78rem;color:var(--muted);font-weight:800}.clinical-last-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px}.clinical-last-grid>div{padding:13px;border-radius:15px;background:#faf7fd}
.clinical-vital-pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.clinical-vital-pills span{display:inline-flex;align-items:center;gap:5px;background:#f4eefb;border:1px solid #e4d8f0;border-radius:999px;padding:7px 10px;font-size:.77rem}.clinical-vital-pills b{color:var(--purple)}
.clinical-consultation-form{display:grid;gap:18px}.clinical-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.clinical-form-heading h3{margin:3px 0 0}.clinical-save-state{font-size:.75rem;font-weight:800;color:var(--muted);background:#f4eff9;border-radius:999px;padding:7px 11px}.clinical-form-section{border:1px solid var(--line);border-radius:21px;padding:18px;background:linear-gradient(180deg,#fff,#fcfaff)}.clinical-section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.clinical-section-title>span{width:34px;height:34px;border-radius:11px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.clinical-section-title h4{margin:0;font-size:1rem}.clinical-section-title p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.clinical-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-full{grid-column:1/-1}.clinical-vitals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.clinical-model-select{max-width:360px;margin-bottom:14px}.clinical-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.clinical-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.clinical-form-actions .btn{min-width:180px}
textarea.auto-grow,.clinical-workspace textarea,.medical-doc-builder textarea{overflow:hidden!important;resize:none!important;min-height:94px;line-height:1.5;transition:height .12s ease;border-radius:15px}.clinical-workspace textarea:focus{background:#fff}
.clinical-document-hub{display:grid;gap:16px}.clinical-document-intro{display:flex;align-items:center;gap:13px;padding:16px;border-radius:18px;background:#f7f2fb}.clinical-document-intro>span{width:48px;height:48px;border-radius:15px;background:#fff;color:var(--purple);display:grid;place-items:center}.clinical-document-intro svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.clinical-document-intro h3{margin:0}.clinical-document-intro p{margin:4px 0 0;color:var(--muted)}.clinical-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.clinical-document-grid button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow-soft)}.clinical-document-grid button>span{width:42px;height:42px;border-radius:13px;background:var(--purple-soft);color:var(--purple);display:grid;place-items:center;flex:0 0 auto}.clinical-document-grid svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.clinical-document-grid strong,.clinical-document-grid small{display:block}.clinical-document-grid small{color:var(--muted);margin-top:3px}.clinical-document-note{margin:0;color:var(--muted);font-size:.82rem}
.clinical-timeline{display:grid;gap:12px}.clinical-history-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.clinical-history-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}.clinical-history-card>summary::-webkit-details-marker{display:none}.clinical-history-card>summary small,.clinical-history-card>summary strong,.clinical-history-card>summary span{display:block}.clinical-history-card>summary small{color:var(--purple);font-size:.68rem;letter-spacing:.08em;font-weight:900}.clinical-history-card>summary strong{margin-top:3px}.clinical-history-card>summary span{color:var(--muted);font-size:.78rem;margin-top:4px}.clinical-history-body{padding:0 18px 18px}.clinical-history-body section{padding:12px 0;border-top:1px solid #eee8f4}.clinical-history-body section small{color:var(--purple);font-weight:900}.clinical-history-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:12px}
@media(max-width:760px){.management-access-grid,.clinical-summary-grid,.clinical-last-grid,.clinical-form-grid,.clinical-exam-grid,.clinical-document-grid{grid-template-columns:1fr}.clinical-summary-card.wide{grid-column:auto}.clinical-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-workspace{border-radius:22px}.clinical-workspace-head{padding:21px;align-items:flex-start}.clinical-head-mark{width:52px;height:52px}.clinical-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-panel{padding:16px}.clinical-form-section{padding:15px}.clinical-form-actions{flex-direction:column}.clinical-form-actions .btn{width:100%}.management-hero{padding:21px;align-items:flex-start}}
@media(max-width:420px){.clinical-vitals-grid{grid-template-columns:1fr}.clinical-workspace-head h2{font-size:1.28rem}.clinical-tabs button{font-size:.78rem}.management-hero>span,.clinical-head-mark{display:none}}


/* Ajustes móviles para bandeja de alertas y reportes */
.admin-alert-item{align-items:flex-start}
.admin-alert-item .item-main strong{line-height:1.3}
.admin-alert-item .muted{margin-top:4px;line-height:1.45;white-space:normal;word-break:break-word}
@media(max-width:760px){
  .unified-alert-list .admin-alert-item{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;padding:15px}
  .unified-alert-list .admin-alert-item .list-icon,
  .unified-alert-list .admin-alert-item .alert-dot-red{grid-row:1}
  .unified-alert-list .admin-alert-item .item-main{grid-column:2;min-width:0;width:100%}
  .unified-alert-list .admin-alert-item .item-actions,
  .unified-alert-list .admin-alert-item > .btn{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px}
  .unified-alert-list .admin-alert-item .item-actions .btn,
  .unified-alert-list .admin-alert-item > .btn{width:100%;min-width:0}
  .unified-alert-list .admin-alert-item.admin-alert-item--document .item-actions,
  .unified-alert-list .admin-alert-item.admin-alert-item--control .item-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .unified-alert-list .admin-alert-item.admin-alert-item--document .item-actions,
  .unified-alert-list .admin-alert-item.admin-alert-item--control .item-actions{grid-template-columns:1fr}
}
