/* =====================================================================
   BITXEL UI 4.0 — sistema visual
   Se carga después de app.css / his3.css y define el shell completo,
   componentes base (paneles, botones, tablas, formularios) y el CRM.
   ===================================================================== */
:root{
  --brand:#2563EB; --side:#0B1B34;
  --brand-600:color-mix(in srgb,var(--brand) 86%,#000);
  --brand-soft:color-mix(in srgb,var(--brand) 9%,var(--card));
  --brand-soft-2:color-mix(in srgb,var(--brand) 16%,var(--card));
  --brand-ring:color-mix(in srgb,var(--brand) 28%,transparent);
  --ink:#0B1324; --ink-2:#344054; --mut:#667085; --mut-2:#98A2B3;
  --bg:#F3F5F9; --card:#FFFFFF; --line:#E4E8EF; --line-2:#EEF1F6; --hover:#F7F9FC; --thead:#F8FAFC; --track:#EEF1F6;
  --ok:#059669; --ok-bg:#E8F7F1; --warn:#D97706; --warn-bg:#FEF4E2; --bad:#DC2626; --bad-bg:#FDECEC; --info:#2563EB; --info-bg:#EAF1FE;
  --r-sm:8px; --r:12px; --r-lg:16px;
  --sh-1:0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 1px 2px rgba(16,24,40,.04),0 4px 16px -6px rgba(16,24,40,.08);
  --sh-3:0 20px 48px -16px rgba(16,24,40,.30);
  --side-w:264px; --top-h:64px;
  --font:"InterVariable",Inter,"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  /* color por área */
  --a-inicio:#2563EB; --a-clinica:#0D9488; --a-comercial:#6366F1; --a-inventario:#D97706; --a-abastecimiento:#0284C7; --a-finanzas:#059669; --a-admin:#64748B;
  --area:var(--brand);
  color-scheme:light;
  /* puente con estilos anteriores */
  --bx-blue:var(--brand); --bx-bg:var(--bg); --bx-card:var(--card); --bx-line:var(--line); --bx-text:var(--ink); --bx-muted:var(--mut); --bx-radius:var(--r-lg); --bx-shadow:var(--sh-2); --brand-primary:var(--brand);
}
@font-face{font-family:"InterVariable";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"InterVariable";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* ---------- Modo oscuro ---------- */
html[data-theme="dark"]{
  --ink:#E6EAF2; --ink-2:#C3CAD6; --mut:#8D97A8; --mut-2:#667085;
  --bg:#0B111D; --card:#121A29; --line:#222D40; --line-2:#1B2436; --hover:#172134; --thead:#151E2F; --track:#1E283A;
  --ok:#34D399; --ok-bg:rgba(16,185,129,.14); --warn:#FBBF24; --warn-bg:rgba(245,158,11,.14); --bad:#F87171; --bad-bg:rgba(239,68,68,.14); --info:#60A5FA; --info-bg:rgba(59,130,246,.14);
  --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 1px 2px rgba(0,0,0,.35),0 8px 24px -10px rgba(0,0,0,.5); --sh-3:0 24px 56px -16px rgba(0,0,0,.7);
  --side:#080D17;
  color-scheme:dark;
}
html[data-density="compact"]{--top-h:56px}
*{box-sizing:border-box}
html,body{background:var(--bg)!important;color:var(--ink)!important}
body.bx-body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11" 1,"ss01" 1}
a{color:var(--brand)}
::selection{background:var(--brand-soft-2)}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.bx-i{width:18px;height:18px;flex:none}

/* ---------------- Shell ---------------- */
.bx-app{min-height:100vh}
.bx-side{position:fixed;inset:0 auto 0 0;width:var(--side-w);display:flex;flex-direction:column;z-index:60;
  background:radial-gradient(120% 60% at 0% 0%,color-mix(in srgb,var(--brand) 22%,transparent),transparent 60%),var(--side);
  color:#C9D5E6;border-right:1px solid rgba(255,255,255,.04);transition:width .2s ease,transform .22s ease}
.bx-side-top{display:flex;align-items:center;gap:8px;padding:16px 14px 10px 16px}
.bx-brand{display:flex;align-items:center;gap:11px;min-width:0;flex:1;text-decoration:none;color:#fff}
.bx-logo{width:38px;height:38px;border-radius:11px;background:var(--card);display:grid;place-items:center;overflow:hidden;flex:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.bx-logo img{width:100%;height:100%;object-fit:contain}
.bx-logo.is-mark{padding:5px}
.bx-brand-t{display:flex;flex-direction:column;min-width:0}
.bx-brand-t strong{font-size:14px;font-weight:700;letter-spacing:-.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-brand-t small{font-size:11.5px;color:rgba(214,226,242,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-rail-btn{flex:none;width:30px;height:30px;border-radius:8px;border:0;background:transparent;color:rgba(214,226,242,.55);display:grid;place-items:center;cursor:pointer}
.bx-rail-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.bx-navsearch{display:flex;align-items:center;gap:8px;margin:6px 14px 8px;padding:0 10px;height:36px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);color:rgba(214,226,242,.6);cursor:text}
.bx-navsearch:focus-within{border-color:color-mix(in srgb,var(--brand) 70%,#fff);background:rgba(255,255,255,.09)}
.bx-navsearch .bx-i{width:16px;height:16px}
.bx-navsearch input,.bx-cmdk-box input{all:unset;flex:1;min-width:0;font-size:13px;color:#fff;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.bx-navsearch input::placeholder{color:rgba(214,226,242,.5)}
.bx-navsearch kbd,.bx-cmd kbd{font:600 10.5px/1 var(--font);padding:3px 5px;border-radius:5px;border:1px solid rgba(255,255,255,.14);color:rgba(214,226,242,.55);white-space:nowrap}
.bx-nav{flex:1;overflow-y:auto;padding:4px 10px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.bx-link{display:flex;align-items:center;gap:11px;height:36px;padding:0 10px;margin:1px 0;border-radius:9px;color:#C3CFE0;text-decoration:none;font-size:13.5px;font-weight:500;position:relative;transition:background .15s,color .15s;white-space:nowrap}
.bx-link span{overflow:hidden;text-overflow:ellipsis}
.bx-link .bx-i{color:rgba(195,207,224,.75)}
.bx-link:hover{background:rgba(255,255,255,.06);color:#fff}
.bx-link:hover .bx-i{color:#fff}
.bx-link.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 92%,#fff 0%),color-mix(in srgb,var(--brand) 78%,#000));color:#fff;font-weight:600;box-shadow:0 6px 18px -6px color-mix(in srgb,var(--brand) 70%,transparent)}
.bx-link.is-active .bx-i{color:#fff}
.bx-link.is-platform{color:#FCD34D}.bx-link.is-platform .bx-i{color:#FCD34D}
.bx-group{margin-top:10px}
.bx-group-h{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(214,226,242,.45)}
.bx-group-h:hover{color:rgba(214,226,242,.85)}
.bx-group-h:focus-visible{outline:2px solid var(--brand)}
.bx-caret{width:14px;height:14px;transition:transform .2s}
.bx-group-b{overflow:hidden;max-height:0;transition:max-height .25s ease}
.bx-group.is-open .bx-group-b{max-height:600px}
.bx-group:not(.is-open) .bx-caret{transform:rotate(-90deg)}
.bx-group.has-active>.bx-group-h{color:rgba(255,255,255,.8)}
.bx-nav-empty{margin:14px 12px;color:rgba(214,226,242,.5);font-size:12.5px}
.bx-nav.is-filtering .bx-group-b{max-height:none}
.bx-nav.is-filtering .bx-group-h{pointer-events:none}
.bx-side-foot{padding:12px 16px 14px;border-top:1px solid rgba(255,255,255,.06)}
.bx-tenant{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(214,226,242,.7);min-width:0}
.bx-tenant span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-tenant-dot{width:8px;height:8px;border-radius:50%;background:#34D399;box-shadow:0 0 0 3px rgba(52,211,153,.18);flex:none}
.bx-powered{display:block;margin-top:6px;font-size:10.5px;color:rgba(214,226,242,.38);letter-spacing:.02em}

/* menú claro */
html[data-side="light"] .bx-side{background:var(--card);color:var(--ink-2);border-right:1px solid var(--line)}
html[data-side="light"] .bx-brand{color:var(--ink)}
html[data-side="light"] .bx-brand-t strong{color:var(--ink)}
html[data-side="light"] .bx-brand-t small,html[data-side="light"] .bx-tenant,html[data-side="light"] .bx-powered{color:var(--mut)}
html[data-side="light"] .bx-logo{box-shadow:0 0 0 1px var(--line)}
html[data-side="light"] .bx-rail-btn{color:var(--mut)}html[data-side="light"] .bx-rail-btn:hover{background:var(--hover);color:var(--ink)}
html[data-side="light"] .bx-navsearch{background:var(--bg);border-color:var(--line);color:var(--mut)}
html[data-side="light"] .bx-navsearch input{color:var(--ink)}html[data-side="light"] .bx-navsearch input::placeholder{color:var(--mut-2)}
html[data-side="light"] .bx-navsearch kbd{border-color:var(--line);color:var(--mut)}
html[data-side="light"] .bx-link{color:var(--ink-2)}html[data-side="light"] .bx-link .bx-i{color:var(--mut)}
html[data-side="light"] .bx-link:hover{background:var(--hover);color:var(--ink)}html[data-side="light"] .bx-link:hover .bx-i{color:var(--ink)}
html[data-side="light"] .bx-link.is-active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}
html[data-side="light"] .bx-link.is-active .bx-i{color:var(--brand)}
html[data-side="light"] .bx-group-h{color:var(--mut-2)}html[data-side="light"] .bx-group.has-active>.bx-group-h{color:var(--ink-2)}
html[data-side="light"] .bx-side-foot{border-top-color:var(--line)}
html[data-side="light"] .bx-link.is-platform,html[data-side="light"] .bx-link.is-platform .bx-i{color:#B45309}

/* modo compacto (rail) */
@media (min-width:1001px){
  html.bx-rail{--side-w:72px}
  html.bx-rail .bx-brand-t,html.bx-rail .bx-navsearch,html.bx-rail .bx-group-h,html.bx-rail .bx-link span,html.bx-rail .bx-side-foot span:last-child,html.bx-rail .bx-powered{display:none}
  html.bx-rail .bx-side-top{flex-direction:column;padding:14px 0 8px}
  html.bx-rail .bx-brand{flex:none}
  html.bx-rail .bx-nav{padding:4px 12px 16px}
  html.bx-rail .bx-group{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}
  html.bx-rail .bx-group-b{max-height:none}
  html.bx-rail .bx-link{justify-content:center;padding:0;height:40px}
  html.bx-rail .bx-side-foot{display:flex;justify-content:center}
}
.bx-main{margin-left:var(--side-w);min-width:0;transition:margin-left .2s ease}
.bx-scrim{display:none}

/* ---------------- Top bar ---------------- */
.bx-top{position:sticky;top:0;z-index:40;height:var(--top-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.bx-top-l{display:flex;align-items:center;gap:12px;min-width:0}
.bx-title{min-width:0}
.bx-title h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-crumb{display:flex;gap:6px;font-size:12px;color:var(--mut);line-height:1.3}
.bx-crumb a{color:var(--mut);text-decoration:none}.bx-crumb a:hover{color:var(--brand)}
.bx-top-r{display:flex;align-items:center;gap:8px;flex:none}
.bx-icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:.15s}
.bx-icon-btn:hover{border-color:#CBD5E1;color:var(--ink);box-shadow:var(--sh-1)}
.bx-only-m{display:none}
.bx-cmd{display:flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--mut);font:500 13px var(--font);cursor:pointer;min-width:200px}
.bx-cmd span{flex:1;text-align:left}
.bx-cmd kbd{border-color:var(--line);color:var(--mut-2);background:var(--card)}
.bx-cmd:hover{border-color:#CBD5E1;color:var(--ink-2)}
.bx-btn-new{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 11px;border-radius:10px;border:0;background:var(--brand);color:#fff;font:600 13.5px var(--font);cursor:pointer;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--brand) 80%,transparent);transition:.15s}
.bx-btn-new:hover{background:var(--brand-600);transform:translateY(-1px)}
.bx-status{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:999px;background:var(--ok-bg);color:#047857;font-size:12px;font-weight:600;white-space:nowrap}
.bx-status i{width:7px;height:7px;border-radius:50%;background:#10B981;box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:bxPing 2.4s infinite}
@keyframes bxPing{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}70%{box-shadow:0 0 0 7px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.bx-user{display:flex;align-items:center;gap:10px;height:42px;padding:0 8px 0 4px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;font-family:var(--font);color:var(--ink)}
.bx-user:hover{background:var(--hover);border-color:var(--line)}
.bx-user-t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;max-width:170px}
.bx-user-t strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bx-user-t small{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bx-av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#7C3AED))}
.bx-av.lg{width:42px;height:42px;border-radius:12px;font-size:14px}
/* popovers */
.bx-pop{position:relative}
.bx-pop-m{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-3);opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right;pointer-events:none;transition:.14s ease;z-index:70}
.bx-pop.is-open .bx-pop-m{opacity:1;transform:none;pointer-events:auto}
.bx-pop-m a,.bx-pop-m form button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.bx-pop-m a:hover,.bx-pop-m form button:hover{background:var(--hover);color:var(--ink)}
.bx-pop-m a .bx-i,.bx-pop-m button .bx-i{color:var(--mut)}
.bx-pop-m form{margin:4px 0 0;padding-top:4px;border-top:1px solid var(--line-2)}
.bx-pop-m form button{color:var(--bad)}.bx-pop-m form button .bx-i{color:var(--bad)}
.bx-user-h{display:flex;gap:10px;align-items:center;padding:8px 8px 12px;margin-bottom:4px;border-bottom:1px solid var(--line-2)}
.bx-user-h strong{display:block;font-size:13.5px}.bx-user-h small{font-size:12px;color:var(--mut)}
.bx-theme-m{width:272px;padding:14px}
.bx-theme-m strong{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:0 0 8px}
.bx-theme-m strong~strong{margin-top:14px}
.bx-theme-m small{display:block;margin-top:12px;color:var(--mut);font-size:11.5px;line-height:1.45}
.bx-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.bx-swatches button{aspect-ratio:1;border-radius:50%;border:2px solid #fff;background:var(--sw);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;transition:transform .12s}
.bx-swatches button:first-child{background:radial-gradient(circle,#fff 0 28%,var(--sw) 31%)}
.bx-theme-m small a{all:unset;color:var(--brand);font-weight:600;cursor:pointer}.bx-theme-m small a:hover{text-decoration:underline}
.bx-swatches button:hover{transform:scale(1.12)}
.bx-swatches button.is-on{box-shadow:0 0 0 2px var(--ink)}
.bx-seg{display:flex;padding:3px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.bx-seg button{flex:1;height:30px;border:0;border-radius:7px;background:transparent;font:600 12.5px var(--font);color:var(--mut);cursor:pointer}
.bx-seg button.is-on{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}

/* ---------------- Contenido ---------------- */
.content.bx-content{max-width:1560px!important;margin:0 auto;padding:26px 28px 56px!important}
html[data-density="compact"] .content.bx-content{padding:18px 22px 40px!important}
.bx-toast{display:flex;align-items:center;gap:10px;padding:11px 14px;margin:0 0 16px;border-radius:12px;background:var(--ok-bg);color:#065F46;border:1px solid #BFE9D7;font-weight:500;animation:bxIn .25s ease}
.bx-toast.t-error{background:var(--bad-bg);color:#991B1B;border-color:#F8C9C9}
.bx-toast span{flex:1}
.bx-toast button{all:unset;cursor:pointer;opacity:.6;display:grid}.bx-toast button:hover{opacity:1}
@keyframes bxIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.bx-banner{border-radius:14px}

/* Paneles y tipografía base (aplica a todos los módulos existentes) */
.bx-content h2{font-size:17px;font-weight:700;letter-spacing:-.015em;margin:0 0 14px;color:var(--ink)}
.bx-content h3{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.bx-content p{color:var(--ink-2)}
.bx-content .panel{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;box-shadow:var(--sh-2)!important;padding:22px!important;margin:0 0 20px;min-width:0}
html[data-density="compact"] .bx-content .panel{padding:16px!important;margin-bottom:14px}
.bx-content .panel>h2:first-child{margin-top:0}
.bx-content .eyebrow{display:inline-block;font-size:11px!important;font-weight:700!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--brand)!important;margin-bottom:4px}
.bx-content .muted,.bx-content small{color:var(--mut)}
.bx-content .note{background:var(--info-bg);border:1px solid color-mix(in srgb,var(--info) 18%,var(--card));color:#1E3A8A;border-radius:12px;padding:12px 14px;font-size:13.5px;margin:12px 0}
.bx-content .alert{background:var(--bad-bg);border:1px solid #F8C9C9;color:#991B1B;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.bx-content .success{background:var(--ok-bg);border:1px solid #BFE9D7;color:#065F46;border-radius:12px;padding:12px 14px;margin:0 0 16px;font-weight:500}
.bx-content .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}
.bx-content .empty{color:var(--mut);text-align:center;padding:28px 12px!important}
.bx-content .head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.bx-content .head h2{margin:0}
.bx-content .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important;align-items:start}
.bx-content .split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.bx-content .sticky{position:sticky;top:calc(var(--top-h) + 18px)}
.bx-content .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
/* Botones */
.bx-content .btn,.bx-auth .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px!important;padding:8px 15px!important;border-radius:10px!important;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 13.5px var(--font);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;box-shadow:var(--sh-1)}
.bx-content .btn:hover{border-color:#CBD5E1;background:var(--hover)}
.bx-content .btn.primary,.bx-auth .btn.primary{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--brand) 85%,transparent)!important}
.bx-content .btn.primary:hover,.bx-auth .btn.primary:hover{background:var(--brand-600)!important;transform:translateY(-1px)}
.bx-content .btn.secondary{background:var(--card);color:var(--ink)}
.bx-content .btn.soft{background:var(--brand-soft)!important;border-color:transparent!important;color:var(--brand)!important;box-shadow:none}
.bx-content .btn.danger{background:var(--card);border-color:#F3C4C4;color:var(--bad)}.bx-content .btn.danger:hover{background:var(--bad-bg)}
.bx-content .btn.wide,.bx-auth .btn.wide{width:100%;margin-top:14px}
.bx-content .btn.sm,.bx-content .table .btn{min-height:30px!important;padding:4px 10px!important;font-size:12.5px;border-radius:8px!important}
.bx-content .link-button,.bx-content .text-link{background:none;border:0;color:var(--brand);font-weight:600;cursor:pointer;padding:0;text-decoration:none}
/* Formularios */
.bx-content label,.bx-auth label{display:block;margin:12px 0 6px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.bx-content input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),.bx-content select,.bx-content textarea,.bx-auth input{width:100%;min-height:40px!important;padding:8px 12px!important;border:1px solid #D7DDE7!important;border-radius:10px!important;background:var(--card)!important;color:var(--ink);font:14px var(--font);transition:border-color .15s,box-shadow .15s}
.bx-content textarea{min-height:92px!important;resize:vertical;line-height:1.5}
.bx-content input:focus,.bx-content select:focus,.bx-content textarea:focus,.bx-auth input:focus{outline:0;border-color:var(--brand)!important;box-shadow:0 0 0 4px var(--brand-ring)}
.bx-content input[type=color]{width:100%;height:40px;padding:3px;border:1px solid #D7DDE7;border-radius:10px;background:var(--card)}
.bx-content input[type=file]{width:100%;padding:8px;border:1px dashed #CBD5E1;border-radius:10px;background:var(--hover);font-size:13px}
.bx-content input[type=checkbox],.bx-content input[type=radio]{accent-color:var(--brand);width:16px;height:16px;vertical-align:-3px;margin-right:6px}
.bx-content .f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
.bx-content .f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}
.bx-content .f2>*,.bx-content .f3>*{min-width:0}
.bx-content form>label:first-of-type{margin-top:0}
/* Tablas */
.bx-content .table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.bx-content .table table,.bx-content table.bx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.bx-content .table th,.bx-content table.bx-table th{position:sticky;top:0;background:var(--thead);color:var(--mut);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.bx-content .table td,.bx-content table.bx-table td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle;color:var(--ink-2)}
.bx-content .table tr:last-child td{border-bottom:0}
.bx-content .table tbody tr:hover td,.bx-content .table tr:hover td{background:var(--hover)}
.bx-content .table td strong{color:var(--ink)}
/* KPIs heredados */
.bx-content .kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:16px!important;margin:0 0 20px}
.bx-content .kpi{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;padding:18px!important;box-shadow:var(--sh-2)!important;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}
.bx-content .kpi::after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 40%,#22D3EE))}
.bx-content .kpi span{color:var(--mut);font-size:13px;font-weight:600}
.bx-content .kpi strong{font-size:26px!important;font-weight:750;letter-spacing:-.02em;color:var(--ink)}
.bx-content .hero-dashboard,.bx-content .custom-hero,.bx-content .admin-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 24px!important;margin:0 0 20px!important;border-radius:var(--r-lg)!important;border:1px solid var(--line)!important;background:radial-gradient(100% 140% at 100% 0%,var(--brand-soft-2),transparent 60%),#fff!important;box-shadow:var(--sh-2)}
.bx-content .hero-dashboard h2,.bx-content .custom-hero h2,.bx-content .admin-hero h2{font-size:22px;margin:2px 0 4px}
.bx-content .hero-dashboard p,.bx-content .custom-hero p{margin:0;color:var(--mut)}
/* Tablas: sin ancho mínimo forzado (antes ocultaba columnas en paneles angostos) */
.bx-content .table table{min-width:0!important}
.bx-content .table a:not(.btn){color:var(--brand);text-decoration:none;font-weight:600}.bx-content .table a:not(.btn):hover{text-decoration:underline}
/* Personalizar: vista previa y módulos */
.bx-content .preview-brand{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;color:#fff;min-width:220px;box-shadow:var(--sh-2)}
.bx-content .preview-brand img{height:34px;width:34px;object-fit:contain;background:var(--card);border-radius:9px;padding:3px}
.bx-content .preview-brand span{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-weight:800}
.bx-content .module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:14px 0 4px}
.bx-content .module-card{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:11px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.15s;background:var(--card)}
.bx-content .module-card:hover{border-color:#CBD5E1;background:var(--hover)}
.bx-content .module-card:has(input:checked){border-color:color-mix(in srgb,var(--brand) 40%,#fff);background:var(--brand-soft)}
.bx-content .module-card input{margin:0!important;flex:none}
.bx-content .module-card span{display:flex;flex-direction:column;min-width:0}
.bx-content .module-card strong{font-size:13px;color:var(--ink)}.bx-content .module-card small{font-size:11px;font-family:ui-monospace,Menlo,monospace}
/* POS / compras: filas de producto */
.bx-content .line-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px;gap:8px;margin:0 0 8px}
.bx-content .line-row>*{min-width:0}
@media (max-width:640px){.bx-content .line-row{grid-template-columns:1fr 1fr}.bx-content .line-row>select{grid-column:span 2}}
/* Listas de pacientes y similares */
.bx-content .patient-list{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.bx-content .patient-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink);border:1px solid transparent;transition:.15s}
.bx-content .patient-row:hover{background:var(--hover);border-color:var(--line)}
.bx-content .patient-row strong{display:block;font-size:14px}
.bx-content .patient-row small{display:block;font-size:12.5px;color:var(--mut)}
.bx-content .patient-row>span{font-size:12.5px;color:var(--mut);padding:3px 9px;border-radius:999px;background:var(--bg)}
.bx-content .avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--brand);background:var(--brand-soft)}
.bx-content .searchbar{display:flex;gap:8px;align-items:center}
.bx-content .searchbar input{flex:1}
.bx-content .quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bx-content .quick-grid a{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-weight:600;text-decoration:none;transition:.15s}
.bx-content .quick-grid a:hover{background:var(--brand-soft-2)}
.bx-content .status-pill{background:var(--brand-soft);color:var(--brand)}

/* ---------------- Paleta de comandos ---------------- */
.bx-cmdk{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}
.bx-cmdk[hidden]{display:none}
.bx-cmdk-box{width:min(620px,100%);background:var(--card);border-radius:16px;box-shadow:var(--sh-3);overflow:hidden;animation:bxIn .16s ease}
.bx-cmdk-box label{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--line);color:var(--mut)}
.bx-cmdk-box input{font-size:16px!important;color:var(--ink)!important}
.bx-cmdk-box ul{list-style:none;margin:0;padding:6px;max-height:min(52vh,440px);overflow-y:auto}
.bx-cmdk-box li a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:14px}
.bx-cmdk-box li a .bx-i{color:var(--mut)}
.bx-cmdk-box li a span{flex:1}
.bx-cmdk-box li a small{color:var(--mut-2);font-size:12px}
.bx-cmdk-box li.is-sel a,.bx-cmdk-box li a:hover{background:var(--brand-soft);color:var(--brand)}
.bx-cmdk-box li.is-sel a .bx-i{color:var(--brand)}
.bx-cmdk-box footer{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--mut)}
.bx-cmdk-box kbd{font:600 10.5px var(--font);padding:2px 5px;border-radius:5px;border:1px solid var(--line);margin-right:3px;background:var(--bg)}

/* ---------------- Acceso ---------------- */
body.bx-auth{margin:0;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);font-family:var(--font);color:var(--ink);background:var(--card)!important}
.bx-auth-card{align-self:center;justify-self:center;width:min(420px,calc(100% - 40px));padding:40px 0}
.bx-auth-brand img{height:52px;width:auto;margin-bottom:28px}
.bx-auth h1{font-size:28px;letter-spacing:-.025em;margin:0 0 6px}
.bx-auth-card>p{color:var(--mut);margin:0 0 22px}
.bx-auth-form label:first-of-type{margin-top:0}
.bx-auth .btn.wide{min-height:46px!important;font-size:15px;margin-top:20px}
.bx-auth-side{background:radial-gradient(90% 70% at 100% 0%,rgba(56,189,248,.35),transparent 60%),radial-gradient(80% 60% at 0% 100%,rgba(79,70,229,.45),transparent 60%),#0B1B34;color:#fff;display:flex;align-items:center;padding:56px;position:relative;overflow:hidden}
.bx-auth-side::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(70% 70% at 70% 40%,#000,transparent)}
.bx-auth-side>div{position:relative;z-index:1;max-width:460px}
.bx-auth-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#93C5FD}
.bx-auth-side h2{font-size:36px;line-height:1.15;letter-spacing:-.03em;margin:14px 0 24px}
.bx-auth-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;color:#CBD5E1}
.bx-auth-side li{display:flex;gap:10px;align-items:center}
.bx-auth-side li .bx-i{color:#34D399}
.bx-alert{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;margin:0 0 16px;font-size:13.5px}
.bx-alert.t-error{background:var(--bad-bg);color:#991B1B;border:1px solid #F8C9C9}

/* ---------------- Responsive ---------------- */
@media (max-width:1200px){.bx-cmd{min-width:0}.bx-cmd span,.bx-cmd kbd{display:none}.bx-user-t{display:none}.bx-content .split{grid-template-columns:1fr}.bx-content .sticky{position:static}}
@media (max-width:1000px){
  .bx-side{transform:translateX(-102%);box-shadow:var(--sh-3)}
  .bx-app.is-side-open .bx-side{transform:none}
  .bx-app.is-side-open .bx-scrim{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:55}
  .bx-main{margin-left:0}
  .bx-only-m{display:grid}
  .bx-rail-btn{display:none}
  .bx-top{padding:0 16px}
  .bx-status{display:none}
  .content.bx-content{padding:18px 16px 44px!important}
  .bx-content .grid2{grid-template-columns:1fr}
  body.bx-auth{grid-template-columns:1fr}.bx-auth-side{display:none}
}
@media (max-width:640px){
  .bx-crumb{display:none}.bx-title h1{font-size:17px}
  .bx-btn-new span{display:none}.bx-btn-new{padding:0 11px}
  .bx-content .f2,.bx-content .f3{grid-template-columns:1fr}
  .bx-content .panel{padding:16px!important}
  .bx-pop-m{position:fixed;left:12px;right:12px;top:calc(var(--top-h) + 6px);min-width:0}
  .bx-theme-m{width:auto}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =====================================================================
   CRM
   ===================================================================== */
.crm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.crm-head h2{font-size:22px;margin:0}
.crm-head p{margin:2px 0 0;color:var(--mut)}
.crm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crm-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.crm-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:2px;min-width:0}
.crm-kpi span{font-size:12.5px;color:var(--mut);font-weight:600;display:flex;align-items:center;gap:7px}
.crm-kpi span .bx-i{width:16px;height:16px;color:var(--brand)}
.crm-kpi strong{font-size:23px;font-weight:750;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-kpi small{font-size:12px;color:var(--mut)}
.crm-kpi.t-warn strong{color:var(--warn)}
.crm-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:10px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-1)}
.crm-bar form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1;margin:0}
.bx-content .crm-bar input,.bx-content .crm-bar select{width:auto!important;min-height:36px!important;padding:6px 10px!important;font-size:13px}
.bx-content .crm-bar input[type=search]{min-width:220px;flex:1}
.crm-views{display:flex;padding:3px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.crm-views a{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--mut);text-decoration:none}
.crm-views a.is-on{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}
.crm-views .bx-i{width:15px;height:15px}
/* Kanban */
.crm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start;scroll-snap-type:x proximity}
.crm-col{background:var(--track);border-radius:16px;padding:10px;display:flex;flex-direction:column;min-height:240px;scroll-snap-align:start;border:1px solid transparent;transition:background .15s,border-color .15s}
.crm-col.is-over{background:var(--brand-soft);border-color:var(--brand)}
.crm-col-h{display:flex;align-items:center;gap:8px;padding:4px 6px 10px}
.crm-col-h i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.crm-col-h strong{font-size:13.5px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-col-h span{font-size:12px;font-weight:700;color:var(--mut);background:var(--card);border-radius:999px;padding:1px 8px}
.crm-col-sum{font-size:12px;color:var(--mut);padding:0 6px 10px;display:flex;justify-content:space-between}
.crm-col-sum b{color:var(--ink-2)}
.crm-col-bar{height:3px;border-radius:3px;background:var(--c);opacity:.8;margin:0 6px 10px}
.crm-cards{display:flex;flex-direction:column;gap:8px;min-height:40px;flex:1}
.crm-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 12px 10px;text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);cursor:grab;transition:box-shadow .15s,transform .15s,border-color .15s;position:relative}
.crm-card:hover{box-shadow:var(--sh-2);border-color:#D5DCE6;transform:translateY(-1px)}
.crm-card.is-drag{opacity:.45;transform:rotate(1.5deg)}
.crm-card-t{font-size:13.5px;font-weight:650;line-height:1.35;margin:0 0 3px;padding-right:18px}
.crm-card-s{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-card-s .bx-i{width:13px;height:13px}
.crm-card-f{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}
.crm-card-f b{font-size:13.5px;letter-spacing:-.01em}
.crm-card-m{display:flex;align-items:center;gap:6px}
.crm-mini-av{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:9.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#7C3AED))}
.crm-due{white-space:nowrap;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--bg);color:var(--mut);display:inline-flex;gap:4px;align-items:center}
.crm-due.t-late{background:var(--bad-bg);color:var(--bad)}
.crm-due.t-soon{background:var(--warn-bg);color:#B45309}
.crm-due .bx-i{width:12px;height:12px}
.crm-hot{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.crm-add{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;height:34px;border-radius:10px;border:1px dashed #C7D0DD;color:var(--mut);font-size:12.5px;font-weight:600;text-decoration:none;background:transparent;cursor:pointer;width:100%;font-family:var(--font)}
.crm-add:hover{border-color:var(--brand);color:var(--brand);background:var(--card)}
.crm-add .bx-i{width:15px;height:15px}
.crm-col.t-closed{background:#F4F6FA}
.crm-empty-col{font-size:12px;color:var(--mut-2);text-align:center;padding:18px 6px;border:1px dashed #D5DCE6;border-radius:12px}
/* chips / estados */
.crm-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--bg);color:var(--ink-2);white-space:nowrap}
.crm-chip i{width:7px;height:7px;border-radius:50%;background:var(--c,#94A3B8)}
.crm-chip.t-won{background:var(--ok-bg);color:#047857}.crm-chip.t-lost{background:var(--bad-bg);color:#B91C1C}.crm-chip.t-open{background:var(--info-bg);color:#1D4ED8}
.crm-src{font-size:11.5px;color:var(--mut);background:var(--bg);padding:2px 8px;border-radius:6px}
/* Drawer / modal */
.crm-drawer{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end;background:rgba(15,23,42,.38);backdrop-filter:blur(2px)}
.crm-drawer[hidden]{display:none}
.crm-drawer-p{width:min(560px,100%);height:100%;background:var(--card);box-shadow:var(--sh-3);display:flex;flex-direction:column;animation:crmSlide .22s ease}
@keyframes crmSlide{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.crm-drawer-h{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.crm-drawer-h h2{margin:0!important;font-size:18px}
.crm-drawer-b{flex:1;overflow-y:auto;padding:6px 22px 22px}
.crm-drawer-f{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:var(--hover)}
.crm-sec{margin-top:18px;padding-top:4px}
.crm-sec>b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin:0 0 2px}
.crm-hint{font-size:12px;color:var(--mut);margin:4px 0 0}
/* Detalle */
.crm-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.crm-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:22px;margin-bottom:20px}
.crm-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.crm-hero h2{font-size:24px!important;margin:6px 0 4px!important;letter-spacing:-.02em}
.crm-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--mut);font-size:13px}
.crm-hero-meta span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.crm-hero-meta .bx-i{width:15px;height:15px}
.crm-value{text-align:right}
.crm-value strong{display:block;font-size:28px;letter-spacing:-.03em;font-weight:750}
.crm-value small{color:var(--mut)}
.crm-stages{display:flex;gap:4px;margin-top:20px}
.crm-stages form{flex:1;margin:0;min-width:0}
.crm-stages button{all:unset;box-sizing:border-box;width:100%;display:block;text-align:center;padding:9px 6px;font-size:12px;font-weight:650;color:var(--mut);background:var(--bg);cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s}
.crm-stages form:first-child button{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-radius:8px 0 0 8px}
.crm-stages form:last-child button{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%);border-radius:0 8px 8px 0}
.crm-stages button:hover{background:var(--brand-soft-2);color:var(--brand)}
.crm-stages button.is-done{background:color-mix(in srgb,var(--brand) 20%,var(--card));color:var(--brand-600)}
.crm-stages button.is-cur{background:var(--brand);color:#fff}
.crm-outcome{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.crm-outcome .btn.win{background:var(--ok)!important;border-color:var(--ok)!important;color:#fff!important}
.crm-outcome .btn.lose{color:var(--bad)!important}
.crm-contact{display:flex;flex-direction:column;gap:10px}
.crm-contact-row{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);min-width:0}
.crm-contact-row .bx-i{color:var(--mut);width:16px;height:16px}
.crm-contact-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.crm-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.crm-quick a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:12px;background:var(--bg);color:var(--ink-2);text-decoration:none;font-size:12px;font-weight:600;transition:.15s}
.crm-quick a:hover{background:var(--brand-soft);color:var(--brand)}
.crm-quick a.t-wa:hover{background:#E7F8EE;color:#15803D}
.crm-dl{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;margin:0;font-size:13.5px}
.crm-dl dt{color:var(--mut)}.crm-dl dd{margin:0;color:var(--ink);font-weight:600;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}
.crm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-4px 0 16px}
.crm-tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px}
.crm-tabs button .bx-i{width:15px;height:15px}
.crm-tabs button.is-on{color:var(--brand);border-bottom-color:var(--brand)}
.crm-tabs button:hover{color:var(--ink)}
/* Timeline */
.crm-tl{list-style:none;margin:0;padding:0;position:relative}
.crm-tl::before{content:"";position:absolute;left:17px;top:6px;bottom:6px;width:2px;background:var(--line-2)}
.crm-tl li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:0 0 18px}
.crm-tl-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--mut);z-index:1}
.crm-tl-ic .bx-i{width:17px;height:17px}
.crm-tl-ic.t-CALL{color:#2563EB;background:#EAF1FE;border-color:#D6E3FC}
.crm-tl-ic.t-WHATSAPP{color:#16A34A;background:#E7F8EE;border-color:#CBEFD8}
.crm-tl-ic.t-EMAIL{color:#7C3AED;background:#F2ECFE;border-color:#E3D7FD}
.crm-tl-ic.t-MEETING{color:#0891B2;background:#E3F6FA;border-color:#C8ECF4}
.crm-tl-ic.t-TASK{color:#D97706;background:#FEF4E2;border-color:#FBE3B8}
.crm-tl-ic.t-STAGE,.crm-tl-ic.t-SYSTEM{color:var(--mut);background:var(--bg)}
.crm-tl-b{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.crm-tl li.is-sys .crm-tl-b{background:transparent;border:0;padding:8px 0 0}
.crm-tl-b header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.crm-tl-b header strong{font-size:13.5px}
.crm-tl-b header time{font-size:11.5px;color:var(--mut);white-space:nowrap}
.crm-tl-b p{margin:4px 0 0;font-size:13px;white-space:pre-line;color:var(--ink-2)}
.crm-tl-b footer{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--mut)}
.crm-tl li.is-done .crm-tl-ic{opacity:.75}
.crm-tl-b form{margin:0}
.crm-check{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ok);padding:3px 8px;border-radius:7px;background:var(--ok-bg)}
.crm-check .bx-i{width:13px;height:13px}
.crm-act-types{display:flex;gap:6px;flex-wrap:wrap}
.crm-act-types label{margin:0!important;display:inline-flex!important;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;border:1px solid var(--line);font-size:12.5px!important;cursor:pointer;background:var(--card);font-weight:600!important;color:var(--ink-2)!important}
.crm-act-types input{position:absolute;opacity:0;pointer-events:none}
.crm-act-types label:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)!important}
.crm-act-types .bx-i{width:15px;height:15px}
/* Lista de tareas */
.crm-tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.crm-task-col h3{display:flex;align-items:center;gap:8px;margin:0 0 12px!important;font-size:14px!important}
.crm-task-col h3 span{font-size:12px;font-weight:700;color:var(--mut);background:var(--bg);border-radius:999px;padding:1px 8px}
.crm-task-col h3 i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.crm-task{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:8px;box-shadow:var(--sh-1)}
.crm-task strong{display:block;font-size:13.5px;line-height:1.35}
.crm-task small{display:block;font-size:12px;color:var(--mut);margin-top:2px}
.crm-task a{color:inherit;text-decoration:none}.crm-task a:hover strong{color:var(--brand)}
.crm-task .crm-tl-ic{width:34px;height:34px;border-radius:10px}
/* Embudo / reportes */
.crm-funnel{display:flex;flex-direction:column;gap:9px}
.crm-funnel-row{display:grid;grid-template-columns:120px minmax(0,1fr) 110px;gap:12px;align-items:center;font-size:13px}
.crm-funnel-row span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-funnel-row b{text-align:right;font-size:13px}
.crm-funnel-track{height:26px;border-radius:8px;background:var(--bg);overflow:hidden;position:relative}
.crm-funnel-fill{height:100%;border-radius:8px;background:var(--c);display:flex;align-items:center;padding:0 8px;color:#fff;font-size:11.5px;font-weight:700;min-width:26px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.crm-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.crm-grid>.panel{margin:0}.crm-grid .table table{min-width:0}.crm-chip{white-space:nowrap}
.crm-grid>.s4{grid-column:span 4}.crm-grid>.s5{grid-column:span 5}.crm-grid>.s6{grid-column:span 6}.crm-grid>.s7{grid-column:span 7}.crm-grid>.s8{grid-column:span 8}.crm-grid>.s12{grid-column:span 12}
.crm-stage-edit{display:grid;grid-template-columns:28px minmax(0,1fr) 90px 78px 78px 44px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-2)}
.bx-content .crm-stage-edit input{min-height:36px!important;padding:6px 10px!important}
.bx-content .crm-stage-edit input[type=color]{height:36px;padding:2px}
.crm-stage-edit .grip{color:var(--mut-2);text-align:center;font-weight:700}
@media (max-width:1300px){.crm-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.crm-detail{grid-template-columns:1fr}.crm-tasks{grid-template-columns:1fr}.crm-grid>[class*=s]{grid-column:span 12}}
@media (max-width:640px){.crm-hero-top{flex-direction:column}.crm-value{text-align:left}.crm-hero h2{font-size:20px!important}.crm-kpis{grid-template-columns:1fr 1fr}.crm-board{grid-auto-columns:86%}.crm-stages{flex-wrap:wrap}.crm-stages form{flex:1 1 30%}.crm-stages button{clip-path:none!important;border-radius:8px!important}.crm-funnel-row{grid-template-columns:90px minmax(0,1fr) 80px}.crm-stage-edit{grid-template-columns:minmax(0,1fr) 70px 36px}.crm-stage-edit .grip,.crm-stage-edit .opt{display:none}}

/* Tooltips */
.bx-tip{position:fixed;left:0;top:0;z-index:120;pointer-events:none;max-width:260px;padding:8px 10px;border-radius:10px;background:#0F172A;color:#E2E8F0;font:500 12.5px/1.45 var(--font);box-shadow:var(--sh-3)}
.bx-tip b{color:#fff}
.bxd-ctip{position:absolute;z-index:5;pointer-events:none;min-width:150px;padding:9px 11px;border-radius:11px;background:#0F172A;color:#CBD5E1;font:500 12px/1.5 var(--font);box-shadow:var(--sh-3);white-space:nowrap}
.bxd-ctip b{display:block;color:#fff;font-size:12.5px;margin-bottom:3px;text-transform:capitalize}
.bxd-ctip div{display:flex;align-items:center;gap:7px;color:#F1F5F9;font-weight:600}
.bxd-ctip small{color:#94A3B8;font-weight:500}
.bxd-ctip i{width:9px;height:9px;border-radius:3px;display:inline-block}
.bxd-ctip i.k1{background:var(--brand)}.bxd-ctip i.k2{background:#94A3B8}

/* =====================================================================
   META360 · GLP Care — dashboard y evaluación corporal
   ===================================================================== */
.mx4-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.mx4-top h2{font-size:22px!important;margin:0!important}.mx4-top p{margin:3px 0 0;color:var(--mut)}
.mx4-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bx-content .mx4-find select{min-width:260px}
.mx4-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.mx4-kpi{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-2)}
.mx4-kpi span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.mx4-kpi strong{display:block;font-size:28px;font-weight:750;letter-spacing:-.025em;margin:6px 0 6px}
.mx4-kpi>i{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center}
.mx4-kpi>i .bx-i{width:22px;height:22px}
.mx4-kpi>i.t-blue{background:var(--brand-soft);color:var(--brand)}.mx4-kpi>i.t-green{background:#E3F6EA;color:#16A34A}.mx4-kpi>i.t-purple{background:#EFE8FF;color:#7C3AED}.mx4-kpi>i.t-orange{background:#FFF3E0;color:#F59E0B}
.mx-chg{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap}
.mx-chg b{display:inline-block;padding:2px 6px;border-radius:6px;margin-right:4px;font-weight:700}
.mx-chg.t-good b{background:#E8F7EE;color:#15803D}.mx-chg.t-bad b{background:#FDECEF;color:#BE123C}.mx-chg.t-flat b{background:var(--bg);color:var(--mut)}
.mx4-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.mx4-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.mx4-col>.panel,.mx4-r2>.panel,.mx4-r3>.panel{margin:0}
.mx4-r2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}
.mx4-r3{display:grid;grid-template-columns:1fr 1.1fr;gap:18px}
.mx4-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.mx4-h h3{margin:0!important;font-size:15px!important}
.mx4-stats3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.mx4-stats3>div{padding:10px 14px;border-right:1px solid var(--line)}.mx4-stats3>div:last-child{border:0}
.mx4-stats3 small,.mx4-st4 small{display:block;font-size:11px;color:var(--mut)}.mx4-stats3 b{font-size:16px}
.mx4-down{color:#16A34A;font-size:11.5px;font-weight:600}
.mx4-chart{min-height:210px}.mx4-chart.sm{min-height:160px}
.mx4-donutw{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.mx4-donut{width:150px;flex:none}
.mx4-legend{flex:1;display:flex;flex-direction:column;gap:9px;font-size:12.5px;min-width:150px}.mx4-legend div{white-space:nowrap}
.mx4-legend div{display:flex;align-items:center;gap:8px}.mx4-legend b{margin-left:auto;font-weight:600}
.mx4-legend i{width:10px;height:10px;border-radius:50%;flex:none}
.mx4-pat{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.mx4-pat strong{display:block}.mx4-pat small{color:var(--mut)}
.mx4-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;flex:none;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#7C3AED))}
.mx4-av.sm{width:32px;height:32px;font-size:11px}
.mx4-ok{margin-left:auto;background:#E8F7EE;color:#15803D;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;white-space:nowrap}
.mx4-st4{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:6px}.mx4-st4 b{white-space:nowrap}
.mx4-st4>div{background:var(--bg);border-radius:10px;padding:8px 10px}.mx4-st4 b{font-size:15px}
.mx4-adh{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:center}
.mx4-adh-main{display:flex;align-items:center;gap:14px}
.mx4-adh-main b{display:block;font-size:26px;letter-spacing:-.02em}.mx4-adh-main small{display:block;color:var(--mut);font-size:12px}
.mx4-adh-list{display:flex;flex-direction:column;gap:8px}
.mx4-adh-list a{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:13px;color:var(--ink-2);text-decoration:none}
.mx4-adh-list a:hover span{color:var(--brand)}
.mx4-adh-list span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx4-adh-list i{height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}.mx4-adh-list em{display:block;height:100%;border-radius:4px}
.mx4-adh-list b{text-align:right}
.mx4-alert{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:inherit}
.mx4-alert:last-child{border:0}
.mx4-alert>i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:11px;font-weight:800;flex:none}
.mx4-alert div{min-width:0}.mx4-alert b{display:block;font-size:13px}.mx4-alert div span{display:block;font-size:11.5px;color:var(--mut)}
.mx4-alert time{margin-left:auto;font-size:11px;color:var(--mut);white-space:nowrap}
.mx4-alert:hover b{color:var(--brand)}
.mx4-appt{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:8px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:12.5px;align-items:center}
.mx4-appt:last-child{border:0}.mx4-appt>span{font-weight:700}.mx4-appt b{display:block}.mx4-appt small{color:var(--mut)}
.mx4-appt em{font-style:normal;background:#E8F7EE;color:#15803D;font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:6px}
.mx4-ai{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 6%,var(--card)),#fff)!important}
.mx4-ai p{font-size:13px;margin:0 0 8px}
.mx4-beta{background:#EDE9FE;color:#7C3AED;font-size:10px;font-weight:800;padding:2px 7px;border-radius:5px;letter-spacing:.04em}
.mx4-qa{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.mx4-qa a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--mut);text-decoration:none}
.mx4-qa a .bx-i{width:48px;height:48px;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:.15s}
.mx4-qa a:hover .bx-i{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
/* Evaluación corporal */
.mxe{padding:22px!important}
.mxe-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.mxe-h h2{font-size:18px!important;margin:0!important}
.mxe-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}
.mxe-tag{background:var(--brand-soft-2);color:var(--brand);font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px}
.bx-content .mxe-h select{min-width:220px}
.mxe-grid{display:grid;grid-template-columns:270px minmax(0,1fr) 340px;gap:18px}
.bx-content .mxe-form label{margin:10px 0 4px;font-size:11.5px;color:var(--mut)}
.mxe-slider{display:flex;align-items:center;gap:10px}
.mxe-slider input[type=range]{flex:1;accent-color:var(--brand)}
.mxe-slider output{font-weight:700;font-size:15px;min-width:70px;text-align:right}
.bx-content .mxe-chk{display:flex!important;align-items:center;gap:6px;font-size:12px!important;color:var(--ink-2)!important;font-weight:500!important;cursor:pointer;margin:10px 0 0!important}
.mxe-note{font-size:11px;color:var(--mut);margin-top:10px;line-height:1.45}
.mxe-stage{background:radial-gradient(circle at 50% 35%,var(--brand-soft),#fff 70%);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;padding:10px}
.mxe-toggles{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.mxe-body{width:100%;display:flex;justify-content:center}.mxe-body svg{width:100%;max-width:430px;height:auto}
.mxe-leg{display:flex;gap:14px;font-size:11.5px;color:var(--mut);justify-content:center;margin-top:4px;flex-wrap:wrap}
.mxe-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px}
.mxe-mets{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mxe-met{border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.mxe-met small{display:block;font-size:11px;color:var(--mut)}.mxe-met b{font-size:18px;display:block;margin:3px 0;letter-spacing:-.01em}
.mxe-chip2{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px}
.c-g{background:#E8F7EE;color:#15803D}.c-y{background:#FEF3C7;color:#B45309}.c-o{background:#FFEDD5;color:#C2410C}.c-r{background:#FFE4E6;color:#BE123C}
.mxe-cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;text-align:center}
.mxe-cmp>div{border:1px solid var(--line);border-radius:12px;padding:6px 4px 8px}
.mxe-cmp svg{width:100%;height:160px}
.mxe-cmp b{font-size:12.5px;display:block}.mxe-cmp small{font-size:11px;color:var(--mut)}
.mxe-ev2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.mxe-card{border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}
.bx-content .mxe-card .table th,.bx-content .mxe-card .table td,.bx-content .mx4-r3 .table th,.bx-content .mx4-r3 .table td{padding:10px 8px;white-space:nowrap}
.mxe-chip{display:inline-block;min-width:44px;padding:2px 8px;border-radius:6px;font-weight:700;font-size:12px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card))}
@media (max-width:1400px){.mxe-grid{grid-template-columns:260px minmax(0,1fr)}.mxe-side{grid-column:1/-1}.mxe-side .mxe-mets{grid-template-columns:repeat(4,1fr)}.mxe-cmp{max-width:720px;margin-inline:auto}}
.bx-content .mx4-grid .mx4-chart{overflow:hidden}
@media (max-width:1250px){.mx4-grid{grid-template-columns:1fr}.mx4-kpis{grid-template-columns:repeat(2,1fr)}.mx4-adh{grid-template-columns:1fr}}
@media (max-width:900px){.mx4-r2,.mx4-r3,.mxe-grid,.mxe-ev2{grid-template-columns:1fr}.mxe-side .mxe-mets{grid-template-columns:1fr 1fr}.mx4-st4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mx4-kpis{grid-template-columns:1fr}.mx4-donutw{flex-direction:column}.bx-content .mx4-find select{min-width:0;width:100%}}
@media print{.bx-side,.bx-top,.no-print,.bx-toast{display:none!important}.bx-main{margin:0!important}.content.bx-content{padding:0!important}.mxe{box-shadow:none!important;border:0!important}.mxe-card,.mxe-stage{break-inside:avoid}}

/* =====================================================================
   BITXEL UI 4.1 — refinamiento visual: tipografía, color por área,
   superficies, modo oscuro y armonización de pantallas antiguas
   ===================================================================== */
body.bx-body,body.bx-auth{font-family:var(--font);word-spacing:.05em}
.bx-content h1,.bx-content h2,.bx-content h3,.bx-title h1{font-family:var(--font);letter-spacing:-.02em}
.bx-content :is(strong,b){font-weight:650}
/* color por área */
body[data-area="clinica"]{--area:var(--a-clinica)}body[data-area="comercial"]{--area:var(--a-comercial)}body[data-area="inventario"]{--area:var(--a-inventario)}
body[data-area="abastecimiento"]{--area:var(--a-abastecimiento)}body[data-area="finanzas"]{--area:var(--a-finanzas)}body[data-area="admin"]{--area:var(--a-admin)}
.bx-group[data-group="clinica"]{--g:var(--a-clinica)}.bx-group[data-group="comercial"]{--g:var(--a-comercial)}.bx-group[data-group="inventario"]{--g:var(--a-inventario)}
.bx-group[data-group="abastecimiento"]{--g:var(--a-abastecimiento)}.bx-group[data-group="finanzas"]{--g:var(--a-finanzas)}.bx-group[data-group="admin"]{--g:var(--a-admin)}
.bx-group-h span{display:flex;align-items:center;gap:8px}
.bx-group-h span::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--g,var(--brand));opacity:.9}
.bx-group .bx-link:not(.is-active) .bx-i{color:color-mix(in srgb,var(--g,#fff) 55%,#C3CFE0)}
html[data-side="light"] .bx-group .bx-link:not(.is-active) .bx-i{color:var(--g,var(--mut))}
.bx-crumb span:last-child{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-weight:600}
.bx-crumb span:last-child::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--area)}
.bx-top{background:color-mix(in srgb,var(--card) 88%,transparent)!important}
.bx-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--area),transparent 55%);opacity:.55;pointer-events:none}
.bx-cmd{background:var(--bg)!important}
/* superficies */
.bx-content .panel,.bxd-card,.crm-kpi,.crm-hero,.mx4-kpi,.bx-content .kpi{border-color:var(--line)!important;box-shadow:var(--sh-2)!important;transition:box-shadow .2s,border-color .2s}
.bx-content .panel:hover,.bxd-card:hover{box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px -12px rgba(16,24,40,.14)!important}
.bx-content .hero-dashboard,.bx-content .custom-hero,.bx-content .admin-hero,.bx-content .his3-hero,.bx-content .mx-hero{position:relative;overflow:hidden;background:radial-gradient(120% 160% at 100% 0%,color-mix(in srgb,var(--area) 16%,transparent),transparent 55%),var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;box-shadow:var(--sh-2)!important}
.bx-content .hero-dashboard::before,.bx-content .custom-hero::before,.bx-content .admin-hero::before,.bx-content .his3-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--area)}
.bx-content .eyebrow{color:var(--area)!important}
.bx-content .kpi::after{background:linear-gradient(90deg,var(--area),color-mix(in srgb,var(--area) 35%,#22D3EE))!important}
/* estados (pastillas) */
.bx-content .status-pill,.bx-content .badge{letter-spacing:.01em}
.bx-content .status-pill[data-s]{text-transform:none}
.st-ok{background:var(--ok-bg)!important;color:var(--ok)!important}.st-warn{background:var(--warn-bg)!important;color:var(--warn)!important}.st-bad{background:var(--bad-bg)!important;color:var(--bad)!important}.st-info{background:var(--info-bg)!important;color:var(--info)!important}.st-mut{background:var(--track)!important;color:var(--mut)!important}
/* tablas */
.bx-content .table{box-shadow:none}
.bx-content .table th{background:var(--thead)!important;color:var(--mut)!important}
.bx-content .table td{color:var(--ink-2)}
.bx-content .table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--hover) 55%,transparent)}
/* formularios */
.bx-content input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),.bx-content select,.bx-content textarea,.bx-auth input{background:var(--card)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--line) 70%,var(--mut-2))!important}
.bx-content input::placeholder,.bx-content textarea::placeholder{color:var(--mut-2)}
.bx-content .btn{background:var(--card);color:var(--ink);border-color:var(--line)}
.bx-content .btn:hover{background:var(--hover)}
/* Reportes */
.rp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.rp-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-2)}
.rp-kpi span{display:block;font-size:12.5px;color:var(--mut);font-weight:600}.rp-kpi strong{display:block;font-size:24px;letter-spacing:-.02em;margin-top:4px}
.rp-kpi small{color:var(--mut);font-size:12px}
.rp-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
.rp-grid .panel{margin:0}
.rp-bars{display:flex;flex-direction:column;gap:12px}
.rp-bar{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.rp-bar>i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--mut);text-align:center}
.rp-bar div{min-width:0}.rp-bar div span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600}
.rp-bar em{display:block;height:7px;border-radius:4px;background:var(--track);margin-top:5px;overflow:hidden}.rp-bar em b{display:block;height:100%;border-radius:4px;background:var(--area)}
.rp-bar>strong{font-size:13px;white-space:nowrap}.rp-bar small{color:var(--mut);font-weight:500}
.rp-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--track);margin:6px 0 14px}
.rp-stack span{display:block;height:100%}
.rp-aging{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rp-aging li{display:flex;align-items:center;gap:10px;font-size:13.5px}.rp-aging li i{width:10px;height:10px;border-radius:3px}.rp-aging li span{flex:1;color:var(--ink-2)}
@media (max-width:1100px){.rp-kpis{grid-template-columns:repeat(2,1fr)}.rp-grid{grid-template-columns:1fr}}

/* ---------- Modo oscuro: shell y componentes nuevos ---------- */
html[data-theme="dark"] body.bx-body{background:var(--bg)!important}
html[data-theme="dark"] .bx-side{border-right-color:var(--line)}
html[data-theme="dark"][data-side="light"] .bx-side{background:var(--card)}
html[data-theme="dark"] .bx-pop-m,html[data-theme="dark"] .bx-cmdk-box{background:var(--card);border-color:var(--line)}
html[data-theme="dark"] .bx-status{background:var(--ok-bg);color:var(--ok)}
html[data-theme="dark"] .bx-toast{background:var(--ok-bg);color:var(--ok);border-color:transparent}
html[data-theme="dark"] .bx-toast.t-error,html[data-theme="dark"] .bx-alert.t-error,html[data-theme="dark"] .bx-content .alert{background:var(--bad-bg);color:var(--bad);border-color:transparent}
html[data-theme="dark"] .bx-content .success{background:var(--ok-bg);color:var(--ok);border-color:transparent}
html[data-theme="dark"] .bx-content .note{background:var(--info-bg);color:#BFD4FF;border-color:transparent}
html[data-theme="dark"] .bx-seg button.is-on,html[data-theme="dark"] .crm-views a.is-on,html[data-theme="dark"] .bxd-range button.is-on{background:var(--hover);color:var(--ink)}
html[data-theme="dark"] .bx-swatches button{border-color:var(--card)}
html[data-theme="dark"] .bxd-chip.t-up,html[data-theme="dark"] .bxd-st.t-ok,html[data-theme="dark"] .crm-chip.t-won,html[data-theme="dark"] .mx-chg.t-good b,html[data-theme="dark"] .mx4-ok,html[data-theme="dark"] .bxd-pill,html[data-theme="dark"] .mx4-appt em,html[data-theme="dark"] .c-g{background:var(--ok-bg);color:var(--ok)}
html[data-theme="dark"] .bxd-chip.t-down,html[data-theme="dark"] .bxd-st.t-bad,html[data-theme="dark"] .crm-chip.t-lost,html[data-theme="dark"] .mx-chg.t-bad b,html[data-theme="dark"] .crm-due.t-late,html[data-theme="dark"] .c-r{background:var(--bad-bg);color:var(--bad)}
html[data-theme="dark"] .bxd-st.t-mid,html[data-theme="dark"] .bxd-st.t-warn,html[data-theme="dark"] .crm-due.t-soon,html[data-theme="dark"] .c-y,html[data-theme="dark"] .c-o{background:var(--warn-bg);color:var(--warn)}
html[data-theme="dark"] .bxd-st.t-info,html[data-theme="dark"] .crm-chip.t-open{background:var(--info-bg);color:var(--info)}
html[data-theme="dark"] .bxd-chip.t-flat,html[data-theme="dark"] .crm-due,html[data-theme="dark"] .crm-chip,html[data-theme="dark"] .crm-src,html[data-theme="dark"] .bx-content .badge{background:var(--track);color:var(--ink-2);border-color:var(--line)}
html[data-theme="dark"] .bxd-insights{background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 12%,var(--card)),color-mix(in srgb,#14B8A6 8%,var(--card)));border-color:var(--line)}
html[data-theme="dark"] .bxd-ins-title{border-color:var(--line)}
html[data-theme="dark"] .bxd-kpi-ic.t-amber,html[data-theme="dark"] .mx4-kpi>i.t-orange{background:var(--warn-bg)}html[data-theme="dark"] .bxd-kpi-ic.t-teal,html[data-theme="dark"] .mx4-kpi>i.t-green{background:var(--ok-bg)}
html[data-theme="dark"] .bxd-kpi-ic.t-rose{background:var(--bad-bg)}html[data-theme="dark"] .bxd-kpi-ic.t-violet,html[data-theme="dark"] .mx4-kpi>i.t-purple,html[data-theme="dark"] .mx4-beta{background:rgba(139,92,246,.16);color:#C4B5FD}
html[data-theme="dark"] .crm-col{background:#0F1624}html[data-theme="dark"] .crm-col.t-closed{background:#0D131F}
html[data-theme="dark"] .crm-col-h span{background:var(--track)}
html[data-theme="dark"] .crm-tl-ic{background:var(--hover)}
html[data-theme="dark"] .crm-drawer-f{background:var(--hover)}
html[data-theme="dark"] .crm-tl-ic.t-CALL,html[data-theme="dark"] .crm-tl-ic.t-WHATSAPP,html[data-theme="dark"] .crm-tl-ic.t-EMAIL,html[data-theme="dark"] .crm-tl-ic.t-MEETING,html[data-theme="dark"] .crm-tl-ic.t-TASK{background:var(--hover);border-color:var(--line)}
html[data-theme="dark"] .mxe-stage{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--brand) 14%,var(--card)),var(--card) 70%)}
html[data-theme="dark"] .mx4-ai{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 10%,var(--card)),var(--card))!important}
html[data-theme="dark"] .bxd-pulse-card{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 55%),linear-gradient(160deg,#060A12,#101828)}
/* Gráficos SVG con colores fijos */
html[data-theme="dark"] svg [stroke="#EEF1F7"],html[data-theme="dark"] svg [stroke="#edf0f5"],html[data-theme="dark"] svg [stroke="#EEF1F6"]{stroke:#243048}
html[data-theme="dark"] svg [fill="#1F2A44"],html[data-theme="dark"] svg [fill="#0F1B35"],html[data-theme="dark"] svg [fill="#17223b"],html[data-theme="dark"] svg [fill="#334155"],html[data-theme="dark"] svg [fill="#1E3A8A"],html[data-theme="dark"] svg [fill="#0f1b35"]{fill:#E6EAF2}
html[data-theme="dark"] svg [fill="#fff"]{fill:var(--card)}
html[data-theme="dark"] .mxe-body svg g[fill="#fff"],html[data-theme="dark"] .mxe-cmp svg g[fill="#fff"]{fill:#1B2436}
html[data-theme="dark"] .bxd-gl{stroke:#1F2A3D}
html[data-theme="dark"] .bxd-h0{fill:#1B2436}
/* ---------- Modo oscuro: pantallas antiguas ---------- */
html[data-theme="dark"] :is(.his3-kpi,.his3-card,.module-mini,.mx-kpi,.mx-patient,.mx-mini>div,.mx-quick a,.mx-cards a,.tenant-admin-card,.automation-list span,.system-tabs a,.integration-meta>div,.security-stack>div,.metric,.appt-card,.calendar-head,.module-card,.patient-nav a.active,.global-search){background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme="dark"] :is(.module-pill,.his-flow a i,.module-mini i,.his3-hero-icon,.hero-cross,.kpi-icon,.status-pill,.mx-count,.mx-alert i,.mx-avatar,.danger-soft,.badge.danger-soft){background:var(--hover)!important;border-color:var(--line)!important}
html[data-theme="dark"] .his3-hero-art{background:var(--hover)!important;border-color:var(--line)!important}
html[data-theme="dark"] :is(.his3-kpi strong,.mx-kpi strong,.his3-hero-copy h2,.module-mini h3,.card-head h2){color:var(--ink)!important}
html[data-theme="dark"] :is(.his3-kpi span,.his3-kpi small,.mx-kpi span,.mx-kpi small,.his3-hero-copy p){color:var(--mut)!important}
html[data-theme="dark"] .bx-content :is(td,th,p,li,label,small,span:not([class])){border-color:var(--line)}
html[data-theme="dark"] .bx-content a:not([class]),html[data-theme="dark"] .bx-content .text-link,html[data-theme="dark"] .bx-content .bxd-link{color:color-mix(in srgb,var(--brand) 70%,#fff)}
html[data-theme="dark"] .clinical-document{background:#fff!important;color:#111!important}
html[data-theme="dark"] .bx-content input[type=file]{background:var(--hover)!important;color:var(--ink-2)}
html[data-theme="dark"] .bx-content input[type=color]{background:var(--card)!important;border-color:var(--line)}
html[data-theme="dark"] .bx-content .module-card:has(input:checked){background:var(--brand-soft)!important}
html[data-theme="dark"] .bx-auth{background:var(--bg)!important}
html[data-theme="dark"] .bx-auth-brand img{filter:brightness(1.15)}
@media print{html[data-theme="dark"]{--ink:#0B1324;--card:#fff;--bg:#fff;--line:#E4E8EF}}

.bx-content .kpi .kpi-l{display:flex;align-items:center;gap:8px}
.bx-content .kpi .kpi-l .bx-i{width:28px;height:28px;padding:6px;border-radius:9px;background:color-mix(in srgb,var(--area) 12%,var(--card));color:var(--area)}
/* formularios dentro de tablas (p. ej. cobros en CxC) */
.bx-content .table td form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
.bx-content .table td form :is(input,select){width:auto!important;flex:1 1 110px;min-height:34px!important;padding:5px 9px!important;font-size:13px!important}
.bx-content .table td form .btn{flex:none}
.bx-content .table td:not(:first-child){white-space:nowrap}
.bx-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap}
.bx-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}

/* =====================================================================
   BITXEL UI 4.2 — Edición institucional (premium, sobria y formal)
   Azul medianoche, detalles dorados discretos, títulos serif,
   esquinas contenidas y superficies sin brillos.
   ===================================================================== */
@font-face{font-family:"SourceSerif4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"SourceSerif4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --brand:#1F3A5F; --side:#0C1A2C;
  --gold:#A8844E; --gold-2:#C9A76B; --gold-soft:#F5EEE2;
  --ink:#0F1B2D; --ink-2:#3A4556; --mut:#6B717C; --mut-2:#9CA1AA;
  --bg:#F4F3EF; --card:#FFFFFF; --line:#E2DED5; --line-2:#EDEAE3; --hover:#F8F7F3; --thead:#F7F5F0; --track:#ECE8E0;
  --ok:#2F6B4F; --ok-bg:#E7F0EA; --warn:#94681E; --warn-bg:#F6EEDB; --bad:#992F2F; --bad-bg:#F6E5E3; --info:#1F4E79; --info-bg:#E6EDF5;
  --a-inicio:#1F3A5F; --a-clinica:#2E6B68; --a-comercial:#3C4A7D; --a-inventario:#8A6431; --a-abastecimiento:#2F5A80; --a-finanzas:#2F6B4F; --a-admin:#5B6472;
  --r-sm:6px; --r:9px; --r-lg:12px;
  --sh-1:0 1px 1px rgba(15,27,45,.04);
  --sh-2:0 1px 2px rgba(15,27,45,.05);
  --sh-3:0 18px 40px -18px rgba(15,27,45,.35);
  --serif:"SourceSerif4","Source Serif Pro",Georgia,"Times New Roman",serif;
}
html[data-theme="dark"]{
  --ink:#E8E6E1; --ink-2:#C4C6CB; --mut:#8E949E; --mut-2:#6B717C;
  --bg:#0A111B; --card:#101A27; --line:#233146; --line-2:#1A2536; --hover:#152033; --thead:#132033; --track:#1C293C;
  --gold:#C9A76B; --gold-2:#D8BC87; --gold-soft:rgba(201,167,107,.14);
  --ok:#7FB89A; --ok-bg:rgba(47,107,79,.22); --warn:#D7B06A; --warn-bg:rgba(148,104,30,.22); --bad:#E08A86; --bad-bg:rgba(153,47,47,.24); --info:#8FB3D9; --info-bg:rgba(31,78,121,.28);
  --side:#070E18;
}
/* Tipografía institucional */
.bx-title h1,.bx-content h2,.bxd-hello,.crm-head h2,.mx4-top h2,.crm-hero h2,.mxe-h h2,.bx-auth h1,.bx-auth-side h2{font-family:var(--serif)!important;font-weight:600!important;letter-spacing:-.01em!important}
.bx-title h1{font-size:21px}
.bxd-hello{font-size:28px!important}
.bxd-big,.bxd-today,.bxd-kpi-v,.crm-kpi strong,.mx4-kpi strong,.rp-kpi strong,.crm-value strong,.bx-content .kpi strong,.mx4-adh-main b,.mx4-stats3 b{font-family:var(--serif);font-weight:600!important;letter-spacing:-.015em!important;font-variant-numeric:lining-nums tabular-nums}
.bx-content .eyebrow,.bxd-eyebrow,.bx-auth-eyebrow{color:var(--gold)!important;letter-spacing:.14em!important;font-weight:700}
/* Menú lateral */
.bx-side{background:var(--side)!important;border-right:1px solid rgba(255,255,255,.04)}
.bx-side::after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(201,167,107,.35),transparent)}
.bx-brand-t strong{letter-spacing:.01em}
.bx-logo{border-radius:9px;box-shadow:none}
.bx-navsearch{border-radius:8px;background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.08)!important}
.bx-link{border-radius:7px;color:#B9C3D2}
.bx-link .bx-i,.bx-group .bx-link:not(.is-active) .bx-i{color:#7F8FA6!important}
.bx-link:hover{background:rgba(255,255,255,.05)}
.bx-link.is-active{background:rgba(255,255,255,.07)!important;color:#fff!important;box-shadow:inset 2px 0 0 var(--gold-2)!important;font-weight:600}
.bx-link.is-active .bx-i{color:var(--gold-2)!important}
.bx-group-h{letter-spacing:.14em;color:rgba(214,222,235,.42)}
.bx-group-h span::before{width:5px;height:5px;border-radius:50%;opacity:.85}
html[data-side="light"] .bx-side{background:var(--card)!important}
html[data-side="light"] .bx-link{color:var(--ink-2)}
html[data-side="light"] .bx-link.is-active{background:var(--gold-soft)!important;color:var(--ink)!important;box-shadow:inset 2px 0 0 var(--gold)!important}
html[data-side="light"] .bx-link.is-active .bx-i{color:var(--gold)!important}
html[data-side="light"] .bx-link .bx-i{color:var(--mut)!important}
/* Barra superior */
.bx-top{background:color-mix(in srgb,var(--card) 94%,transparent)!important;border-bottom:1px solid var(--line)}
.bx-top::after{background:linear-gradient(90deg,var(--gold),transparent 40%)!important;height:1px!important;opacity:.7!important}
.bx-btn-new{background:var(--brand);border-radius:8px;box-shadow:none;font-weight:600}
.bx-btn-new:hover{background:var(--brand-600);transform:none}
.bx-icon-btn,.bx-cmd{border-radius:8px}
.bx-status{background:transparent;border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}
.bx-av{border-radius:50%;background:var(--brand);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gold-2) 55%,transparent)}
.bx-crumb span:last-child::before{background:var(--gold)}
/* Superficies: bordes definidos, sombras mínimas, sin degradados */
.bx-content .panel,.bxd-card,.crm-kpi,.crm-hero,.mx4-kpi,.rp-kpi,.bx-content .kpi,.mxe-card,.crm-col{border-radius:var(--r-lg)!important}
.bx-content .panel,.bxd-card,.crm-kpi,.crm-hero,.mx4-kpi,.rp-kpi,.bx-content .kpi{box-shadow:var(--sh-2)!important;border:1px solid var(--line)!important}
.bx-content .panel:hover,.bxd-card:hover{box-shadow:var(--sh-2)!important}
a.bxd-kpi:hover,.crm-card:hover{transform:none!important;border-color:color-mix(in srgb,var(--gold) 45%,var(--line))!important;box-shadow:0 6px 18px -12px rgba(15,27,45,.35)!important}
.bx-content .kpi::after{display:none}
.bx-content .hero-dashboard,.bx-content .custom-hero,.bx-content .admin-hero,.bx-content .his3-hero,.bx-content .mx-hero{background:var(--card)!important}
.bx-content .hero-dashboard::before,.bx-content .custom-hero::before,.bx-content .admin-hero::before,.bx-content .his3-hero::before{width:3px;background:var(--gold)}
/* Botones */
.bx-content .btn,.bx-auth .btn{border-radius:8px!important;font-weight:600;box-shadow:none!important}
.bx-content .btn.primary,.bx-auth .btn.primary,.bxd-btn.t-pri{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;box-shadow:none!important}
.bx-content .btn.primary:hover,.bx-auth .btn.primary:hover{background:var(--brand-600)!important;transform:none}
.bx-content .btn.soft{background:var(--gold-soft)!important;color:color-mix(in srgb,var(--gold) 80%,var(--ink))!important}
.bxd-btn{border-radius:8px;box-shadow:none}.bxd-btn:hover{transform:none;box-shadow:none;border-color:var(--gold)}
/* Formularios */
.bx-content input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),.bx-content select,.bx-content textarea,.bx-auth input{border-radius:8px!important}
.bx-content input:focus,.bx-content select:focus,.bx-content textarea:focus,.bx-auth input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)!important}
/* Tablas */
.bx-content .table{border-radius:10px}
.bx-content .table th{font-size:10.5px!important;letter-spacing:.1em!important;color:var(--mut)!important}
.bx-content .table tbody tr:nth-child(even) td{background:transparent}
.bx-content .table tr:hover td{background:var(--hover)!important}
/* Pastillas y estados sobrios */
.bx-pill,.bxd-st,.crm-chip,.crm-due,.bxd-chip,.mx-chg b,.mx4-ok,.mxe-chip2{border-radius:5px!important;font-weight:600!important}
.bx-pill::before{width:5px;height:5px}
/* Dashboard */
.bxd{--accent:var(--brand)!important;--indigo:var(--brand)!important;--teal:#2E6B68!important;--amber:#94681E!important;--rose:#992F2F!important;--green:#2F6B4F!important;--violet:#3C4A7D!important}
.bxd-chip.t-up,.bxd-st.t-ok{background:var(--ok-bg)!important;color:var(--ok)!important}.bxd-chip.t-down,.bxd-st.t-bad{background:var(--bad-bg)!important;color:var(--bad)!important}
.bxd-st.t-mid,.bxd-st.t-warn{background:var(--warn-bg)!important;color:var(--warn)!important}.bxd-st.t-info{background:var(--info-bg)!important;color:var(--info)!important}
.bxd-pulse-card .bxd-chip.t-down{background:rgba(224,138,134,.16)!important;color:#F0B4B0!important}.bxd-pulse-card .bxd-chip.t-up{background:rgba(127,184,154,.16)!important;color:#A9D6BE!important}
.crm-chip.t-won{background:var(--ok-bg)!important;color:var(--ok)!important}.crm-chip.t-lost,.crm-due.t-late{background:var(--bad-bg)!important;color:var(--bad)!important}.crm-due.t-soon{background:var(--warn-bg)!important;color:var(--warn)!important}.crm-chip.t-open{background:var(--info-bg)!important;color:var(--info)!important}
.mx-chg.t-good b,.mx4-ok,.mx4-appt em,.c-g{background:var(--ok-bg)!important;color:var(--ok)!important}.mx-chg.t-bad b,.c-r{background:var(--bad-bg)!important;color:var(--bad)!important}.c-y,.c-o{background:var(--warn-bg)!important;color:var(--warn)!important}
.bxd-tabs button.is-on{color:var(--ink)}
.bxd-tabs-ind{background:var(--gold)!important;height:2px}
.bxd-range{border-radius:8px}.bxd-range button{border-radius:6px}
.bxd-prev{stroke:#BBB2A2!important}
.bxd-kpi-ic{border-radius:9px;background:transparent!important;border:1px solid var(--line);color:var(--area,var(--brand))!important}
.bxd-kpi-ic.t-indigo{color:var(--brand)!important}.bxd-kpi-ic.t-teal{color:#2E6B68!important}.bxd-kpi-ic.t-amber{color:var(--gold)!important}.bxd-kpi-ic.t-rose{color:#992F2F!important}.bxd-kpi-ic.t-violet{color:#3C4A7D!important}
.bxd-pulse-card{background:linear-gradient(180deg,#10233B,#0B182A)!important;border:1px solid #1D3350!important;position:relative}
.bxd-pulse-card::before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2),transparent)}
.bxd-hbars rect.now{fill:var(--gold-2)!important}.bxd-hbars rect.on{fill:rgba(201,167,107,.45)!important}.bxd-bar.t-hi{color:var(--gold-2)!important}
.bxd-insights{background:var(--card)!important;border-left:3px solid var(--gold)!important}
.bxd-ins-title{border-color:var(--line)!important}
.bxd-ins-title .bxd-ic{color:var(--gold)!important;box-shadow:none!important;border:1px solid var(--line)}
.bxd-rank li:first-child .bxd-rank-n{background:var(--brand)}
.bxd-av,.crm-mini-av,.mx4-av{background:var(--brand)!important;color:#fff}
.bxd-pill{background:var(--ok-bg);color:var(--ok)}
/* CRM */
.crm-col{background:var(--hover)!important;border:1px solid var(--line-2)!important}
.crm-col.is-over{background:var(--gold-soft)!important;border-color:var(--gold)!important}
.crm-card{border-radius:9px}
.crm-hot{background:var(--gold)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,transparent)!important}
.crm-stages button.is-cur{background:var(--brand)!important}
.crm-stages button.is-done{background:color-mix(in srgb,var(--brand) 14%,var(--card))!important;color:var(--brand)!important}
.crm-outcome .btn.win{background:var(--ok)!important;border-color:var(--ok)!important}
.crm-tabs button.is-on{color:var(--ink);border-bottom-color:var(--gold)}
.crm-kpi span .bx-i{color:var(--gold)}
/* META360 */
.mx4-kpi>i{border-radius:9px;background:transparent!important;border:1px solid var(--line)}
.mx4-kpi>i.t-blue{color:var(--brand)}.mx4-kpi>i.t-green{color:#2F6B4F}.mx4-kpi>i.t-purple{color:#3C4A7D}.mx4-kpi>i.t-orange{color:var(--gold)}
.mx4-ai{background:var(--card)!important;border-left:3px solid var(--gold)!important}
.mx4-beta{background:var(--gold-soft);color:var(--gold)}
.mxe-stage{background:var(--hover)!important}
.mxe-tag{background:var(--gold-soft);color:var(--gold)}
/* Paleta y acceso */
.bx-cmdk-box{border-radius:12px}
.bx-cmdk-box li.is-sel a,.bx-cmdk-box li a:hover{background:var(--gold-soft);color:var(--ink)}
.bx-cmdk-box li.is-sel a .bx-i{color:var(--gold)}
.bx-auth-side{background:#0C1A2C!important}
.bx-auth-side::after{background-image:none!important;border-left:1px solid rgba(201,167,107,.35)}
.bx-auth-side li .bx-i{color:var(--gold-2)!important}
.bx-auth-eyebrow{color:var(--gold-2)!important}
/* Modo oscuro institucional */
html[data-theme="dark"] .bx-content .btn.primary,html[data-theme="dark"] .bx-btn-new,html[data-theme="dark"] .bxd-btn.t-pri{background:color-mix(in srgb,var(--brand) 70%,#3B6FB0)!important;border-color:color-mix(in srgb,var(--gold) 45%,transparent)!important;color:#fff!important}
html[data-theme="dark"] .crm-outcome .btn.win{background:#2F6B4F!important;color:#fff!important}
html[data-theme="dark"] .crm-stages button.is-done{background:rgba(143,179,217,.14)!important;color:#AFC6E0!important}
html[data-theme="dark"] .crm-act-types label:has(input:checked){background:var(--gold-soft)!important;border-color:var(--gold)!important;color:var(--gold-2)!important}
html[data-theme="dark"] .bx-link.is-active{background:rgba(201,167,107,.10)!important}
html[data-theme="dark"] .crm-stages button.is-cur{background:color-mix(in srgb,var(--brand) 70%,#fff)!important;color:#0A111B}
html[data-theme="dark"] .bxd-av,html[data-theme="dark"] .crm-mini-av,html[data-theme="dark"] .mx4-av,html[data-theme="dark"] .bx-av{background:#2A4A73!important}
html[data-theme="dark"] .bxd-line{stroke:color-mix(in srgb,var(--brand) 55%,#fff)}
html[data-theme="dark"] .bxd-last{fill:color-mix(in srgb,var(--brand) 55%,#fff)}
html[data-theme="dark"] .crm-col{background:#0E1724!important}

.crm-act-types label:has(input:checked){background:var(--gold-soft)!important;border-color:var(--gold)!important;color:var(--ink)!important}

/* ===== 4.3 · Acceso institucional (logo sobre fondo oscuro, escala compacta) ===== */
body.bx-auth{background:#F4F3EF!important}
.bx-auth-card{width:min(400px,calc(100% - 32px));padding:32px 0}
.bx-auth-brand{background:#0C1A2C;border-radius:12px;padding:18px 22px;margin-bottom:26px;display:flex;justify-content:center;box-shadow:0 10px 30px -18px rgba(12,26,44,.6)}
.bx-auth-brand img{height:auto!important;width:100%;max-width:230px;margin:0!important;display:block}
.bx-auth h1{font-size:24px!important}
.bx-auth-card>p{font-size:14px}
.bx-auth-form{background:#fff;border:1px solid #E2DED5;border-radius:12px;padding:22px}
.bx-auth .btn.primary{background:#1F3A5F!important;border-color:#1F3A5F!important}
.bx-auth-side{background:linear-gradient(160deg,#0C1A2C 0%,#13294A 60%,#1F3A5F 100%)!important}
.bx-auth-side::before{content:"";position:absolute;left:56px;right:56px;top:48px;height:1px;background:linear-gradient(90deg,#A8844E,transparent)}
.bx-auth-side h2{font-size:32px!important;color:#F4F3EF}
.bx-auth-side li .bx-i{color:#A8844E!important}
@media (max-width:900px){.bx-auth-card{padding:20px 0}.bx-auth-brand{margin-bottom:20px}}
/* 4.3 · Móvil compacto */
@media (max-width:480px){
 .bxd-kpi.s3{grid-column:span 6!important}
 .bxd-grid{gap:10px!important}
 .bxd-card{padding:13px!important;border-radius:12px!important}
 .bxd-kpi .bxd-big,.bxd-kpi strong.bxd-big{font-size:21px!important}
 .bxd-kpi svg:not(.bx-i){max-height:34px}
 .bxd-kpi .bx-i{width:15px;height:15px}
 .bxd-kpi>*:first-child{transform:scale(.85);transform-origin:left top}
 .bxd-hello{font-size:20px!important}
 .bx-title h1{font-size:18px!important}
 .bx-content{font-size:14px}
}
/* 4.3 · Logo institucional nuevo */
.bx-auth-brand{background:none!important;box-shadow:none!important;padding:0!important;justify-content:flex-start!important;margin-bottom:34px!important}
.bx-auth-brand img{max-width:250px!important}
.bx-auth-card{border-top:0}

/* ===== 4.4 · Comunicaciones, seguimiento de pacientes y reservas ===== */
.bx-alert.t-ok{background:var(--ok-bg);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 22%,transparent)}
.bx-alert.t-warn{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 22%,transparent)}
.bx-alert a{color:inherit;font-weight:700}
.cx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:2px 0 18px}
.cx-head h2{font-family:var(--serif);font-weight:600;font-size:26px;margin:4px 0 4px;letter-spacing:-.01em}
.cx-head p{margin:0;max-width:680px}
.cx-head-act{display:flex;gap:8px;flex-wrap:wrap}
.cx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.cx-stats>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.cx-stats span{font-size:12px;color:var(--mut);font-weight:600}
.cx-stats strong{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);line-height:1}
.cx-stats strong a{color:var(--warn);text-decoration:none}
.cx-stats strong.is-bad{color:var(--bad)}
.cx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.cx-card{margin:0!important}
.cx-wide{grid-column:1/-1}
.cx-card-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px}
.cx-card-h>.bx-i{width:34px;height:34px;padding:8px;border-radius:9px;background:var(--gold-soft);color:var(--gold);flex:none}
.cx-card-h>div{flex:1}
.cx-card-h h3,.cx-sec-h h3{font-family:var(--serif);font-weight:600;font-size:17px;margin:0 0 2px}
.cx-card-h p{margin:0;font-size:12.5px}
.cx-switch{display:inline-flex!important;align-items:center;gap:8px;margin:4px 0 0!important;font-size:12.5px;cursor:pointer;white-space:nowrap}
.cx-switch input{appearance:none;width:34px;height:20px;border-radius:20px;background:var(--track);position:relative;cursor:pointer;transition:background .15s;margin:0}
.cx-switch input::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.cx-switch input:checked{background:var(--ok)}
.cx-switch input:checked::after{transform:translateX(14px)}
.cx-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}
.cx-seg label{margin:0!important;cursor:pointer}
.cx-seg input{position:absolute;opacity:0;pointer-events:none}
.cx-seg span{display:flex;flex-direction:column;gap:3px;height:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);transition:border-color .15s,box-shadow .15s}
.cx-seg strong{font-size:13px;color:var(--ink)}
.cx-seg small{font-size:11.5px;color:var(--mut);font-weight:500;line-height:1.35}
.cx-seg input:checked+span{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}
.cx-seg input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.cx-prov{display:none;padding:2px 0 4px}
.cx-prov.is-on{display:block}
.cx-note{font-size:12.5px;margin:8px 0 0!important;line-height:1.5}
.cx-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cx-foot{font-size:12px;margin-top:12px}
.cx-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px}
.cx-tabs a{padding:9px 14px;font-size:13px;font-weight:600;color:var(--mut);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.cx-tabs a.is-on{color:var(--ink);border-color:var(--gold)}
.cx-ch{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2)}
.cx-ch .bx-i{width:14px;height:14px}
.cx-ch-whatsapp .bx-i{color:#2F6B4F}
.cx-msg{max-width:420px;font-size:12.5px;color:var(--ink-2)}
.cx-err{color:var(--bad);font-size:11.5px;display:block;margin-top:3px}
.cx-row-act{width:1%}
.cx-acts{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:150px}
.cx-acts form{margin:0;display:flex}
.cx-acts form .btn,.cx-acts>.btn{width:100%;justify-content:center}
.bx-content td.cx-msg{white-space:normal!important;min-width:260px;line-height:1.45}
.cx-pick{display:flex;gap:8px;align-items:center}
.cx-pick select{min-width:280px}
.cx-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.cx-cols>section,.cx-cols>div>section{margin:0 0 16px!important}
.cx-cols-plan{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.cx-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cx-sec-h h3{display:flex;align-items:center;gap:8px}
.cx-sec-h h3 .bx-i{color:var(--gold);width:17px;height:17px}
.cx-link{font-size:12.5px;font-weight:600;color:var(--brand)}
.cx-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line-2)}
.cx-item:first-of-type{border-top:0}
.cx-item p{margin:2px 0 0;font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:5px}
.cx-item p .bx-i{width:13px;height:13px}
.cx-item small{font-size:11.5px;color:var(--mut)}
.cx-item a{color:var(--ink);text-decoration:none}
.cx-item a:hover{text-decoration:underline}
.cx-item-r{display:flex;align-items:center;gap:8px;flex:none}
.cx-item-r form{margin:0}
.cx-item-sm{padding:8px 0}
.cx-num{font-family:var(--serif);font-size:16px}
.cx-adh{font-size:12.5px;color:var(--mut)}
.cx-adh strong{color:var(--ok)}
.cx-med{border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:var(--card)}
.cx-med.is-off{opacity:.65}
.cx-med>summary{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;list-style:none}
.cx-med>summary::-webkit-details-marker{display:none}
.cx-med[open]>summary{border-bottom:1px solid var(--line-2)}
.cx-med-i{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--info-bg);color:var(--info);flex:none}
.cx-med-t{flex:1;display:flex;flex-direction:column;min-width:0}
.cx-med-t small{font-size:12px;color:var(--mut)}
.cx-med .cx-form{padding:12px 14px}
.cx-add{margin-top:10px}
.cx-add>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;font-size:13px;color:var(--brand);list-style:none;padding:6px 0}
.cx-add>summary::-webkit-details-marker{display:none}
.cx-add[open]>summary{margin-bottom:6px}
.cx-glp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-top:6px;border:1px dashed var(--line);border-radius:var(--r);font-size:12.5px;color:var(--mut)}
.cx-glp>span{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.cx-glp form{margin:0}
.cx-form label{margin-top:10px}
.cx-days{display:flex;gap:6px;flex-wrap:wrap}
.cx-days label{margin:0!important;cursor:pointer}
.cx-days input{position:absolute;opacity:0}
.cx-days span{display:inline-grid;place-items:center;min-width:44px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--card)}
.cx-days input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.cx-days input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
[data-care-show]{display:none}
[data-care-show].is-on{display:block}
.cx-dl{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;margin:0 0 12px;font-size:13px}
.cx-dl dt{color:var(--mut);font-weight:600}
.cx-dl dd{margin:0;word-break:break-word}
.cx-checks{display:flex;flex-direction:column;gap:7px;margin:4px 0 8px}
.cx-checks label{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:500!important;font-size:13px!important;color:var(--ink)!important}
.cx-inline{margin-top:10px}
.cx-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cx-steps>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
.cx-steps strong{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--track);color:var(--mut);font-family:var(--serif)}
.cx-steps span{font-weight:600;font-size:13.5px}
.cx-steps small{font-size:12px;color:var(--mut)}
.cx-steps .ok strong{background:var(--ok);color:#fff}
.cx-rowform{padding:6px 10px!important}
.cx-trow{display:grid;grid-template-columns:minmax(160px,1.4fr) 84px 100px 64px minmax(130px,1fr) minmax(160px,1.4fr) auto;gap:8px;align-items:center}
.cx-trow input,.cx-trow select{min-height:34px!important}
.cx-new{padding-top:6px;border-top:1px dashed var(--line)}
.cx-sw{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:12.5px!important}
tr.is-off{opacity:.55}
.cx-hours{border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px}
.cx-hours>summary{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none}
.cx-hours>summary::-webkit-details-marker{display:none}
.cx-hours>summary small{color:var(--mut);flex:1}
.cx-hours .cx-form{padding:0 14px 14px}
.cx-week{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.cx-week-h,.cx-day{display:grid;grid-template-columns:110px 1fr 1fr;gap:12px;align-items:center}
.cx-week-h span{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.cx-day>span{font-weight:600;font-size:13px}
.cx-day>div{display:flex;align-items:center;gap:6px}
.cx-day em{font-style:normal;color:var(--mut);font-size:12px}
.cx-day input{min-height:34px!important}
@media (max-width:1100px){.cx-trow{grid-template-columns:1fr 84px 100px 64px}.cx-trow select,.cx-trow input[name=description]{grid-column:span 2}}
@media (max-width:900px){.cx-grid,.cx-cols,.cx-cols-plan{grid-template-columns:1fr}.cx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-seg{grid-template-columns:1fr}.cx-steps{grid-template-columns:1fr}.cx-pick{width:100%}.cx-pick select{min-width:0;flex:1}.cx-day,.cx-week-h{grid-template-columns:80px 1fr}.cx-day>div:last-child,.cx-week-h span:last-child{grid-column:2}}
.bx-content .cx-switch input{appearance:none!important;-webkit-appearance:none!important;width:34px!important;min-width:34px!important;height:20px!important;min-height:20px!important;padding:0!important;border:0!important;border-radius:20px!important;background:var(--track)!important;box-shadow:none!important}
.bx-content .cx-switch input:checked{background:var(--ok)!important}
.bx-content .cx-checks input,.bx-content .cx-sw input,.bx-content .cx-days input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;padding:0!important;flex:none}
.bx-content .cx-checks label{min-height:0!important;line-height:1.4}
.bx-content .cx-days input{position:absolute;opacity:0}
html[data-theme="dark"] .bx-content .btn:not(.primary){background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme="dark"] .bx-content .btn.ghost{background:transparent!important;border-color:transparent!important;color:var(--ink-2)!important}
html[data-theme="dark"] .cx-add>summary,html[data-theme="dark"] .cx-link{color:var(--info)}
html[data-theme="dark"] .cx-seg span,html[data-theme="dark"] .cx-days span,html[data-theme="dark"] .cx-med,html[data-theme="dark"] .cx-stats>div,html[data-theme="dark"] .cx-steps>div{background:var(--card)}

/* ===== 4.5 · Finanzas formales y teleconsulta ===== */
.fin-period{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.fin-period label{display:flex!important;flex-direction:column;gap:4px;margin:0!important;font-size:12px!important}
.fin-period input{min-height:36px!important;min-width:150px}
.fin-or{font-size:12px;color:var(--mut);padding-bottom:9px}
.fin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.fin-kpis>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.fin-kpis span{font-size:12px;font-weight:600;color:var(--mut)}
.fin-kpis strong{font-family:var(--serif);font-size:23px;font-weight:600}
.fin-kpis strong.is-neg{color:var(--bad)}
.fin-kpis small{font-size:12px;font-weight:600}
.fin-kpis small.up{color:var(--ok)}.fin-kpis small.down{color:var(--bad)}
.fin-kpis em{font-style:normal;font-size:12px;color:var(--gold)}
.fin-doc{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 32px;margin-bottom:16px}
.fin-doc>header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:6px}
.fin-doc>header>div{display:flex;flex-direction:column;gap:2px}
.fin-doc>header>div:last-child{text-align:right}
.fin-doc>header strong{font-family:var(--serif);font-size:17px}
.fin-doc>header h3{font-family:var(--serif);font-weight:600;font-size:20px;margin:0}
.fin-doc>header span{font-size:12.5px;color:var(--mut)}
.fin-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.fin-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);text-align:right;padding:10px 8px;border-bottom:1px solid var(--line)}
.fin-table th:first-child{text-align:left}
.fin-table td{padding:7px 8px;text-align:right;border-bottom:1px solid var(--line-2)}
.fin-table td:first-child{text-align:left}
.fin-table .fin-h td{font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding-top:18px;border-bottom:0}
.fin-table .fin-ind td:first-child{padding-left:24px;color:var(--ink-2)}
.fin-table .fin-sub td{font-weight:700;border-top:1px solid var(--line)}
.fin-table .fin-total td{font-weight:700;font-family:var(--serif);font-size:15px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.fin-table .fin-grand td{font-weight:700;font-family:var(--serif);font-size:16px;border-top:1px solid var(--ink);border-bottom:3px double var(--ink);padding:10px 8px}
.fin-table .fin-note td{color:var(--mut);font-style:italic;padding-left:24px}
.fin-table .fin-pct,.fin-table .fin-var{color:var(--mut);font-size:12.5px}
.fin-book td,.fin-book th{text-align:left;white-space:nowrap}
.fin-book .num{text-align:right}
.fin-book tfoot td{font-weight:700;border-top:2px solid var(--ink);padding-top:10px}
tr.is-void td{color:var(--mut-2);text-decoration:line-through}
.fin-notes{margin-top:18px;display:flex;flex-direction:column;gap:10px;font-size:12.5px;color:var(--mut)}
.fin-notes>div{display:flex;gap:16px;flex-wrap:wrap;padding:10px 12px;background:var(--bg);border-radius:var(--r)}
.fin-notes>div strong{color:var(--ink)}
.fin-notes p{margin:0}
.fin-doc>footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:12px;border-top:1px solid var(--line-2);font-size:12px;color:var(--mut)}
.fin-exp{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.fin-tax{display:flex;gap:6px}
.fin-tax input{flex:1}
.fin-total{align-self:center;font-family:var(--serif);font-weight:600}
.fin-bar{margin:0 0 12px}
.fin-bar>div{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:5px}
.fin-bar i{display:block;height:6px;border-radius:6px;background:var(--track);position:relative;overflow:hidden}
.fin-bar i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--brand);border-radius:6px}
.bx-content th.num,.bx-content td.num{text-align:right;font-variant-numeric:tabular-nums}
.tm-join{margin-top:6px}
@media (max-width:900px){.fin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-doc{padding:18px 14px}.fin-doc>header{flex-direction:column}.fin-doc>header>div:last-child{text-align:left}.fin-exp{grid-template-columns:1fr}}
@media print{
 .bx-side,.bx-top,.no-print,.bx-alert{display:none!important}
 .bx-main{margin:0!important;padding:0!important}
 .bx-content{padding:0!important}
 .fin-doc{border:0;padding:0}
 .fin-table{font-size:11px}
 body{background:#fff!important}
}

/* ===== 4.6 · Factura fiscal DGI ===== */
.fx-inv{position:relative;background:#fff;color:#111;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 34px;max-width:880px;margin:0 auto 16px;font-size:13.5px;overflow:hidden}
html[data-theme="dark"] .fx-inv{background:#fff;color:#111}
.fx-h{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:2px solid #111}
.fx-co{display:flex;flex-direction:column;gap:2px}
.fx-co strong{font-family:var(--serif);font-size:19px}
.fx-co span{color:#444;font-size:12.5px}
.fx-doc{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right;min-width:200px}
.fx-kind{font-size:11px;letter-spacing:.2em;font-weight:700;color:#555}
.fx-doc strong{font-family:var(--serif);font-size:22px;color:#7a1f1f}
.fx-cond{font-weight:700;letter-spacing:.1em;border:1px solid #111;padding:2px 10px;border-radius:4px;font-size:12px}
.fx-doc em{font-style:normal;font-size:11px;letter-spacing:.2em;font-weight:700;color:#555}
.fx-client{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;padding:14px 0;border-bottom:1px solid #ddd}
.fx-client span{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#666}
.fx-items{width:100%;border-collapse:collapse;margin:14px 0}
.fx-items th{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#555;text-align:left;border-bottom:1px solid #111;padding:6px 4px}
.fx-items td{padding:6px 4px;border-bottom:1px solid #eee}
.fx-items .num{text-align:right;font-variant-numeric:tabular-nums}
.fx-tot{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.fx-pay{display:flex;flex-direction:column;gap:3px}
.fx-pay span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#666}
.fx-tot dl{display:grid;grid-template-columns:auto 130px;gap:4px 18px;margin:0;font-variant-numeric:tabular-nums}
.fx-tot dt{color:#444;text-align:right}.fx-tot dd{margin:0;text-align:right}
.fx-tot .fx-total{font-family:var(--serif);font-weight:700;font-size:17px;border-top:2px solid #111;padding-top:6px;color:#111}
.fx-foot{margin-top:22px;padding-top:12px;border-top:1px solid #ddd;font-size:11.5px;color:#444}
.fx-foot p{margin:0 0 4px}
.fx-warn{color:#992F2F;font-weight:600}
.fx-sign{display:flex;justify-content:space-around;gap:20px;margin-top:40px}
.fx-sign span{border-top:1px solid #111;padding-top:4px;min-width:200px;text-align:center}
.fx-stamp{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-family:var(--serif);font-size:84px;font-weight:700;letter-spacing:.12em;color:rgba(153,47,47,.22);border:6px solid rgba(153,47,47,.22);padding:4px 30px;border-radius:12px;pointer-events:none}
.fx-void-note{background:#F6E5E3;color:#7a1f1f;padding:8px 12px;border-radius:6px;margin:12px 0 0}
.fx-voidbox>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--bad);list-style:none}
.fx-voidbox>summary::-webkit-details-marker{display:none}
.fx-cont{margin:10px 0 4px;font-size:12.5px}
.fx-cont summary{cursor:pointer;color:var(--mut);font-weight:600}
.fx-cont input{margin-top:6px}
.fx-month{display:flex;gap:6px;align-items:center;margin:0}
@media (max-width:700px){.fx-inv{padding:18px 14px}.fx-h{flex-direction:column}.fx-doc{align-items:flex-start;text-align:left}.fx-client{grid-template-columns:1fr 1fr}.fx-tot{flex-direction:column}}
@media print{.fx-inv{border:0;padding:0;max-width:none;margin:0}.fx-voidbox{display:none}}

/* ===== 4.7 · Puesta en marcha, contabilidad y asistente clínico ===== */
.su-banner{display:flex;align-items:center;gap:14px;padding:12px 16px;margin:0 0 16px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));background:var(--gold-soft);border-radius:var(--r-lg);color:var(--ink);text-decoration:none;font-size:13.5px}
.su-banner strong{display:block;font-size:14px}
.su-banner>.bx-i{margin-left:auto;color:var(--gold)}
.su-mini,.su-ring{border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--track) 0);flex:none}
.su-mini{width:30px;height:30px;-webkit-mask:radial-gradient(circle 9px,transparent 98%,#000);mask:radial-gradient(circle 9px,transparent 98%,#000)}
.su-top{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 24px}
.su-ring{width:128px;height:128px;display:grid;place-content:center;text-align:center;position:relative}
.su-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--card)}
.su-ring strong,.su-ring span{position:relative}
.su-ring strong{font-family:var(--serif);font-size:30px}
.su-ring span{font-size:12px;color:var(--mut)}
.su-links h3{font-family:var(--serif);font-weight:600;font-size:17px;margin:0 0 10px}
.su-links>div{display:grid;grid-template-columns:200px 1fr;gap:10px;align-items:center;margin-bottom:8px;font-size:13px}
.su-links span{color:var(--mut);font-weight:600}
.su-links input{min-height:34px!important}
.su-step{display:grid;grid-template-columns:38px 1fr auto;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid var(--line-2)}
.su-step:first-child{border-top:0}
.su-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--track);color:var(--ink-2);font-family:var(--serif);font-weight:600}
.su-step.is-done .su-n{background:var(--ok);color:#fff}
.su-step.is-done .su-n .bx-i{width:16px;height:16px}
.su-step p{margin:2px 0 0;font-size:12.5px;color:var(--mut)}
.su-step.is-done strong{color:var(--ink-2)}
.ct-domain{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;width:100%}
.ct-domain input[name=host]{flex:1;min-width:200px}
.ct-domain label{display:flex!important;align-items:center;gap:4px;margin:0!important;font-size:12px}
.acct-links{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.acct-links a{display:flex;align-items:center;gap:8px;color:var(--brand);font-weight:600;font-size:13.5px;text-decoration:none}
.acct-journal .acct-eh td{background:var(--thead);border-top:1px solid var(--line)}
.acct-journal td:nth-child(3){text-align:left}
.acct-journal .acct-cr{padding-left:36px!important}
.acct-src{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-left:6px}
.acct-journal form{margin:0;display:inline}
.acct-lines{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.acct-lh,.acct-line{display:grid;grid-template-columns:130px 1fr 140px 140px;gap:8px}
.acct-lh span{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.acct-sum{align-self:center;font-variant-numeric:tabular-nums;font-weight:600;color:var(--mut);margin-right:auto}
.acct-sum.is-ok{color:var(--ok)}.acct-sum.is-bad{color:var(--bad)}
.acct-bs{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.acct-group td{font-weight:700;background:var(--thead)}
.cai{border:1px solid color-mix(in srgb,var(--info) 30%,var(--line));background:var(--info-bg);border-radius:var(--r-lg);padding:14px 16px;margin:0 0 16px}
.cai-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}
.cai-h strong{font-family:var(--serif);font-size:16px}
.cai-h span{font-size:12px;color:var(--info);font-weight:600}
.cai textarea{width:100%;background:var(--card)!important}
.cai-a{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.cai-msg{font-size:12.5px;color:var(--ink-2)}
.cai-note{font-size:11.5px;color:var(--mut);margin:8px 0 0}
.cai .is-rec{background:var(--bad)!important;color:#fff!important;border-color:var(--bad)!important}
.cai-filled{box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 60%,transparent)!important;background:var(--gold-soft)!important}
@media (max-width:900px){.su-top{grid-template-columns:1fr;justify-items:center}.su-links{width:100%}.su-links>div{grid-template-columns:1fr}.acct-bs{grid-template-columns:1fr}.acct-lh{display:none}.acct-line{grid-template-columns:1fr 1fr}}
/* Expediente: menú lateral del paciente */
.bx-content .patient-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.bx-content .patient-nav{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px}
.bx-content .patient-nav span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gold);padding:4px 10px 8px}
.bx-content .patient-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:13.5px}
.bx-content .patient-nav a:hover{background:var(--hover)}
.bx-content .patient-nav a.active{background:var(--gold-soft);color:var(--ink);font-weight:600;box-shadow:inset 2px 0 0 var(--gold)}
@media (max-width:900px){.bx-content .patient-workspace{display:block}.bx-content .patient-nav{position:static;flex-direction:row;overflow-x:auto;margin-bottom:14px}.bx-content .patient-nav span{display:none}.bx-content .patient-nav a{white-space:nowrap}}

/* ===== 5.0 · Hospital ===== */
.hx-empty{text-align:center;padding:40px 20px}
.hx-empty>.bx-i{width:40px;height:40px;color:var(--gold)}
.hx-ward .cx-sec-h h3 .bx-i{color:var(--gold)}
.hx-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.hx-room{border:1px solid var(--line-2);border-radius:var(--r);padding:10px;background:var(--hover)}
.hx-room-n{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.hx-beds{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.hx-bed{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--ink);min-height:74px;position:relative;border-left-width:4px}
.hx-bed strong{font-family:var(--serif);font-size:15px}
.hx-bed span{font-size:12.5px;font-weight:600;line-height:1.25}
.hx-bed small{font-size:11px;color:var(--mut)}
.hx-bed form{margin-top:auto}
.hx-bed-act{margin-top:auto;font-size:12px;font-weight:700;color:var(--brand);text-decoration:none}
.hx-bed.is-available{border-left-color:var(--ok)}
.hx-bed.is-occupied{border-left-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--card))}
.hx-bed.is-occupied:hover{box-shadow:var(--sh-3)}
.hx-bed.is-cleaning{border-left-color:var(--warn)}
.hx-bed.is-reserved{border-left-color:var(--info)}
.hx-bed.is-maintenance,.hx-bed.is-blocked{border-left-color:var(--mut-2);opacity:.75}
.hx-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--mut);margin:4px 0 16px;align-items:center}
.hx-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:-10px}
.hx-dot.is-available{background:var(--ok)}.hx-dot.is-occupied{background:var(--brand)}.hx-dot.is-cleaning{background:var(--warn)}.hx-dot.is-reserved{background:var(--info)}.hx-dot.is-maintenance,.hx-dot.is-blocked{background:var(--mut-2)}
.hx-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start;margin:2px 0 14px}
.hx-head h2{font-family:var(--serif);font-weight:600;font-size:26px;margin:4px 0}
.hx-head p{margin:0 0 6px}
.hx-head-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hx-bedtag{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);font-weight:600;font-size:13px}
.hx-bedtag .bx-i{color:var(--gold)}
.hx-stay{display:flex;flex-direction:column}
.hx-stay strong{font-family:var(--serif);font-size:20px}
.hx-stay span{font-size:12px;color:var(--mut)}
.hx-notes{display:flex;flex-direction:column;gap:10px}
.hx-note{border-left:3px solid var(--line);padding:8px 12px;background:var(--hover);border-radius:0 8px 8px 0}
.hx-note header{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;margin-bottom:4px}
.hx-note header span{color:var(--mut)}
.hx-note p{margin:0;font-size:13.5px;line-height:1.55}
.hx-note.t-ingreso,.hx-note.t-epicrisis{border-left-color:var(--gold)}
.hx-note.t-medica{border-left-color:var(--brand)}
.hx-note.t-incidente{border-left-color:var(--bad)}
.hx-inline{display:inline-flex;margin:0 2px}
tr.hx-late td{background:color-mix(in srgb,var(--bad) 6%,transparent)}
.hx-er{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
.hx-er:first-of-type{border-top:0}
.hx-er.is-closed{opacity:.55}
.hx-er.is-over{background:color-mix(in srgb,var(--bad) 7%,transparent);border-radius:8px;padding-left:6px}
.hx-er-b p{margin:3px 0;font-size:13px;color:var(--ink-2)}
.hx-er-b small{font-size:12px;color:var(--mut)}
.hx-er-b b{color:var(--bad)}
.hx-er-a{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:300px}
.hx-er-a form{margin:0}
.hx-tri{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:18px;color:#fff;background:var(--mut-2)}
.hx-tri.t1{background:#B42318}.hx-tri.t2{background:#D9611E}.hx-tri.t3{background:#C99A06}.hx-tri.t4{background:#2F7A4F}.hx-tri.t5{background:#2C5E9E}
.hx-tri-pick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.hx-tri-pick label{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;cursor:pointer;margin:0!important;text-align:center}
.hx-tri-pick input{position:absolute;opacity:0}
.hx-tri-pick em{font-style:normal;font-size:12px;font-weight:700;line-height:1.2}
.hx-tri-pick small{font-weight:500;color:var(--mut)}
.hx-tri-pick label:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 20%,transparent)}
.hx-epi h4{font-family:var(--serif);font-size:14px;margin:16px 0 4px;color:#111}
.hx-epi p{margin:0;line-height:1.6;color:#222}
@media (max-width:900px){.hx-er{grid-template-columns:40px 1fr}.hx-er-a{grid-column:1/-1;justify-content:flex-start;max-width:none}.hx-tri-pick{grid-template-columns:repeat(3,1fr)}}
/* 5.0 · Actualizador y diagnóstico */
.upd-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
.upd-grid .panel h3,.bx-content .panel>h3{font-family:var(--serif);font-size:16px;margin:0 0 10px}
.upd-grid form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}
.upd-check{display:inline-flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ink-2)}
.upd-ok{display:flex;gap:8px;align-items:center;color:var(--ok);font-weight:600}
.upd-log{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.55}
.upd-alert{align-items:flex-start}
.upd-diag td:first-child{width:34%;font-weight:600}.upd-diag td:nth-child(2){width:110px}
.upd-diag td:last-child{word-break:break-word}
.bx-content .panel+.panel{margin-top:16px}.upd-grid .panel+.panel{margin-top:0}
@media (max-width:900px){.upd-grid{grid-template-columns:1fr}.upd-diag td:first-child{width:auto}}
.upd-banner{text-decoration:none;margin:18px 0 0}
/* 5.1 · Normativa MINSA */
.mn-archive{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 14px;font-size:12.5px;color:var(--mut)}
.mn-archive a{margin-left:auto;display:inline-flex;gap:6px;align-items:center;color:var(--brand);font-weight:600;text-decoration:none}
.mn-archive a .bx-i{width:15px;height:15px}
.mn-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.mn-tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink-2);font-weight:600;text-decoration:none;font-size:13px}
.mn-tabs a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.mn-tabs small{opacity:.7;font-weight:500;margin-left:4px}
.mn-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;gap:10px;margin:0 0 14px}
.mn-filter:has(select:nth-of-type(2)){grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,150px) auto}
.mn-table-wrap{overflow-x:auto}
.mn-vt td{vertical-align:top}.mn-vt .mn-code{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.mn-tags{white-space:nowrap}.mn-tags .badge{margin:0 3px 3px 0}
.mn-off td{opacity:.5}
.mn-inline{display:inline}
.mn-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 0 0;font-size:12.5px;color:var(--mut)}.mn-pager span{margin-right:auto}
.mn-note{font-size:12px;color:var(--mut);margin:10px 2px 16px;line-height:1.5}
.mn-own{margin-top:16px}
.mn-allergy{display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:13px;margin:0 0 14px}
.mn-allergy .bx-i{width:16px;height:16px;color:var(--mut)}
.mn-allergy.has{background:var(--bad-bg);border-color:transparent;color:var(--bad)}.mn-allergy.has .bx-i{color:var(--bad)}
.mn-items{display:flex;flex-direction:column;gap:12px;margin:10px 0}
.mn-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card)}
.mn-item-h{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.mn-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:12px;flex:none}
.mn-search{position:relative;flex:1}
.mn-search input{width:100%}
.mn-sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(12,26,44,.16);max-height:340px;overflow:auto}
.mn-sugg button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink);font:inherit}
.mn-sugg button:hover,.mn-sugg button.on{background:var(--hover,#F2F4F7)}
.mn-sugg strong{font-size:13.5px}.mn-sugg em{font-style:normal;color:var(--gold);font-size:12px;margin-left:4px}
.mn-sugg span{display:block;font-size:12px;color:var(--ink-2)}.mn-sugg small{display:block;font-size:11px;color:var(--mut)}
.mn-s-empty{padding:10px 12px;font-size:12.5px;color:var(--mut)}
.mn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.mn-grid label{font-size:12px}.mn-g2{grid-column:span 3}.mn-gfull{grid-column:1/-1}
.mn-rx-actions{display:flex;gap:12px;align-items:center;margin:0 0 14px}
.mn-warn{color:var(--bad);font-weight:600;font-size:12.5px}
.mn-submit{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px}
.mn-submit .muted{font-size:12.5px}
.mn-doc-picker{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.mn-doc-picker a{padding:6px 11px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--ink-2);text-decoration:none;background:var(--card)}
.mn-doc-picker a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.mn-doc-picker small{opacity:.7;font-size:10.5px}
.mn-doc-form h3{font-family:var(--serif);font-size:17px;margin:0 0 10px;display:flex;gap:8px;align-items:center}
.mn-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:12px}
.mn-fields .mn-wide{grid-column:1/-1}
.mn-f label em{color:var(--bad);font-style:normal}
.mn-prob td{vertical-align:top}.mn-acts{white-space:nowrap}.mn-acts form{margin-right:4px}
.mn-prob-add{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;margin-top:14px}
.mn-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.mn-chips label{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:500;cursor:pointer}
.mn-chips label:has(input:checked){border-color:var(--brand);background:var(--brand-soft,#EAF0F7)}
.mn-soap-g{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:12px}
.mn-soap-g b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--brand);color:#fff;font-size:12px;margin-right:4px}
.mn-note-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px}
.mn-note-card header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--mut);margin-bottom:8px}
.mn-note-card time{font-weight:700;color:var(--ink)}
.mn-note-card dl{display:grid;grid-template-columns:28px 1fr;gap:6px 8px;margin:0}
.mn-note-card dt{font-weight:800;color:var(--brand)}.mn-note-card dd{margin:0;font-size:13.5px}
.mn-amend{margin:8px 0 0;padding:8px 11px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--card));border-radius:0 8px 8px 0;font-size:12.5px}
.mn-amend b{display:block}.mn-amend span{color:var(--mut)}.mn-amend p{margin:4px 0 0}
.mn-amend-f{margin-top:8px;font-size:12.5px}.mn-amend-f summary{cursor:pointer;color:var(--brand);font-weight:600}
.mn-amend-f form{display:grid;gap:8px;margin-top:8px;max-width:640px}
.mn-guide td:first-child .bx-i{width:14px;height:14px;color:var(--ok);vertical-align:-2px;margin-right:4px}
.mn-src{margin:0 0 10px;padding-left:18px;font-size:13px;line-height:1.7}
@media (max-width:900px){.mn-filter,.mn-filter:has(select:nth-of-type(2)){grid-template-columns:1fr}.mn-grid{grid-template-columns:1fr 1fr}.mn-g2{grid-column:1/-1}.mn-fields{grid-template-columns:1fr}.mn-soap-g{grid-template-columns:1fr}.mn-prob-add{grid-template-columns:1fr}}
.mn-item [hidden],.mn-rx [hidden]{display:none!important}
.mn-rx .bx-alert.t-error{align-items:flex-start}.mn-rx .bx-alert ul{margin:4px 0 8px;padding-left:18px}
.mn-chips input{width:auto;margin:0}.mn-chips label{margin:0}
.bx-content .mn-vt :is(th,td),.bx-content .patient-content .fin-table :is(th,td),.bx-content .mn-guide :is(th,td){text-align:left}
/* 5.2 · Signos vitales, controlados, interacciones */
.cp-vgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px 12px;margin-bottom:10px}
.cp-vgrid label{font-size:11.5px}
.cp-chart-wrap{overflow-x:auto}.cp-chart{width:100%;min-width:720px;height:auto;display:block}
.cp-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--mut);margin-top:8px}
.cp-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.cp-legend i.d{background:#1D4ED8}.cp-legend i.n{background:#B91C1C}
.cp-vt td,.cp-vt th,.cp-bal td,.cp-bal th{text-align:center!important;white-space:nowrap}
.cp-vt td.cp-alert{color:var(--bad);font-weight:800;background:var(--bad-bg)}
.cp-sub{font-family:var(--serif);margin:18px 0 8px;font-size:14px}
.cp-ctl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.cp-ctl-grid .panel h3,.bx-content .panel details summary{font-family:var(--serif);font-size:15px;display:flex;gap:8px;align-items:center}
.cp-ctl-grid .panel form{display:grid;gap:8px}
.cp-pend-h{margin:14px 0 4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.cp-pend{list-style:none;margin:0;padding:0;font-size:13px}.cp-pend li{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.cp-pend li span{margin-left:auto;color:var(--mut);font-size:12px}
.cp-adj{display:grid;gap:10px;margin-top:12px}
.cp-int{border-left:4px solid var(--warn);background:var(--warn-bg);padding:10px 12px;border-radius:0 10px 10px 0;margin:10px 0}
.cp-int.s-grave,.cp-int.s-contraindicada{border-color:var(--bad);background:var(--bad-bg)}
.cp-int strong{font-size:11px;letter-spacing:.08em}.cp-int span{margin-left:8px;font-weight:700}.cp-int p{margin:4px 0 0}.cp-int em{color:var(--mut)}
.cp-ifilter{grid-template-columns:1fr 1fr auto!important}
.cp-int-list{margin:4px 0 8px;padding-left:18px}.cp-int-list li{margin:4px 0}
.mn-cur{background:var(--card)}.mn-cur a{margin-left:8px;font-weight:600;color:var(--brand)}
@media (max-width:1100px){.cp-vgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.cp-ctl-grid{grid-template-columns:1fr}.cp-vgrid{grid-template-columns:1fr 1fr}.cp-ifilter{grid-template-columns:1fr!important}}
.cp-ctl-grid{align-items:start}.cp-ctl-grid .panel+.panel,.grid2>.panel+.panel{margin-top:0}
.bx-plat-h{margin:14px 12px 4px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.bx-plat-note{margin:14px 14px 0;font-size:12px;line-height:1.5;color:rgba(255,255,255,.55)}.bx-plat-note strong{color:rgba(255,255,255,.85)}
.bx-app.is-rail .bx-plat-note,.bx-app.is-rail .bx-plat-h{display:none}
/* 5.3 · Portal médico y motor documental */
.mc-ctx{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12.5px;color:var(--mut);margin:0 0 10px}
.mc-ctx .bx-i{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.mc-ctx-me{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:var(--brand-soft,#EAF0F7);color:var(--brand)}
.mc-ctx-me.t-warn{background:var(--warn-bg);color:var(--warn)}
.mc-ctx a{margin-left:auto;font-weight:600;color:var(--brand);text-decoration:none}
.mc-kpis .kpi{text-decoration:none;color:inherit}
.mc-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2,var(--line));font-size:13.5px}
.mc-row:last-child{border-bottom:0}.mc-row time{min-width:68px;font-variant-numeric:tabular-nums;color:var(--mut);font-weight:600}
.mc-row a{color:var(--ink);text-decoration:none;font-weight:600}.mc-row .badge{margin-left:auto}
.mc-ic .bx-i{width:16px;height:16px;color:var(--mut)}
.mc-date{display:inline-flex}.mc-date input{height:36px}.mc-filter{margin:0 0 12px;max-width:340px}
.mc-agenda{padding:6px 0}
.mc-appt{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line-2,var(--line))}
.mc-appt:last-child{border-bottom:0}
.mc-appt time{font:700 15px/1 var(--serif);color:var(--ink)}
.mc-appt-b{display:flex;flex-direction:column;gap:2px;min-width:0}.mc-appt-b span{font-size:12.5px;color:var(--mut)}.mc-appt-b small{font-size:12px;color:var(--ink-2)}
.mc-appt-a{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.mc-appt.s-in_consultation{background:color-mix(in srgb,var(--ok) 6%,transparent)}
.mc-appt.s-completed,.mc-appt.s-cancelled,.mc-appt.s-no_show{opacity:.7}
.dx-act{display:inline-block;position:relative}.dx-act>summary{list-style:none;cursor:pointer}.dx-act>summary::-webkit-details-marker{display:none}
.dx-act[open]>form{position:absolute;z-index:20;right:0;top:calc(100% + 6px);min-width:280px;display:grid;gap:8px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(12,26,44,.18)}
.mc-appt-a .dx-act[open]>form{left:0;right:auto}
.mc-vitals{grid-template-columns:repeat(3,minmax(0,1fr))}.mc-vitals input[name=notes],.mc-vitals button{grid-column:1/-1}
.dx-act[open]>form.mc-vitals{min-width:420px;display:grid}
.dx-acts{white-space:nowrap}.dx-acts>*{margin:0 4px 4px 0}
.mc-search{grid-template-columns:minmax(0,1fr) auto}
.mc-bg{border-left:3px solid var(--bad)}.mc-bg form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.mc-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.mc-strip>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-size:12.5px;min-width:0}
.mc-strip b{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.mc-strip span{color:var(--ink);overflow-wrap:anywhere}
.mc-strip .mc-al{background:var(--bad-bg);border-color:transparent}.mc-strip .mc-al span{color:var(--bad);font-weight:600}
.mc-tl{padding:8px 18px}
.mc-tl article{display:grid;grid-template-columns:86px 30px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--line-2,var(--line))}
.mc-tl article:last-child{border-bottom:0}
.mc-tl time{font-weight:700;font-size:12.5px;color:var(--ink);display:flex;flex-direction:column}.mc-tl time small{font-weight:500;color:var(--mut)}
.mc-tl i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft,#EAF0F7);color:var(--brand)}.mc-tl i .bx-i{width:15px;height:15px}
.mc-tl-rx i{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold)}.mc-tl-res i{background:var(--ok-bg);color:var(--ok)}.mc-tl-adm i{background:var(--bad-bg);color:var(--bad)}
.mc-tl p{margin:3px 0 0;font-size:13px;color:var(--ink-2)}.mc-tl a{color:var(--ink);text-decoration:none}
.mc-note{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.mc-note h3,.mc-note .mc-save{grid-column:1/-1}
.mc-f label{font-size:12.5px}.mc-f textarea{width:100%}
.mc-f:has([name=chief_complaint]),.mc-f:has([name=present_illness]),.mc-f:has([name=physical_exam]),.mc-f:has([name=assessment]),.mc-f:has([name=plan]){grid-column:1/-1}
.mc-ro{padding:9px 11px;background:var(--bg);border-radius:10px;font-size:13.5px;min-height:38px}
.mc-save{display:flex;gap:12px;align-items:center}
.mc-dx-f{display:grid;grid-template-columns:90px minmax(0,1fr) 130px auto auto;gap:8px;align-items:center;margin-top:10px}
.mc-close{border-left:3px solid var(--brand)}.mc-close form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mn-sign-box{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;padding:10px 12px;background:var(--bg);border-radius:10px}
.mn-pin{max-width:160px}
.mc-dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;margin:0;font-size:13.5px}.mc-dl dt{color:var(--mut);font-weight:600}.mc-dl dd{margin:0}
.mc-result{white-space:normal;padding:10px 12px;background:var(--bg);border-radius:10px;font-size:13.5px;margin-bottom:8px}
.mc-review{display:grid;gap:8px;margin-top:10px}
.mc-prof h3{font-family:var(--serif);font-size:16px;margin:18px 0 4px}
.mc-imgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 12px}
.mc-img{border:1px dashed var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.mc-img span{font-weight:600;font-size:12.5px}.mc-img img{max-height:70px;max-width:100%;object-fit:contain;background:#fff;border-radius:6px}.mc-img em{color:var(--mut);font-size:12px}
.mc-pin .f3{align-items:end}
.mc-opts{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.mc-opts legend{font-size:12px;font-weight:600;padding:0 4px}
.mc-team-f{display:grid;grid-template-columns:minmax(0,1.4fr) 150px 150px minmax(0,1fr) auto;gap:8px;margin-top:12px}
.mc-order-f textarea{width:100%}
.bx-auth-list{display:grid;gap:10px}
@media (max-width:900px){.mc-strip{grid-template-columns:1fr 1fr}.mc-note{grid-template-columns:1fr}.mc-dx-f,.mc-team-f,.mc-bg form{grid-template-columns:1fr}.mc-imgs{grid-template-columns:1fr}.mc-appt{grid-template-columns:52px 1fr}.mc-appt>.badge{grid-column:2}.dx-act[open]>form.mc-vitals{min-width:0;grid-template-columns:1fr 1fr}}
/* ===== 5.4 · Programas clínicos (META360) ===== */
.mc-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.mc-strip .badge{font-size:10.5px;margin-left:2px}
.cp-card{scroll-margin-top:80px}
.cp-card-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cp-card-h h3{margin:0}.cp-card-h>div{flex:1;min-width:200px}
.cp-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft,#EAF0F7);color:var(--brand)}.cp-ic .bx-i{width:20px;height:20px}
.cp-meta{margin:10px 0 0;font-size:13px;color:var(--ink-2)}
.cp-linked{margin:8px 0 0;font-size:12.5px;color:var(--ok);display:flex;gap:6px;align-items:center}.cp-linked .bx-i{width:14px;height:14px}
.cp-ops{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin:12px 0 4px}.cp-top{margin:0 0 14px}.cp-top .mc-filter{margin:0 0 0 auto;min-width:260px}
.cp-op[open]>form{min-width:360px;left:0;right:auto}
.cp-dec label{font-size:12px;font-weight:600;color:var(--ink-2)}.cp-dec textarea,.cp-dec input:not([type=checkbox]),.cp-dec select{width:100%}
.cp-sec{border:1px solid var(--line);border-radius:12px;margin:12px 0 0;background:var(--card)}
.cp-sec>summary{cursor:pointer;padding:12px 14px;font-weight:600;display:flex;align-items:center;gap:8px;list-style:none}.cp-sec>summary::-webkit-details-marker{display:none}
.cp-sec>summary::after{content:'▾';margin-left:auto;color:var(--mut)}.cp-sec[open]>summary{border-bottom:1px solid var(--line)}
.cp-sec>summary .bx-i{width:16px;height:16px;color:var(--brand)}
.cp-sec>*:not(summary){margin:12px 14px}
.cp-note{font-size:12.5px}.cp-prior{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13px}.cp-prior .bx-i{width:16px;height:16px;flex:none}
.cp-hist{margin-top:10px}.cp-hist>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--brand)}
.cp-docs{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.cp-goals .mc-row{flex-wrap:wrap}.cp-goals .mc-row>span:not(.badge){flex:1}
.cp-goal-f{min-width:320px}
.cp-crit p{margin:0;white-space:normal}
.m360-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0}
.m360-kpis>div{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0;background:var(--card)}
.m360-kpis small{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}.m360-kpis b{font-size:16px;color:var(--ink);overflow-wrap:anywhere}.m360-kpis span{font-size:11.5px;color:var(--mut)}
.m360-tr{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line-2,var(--line))}.m360-tr>div:first-child{flex:1;min-width:220px}
.m360-f{display:grid;gap:8px}.m360-f label{font-size:12px;font-weight:600;color:var(--ink-2)}.m360-f textarea,.m360-f input:not([type=checkbox]),.m360-f select{width:100%}
.dx-act[open]>form.m360-f{min-width:420px}
.m360-f .f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.m360-f .f2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m360-sym{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.m360-sym label{display:flex;flex-direction:column;gap:4px}
.mxe-bia{margin:8px 0}.mxe-bia>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--brand)}
@media (max-width:1200px){.mc-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.m360-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.mc-strip{grid-template-columns:1fr 1fr}.m360-kpis,.m360-sym{grid-template-columns:1fr 1fr}.m360-f .f3{grid-template-columns:1fr 1fr}.cp-op[open]>form,.dx-act[open]>form.m360-f,.cp-goal-f{min-width:0;width:min(92vw,420px)}.cp-top .mc-filter{margin:0;min-width:0;width:100%}}
@media (max-width:900px){.cx-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.cx-tabs a{white-space:nowrap}.panel>.fin-table,.cp-sec .fin-table,.cp-sec .panel,.cp-card .fin-table{display:block;overflow-x:auto;max-width:100%}.cp-sec{overflow:hidden}.cp-sec>*:not(summary){margin:10px}}
/* ===== 5.5 · Document Studio ===== */
.dxs-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:12px}
.dxs-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card)}
.dxs-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.dxs-card strong{font-size:14px}.dxs-card p{margin:0;font-size:12.5px;color:var(--mut);line-height:1.45}
.dxs-card .btn{align-self:flex-start;margin-top:2px}
.dxs-thumb{flex:none;width:58px;height:76px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:6px;display:flex;flex-direction:column;gap:4px}
.dxs-thumb span{display:block;background:var(--line);border-radius:2px;height:4px}
.dxs-thumb span:first-child{height:10px;background:var(--brand)}
.dxs-t-membrete span:first-child{margin:0 auto;width:70%;height:8px}
.dxs-t-sobrio span:first-child{height:3px}
.dxs-t-dual span:first-child{width:45%}
.dxs-t-recetario{height:52px}
.mc-idprev{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2,var(--card));font-size:13px}
.mc-idprev strong{font:700 17px/1.2 var(--serif);color:var(--brand)}
.mc-idprev span{color:var(--mut)}
.mc-img small{display:block;font-size:11px;margin-top:4px}
.bx-alert.t-info{background:var(--brand-soft,#EAF0F7);color:var(--brand)}
@media (max-width:900px){.dxs-gal{grid-template-columns:1fr}}

/* BITXEL 5.5.2 · Control Center management */
.control-edit{margin-top:12px;border-top:1px solid var(--line,#e5e7eb);padding-top:10px}.control-edit>summary{cursor:pointer;font-weight:700}.control-edit-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-top:12px}.branch-edit-row{display:grid;grid-template-columns:1.5fr .8fr auto auto;gap:8px;align-items:center}.danger-zone{margin-top:14px;padding:14px;border:1px solid #fecaca;background:#fff7f7;border-radius:10px}.danger-zone h4{margin-top:0;color:#991b1b}.tenant-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ct-domain{margin-top:12px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}@media(max-width:900px){.control-edit-grid{grid-template-columns:1fr}.branch-edit-row,.ct-domain{grid-template-columns:1fr}.tenant-actions{align-items:stretch}.tenant-actions form,.tenant-actions a{width:100%}}

/* 5.5.4.5 · Logout estable sin depender de GET/JS */
.bx-logout-form{margin:0;padding:0}
.bx-logout-form .bx-logout-link{
  width:100%;border:0;background:transparent;font:inherit;color:inherit;
  cursor:pointer;text-align:left;
}

/* 5.5.4.6 · Domain Manager */
.domain-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.domain-actions form{margin:0}
.domain-actions .btn{white-space:nowrap}
@media(max-width:900px){
  .domain-actions{min-width:180px}
}

/* 5.5.4.9 · Account & admin access */
.bx-top-logout{margin:0;display:flex;align-items:center}
.bx-top-logout .bx-icon-btn{border-color:var(--line,#d8dde5)}

/* 5.5.5.1 Integrations */
.panel details>summary{cursor:pointer;list-style:none}.panel details>summary::-webkit-details-marker{display:none}


/* =====================================================================
   BITXEL 5.5.6.0 — VISUAL SYSTEM
   Inspiración funcional: medical appointment app + gradient medical
   landing + web element collection. Implementación propia, responsive.
   ===================================================================== */
:root{
  --accent:#16A6B6;
  --tenant-surface:#F5F9FC;
  --r-xl:22px;
  --r-lg:16px;
  --r-md:12px;
  --shadow-med:0 16px 42px rgba(15,39,66,.09);
  --shadow-float:0 20px 55px rgba(15,39,66,.16);
}
body.bx-body{
  background:
    radial-gradient(900px 420px at 88% -80px,color-mix(in srgb,var(--accent) 12%,transparent),transparent 58%),
    var(--tenant-surface)!important;
}
.bx-main{background:transparent}
.bx-top{
  background:color-mix(in srgb,#fff 89%,var(--tenant-surface))!important;
  border-bottom:1px solid color-mix(in srgb,var(--brand) 9%,#dfe7ee)!important;
  box-shadow:0 8px 30px rgba(15,39,66,.035)
}
.bx-side{
  background:
    radial-gradient(360px 240px at 20% 0%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 60%),
    linear-gradient(180deg,color-mix(in srgb,var(--side) 88%,#071522),var(--side))!important;
  border-right:1px solid rgba(255,255,255,.07);
}
.bx-nav-gradient .bx-side{
  background:
    radial-gradient(330px 250px at 10% 0%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 62%),
    linear-gradient(165deg,var(--side),color-mix(in srgb,var(--side) 72%,#06101d))!important;
}
.bx-nav-light .bx-side{background:#fff!important;color:#142433!important;border-right:1px solid #DCE5EC}
.bx-nav-light .bx-brand-t strong,.bx-nav-light .bx-brand-t small,.bx-nav-light .bx-group-h,.bx-nav-light .bx-link,.bx-nav-light .bx-plat-h,.bx-nav-light .bx-powered,.bx-nav-light .bx-tenant{color:#526474!important}
.bx-nav-light .bx-link:hover{background:#F1F6FA!important;color:#152333!important}
.bx-nav-light .bx-link.is-active{background:color-mix(in srgb,var(--brand) 10%,white)!important;color:var(--brand)!important}
.bx-brand{padding:15px 14px!important}.bx-logo{width:38px!important;height:38px!important;border-radius:12px!important}
.bx-brand-t strong{font-size:14px!important;letter-spacing:-.01em}.bx-brand-t small{opacity:.72}
.bx-navsearch{border-radius:13px!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.08)!important}
.bx-group-h{letter-spacing:.07em!important}
.bx-link{
  border-radius:12px!important;
  min-height:39px;
  transition:background .16s,transform .16s,color .16s!important;
}
.bx-link:hover{transform:translateX(2px)}
.bx-link .bx-i{width:17px;height:17px;opacity:.92}
.bx-link.tone-clinical .bx-i{color:#39C3E6!important}
.bx-link.tone-success .bx-i{color:#43D39C!important}
.bx-link.tone-warn .bx-i{color:#FFC44F!important}
.bx-link.tone-danger .bx-i{color:#FF6F7D!important}
.bx-link.tone-violet .bx-i{color:#B69CFF!important}
.bx-link.tone-indigo .bx-i{color:#7DB7FF!important}
.bx-link.is-active{
  background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 68%,transparent),color-mix(in srgb,var(--accent) 28%,transparent))!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 72%,white),0 8px 25px rgba(0,0,0,.08)!important;
  color:#fff!important;
}
.bx-link.is-active .bx-i{color:#fff!important}
.content.bx-content{padding-top:30px!important}
.bx-content .panel{
  border-color:color-mix(in srgb,var(--brand) 8%,#dfe7ee)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-med)!important;
}
.bx-cards-flat .bx-content .panel{box-shadow:none!important}
.bx-cards-glass .bx-content .panel{
  background:color-mix(in srgb,#fff 86%,transparent)!important;
  backdrop-filter:blur(16px) saturate(1.2);
}
.bx-radius-compact .bx-content .panel,.bx-radius-compact .btn,.bx-radius-compact input,.bx-radius-compact select,.bx-radius-compact textarea{border-radius:8px!important}
.bx-radius-pill .bx-content .panel{border-radius:24px!important}.bx-radius-pill .btn{border-radius:999px!important}
.bx-content .panel>.head:first-child{padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--brand) 6%,var(--line))}
.bx-content .kpi,.bx-content .bxd-kpi,.bx-content .m360-kpis>div{
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--tenant-surface) 82%,#fff))!important;
  border-color:color-mix(in srgb,var(--brand) 9%,var(--line))!important;
  box-shadow:0 10px 24px rgba(15,39,66,.055)!important;
}
.bx-content .btn{
  border-radius:11px!important;
  min-height:40px!important;
  font-weight:700!important;
}
.bx-content .btn.primary,.bx-auth .btn.primary,.bx-btn-new{
  background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 72%,var(--accent)))!important;
  border-color:transparent!important;
  box-shadow:0 10px 20px color-mix(in srgb,var(--brand) 19%,transparent)!important;
}
.bx-content .btn.secondary{background:linear-gradient(180deg,#fff,#F7FAFC)!important}
.bx-content .btn.danger{background:#FFF5F6!important;border-color:color-mix(in srgb,var(--bad) 30%,#fff)!important;color:var(--bad)!important}
.bx-content .btn.ghost{background:transparent!important;box-shadow:none!important}
.bx-content input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),
.bx-content select,.bx-content textarea,.bx-auth input{
  border-radius:11px!important;
  min-height:42px!important;
  border-color:#D8E2EA!important;
  box-shadow:inset 0 1px 1px rgba(15,39,66,.025)
}
.bx-content input:focus,.bx-content select:focus,.bx-content textarea:focus,.bx-auth input:focus{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)!important;
  border-color:color-mix(in srgb,var(--brand) 65%,var(--accent))!important
}
.status-pill.ok,.badge.st-ok{background:color-mix(in srgb,var(--ok) 12%,#fff)!important;color:color-mix(in srgb,var(--ok) 85%,#073)!important}
.status-pill.off,.badge.st-bad{background:color-mix(in srgb,var(--bad) 10%,#fff)!important;color:var(--bad)!important}
.badge.st-warn{background:color-mix(in srgb,var(--warn) 13%,#fff)!important;color:#9A6200!important}

/* Personalización por empresa */
.bx-design-hero{border-radius:20px!important;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--tenant-surface) 76%,#fff))!important}
.bx-palette-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin:12px 0 20px}
.bx-palette-card{position:relative;display:flex!important;flex-direction:column;gap:8px;padding:12px!important;margin:0!important;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.bx-palette-card input{position:absolute;opacity:0;pointer-events:none}
.bx-palette-card.is-on,.bx-palette-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
.bx-palette-sw{display:grid;grid-template-columns:repeat(4,1fr);height:38px;overflow:hidden;border-radius:9px}.bx-palette-sw i{display:block}
.bx-palette-card strong{font-size:12.5px}.bx-color-grid input[type=color]{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:4px;background:#fff}
.bx-login-mini{height:112px;margin-top:14px;border-radius:14px;background:linear-gradient(135deg,var(--side),color-mix(in srgb,var(--side) 65%,var(--accent)));padding:16px;display:grid;grid-template-columns:1fr 1.2fr;gap:12px;overflow:hidden}
.bx-login-mini div{background:#fff;border-radius:10px;grid-row:1/5}.bx-login-mini span,.bx-login-mini b{display:block;border-radius:999px;background:rgba(255,255,255,.65)}.bx-login-mini span{height:9px}.bx-login-mini b{height:26px;background:var(--accent)}

/* Login: medical gradient / clean / dark */
body.bx-auth{background:var(--tenant-surface)!important}
.bx-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr)}
.bx-auth-card{
  align-self:center;justify-self:center;width:min(430px,calc(100% - 48px));
  background:#fff;border:1px solid color-mix(in srgb,var(--brand) 8%,#dfe7ee);
  padding:34px;border-radius:22px;box-shadow:0 24px 70px rgba(15,39,66,.11)
}
.bx-auth-brand img{max-width:190px;height:52px;object-fit:contain;object-position:left center;margin:0 0 18px}
.bx-auth-mini{display:inline-block;color:var(--brand);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:8px}
.bx-auth h1{font-family:var(--font)!important;font-weight:800!important;font-size:31px!important}
.bx-auth-side{
  margin:18px 18px 18px 0;border-radius:28px;
  background:
   radial-gradient(440px 320px at 15% 15%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 65%),
   radial-gradient(520px 360px at 90% 90%,color-mix(in srgb,var(--brand) 48%,transparent),transparent 65%),
   linear-gradient(150deg,var(--side),color-mix(in srgb,var(--side) 68%,#07101e))!important;
  position:relative;overflow:hidden;padding:70px
}
.bx-auth-side::after{display:none!important}
.bx-auth-visual{position:relative;z-index:2;max-width:560px}
.bx-auth-visual h2{font-family:var(--font)!important;font-size:42px!important;font-weight:800!important;line-height:1.08;margin:14px 0 22px;color:#fff}
.bx-auth-features{display:flex;gap:10px;flex-wrap:wrap}.bx-auth-features span{display:flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);color:#E7F5FA;font-size:12.5px}
.bx-auth-features .bx-i{color:#74E0B4}
.bx-auth-mock{margin-top:34px;width:min(470px,100%);height:170px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(10px);padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:start}
.bx-auth-mock i{height:56px;border-radius:13px;background:rgba(255,255,255,.16)}.bx-auth-mock strong{grid-column:1/-1;color:#fff;margin-top:8px}
.bx-auth-clean .bx-auth-side{background:linear-gradient(145deg,#EAF7FB,#DFF2F4)!important}.bx-auth-clean .bx-auth-visual h2,.bx-auth-clean .bx-auth-mock strong{color:#17334A}.bx-auth-clean .bx-auth-features span{color:#264A60;border-color:#B7DCE4;background:#fff}
.bx-auth-dark{--tenant-surface:#091421}.bx-auth-dark .bx-auth-card{background:#0F1D2B;color:#EEF6FB;border-color:#203246}.bx-auth-dark .bx-auth-card p,.bx-auth-dark .bx-auth-card label{color:#A8BDCA!important}.bx-auth-dark .bx-auth input{background:#132537!important;color:#fff!important;border-color:#284156!important}

/* Mobile bottom navigation — inspired by appointment booking UI */
.bx-mobile-nav{display:none}
@media(max-width:900px){
  .bx-top{padding:0 14px!important}
  .bx-cmd,.bx-status,.bx-user-t{display:none!important}
  .content.bx-content{padding:18px 14px 92px!important}
  .bx-content .grid2,.bx-content .split{grid-template-columns:1fr!important}
  .bx-content .panel{padding:16px!important;border-radius:16px!important}
  .bx-mobile-nav{
    position:fixed;z-index:85;left:10px;right:10px;bottom:10px;height:66px;display:grid;
    grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);
    border:1px solid #DCE7EE;border-radius:20px;box-shadow:0 18px 48px rgba(15,39,66,.19);
    padding:6px
  }
  .bx-mobile-nav a,.bx-mobile-nav button{
    border:0;background:transparent;text-decoration:none;color:#697B89;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:3px;border-radius:14px;font:700 9.5px var(--font);min-width:0
  }
  .bx-mobile-nav .bx-i{width:20px;height:20px}.bx-mobile-nav a.is-active{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--brand) 22%,transparent)}
  .bx-mobile-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bx-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .f4{grid-template-columns:1fr 1fr!important}
  .bx-auth-shell{grid-template-columns:1fr;min-height:100svh}
  .bx-auth-side{display:none!important}
  .bx-auth-card{width:calc(100% - 28px);margin:14px;padding:26px 20px;border-radius:20px}
  .bx-auth h1{font-size:27px!important}
}
@media(max-width:560px){
  .f4,.f3,.f2{grid-template-columns:1fr!important}
  .bx-palette-grid{grid-template-columns:1fr 1fr}
  .bx-top-r{gap:5px}
  .bx-user{padding:0!important}
  .bx-av{width:36px;height:36px}
}

/* BITXEL 5.5.7.0 · Conversations */
.msg-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;min-height:680px}
.msg-list{padding:12px!important;overflow:auto}.msg-list .head{padding:4px 4px 10px!important}
.msg-thread{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:13px;text-decoration:none;color:var(--text);margin:2px 0}
.msg-thread:hover,.msg-thread.is-on{background:color-mix(in srgb,var(--brand) 7%,#fff)}
.msg-thread.is-on{box-shadow:inset 3px 0 0 var(--brand)}
.msg-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#25D366,#128C7E);color:white;font-weight:800}
.msg-thread-main{min-width:0}.msg-thread-main strong,.msg-thread-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-thread-main small{color:var(--muted);margin-top:3px}
.msg-thread-meta{text-align:right}.msg-thread-meta b{display:block;font-size:9px;color:var(--muted)}.msg-thread-meta i{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font-style:normal;font-size:10px}
.msg-chat{padding:0!important;display:flex;flex-direction:column;overflow:hidden}.msg-chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.msg-chat-head strong,.msg-chat-head small{display:block}.msg-chat-head small{color:var(--muted);margin-top:3px}
.msg-messages{flex:1;min-height:500px;padding:22px;overflow:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-surface) 76%,#fff),#fff)}
.msg-bubble{max-width:min(72%,620px);padding:10px 12px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid #E2E8EE;box-shadow:0 5px 14px rgba(15,39,66,.05);margin:8px 0}.msg-bubble.out{margin-left:auto;background:color-mix(in srgb,#25D366 10%,#fff);border-color:color-mix(in srgb,#25D366 22%,#fff);border-radius:16px 16px 5px 16px}.msg-bubble span,.msg-bubble small{display:block}.msg-bubble small{font-size:9.5px;color:var(--muted);text-align:right;margin-top:5px}
.msg-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border-top:1px solid var(--line);background:#fff}.msg-compose textarea{resize:none}
.msg-placeholder{margin:auto;text-align:center;color:var(--muted)}.msg-placeholder .xl{width:54px;height:54px;color:#25D366}.msg-placeholder h2{color:var(--text)}
.kb-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.kb-row small,.kb-row p{display:block;color:var(--muted);margin:3px 0}.kb-row p{font-size:12.5px}
.automation-list{display:grid;gap:9px}.automation-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.automation-row strong,.automation-row small{display:block}.automation-row small{color:var(--muted);margin-top:3px}.auto-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent)}
.steps{padding-left:20px}.steps li{margin:9px 0}.copybox{padding:12px;border:1px dashed #BFCED9;border-radius:12px;background:#F7FAFC;overflow:auto}
@media(max-width:900px){.msg-shell{grid-template-columns:1fr;min-height:auto}.msg-list{max-height:300px}.msg-chat{min-height:560px}.msg-messages{min-height:380px}.msg-bubble{max-width:88%}}

/* BITXEL 5.5.7.1 · Institution templates */
#tenantTemplate{font-weight:700}
#tenantTemplate optgroup{font-weight:800;color:#31465a}
#tenantTemplate option{font-weight:500;color:#162638}
#tenantTemplateHelp{display:block;min-height:32px;margin-top:6px;line-height:1.35}

/* BITXEL 5.5.8.0 · Hostinger Mail Center */
.integration-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hm-connection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}
.hm-connection small{display:block;color:var(--muted);margin-top:3px}.hm-connection .domain-actions{grid-column:1/-1}
.hm-confirm{padding:12px;border:1px solid color-mix(in srgb,var(--bad) 20%,#fff);border-radius:12px;margin-top:8px;background:#fff8f8}
.hm-assign{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto;gap:6px;align-items:center}
.mail-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.mail-top h2{margin:4px 0}.mail-top p{margin:0;color:var(--muted)}
.hm-mailbox-tabs{display:flex;gap:9px;overflow:auto;margin-bottom:14px;padding-bottom:2px}
.hm-mailbox-tabs a{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;min-width:220px;gap:1px 8px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--text)}
.hm-mailbox-tabs a .bx-i{grid-row:1/3;align-self:center;color:var(--accent)}.hm-mailbox-tabs a span{font-weight:800}.hm-mailbox-tabs a small{color:var(--muted)}
.hm-mailbox-tabs a.is-on{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 9%,transparent)}
.mail-shell{display:grid;grid-template-columns:390px minmax(0,1fr);gap:16px;min-height:580px;margin-bottom:16px}
.mail-list{padding:10px!important;overflow:auto}.mail-list .head{padding:5px 5px 10px!important}
.mail-row{display:flex;justify-content:space-between;gap:10px;padding:11px;border-radius:12px;text-decoration:none;color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.mail-row:hover,.mail-row.is-on{background:color-mix(in srgb,var(--brand) 6%,#fff)}
.mail-row.is-unseen strong,.mail-row.is-unseen span{font-weight:800}.mail-row div{min-width:0}.mail-row strong,.mail-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-row span{font-size:12.5px;margin-top:3px}.mail-row small{color:var(--muted);white-space:nowrap}
.mail-reader{display:flex;min-width:0}.mail-placeholder{margin:auto;text-align:center;color:var(--muted)}.mail-placeholder .xl{width:50px;height:50px;color:var(--accent)}
.mail-message{width:100%}.mail-plain{white-space:normal;line-height:1.62;margin-top:15px;padding:18px;background:#fbfdff;border:1px solid var(--line);border-radius:14px}.mail-html-note{margin-top:15px;padding:14px;border-radius:12px;background:#fff8e8;border:1px solid #f1dfaf}
.mail-compose{max-width:850px}.mail-compose textarea{resize:vertical}
@media(max-width:1050px){.integration-provider-grid{grid-template-columns:1fr 1fr}.mail-shell{grid-template-columns:330px minmax(0,1fr)}}
@media(max-width:780px){.integration-provider-grid,.mail-shell{grid-template-columns:1fr}.mail-shell{min-height:auto}.mail-list{max-height:360px}.mail-reader{min-height:320px}.hm-assign{grid-template-columns:1fr}.mail-top{align-items:flex-start}.mail-top .btn{white-space:nowrap}}

/* =========================================================
   BITXEL 5.5.9.0 · Unified SaaS Control
   ========================================================= */
.pc-hero{align-items:center!important}.pc-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pc-create-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;margin-bottom:16px}
.pc-summary{align-self:start}.pc-plan-preview{padding:10px 12px;margin:8px 0 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--brand) 4%,#fff);font-size:12px;color:var(--muted);min-height:42px}
.pc-domain-choice{display:flex;gap:14px;flex-wrap:wrap;padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.pc-domain-choice strong{width:100%}.pc-domain-choice label{display:flex;align-items:center;gap:7px;margin:0}.pc-domain-choice input{width:auto!important}
.pc-tenant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pc-tenant{border:1px solid var(--line);border-radius:17px;padding:15px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--tenant-surface) 70%,#fff));box-shadow:0 10px 28px rgba(15,39,66,.05)}
.pc-tenant-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pc-tenant-top h3{margin:7px 0 4px}.pc-tenant-top a{display:block;color:var(--brand);font-weight:700;text-decoration:none;word-break:break-all}.pc-tenant-top small{display:block;color:var(--muted);margin-top:4px}
.pc-plan-badge{flex:0 0 auto;min-width:110px;padding:9px 11px;border-radius:13px;border:1px solid color-mix(in srgb,var(--pc) 25%,#ddd);background:color-mix(in srgb,var(--pc) 9%,#fff);text-align:right}.pc-plan-badge span,.pc-plan-badge small{display:block}.pc-plan-badge span{color:var(--pc);font-weight:800}.pc-plan-badge small{color:var(--muted)}
.pc-tenant-settings{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.pc-domain-inline{display:grid;grid-template-columns:1.2fr .6fr auto;gap:6px}.pc-danger{margin-top:12px}.pc-danger>summary{cursor:pointer;color:var(--bad);font-weight:700}
.plan-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.plan-editor .head{align-items:flex-start}.plan-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.plan-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0 14px}.plan-modules label{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;margin:0;background:#fbfdff}.plan-modules input{width:auto!important}
.btn.warning{background:#FFF7E7!important;border-color:#F0C66A!important;color:#9A6700!important}.btn.success{background:#ECFDF5!important;border-color:#A7E5C6!important;color:#0B7A4A!important}
.bx-auth-brand img{max-width:245px!important;height:auto!important;max-height:82px!important;object-fit:contain!important}
.bx-auth-card{border-radius:26px!important;padding:38px!important}
.bx-auth-side{background:radial-gradient(480px 300px at 78% 15%,rgba(55,97,255,.28),transparent 62%),radial-gradient(420px 300px at 15% 82%,rgba(0,224,255,.22),transparent 62%),linear-gradient(145deg,#06182d,#082c50 58%,#101b46)!important}
.bx-auth-side:before{content:"";position:absolute;inset:auto -10% -22% -10%;height:54%;background:repeating-radial-gradient(ellipse at center,rgba(34,211,238,.16) 0 1px,transparent 1px 12px);transform:perspective(520px) rotateX(64deg);opacity:.55}
.bx-auth-visual h2{max-width:650px!important;font-size:46px!important}.bx-auth-features span{background:rgba(255,255,255,.07)!important}
@media(max-width:1100px){.pc-tenant-grid,.plan-control-grid{grid-template-columns:1fr}.pc-create-grid{grid-template-columns:1fr}.pc-tenant-settings{grid-template-columns:1fr}}
@media(max-width:700px){.pc-domain-inline{grid-template-columns:1fr}.pc-tenant-top{flex-direction:column}.pc-plan-badge{text-align:left}.plan-modules{grid-template-columns:1fr}.pc-hero-actions{justify-content:flex-start}}


/* BITXEL 5.5.9.2 · Login unificado y estable */
body.bx-auth{display:block!important;grid-template-columns:none!important;min-height:100vh!important;background:var(--tenant-surface)!important}
.bx-auth-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(420px,.88fr) minmax(520px,1.12fr)}
.bx-auth-card{align-self:center;justify-self:center;width:min(470px,calc(100% - 42px));background:#fff;border:1px solid color-mix(in srgb,var(--brand) 10%,#DDE7EE);box-shadow:0 28px 75px rgba(15,39,66,.12)}
.bx-auth-side{min-height:100vh;padding:clamp(48px,7vw,96px)!important}
.bx-auth-brand img{max-width:230px!important}
@media (max-width:820px){.bx-auth-shell{grid-template-columns:1fr}.bx-auth-side{display:none!important}.bx-auth-card{width:calc(100% - 28px);margin:14px auto}}

/* =========================================================
   BITXEL 5.5.9.3 · Visual System estable
   Unifica login + Control Center sin alterar módulos legacy.
   ========================================================= */
body.bx-auth{
  display:block!important;
  min-height:100vh!important;
  background:#F4F8FC!important;
  overflow-x:hidden;
}
.bx-auth-shell{
  min-height:100vh!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(420px, .82fr) minmax(560px, 1.18fr)!important;
}
.bx-auth-card{
  align-self:center!important;
  justify-self:center!important;
  width:min(470px,calc(100% - 48px))!important;
  padding:42px!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid #DCE7F1!important;
  box-shadow:0 30px 80px rgba(7,27,53,.13)!important;
}
.bx-auth-brand{margin-bottom:28px!important}
.bx-auth-brand img{max-width:235px!important;max-height:86px!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.bx-auth-mini{color:#155EEF!important;letter-spacing:.14em!important;font-size:11px!important}
.bx-auth h1{color:#0A1730!important;font-size:34px!important;letter-spacing:-.025em!important;margin-bottom:8px!important}
.bx-auth-card>p{color:#66758B!important;font-size:15px!important;line-height:1.55!important;margin-top:0!important}
.bx-auth-form{margin-top:26px!important}
.bx-auth-form label{color:#34445B!important;font-weight:700!important}
.bx-auth input{
  min-height:48px!important;
  border-radius:13px!important;
  background:#FBFDFF!important;
  border:1px solid #CCD9E7!important;
}
.bx-auth input:focus{border-color:#2563EB!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;background:#fff!important}
.bx-auth .btn.primary{
  min-height:50px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#1479D5 0%,#155EEF 52%,#7447E8 100%)!important;
  border-color:transparent!important;
  box-shadow:0 14px 28px rgba(29,78,216,.20)!important;
}
.bx-auth-side{
  position:relative!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  padding:clamp(52px,7vw,104px)!important;
  background:
    radial-gradient(520px 360px at 78% 14%,rgba(125,84,255,.38),transparent 62%),
    radial-gradient(520px 380px at 18% 82%,rgba(0,190,255,.25),transparent 62%),
    linear-gradient(145deg,#041224 0%,#072B50 52%,#171342 100%)!important;
}
.bx-auth-side:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)!important;
  background-size:42px 42px!important;
  opacity:.7!important;
  transform:none!important;
}
.bx-auth-visual{position:relative!important;z-index:2!important;max-width:680px!important}
.bx-auth-eyebrow{display:inline-flex!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#BFD9FF!important;font-weight:800!important;letter-spacing:.13em!important;font-size:11px!important}
.bx-auth-visual h2{font-size:clamp(40px,4.5vw,64px)!important;max-width:700px!important;line-height:1.02!important;letter-spacing:-.04em!important;margin:18px 0 26px!important}
.bx-auth-features{gap:10px!important}
.bx-auth-features span{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.13)!important;color:#E9F3FF!important}
.bx-auth-mock{height:auto!important;min-height:178px!important;border-radius:22px!important;background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.13)!important;box-shadow:inset 0 1px rgba(255,255,255,.08)!important}
.bx-auth-mock i{background:linear-gradient(135deg,rgba(65,183,255,.22),rgba(121,80,255,.18))!important;border:1px solid rgba(255,255,255,.08)!important}

/* Control Center: evita tarjetas excesivamente angostas y mantiene acciones utilizables. */
.pc-create-grid{align-items:start!important}
.pc-tenant-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important}
.pc-tenant{min-width:0!important}
.pc-domain-inline{grid-template-columns:minmax(160px,1.15fr) minmax(90px,.55fr) auto!important}
.pc-tenant .tenant-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.pc-tenant-settings select,.pc-tenant-settings input{min-width:0!important}

@media(max-width:960px){
  .bx-auth-shell{grid-template-columns:1fr!important}
  .bx-auth-side{display:none!important}
  .bx-auth-card{width:min(520px,calc(100% - 28px))!important;margin:14px auto!important;padding:32px 26px!important}
}
@media(max-width:700px){
  .pc-domain-inline{grid-template-columns:1fr!important}
  .bx-auth h1{font-size:29px!important}
  .bx-auth-brand img{max-width:210px!important}
}
