/* ===== Bloque global original 1 de Clinic/index.html ===== */
:root{
  /* Paleta oficial Dent-iOS Clinic: Primary/Secondary Blue + neutrales de marca compartidos */
  --ink:#1C1C1E;--ink3:#4B4B4F;--ink4:#94A3B8;--sky:#E7F0F8;
  --teal:#0F4C81;--teal2:#1D72C9;--teal3:#A8916F;
  --green:#0E8C5E;--red:#A3503D;--gold:#A8916F;
  --surface:#F5F6F8;--border:#DCE1E6;--white:#FFFFFF;
  --mono:'JetBrains Mono',monospace;
  --r:12px;--r2:20px;--sh:0 2px 12px rgba(28,28,30,.08);--shl:0 20px 60px rgba(28,28,30,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Roboto',sans-serif;color:var(--ink);background:var(--white);min-height:100vh}

@media print{
  /* Ocultar todo lo que no es el informe */
  .sidebar,
  .topbar,
  #help-btn,
  #help-panel,
  #loading-overlay,
  #mob-menu-btn,
  #mob-overlay,
  .btn,
  select, input,
  [id^="liq-tab-"],
  [id^="liq-diario"],
  [id="liq-panel-diario"],
  .cfg-tab-btn,
  .row-actions,
  .card-head-actions,
  .act-btn,
  .cobro-filter-row,
  [data-liq-row2] .card:last-child /* oculta el badge "Período activo" en fila 2 */
  { display:none!important; }

  /* Resetear layout para que ocupe todo el ancho */
  body{ background:#fff!important; }
  #screen-app{ display:block!important; height:auto!important; overflow:visible!important; }
  .main{ min-height:unset!important; height:auto!important; overflow:visible!important; }
  .page.active{ display:block!important; padding:16px!important; }

  /* Cards y tablas se ven bien en papel */
  .card{ box-shadow:none!important; border:1px solid #ccc!important; break-inside:avoid; }
  .kpi-grid, [style*="grid-template-columns"]{
    display:grid!important;
  }
  table.dtable{ font-size:11px; }
  table.dtable th, table.dtable td{ padding:6px 10px; }

  /* Cuenta de cobro de prepagadas: las fotos SÍ deben imprimirse */
  #ccp-content img{ display:inline-block!important; }
  #cc-tabs{ display:none!important; }
  .ccp-case{ break-inside:avoid; }

  /* Título de página antes del informe */
  .page.active::before{
    content: attr(data-print-title);
    display:block;
    font-family:'Roboto',sans-serif;
    font-size:18px;
    font-weight:700;
    margin-bottom:16px;
    color:#1A2E3D;
  }
}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;font-weight:800;line-height:1.15}
.hidden{display:none!important}
.screen{display:none;min-height:100vh}
.screen.active{display:flex}

/* ── AUTH ── */
#screen-auth{align-items:stretch}
.auth-left{flex:1;background:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:56px;position:relative;overflow:hidden}
.auth-left::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%,rgba(14,140,94,.3) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(201,168,76,.15) 0%,transparent 50%)}
.auth-brand{position:relative;z-index:1}
.auth-brand .mark{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:800;color:#fff}
.auth-brand .mark span{color:#4ADE80}
.auth-brand .sub{font-size:12px;color:rgba(255,255,255,.4);margin-top:4px}
.auth-hero{position:relative;z-index:1}
.auth-hero h1{font-size:48px;color:#fff;margin-bottom:16px;line-height:1.05}
.auth-hero h1 em{font-style:italic;font-weight:300;color:#4ADE80}
.auth-hero p{font-size:14px;color:rgba(255,255,255,.6);max-width:340px;line-height:1.7}
.auth-feats{display:flex;flex-direction:column;gap:12px;margin-top:32px;position:relative;z-index:1}
.auth-feat{display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.7)}
.auth-feat .fi{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.auth-right{width:480px;display:flex;align-items:center;justify-content:center;padding:48px 56px;background:var(--white)}
.auth-box{width:100%}
.auth-box h2{font-size:28px;margin-bottom:6px}
.auth-box .sub{font-size:13px;color:var(--ink3);margin-bottom:28px}
.auth-toggle{display:flex;background:var(--surface);border-radius:10px;padding:4px;margin-bottom:24px;gap:4px}
.atog{flex:1;padding:9px;border:none;background:transparent;cursor:pointer;font-family:'Roboto',sans-serif;font-size:13px;font-weight:500;color:var(--ink3);border-radius:7px;transition:.2s}
.atog.active{background:#fff;color:var(--ink);box-shadow:var(--sh)}

/* ── FORMS ── */
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fg label{font-size:11px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.5px}
.fg input,.fg select,.fg textarea{padding:11px 14px;border:2px solid var(--border);border-radius:10px;font-family:'Roboto',sans-serif;font-size:14px;color:var(--ink);outline:none;transition:.2s;background:#fff;width:100%}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,126,160,.1)}
.fg textarea{resize:vertical;min-height:80px}
.fg .hint{font-size:11px;color:var(--ink3)}
.cfg-tab-btn{padding:10px 20px;border:none;background:none;font-family:'Roboto',sans-serif;font-size:14px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--ink3);white-space:nowrap}
.cfg-tab-btn.active-cfg-tab{border-bottom:3px solid var(--teal);color:var(--teal)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgrid .full{grid-column:1/-1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:6px;border:none;cursor:pointer;font-family:'Roboto',sans-serif;font-size:14px;font-weight:600;transition:.2s;white-space:nowrap;text-decoration:none}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover:not(:disabled){background:var(--teal);transform:translateY(-1px)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover:not(:disabled){background:#0a7a52}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--border)}
.btn-ghost:hover:not(:disabled){border-color:var(--teal);color:var(--teal);background:var(--surface)}
.btn-danger{background:#FEE2E2;color:var(--red)}
.btn-sm{padding:7px 14px;font-size:12px}
.btn-full{width:100%}
.err-msg{background:#FEE2E2;color:var(--red);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:12px;display:none}
.ok-msg{background:#D1FAE5;color:#065F46;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:12px;display:none}

/* ── LOADING ── */
#loading-overlay{position:fixed;inset:0;z-index:9999;background:rgba(13,27,42,.45);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center}
.spinner{width:44px;height:44px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── APP LAYOUT ── */
#screen-app{flex-direction:row}
/* Solo cuando screen-app está activo (no afecta el login) */
.screen.active#screen-app{background:#f4f6fa;padding:0;gap:0;height:100vh;overflow:hidden}
.screen.active#screen-app .sidebar{height:calc(100vh - 20px);border-radius:12px;box-shadow:0 8px 32px rgba(15,30,80,.25);top:10px;margin:10px 0 10px 10px}
.screen.active#screen-app .main{height:calc(100vh - 12px);margin:0 12px 12px 0;background:#fff;overflow-y:auto;overflow-x:hidden;min-height:0}
.sidebar{width:240px;background:linear-gradient(180deg,#0A3A63 0%,#0F4C81 55%,#1D72C9 100%);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;flex-shrink:0;overflow:hidden;transition:width .2s ease}
.sidebar.collapsed{width:95px}
.sb-brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:14px;flex-shrink:0}
.sb-brand-txt{min-width:0;display:flex;flex-direction:column}
.sidebar.collapsed .sb-brand-txt{display:none}
.sb-mark-top{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.3px;line-height:1.1}
.sb-mark{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:800;color:#fff;white-space:nowrap;line-height:1.05;margin-top:1px}
.sb-brand-txt .tt-my{color:inherit}
.sb-brand-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;height:40px;background:none}
.sidebar.collapsed .sb-brand-icon{margin:0 auto;width:auto;height:40px;background:none}
.sidebar.collapsed .sb-brand-icon img{height:40px!important}
.sb-mark span{color:#4ADE80}
.sb-sub{font-size:9px;color:rgba(255,255,255,.3);margin-top:3px;letter-spacing:.3px}
.sb-collapse{flex-shrink:0;width:28px;height:28px;border-radius:7px;border:none;background:rgba(255,255,255,.07);color:rgba(255,255,255,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:.15s}

.sb-footer-actions{display:flex;flex-direction:column;gap:2px;padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.08);margin-top:4px}
.sb-foot-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 10px;border-radius:8px;border:none;background:none;color:rgba(255,255,255,.85);cursor:pointer;text-align:left;font-family:'Roboto',sans-serif;font-size:13px;font-weight:500;transition:background .15s;position:relative}
.sb-foot-item:hover{background:rgba(255,255,255,.07)}
.sfi-ic{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px}
.sfi-btn{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:none;background:none;color:inherit;cursor:pointer;font:inherit;text-align:left}
.sb-avatar{width:22px;height:22px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
#notif-bell-dot{display:inline-flex;min-width:15px;height:15px;padding:0 3px;border-radius:8px;color:#fff;font-size:9px;font-weight:700;font-family:var(--mono);align-items:center;justify-content:center;line-height:1;margin-left:auto}
.sb-version-txt{font-size:9px;color:rgba(255,255,255,.3);text-align:center;padding:2px 0 12px;letter-spacing:.3px}

.sidebar.collapsed .sb-foot-item{justify-content:center;padding:9px 0}
.sidebar.collapsed .sb-foot-item .sfi-btn{justify-content:center;width:auto}
.sidebar.collapsed .sb-foot-item .sb-txt{display:none}
.sidebar.collapsed #notif-bell-dot{position:absolute;top:2px;right:10px;margin-left:0}
.sidebar.collapsed .sb-version-txt{display:none}
#sb-plan-badge-icon{display:none}
.sidebar.collapsed #sb-collapse-btn .sfi-ic{transform:rotate(180deg)}
.sb-collapse:hover{background:rgba(255,255,255,.14);color:#fff}
/* nav = única zona con scroll; foot queda fijo */
.sb-nav{flex:1 1 auto;padding:12px 10px;overflow-y:auto;overflow-x:hidden;min-height:0}
.sb-nav::-webkit-scrollbar{width:6px}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
.sb-nav::-webkit-scrollbar-track{background:transparent}
/* secciones como árbol desplegable */
.sb-section{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.32);padding:9px 10px 6px;margin-top:6px;font-family:'Roboto',sans-serif;text-align:left;transition:.15s}
.sb-section:hover{color:rgba(255,255,255,.6)}
.sb-section .sb-caret{margin-left:auto;font-size:9px;transition:transform .2s ease;opacity:.7}
.sb-section.collapsed .sb-caret{transform:rotate(-90deg)}
.sb-group{display:flex;flex-direction:column;gap:1px;overflow:hidden;transition:max-height .22s ease,opacity .18s ease;max-height:600px;opacity:1}
.sb-group.collapsed{max-height:0;opacity:0;pointer-events:none}
.sb-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;font-size:13px;font-weight:500;color:rgba(255,255,255,.85);cursor:pointer;transition:.15s;border:none;background:none;width:100%;text-align:left;font-family:'Roboto',sans-serif;position:relative;white-space:nowrap;overflow:hidden;min-height:48px}
.sb-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sb-link:hover .si svg{stroke:#fff}
.sb-link.active{background:rgba(93,202,165,.15);color:#5DCAA5}
.sb-link.active .si svg{stroke:#5DCAA5}
.sb-link .si{font-size:22px;width:22px;height:22px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sb-link .si svg{width:22px;height:22px;stroke:#fff;stroke-width:1.8;transition:stroke .15s}
.sb-link .sb-txt{overflow:hidden;text-overflow:ellipsis}
.sb-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:18px;height:18px;border-radius:4px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.sb-badge.red{background:var(--red);color:#fff}
.sb-badge.yellow{background:#F59E0B;color:#fff}
.sb-foot{padding:12px 10px;flex-shrink:0;background:transparent}
.sb-lab-block{padding:6px 10px 12px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}
.sb-lab-name{font-size:13px;font-weight:600;color:rgba(255,255,255,.8)}
.sb-user{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:.15s}
.sb-user:hover{background:rgba(255,255,255,.06)}
.sb-avatar{width:30px;height:30px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.sb-user-info{min-width:0;overflow:hidden}
.sb-user-info .nm{font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-info .role{font-size:10px;color:rgba(255,255,255,.35);white-space:nowrap}

/* ── SIDEBAR COLAPSADO (solo iconos) ── */
.sidebar.collapsed{width:95px}
.sidebar.collapsed .sb-brand-txt,
.sidebar.collapsed .sb-sub,
.sidebar.collapsed .sb-link .sb-txt,
.sidebar.collapsed .sb-section span:not(.sb-caret),
.sidebar.collapsed .sb-caret,
.sidebar.collapsed .sb-lab-block,
.sidebar.collapsed .sb-user-info{display:none}
.sidebar.collapsed .sb-brand{justify-content:center;padding:20px 0 16px}
.sidebar.collapsed .sb-section{justify-content:center;padding:9px 0 4px;pointer-events:none;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}
.sidebar.collapsed .sb-group{max-height:600px!important;opacity:1!important;pointer-events:auto!important}
.sidebar.collapsed .sb-link{justify-content:center;padding:0;width:44px;height:44px;margin:3px auto;border-radius:10px}
.sidebar.collapsed .sb-link .si{width:auto}
.sidebar.collapsed .sb-badge{right:6px;top:6px;transform:none}
.sidebar.collapsed .sb-user{justify-content:center;padding:8px 0}
.sidebar.collapsed #sb-plan-badge-2{display:none!important}
.sidebar.collapsed #sb-plan-badge-icon{display:flex!important}
.sidebar.collapsed .sb-collapse{transform:rotate(180deg)}
/* #sb-bottom-actions ahora es .sb-footer-actions, ver arriba */
/* notif-panel usa position:fixed — no necesita override para sidebar colapsado */
/* tooltips del sidebar colapsado se manejan con JS (ver sbTooltip) — el overflow del sidebar corta cualquier ::after */

.main{flex:1;display:flex;flex-direction:column;min-height:100vh;background:#fff;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 36px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0}
.topbar h2{font-size:36px;font-weight:700;color:var(--ink);letter-spacing:-.5px;line-height:1.1}
.tt-my{font-family:'Roboto',sans-serif;font-style:italic;font-weight:400;text-transform:lowercase;color:#4ADE80}
.page{padding:32px;flex:1;display:none}
.page.active{display:block}

/* ── DASHBOARD ── */
.semaforo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.sem-card{border-radius:var(--r2);padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.sem-card.red{background:#FEE2E2;border:2px solid #FECACA}
.sem-card.yellow{background:#FEF3C7;border:2px solid #FDE68A}
.sem-card.green{background:#D1FAE5;border:2px solid #A7F3D0}
.sem-icon{font-size:28px}
.sem-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.sem-card.red .sem-label{color:var(--red)}
.sem-card.yellow .sem-label{color:#92400E}
.sem-card.green .sem-label{color:#065F46}
.sem-count{font-family:'Montserrat',sans-serif;font-size:42px;font-weight:800;line-height:1}
.sem-card.red .sem-count{color:var(--red)}
.sem-card.yellow .sem-count{color:#92400E}
.sem-card.green .sem-count{color:#065F46}
.sem-items{font-size:12px;color:var(--ink3);line-height:1.6}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.kpi{background:#fff;border-radius:var(--r2);border:1px solid var(--border);padding:18px;box-shadow:var(--sh);position:relative;overflow:hidden}
.kpi::after{content:attr(data-icon);position:absolute;right:14px;top:14px;font-size:26px;opacity:.12}
.kpi .kl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);margin-bottom:6px}
.kpi .kv{font-family:var(--mono);font-size:30px;font-weight:600;line-height:1}
.kpi .kd{font-size:11px;color:var(--green);margin-top:4px;font-weight:500}

/* ── CARDS ── */
.card{background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(13,27,42,.04);overflow:hidden;margin-bottom:18px}
.card-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--border)}
.card-head h3{font-size:15px}
.card-head-actions{display:flex;gap:8px;align-items:center}
/* ── Tablas estilo Amway: encabezado oscuro + filas tarjeta ── */
table.dtable{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
table.dtable th{text-align:left;padding:10px 16px;background:#1F1F1F;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff!important;border:none}
table.dtable th:first-child{border-radius:10px 0 0 0}
table.dtable th:last-child{border-radius:0 10px 0 0}
table.dtable tbody tr:not(.grp-header):not(.grp-toggle-row):not([data-grpdetail]):not(.total-row) td{padding:10px 14px;font-size:12px;vertical-align:middle;color:var(--ink);background:#fff;border-bottom:1px solid #EDEDED}
table.dtable tbody tr:not(.grp-header):not(.grp-toggle-row):not([data-grpdetail]):not(.total-row):hover td{background:#f8f9fc}
table.dtable tbody tr.total-row td,table.dtable tfoot tr td{padding:9px 14px!important;background:var(--surface)!important;border-top:2px solid var(--border)!important;border-bottom:none!important;border-radius:0!important;font-weight:700}
table.dtable tr.grp-toggle-row td{background:transparent!important;border:none!important;padding:10px 4px 4px!important;border-radius:0!important;font-size:13px!important;font-weight:700!important;color:var(--ink)!important}
table.dtable tr.grp-toggle-row:hover td{background:transparent!important}
table.dtable tr.grp-toggle-row td *{color:var(--ink)!important}
table.dtable tr.grp-header td{border:none!important;padding:10px 18px!important;font-size:13px!important;font-weight:700!important}
table.dtable tr.grp-header td *{color:inherit}
/* Edit/delete siempre visibles en insumos */
#supplies-table .row-actions{opacity:1}
table.dtable tr[data-grpdetail] td{padding:0!important;border:none!important;border-radius:0!important;background:var(--surface)!important}
/* Tabla interna (dentro de cards): solo líneas horizontales */
table.dtable-inner{width:100%;border-collapse:collapse}
table.dtable-inner th{text-align:left;padding:8px 14px;background:var(--ink);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff!important;border:none}
table.dtable-inner th:first-child{border-radius:0}
table.dtable-inner th:last-child{border-radius:0}
table.dtable-inner td{padding:8px 14px;border-bottom:1px solid #EDF3F7;font-size:12px;vertical-align:middle;color:var(--ink);background:#fff}
table.dtable-inner tr:last-child td{border-bottom:none}
table.dtable-inner tr:hover td{background:#f8f9fc}
table.dtable-inner tfoot td{padding:9px 14px!important;background:var(--surface)!important;border-top:2px solid var(--border)!important;font-weight:700!important;border-bottom:none!important}
/* Fila de toolbar (búsqueda/filtros) — sin card */
.tbl-toolbar{background:transparent!important;border:none!important;box-shadow:none!important;padding:0 0 10px!important;border-radius:0!important}
.tbl-toolbar .card-head{border-bottom:none!important;padding-left:0!important;padding-right:0!important}
.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600}
.pill.green{background:#D1FAE5;color:#065F46}
.pill.red{background:#FEE2E2;color:var(--red)}
.pill.yellow{background:#FEF3C7;color:#92400E}
.pill.blue{background:#DBEAFE;color:#1E40AF}
.pill.gray{background:var(--surface);color:var(--ink3)}
.pill.purple{background:#EDE9FE;color:#5B21B6}
.pill.orange{background:#FFE8D6;color:#9A4A0E}
.pill.teal{background:#D6EEF0;color:#0E5F66}
.row-actions{display:flex;gap:4px;opacity:1;transition:.15s}
/* OS list specific action icon buttons */
.os-act-btn{width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.12s;flex-shrink:0}
.os-act-btn:hover{opacity:.85;transform:scale(1.07)}
.os-act-btn.blue{background:#dbeafe;color:#1e40af}
.os-act-btn.green{background:#d1fae5;color:#047857}
.os-act-btn.purple{background:#ede9fe;color:#6d28d9}
.os-act-btn.amber{background:#fef3c7;color:#b45309}
.os-act-btn.red{background:#fee2e2;color:#dc2626}
/* Píldora de usuario en el header (estilo Amway/Labs) */
.tb-user{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;background:#fff;border:1.5px solid var(--border);cursor:pointer;transition:.15s;position:relative}
.tb-user:hover{border-color:var(--teal)}
.tb-user .tb-name{font-size:13px;font-weight:600;color:var(--ink);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-user .tb-chev{color:var(--ink3);flex-shrink:0}
.act-btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px;cursor:pointer;transition:.15s;font-family:'Roboto',sans-serif;color:var(--ink)}
.act-btn:hover{background:var(--surface);border-color:var(--teal);color:var(--teal)}
.empty-state{text-align:center;padding:48px 24px;color:var(--ink3)}
.empty-state .ei{font-size:40px;margin-bottom:12px}
.empty-state h4{font-size:16px;color:var(--ink);margin-bottom:4px}
.empty-state p{font-size:12px}

/* ── TIMELINE PEDIDOS ── */
.order-tl{background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:24px 28px 18px;margin-bottom:20px}
.order-tl-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);margin-bottom:18px}
.order-tl-track{display:flex;align-items:flex-start;position:relative;padding:0 12px}
.order-tl-track::before{content:'';position:absolute;top:14px;left:12px;right:12px;height:3px;background:var(--border);z-index:0;border-radius:3px}
.order-tl-fill{position:absolute;top:14px;left:12px;height:3px;background:linear-gradient(90deg,var(--green),#4ADE80);z-index:1;border-radius:3px;transition:width .5s ease}
.order-tl-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}
.order-tl-dot{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;transition:.3s}
.order-tl-dot.past{border-color:var(--green);background:var(--green);color:#fff}
.order-tl-dot.current{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 0 0 5px rgba(14,140,94,.15)}
.order-tl-dot.future{border-color:var(--border);background:#fff;color:var(--ink3)}
.order-tl-lbl{font-size:11px;font-weight:700;margin-top:8px;text-align:center;line-height:1.3}
.order-tl-lbl.past{color:var(--green)}
.order-tl-lbl.current{color:var(--green)}
.order-tl-lbl.future{color:var(--ink3)}
.order-tl-emoji{font-size:12px;margin-top:3px;text-align:center}
.order-tl-action{display:flex;justify-content:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);gap:10px;align-items:center;flex-wrap:wrap}
.alert-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;margin-bottom:8px;font-size:13px}
.alert-row.red{background:#FEE2E2;border-left:3px solid var(--red)}
.alert-row.yellow{background:#FEF3C7;border-left:3px solid #F59E0B}
.alert-row .al{font-weight:600;flex:1}
.alert-row .ad{font-size:11px;color:var(--ink3)}

/* ── MODALS ── */
.overlay{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(13,27,42,.5);
  backdrop-filter:blur(4px)
}
.modal{
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:960px;
  max-height:92vh;
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shl)
}
.modal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px 16px;
  border-bottom:1px solid var(--border);
  flex-shrink:0
}
.modal-top h2{
  margin:0;
  color:#172033;
  font-size:20px;
  line-height:1.2
}
.btn-x{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #dce4ea;
  border-radius:10px;
  background:#fff;
  color:#667085;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s
}
.btn-x svg{width:14px;height:14px}
.btn-x:hover{
  border-color:#c8d4dc;
  background:#f5f7f9;
  color:#172033
}
.btn-x:focus-visible{
  outline:0;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(15,76,129,.12)
}
.modal-body{
  flex:1;
  overflow-y:auto;
  padding:22px 24px
}
.modal-foot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:14px 24px;
  border-top:1px solid var(--border);
  flex-shrink:0;
  background:#fff
}
.modal.modal-maintenance{max-width:760px}
.modal-maintenance .fgrid{gap:16px 20px}
.modal-maintenance .fg{margin-bottom:0}
.modal-maintenance .fg input,
.modal-maintenance .fg select,
.modal-maintenance .fg textarea{
  min-height:44px;
  border-width:1px
}
.modal-maintenance .modal-foot .btn{
  min-height:40px;
  padding:9px 16px;
  border-radius:10px
}

/* ── EXPIRY INDICATORS ── */
.exp-ok{color:var(--green);font-weight:600}
.exp-warn{color:#F59E0B;font-weight:600}
.exp-crit{color:var(--red);font-weight:600}

.os-modal-grid>div{min-width:0;overflow:hidden}
@media(max-width:900px){.auth-left{display:none}.auth-right{width:100%}.sidebar{width:200px}.kpi-grid{grid-template-columns:1fr 1fr}.semaforo-grid{grid-template-columns:1fr}.page{padding:20px 16px}.os-modal-grid{grid-template-columns:1fr!important}}
@media(max-width:768px){
  /* Layout */
  #screen-app{position:relative}
  .sidebar{position:fixed;left:-260px;top:0;height:100vh;z-index:500;width:260px;transition:left .25s ease;box-shadow:4px 0 20px rgba(0,0,0,.25)}
  .sidebar.collapsed{width:260px}
  .sidebar.collapsed .sb-brand-txt,.sidebar.collapsed .sb-sub,.sidebar.collapsed .sb-link .sb-txt,.sidebar.collapsed .sb-section span:not(.sb-caret),.sidebar.collapsed .sb-caret,.sidebar.collapsed .sb-lab-block,.sidebar.collapsed .sb-user-info{display:revert}
  .sidebar.collapsed .sb-link,.sidebar.collapsed .sb-section,.sidebar.collapsed .sb-user,.sidebar.collapsed .sb-brand{justify-content:flex-start;padding:9px 10px}
  .sb-collapse{display:none}
  .sidebar.mob-open{left:0}
  .main-area{width:100%!important;margin-left:0!important}
  .page{padding:60px 12px 16px}
  /* Hamburger button */
  #mob-menu-btn{display:flex!important}
  /* Overlay when sidebar open */
  #mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:499}
  #mob-overlay.open{display:block}
  /* KPIs */
  .kpi-grid{grid-template-columns:1fr 1fr!important}
  #dash-kpis-fin,#dash-kpis-os{grid-template-columns:1fr 1fr!important}
  #dash-doctores,#dash-alertas,#dash-labs-pending,#dash-cobro-pending{grid-column:1/-1}
  /* Tables → horizontal scroll */
  .dtable{min-width:600px}
  .card{border-radius:12px}
  /* Forms */
  .fgrid{grid-template-columns:1fr!important}
  .fgrid .fg{grid-column:auto!important}
  /* Modal → full screen */
  .modal{max-width:100vw!important;max-height:100vh!important;border-radius:0!important;height:100vh}
  .overlay{padding:0!important;align-items:flex-end}
  /* Configuracion tabs → scrollable */
  #page-settings>div:first-child{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cfg-tab-btn{padding:10px 14px;font-size:12px}
  /* Evitar desborde horizontal de toda la página en móvil */
  html,body{overflow-x:hidden;max-width:100vw}
  .main-area,.page{max-width:100vw;overflow-x:hidden}
  .page>*{max-width:100%}
  /* Filas de pestañas → scroll horizontal en vez de desbordar */
  .tabs-row,#page-settings>div:first-child{
    overflow-x:auto!important;-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important
  }
  .tabs-row button{flex:0 0 auto;white-space:nowrap}
  /* Contenedores de tabla → su propio scroll, no el de la página */
  .card>div[style*="overflow-x"],[id$="-table"]{overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* Dashboard grid bottom */
  #page-dashboard>div:nth-child(3),
  #page-dashboard>div:nth-child(4){grid-template-columns:1fr!important}
  /* Cualquier grid de tarjetas KPI del dashboard → 2 columnas en móvil */
  #page-dashboard [style*="grid-template-columns:repeat("]{grid-template-columns:repeat(2,1fr)!important}
  /* Barra de navegación inferior móvil */
  .main,.page{padding-bottom:78px}
  .app-footer{padding:16px!important;flex-direction:column;align-items:flex-start;gap:8px}
  #mob-tabbar{display:flex!important}
  #mob-add-sheet.open,#mob-more-sheet.open,#mob-add-overlay.open{display:flex!important}
  /* En esta versión ya no se usa hamburger ni sidebar: todo vive en la barra inferior */
  #mob-menu-btn{display:none!important}
  .sidebar{display:none!important}
  /* Barra superior compacta con logo + campana */
  #mob-topbar{display:flex!important;position:fixed!important;top:0;left:0;right:0;width:100%;z-index:550}
  .page{padding-top:48px!important}
  /* El bloque de bienvenida (topbar-title/subtitle) vive en .topbar, que es HERMANO de .page (no hijo) —
     por eso también necesita su propio espacio para no quedar tapado por la barra fija de arriba */
  .topbar{margin-top:48px!important;padding:8px 16px!important}
  /* Título/saludo más pequeño y compacto */
  #topbar-title{font-size:17px!important;line-height:1.15!important}
  #topbar-subtitle{font-size:12px!important;margin-top:1px!important}
  /* Los íconos de acción rápida y la cuenta viven en la barra inferior; el bell real ya está arriba en #mob-topbar */
  #topbar-actions,#topbar-quick-actions,#tb-user-wrap{display:none!important}
  #tb-bell-wrap>button{display:none!important}
  /* El panel de notificaciones queda anclado al wrap de escritorio (que en móvil no está en el borde derecho);
     se ancla al viewport para que no se corte ni se salga de pantalla */
  #feed-panel{position:fixed!important;top:56px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important}
  /* Botón flotante de comprimir/expandir sidebar: no aplica en móvil (el sidebar está oculto) */
  #sb-pill-toggle,#sb-pill-wrap{display:none!important}
  /* Selector de período: su propia línea, debajo del submenú de pestañas (#topbar-tabs tiene order:3) */
  #topbar-actions-wrap{order:4;width:100%;justify-content:center;margin-top:4px}
  #period-nav-wrap,#dash-period-nav-wrap{justify-self:center}
  /* Submenús de pestañas (Detalle/Lista/Abonos/etc.): más compactos, menos espacio arriba */
  .os-unified-tabs{height:auto!important;min-height:34px;margin:0 0 8px!important}
  .os-utab{padding:7px 12px!important;font-size:13.5px!important}
  /* Notas y recordatorios: se reemplaza por la campana de arriba, se oculta el flotante para no chocar con la barra inferior */
  #ck-fab{display:none!important}
  /* Botones flotantes de ayuda: subir para no chocar con la barra inferior, y más pequeños */
  #help-fab{bottom:78px!important;right:12px!important;width:38px!important;height:38px!important;font-size:16px!important}
  #help-btn{bottom:124px!important;right:14px!important;width:36px!important;height:36px!important}
  /* Submenú de pestañas + filtros de fecha (Período, etc.): en móvil van en líneas separadas, no una al lado de la otra */
  .os-unified-tabs{flex-wrap:wrap!important;height:auto!important;row-gap:8px!important}
  .os-unified-tabs>div:first-child{width:100%}
  .os-unified-tabs>div:last-child{width:100%;justify-content:flex-start!important}
  /* Lista de Órdenes de Servicio: tarjetas compactas en vez de la tabla ancha (evita scroll horizontal) */
  .otable-wrap{display:none!important}
  .os-mcards{display:flex!important}
}
.os-mcards{display:none;flex-direction:column;gap:10px}
.os-mcard{border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fff}
.os-mcard:active{background:var(--surface)}
.os-mcard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.os-mcard-num{font-size:12px;font-weight:700;color:var(--teal);font-family:'JetBrains Mono',monospace}
.os-mcard-patient{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}
.os-mcard-icons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.os-mcard-bottom{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--ink3);padding-top:10px;border-top:1px solid var(--border)}
.os-mdetail{margin-top:12px}
@media(max-width:768px){
  .os-mdetail .card{padding:0!important}
  .os-mdetail .card-head{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding:14px!important}
  .os-mdetail .card-head h3{font-size:15px!important}
  .os-mdetail .card-head>div:last-child{width:100%!important;flex-wrap:wrap!important;gap:6px!important}
  .os-mdetail .card-head .btn-sm{flex:1 1 auto;justify-content:center;font-size:12px!important;padding:7px 10px!important}
  .os-mdetail>.card>div[style*="padding:20px"]{padding:14px!important}
  .os-mdetail [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
  .os-mdetail .os-modal-grid{gap:10px!important}
  .os-mdetail table{width:100%;table-layout:auto!important}
  .os-mdetail table thead{display:none}
  .os-mdetail table tbody,.os-mdetail table tr,.os-mdetail table td{display:block;width:100%!important}
  .os-mdetail table tr{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--surface)}
  .os-mdetail table td{padding:5px 0!important;border-bottom:none!important}
  .os-mdetail table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--ink4);margin-bottom:2px}
  .os-mdetail table td:empty{display:none}
  .os-mdetail .card{padding:12px!important}
  .os-mdetail [style*="justify-content:space-between"]{flex-wrap:wrap!important;row-gap:6px!important}
}
#mob-topbar{
  display:none;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--border);
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;color:var(--ink);
}
#mob-tabbar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:600;height:64px;
  background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -2px 16px rgba(0,0,0,.08);align-items:center;justify-content:space-around;padding:0 4px;
}
.mtb-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink3);font-size:10.5px;font-weight:600;cursor:pointer;flex:1;height:100%}
.mtb-item.active{color:var(--teal)}
.mtb-item svg{width:20px;height:20px}
.mtb-add{background:linear-gradient(135deg,var(--teal),var(--teal2));border:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px rgba(15,76,129,.35);cursor:pointer;margin-top:-24px;flex-shrink:0}
.mtb-add svg{width:26px;height:26px}
#mob-add-overlay,#mob-more-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:700}
#mob-add-overlay.open,#mob-more-overlay.open{display:block}
#mob-add-sheet,#mob-more-sheet{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:701;background:#fff;border-radius:18px 18px 0 0;
  padding:10px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.2);flex-direction:column;gap:4px;
}
#mob-add-sheet.open,#mob-more-sheet.open{display:flex}
.mob-sheet-handle{width:40px;height:4px;background:var(--border);border-radius:99px;margin:2px auto 10px}
.mob-sheet-title{font-size:13px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.mob-sheet-btn{display:flex;align-items:center;gap:12px;padding:13px 8px;border:none;background:none;text-align:left;font-size:14.5px;font-weight:600;color:var(--ink);border-radius:10px;cursor:pointer}
.mob-sheet-btn:active{background:var(--surface)}
.mob-sheet-btn .msi{width:22px;text-align:center;font-size:17px}
@media(min-width:769px){#mob-tabbar,#mob-add-overlay,#mob-more-overlay,#mob-add-sheet,#mob-more-sheet{display:none!important}}
/* ── LAB ORDER FORM ── */
.odonto-wrap{background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:18px}
.odonto-hint{font-size:11px;color:var(--ink3);text-align:center;margin-bottom:12px}
.arch-row{display:flex;justify-content:center;gap:3px;margin:3px 0}
.arch-spc{width:20px}
.midline{border-top:2px dashed var(--border);margin:6px 0}
.tooth{width:40px;height:50px;border:2px solid var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.15s;background:#fff;font-size:10px;font-weight:600;color:var(--ink3);user-select:none;position:relative}
.tooth:hover{border-color:var(--teal);background:var(--sky);transform:scale(1.06);z-index:2}
.tooth.done{border-color:var(--ink);background:var(--ink);color:#fff}
.tooth.done:hover{border-color:var(--teal);background:var(--teal)}
.tooth .tico{font-size:14px;line-height:1}
.tooth .tnum{font-size:9px;opacity:.9}
.tooth .tbadge{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:7px;padding:1px 5px;border-radius:4px;white-space:nowrap;max-width:50px;overflow:hidden;text-overflow:ellipsis;line-height:1.5;z-index:3}
.asgn-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.asgn-hdr h4{font-size:13px;font-weight:700}
.asgn-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:5px;font-size:12.5px}
.asgn-item .aid{font-weight:700;width:26px;flex-shrink:0}
.asgn-item .ainf{flex:1}
.asgn-item .apr{font-weight:700;color:var(--teal);white-space:nowrap}
.sum-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:16px}
.sum-info h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);margin-bottom:12px}
.sum-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.sum-row:last-child{border-bottom:none}
.sum-row .k{color:var(--ink3)}
.sum-row .v{font-weight:600}
table.sum-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:16px}
table.sum-table th{text-align:left;padding:9px 14px;background:var(--ink);color:#fff;font-size:11px}
table.sum-table td{padding:9px 14px;border-bottom:1px solid var(--border)}
table.sum-table tr:nth-child(even) td{background:var(--surface)}
table.sum-table tr:last-child td{border-bottom:none}
.total-band{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:16px 20px;background:var(--ink);border-radius:var(--r);color:#fff;margin-bottom:20px}
.total-band .tl{font-size:13px;opacity:.7}
.total-band .ta{font-family:var(--mono);font-size:26px;font-weight:600}
.send-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ebtn{display:flex;align-items:center;gap:8px;padding:12px;border:2px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;font-family:'Roboto',sans-serif;font-size:12px;font-weight:600;transition:.15s}
.ebtn:hover{border-color:var(--teal);background:var(--sky)}
.ebtn.wa{border-color:#25D366;color:#128C7E}
.ebtn.wa:hover{background:#F0FFF4}
.ttype{padding:10px 12px;border:2px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;font-family:'Roboto',sans-serif;font-size:12px;font-weight:500;transition:.15s;text-align:left;line-height:1.3}
.ttype:hover{border-color:var(--teal);background:var(--surface)}
.ttype.sel{border-color:var(--ink);background:var(--ink);color:#fff}
.mcard{padding:12px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:.15s}
.mcard:hover{border-color:var(--teal);background:var(--surface)}
.mcard.sel{border-color:var(--teal);background:var(--surface)}
.mcard .mn{font-size:13px;font-weight:600}
.mcard .mp{font-size:12px;color:var(--teal);font-weight:700;margin-top:2px}
.steps{display:flex;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:4px}
.sstep{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:600;color:var(--ink3);transition:.2s}
.sstep.active{background:var(--ink);color:#fff}
.sstep.done{background:var(--surface);color:var(--teal)}
.snum{width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.1);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.sstep.done .snum{background:var(--teal);color:#fff}
.sstep.active .snum{background:rgba(255,255,255,.25)}
.odonto-wrap{background:var(--surface);border:2px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:18px}
.odonto-hint{text-align:center;font-size:11.5px;color:var(--ink3);margin-bottom:14px}
.arch-row{display:flex;justify-content:center;gap:3px;margin:3px 0}
.tooth{width:40px;height:50px;border:2px solid var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.15s;background:#fff;font-size:10px;font-weight:600;color:var(--ink3);user-select:none;position:relative}
.tbadge{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:7px;padding:1px 5px;border-radius:4px;white-space:nowrap;max-width:50px;overflow:hidden;text-overflow:ellipsis;line-height:1.5;z-index:3}
.asgn-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.tov{position:fixed;inset:0;z-index:300;background:rgba(13,27,42,.65);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:20px}
.tpanel{background:#fff;border-radius:18px;padding:26px;width:100%;max-width:440px;box-shadow:var(--shl)}
.ttypes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.ttype{padding:10px 12px;border:2px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;font-family:'Roboto',sans-serif;font-size:12px;font-weight:500;transition:.15s;text-align:left;line-height:1.3}
.mat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.tpanel-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.sum-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:16px}
.sum-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.sum-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:16px}
.total-band{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:16px 20px;background:var(--ink);border-radius:var(--r);color:#fff;margin-bottom:20px}
.send-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ebtn{display:flex;align-items:center;gap:8px;padding:12px;border:2px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;font-family:'Roboto',sans-serif;font-size:12px;font-weight:600;transition:.15s}
.guide-toggle{display:flex;gap:6px}
.gtbtn{flex:1;padding:9px 12px;border:2px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-family:'Roboto',sans-serif;font-size:12px;font-weight:600;color:var(--ink3);transition:.15s}
.gtbtn.active{border-color:var(--ink);background:var(--ink);color:#fff}
.gtbtn:not(.active):hover{border-color:var(--teal);color:var(--teal)}
.tico{font-size:14px;line-height:1}
.tnum{font-size:9px;opacity:.9}
.done{background:var(--sky);color:var(--teal)}
/* ── WIZARD CARDS ── */
.wiz-panel{display:none}
.wiz-panel.active{display:block}
.wiz-card{background:#fff;border:2px solid var(--border);border-radius:14px;padding:20px 16px;cursor:pointer;transition:.15s;text-align:center}
.wiz-card:hover{border-color:var(--teal);background:var(--sky)}
.wiz-card.selected{border-color:var(--teal);background:var(--sky)}
.wiz-card-icon{color:var(--teal);margin-bottom:10px;display:flex;justify-content:center}
.wiz-card-label{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
.wiz-card-sub{font-size:12px;color:var(--ink3)}
.wiz-card.sm{padding:14px 10px}
.wiz-card.sm.selected{border-color:var(--teal);background:var(--sky)}
/* Steps bar */
.wiz-step{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;color:var(--ink3);border-bottom:2px solid transparent;white-space:nowrap;cursor:default}
.wiz-step.active{color:var(--teal);border-bottom-color:var(--teal)}
.wiz-step.done{color:var(--ink3);background:none}
.wiz-step .ws-num{width:20px;height:20px;border-radius:50%;background:var(--border);color:var(--ink3);font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}
.wiz-step.active .ws-num{background:var(--teal);color:#fff}
.wiz-step.done .ws-num{background:var(--green);color:#fff}
/* Material radio */
.mat-radio-grid{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.mat-radio-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:.15s}
.mat-radio-item:hover{border-color:var(--teal)}
.mat-radio-item.selected{border-color:var(--teal);background:var(--sky)}
.mat-radio-item input[type=radio]{accent-color:var(--teal);width:16px;height:16px}
.mat-type-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.mat-type-btn{padding:12px;border:2px solid var(--border);border-radius:10px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:.15s;color:var(--ink2)}
.mat-type-btn:hover{border-color:var(--teal);color:var(--teal)}
.mat-type-btn.selected{border-color:var(--teal);background:var(--sky);color:var(--teal)}
.ic-wrap{position:relative}
.ic-input{width:100%;padding:9px 11px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;outline:none;transition:.15s;background:#fff;font-family:'Roboto',sans-serif}
.ic-input:focus{border-color:var(--teal)}
.ic-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:999;max-height:220px;overflow-y:auto;display:none}
.ic-dropdown.open{display:block}
.ic-item{padding:9px 13px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--ink2);transition:.1s}
.ic-item:hover{background:var(--sky)}
.ic-item.create{color:var(--teal);font-weight:600;border-top:1px solid var(--border)}
.ic-item .ic-avatar{width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ic-item.create .ic-avatar{background:var(--green,#16a34a)}
.ic-empty{padding:10px 13px;font-size:12px;color:var(--ink3);text-align:center}
/* ── Phone Picker ── */
.phone-wrap{display:flex;border:2px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;transition:.2s}
.phone-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,126,160,.1)}
.phone-cc{padding:10px 6px;border:none;border-right:2px solid var(--border);background:var(--surface);font-family:'Roboto',sans-serif;font-size:12px;color:var(--ink);cursor:pointer;outline:none;width:90px;min-width:90px;max-width:90px;-webkit-appearance:none;appearance:none;text-align:center}
.phone-num{flex:1;padding:10px 12px;border:none;font-family:'Roboto',sans-serif;font-size:14px;color:var(--ink);outline:none;background:#fff;min-width:0}

  /* ── DURACIÓN DE OS ───────────────────────────────────────── */
  #duracion-os-root {
    --id-c30:#22d3ee; --id-c60:#facc15; --id-c90:#f97316; --id-c90p:#f43f5e; --id-ccomp:#4ade80;
    --id-row-py: 9px;
  }
  .id-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:12px; margin-bottom:18px; }
  .id-kpi { background:#fff; border:1px solid var(--border); border-radius:12px; padding:14px 18px; position:relative; overflow:hidden; cursor:pointer; transition:transform .18s,box-shadow .18s; box-shadow:var(--sh); }
  .id-kpi:hover { transform:translateY(-3px); box-shadow:var(--shl); }
  .id-kpi::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
  .id-kpi.ik30::before  { background:var(--id-c30); }
  .id-kpi.ik60::before  { background:var(--id-c60); }
  .id-kpi.ik90::before  { background:var(--id-c90); }
  .id-kpi.ik90p::before { background:var(--id-c90p); }
  .id-kpi.ikcomp::before{ background:var(--id-ccomp); }
  .id-kpi-label { font-size:10px; color:var(--ink3); margin-bottom:4px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
  .id-kpi-num { font-size:34px; font-weight:800; letter-spacing:-2px; line-height:1; }
  .id-kpi.ik30   .id-kpi-num { color:var(--id-c30); }
  .id-kpi.ik60   .id-kpi-num { color:var(--id-c60); }
  .id-kpi.ik90   .id-kpi-num { color:var(--id-c90); }
  .id-kpi.ik90p  .id-kpi-num { color:var(--id-c90p); }
  .id-kpi.ikcomp .id-kpi-num { color:var(--id-ccomp); }
  .id-kpi-sub { font-size:10px; color:var(--ink3); margin-top:3px; }
  .id-bar-track { height:8px; border-radius:999px; background:var(--surface); display:flex; overflow:hidden; gap:2px; margin-bottom:18px; }
  .id-bar-seg { height:100%; border-radius:999px; transition:width .6s cubic-bezier(.4,0,.2,1); }
  .id-search { margin-bottom:14px; }
  .id-search input { width:100%; background:#fff; border:1px solid var(--border); border-radius:8px; padding:9px 14px; color:var(--ink); font-size:13px; outline:none; transition:border-color .18s; font-family:inherit; }
  .id-search input:focus { border-color:var(--teal); }
  .id-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
  .id-filter { display:flex; align-items:center; gap:6px; padding:6px 14px; border-radius:8px; border:1px solid var(--border); background:#fff; color:var(--ink3); font-size:12px; cursor:pointer; transition:all .15s; }
  .id-filter.active,.id-filter:hover { background:var(--surface); color:var(--ink); }
  .id-filter.ifall.active  { border-color:var(--ink3); }
  .id-filter.if30.active   { border-color:var(--id-c30);  color:var(--id-c30); }
  .id-filter.if60.active   { border-color:var(--id-c60);  color:var(--id-c60); }
  .id-filter.if90.active   { border-color:var(--id-c90);  color:var(--id-c90); }
  .id-filter.if90p.active  { border-color:var(--id-c90p); color:var(--id-c90p); }
  .id-btn { display:inline-flex; align-items:center; gap:5px; padding:5px 11px; border-radius:6px; border:1px solid var(--border); background:var(--surface); color:var(--ink3); font-size:11px; cursor:pointer; transition:all .15s; white-space:nowrap; }
  .id-btn:hover { border-color:var(--ink3); color:var(--ink); }
  .id-btn.on { background:var(--ink); color:#fff; border-color:var(--ink); }
  .id-group { margin-bottom:22px; }
  .id-group-header { display:flex; align-items:center; gap:10px; padding:9px 14px; border-radius:10px 10px 0 0; font-size:13px; font-weight:700; border:1px solid; cursor:pointer; user-select:none; transition:border-radius .2s; }
  .id-group-header.collapsed { border-radius:10px; }
  .id-gh-toggle { margin-left:auto; font-size:10px; opacity:.6; transition:transform .25s; }
  .id-group-header.collapsed .id-gh-toggle { transform:rotate(-90deg); }
  .id-gh30   { background:#e0f8ff; border-color:var(--id-c30);  color:#0284a8; }
  .id-gh60   { background:#fffae0; border-color:var(--id-c60);  color:#a07800; }
  .id-gh90   { background:#fff3e8; border-color:var(--id-c90);  color:#b35b00; }
  .id-gh90p  { background:#fce8ec; border-color:var(--id-c90p); color:#b0002a; }
  .id-ghcomp { background:#e8faf2; border-color:var(--id-ccomp);color:#157a48; }
  .id-group-body { overflow:hidden; transition:max-height .3s cubic-bezier(.4,0,.2,1), opacity .25s; }
  .id-group-body.collapsed { max-height:0 !important; opacity:0; }
  .id-table { width:100%; border-collapse:collapse; font-size:12.5px; border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; overflow:hidden; }
  .id-table thead tr { background:var(--surface); }
  .id-table th { padding:9px 12px; text-align:left; font-size:10px; color:var(--ink3); font-weight:700; letter-spacing:.5px; text-transform:uppercase; border-bottom:1px solid var(--border); }
  .id-table tr.id-row { background:#fff; transition:background .1s; }
  .id-table tr.id-row:hover { background:var(--surface); }
  .id-table tr.id-row:not(:last-child) td { border-bottom:1px solid var(--border); }
  .id-table td { padding:var(--id-row-py) 12px; vertical-align:middle; }
  .id-pill { display:inline-flex; align-items:center; border-radius:999px; padding:2px 9px; font-size:11px; font-weight:600; white-space:nowrap; }
  .id-pill.p30  { background:#e0f8ff; color:#0284a8;  border:1px solid var(--id-c30); }
  .id-pill.p60  { background:#fffae0; color:#a07800;  border:1px solid var(--id-c60); }
  .id-pill.p90  { background:#fff3e8; color:#b35b00;  border:1px solid var(--id-c90); }
  .id-pill.p90p { background:#fce8ec; color:#b0002a;  border:1px solid var(--id-c90p); }
  .id-empty-group { background:var(--surface); border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; padding:16px; text-align:center; color:var(--ink3); font-size:12px; }
  .id-nodata { text-align:center; padding:50px; color:var(--ink3); }

/* Iconos SVG del sidebar */
.sb-link .si{display:flex;align-items:center;justify-content:center}
.sb-link .si svg{display:block}

/* Topbar con acciones de la vista activa (v2026.06.11-a) */
.topbar{flex-wrap:wrap;gap:10px}
#topbar-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:78%}
#topbar-actions select,#topbar-actions input{max-width:200px}
@media print{ #topbar-actions{display:none} }

/* ── Sidebar: colapso global (botón «) FUNCIONAL; secciones internas siempre abiertas ── */
.sb-group.collapsed{max-height:none!important;opacity:1!important;pointer-events:auto!important}
.sidebar:not(.collapsed) .sb-section .sb-caret{display:none!important}
/* ── Páginas con encabezado Amway (topbar oculto, controles en el main) ── */
.topbar.tb-hidden{display:none!important}
.amway-hd{display:none}
.amway-hd-left{flex:1;min-width:0}
.amway-hd-title{display:none}
.amway-hd-sub{display:none}
.amway-hd-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:2px}
/* OS pestañas unificadas en el main */
.os-unified-tabs{display:flex;align-items:center;margin:0px 0 16px;gap:0;flex-wrap:nowrap;overflow-x:auto;height:46px}
.os-utab{padding:10px 20px;border:none;background:none;font-size:16px;font-weight:600;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;color:var(--ink3);white-space:nowrap;transition:color .15s}
.os-utab:hover{color:var(--ink)}
.os-utab.os-utab-active{color:var(--ink);border-bottom-color:var(--ink)}
/* Panel de filtros tipo Amway */
#fp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:1000}
#fp-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:320px;background:#fff;border-left:1px solid var(--border);z-index:1001;box-shadow:-6px 0 24px rgba(0,0,0,.12);flex-direction:column}
.fp-section-title{font-size:11px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;margin-top:4px}
.fp-opt{display:flex;align-items:center;gap:12px;padding:7px 0;cursor:pointer;font-size:14px;color:var(--ink)}
.fp-opt input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}
.btn-fp{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1.5px solid var(--border);border-radius:8px;background:#fff;font-family:'Roboto',sans-serif;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink3);white-space:nowrap;transition:.15s}
.btn-fp:hover{border-color:var(--ink);color:var(--ink)}
.btn-fp.active-fp{border-color:var(--ink);background:var(--ink);color:#fff}
.fp-count{background:#fff;color:var(--ink);border-radius:99px;padding:0 6px;font-size:10px;margin-left:2px;line-height:18px;display:none}

/* Capa 3: pestañas de la página viven en el topbar, junto al título */
.topbar{align-items:center}
#topbar-tabs{flex-wrap:wrap}
#topbar-tabs .tabs-row{margin-bottom:0!important;border-bottom:none!important}
#topbar-tabs:empty{display:none!important}
@media(max-width:760px){ .topbar{display:flex!important;flex-wrap:wrap} #topbar-tabs{order:3;width:100%;justify-content:center} }
.entrega-item-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.entrega-item-row select{flex:1;min-width:160px}
.entrega-item-row input[type=number]{width:90px}
@media(max-width:600px){
  .entrega-item-row{flex-direction:column;align-items:stretch}
  .entrega-item-row select,.entrega-item-row input[type=number]{width:100%}
}

#os-header-row:empty{display:none}

.btn-mini{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1.5px solid var(--border);background:#fff;border-radius:9px;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:.14s;font-family:inherit}
.btn-mini:hover{border-color:var(--teal);color:var(--teal);background:#f3f9fb}
.btn-mini svg{flex:none}
.btn-mini span{line-height:1}
@media(max-width:600px){ .btn-mini span{display:none} .btn-mini{padding:6px 8px} }

.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid var(--border);background:#fff;border-radius:9px;color:var(--ink2);cursor:pointer;transition:.14s;padding:0}
.btn-icon:hover{border-color:var(--teal);color:var(--teal);background:#f3f9fb}
.btn-icon svg{flex:none}
/* ── WIDGET CHECKLIST / NOTAS RÁPIDAS ── */
.ck-fab{position:fixed;bottom:24px;right:24px;z-index:8000;width:48px;height:48px;border-radius:50%;background:#6366f1;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;font-size:20px;transition:.2s}
.ck-fab:hover{background:#4f46e5;transform:scale(1.08)}
.ck-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border-radius:99px;font-size:10px;font-weight:800;padding:1px 5px;min-width:16px;text-align:center;display:none}
.ck-panel{position:fixed;bottom:82px;right:24px;z-index:8000;width:320px;max-height:520px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.18);border:1px solid var(--border);display:none;flex-direction:column;overflow:hidden}
.ck-panel.open{display:flex}
.ck-head{padding:14px 16px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ck-head h4{margin:0;font-size:14px;font-weight:700}
.ck-tabs{display:flex;gap:0;background:#f5f5f0;flex-shrink:0}
.ck-tab{flex:1;padding:8px;border:none;background:none;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink3);border-bottom:2px solid transparent}
.ck-tab.active{color:var(--teal);border-bottom-color:var(--teal);background:#fff}
.ck-add{padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
.ck-add-row{display:flex;gap:6px;margin-bottom:6px}
.ck-add input[type=text]{flex:1;padding:7px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-family:'Roboto',sans-serif;outline:none}
.ck-add input[type=text]:focus{border-color:var(--teal)}
.ck-add-opts{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink3)}
.ck-add-opts select{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:11px;outline:none;background:#fff}
.ck-list{flex:1;overflow-y:auto;padding:8px}
.ck-item{display:flex;align-items:flex-start;gap:8px;padding:8px 6px;border-radius:8px;border-bottom:1px solid #f0f0ec;cursor:pointer}
.ck-item:hover{background:#f9f9f7}
.ck-item.done .ck-item-txt{text-decoration:line-through;color:var(--ink3)}
.ck-chk{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}
.ck-item.done .ck-chk{background:var(--teal);border-color:var(--teal);color:#fff}
.ck-item-body{flex:1;min-width:0}
.ck-item-txt{font-size:13px;color:var(--ink);line-height:1.4;word-break:break-word}
.ck-item-meta{font-size:10px;color:var(--ink3);margin-top:2px;display:flex;align-items:center;gap:6px}
.ck-item-del{opacity:0;font-size:14px;color:var(--ink3);cursor:pointer;flex-shrink:0;transition:.15s;padding:2px 4px}
.ck-item:hover .ck-item-del{opacity:1}
.ck-empty{text-align:center;padding:24px;color:var(--ink3);font-size:13px}
@media(max-width:500px){.ck-panel{right:8px;left:8px;width:auto}}
/* Selector período pill en topbar */
.period-nav{display:inline-flex;align-items:center;gap:0;border:1.5px solid #d0d5e8;border-radius:999px;background:#fff;height:36px;position:relative}
.period-nav-btn{width:32px;height:34px;border:none;background:none;cursor:pointer;color:#1a2d5a;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:.15s}
.period-nav-btn:hover{background:#f0f3fa;border-radius:999px}
.period-nav-label{padding:0 16px;font-size:16px;font-weight:700;color:#0F4C81;white-space:nowrap;border-left:1px solid #e0e4f0;border-right:1px solid #e0e4f0;height:34px;display:flex;align-items:center;cursor:pointer;border:none;background:none;transition:background .15s}
.period-nav-label:hover{background:#f0f3fa}
/* Period picker dropdown */
#period-picker-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:310px;background:transparent;z-index:9000}
.period-picker-card{padding:16px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shl)}
.period-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.period-picker-head strong{font-family:'Montserrat',sans-serif;font-size:15px;color:var(--ink)}
.period-picker-head button{border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--ink3)}
#period-picker-year{width:100%;padding:9px 11px;margin-bottom:10px;border:1.5px solid var(--border);border-radius:9px;background:#fff;font:600 13px 'Roboto',sans-serif;color:var(--ink)}
.period-picker-all,.period-picker-months button{border:1px solid var(--border);background:#fff;border-radius:9px;color:var(--ink);font:600 12px 'Roboto',sans-serif;cursor:pointer}
.period-picker-all{width:100%;padding:10px;margin-bottom:8px}
.period-picker-months{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.period-picker-months button{padding:8px 4px}
.period-picker-all:hover,.period-picker-months button:hover,.period-picker-all.ppc-active,.period-picker-months button.ppc-active{border-color:var(--blue);background:var(--sky);color:var(--blue)}
@media(max-width:760px){
  #period-picker-dropdown{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}
}
/* Botón colapse circular en brand */
/* Ocultar botón colapse del footer (ahora está en el brand) */
/* Fuente global GTWalsheimPro + tamaño base */
*{font-family:'Roboto',sans-serif!important}
input,select,textarea,button{font-family:'Roboto',sans-serif!important;font-size:inherit}
html{font-size:15px}
code,pre,[style*="font-family:monospace"]{font-family:monospace!important}
/* Logotipo y títulos principales en Montserrat (debe ir después del override global para ganar por orden de cascada) */
h1,h2,h3,h4,.sb-mark,.auth-brand .mark{font-family:'Montserrat',sans-serif!important;font-weight:800!important}
/* Botón flotante tipo Amway: se ubica en el borde sidebar/contenido */
#sb-pill-wrap{position:relative;width:0;flex-shrink:0;z-index:300;overflow:visible}
#sb-pill-toggle{position:absolute;left:-14px;top:44px;width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid #d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:box-shadow .15s,background .15s}
#sb-pill-toggle:hover{box-shadow:0 3px 14px rgba(0,0,0,.28);background:#f8fafc}
#sb-collapse-btn{display:none!important}

.app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;margin-top:24px;border-top:1px solid var(--border);color:var(--ink3);font-size:12px;flex-wrap:wrap}
.app-footer .af-brand{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--ink3);opacity:.85}
.app-footer .af-brand svg{flex-shrink:0}
.app-footer .af-links{display:flex;gap:18px}
.app-footer .af-links a{color:var(--ink3);text-decoration:none}
.app-footer .af-links a:hover{color:var(--ink);text-decoration:underline}

/* ===== Bloque global original 2 de Clinic/index.html ===== */
#help-btn{position:fixed;bottom:86px;right:24px;width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:0 4px 16px rgba(11,126,160,.35);z-index:900;display:flex;align-items:center;justify-content:center;transition:.2s;opacity:.92}
#help-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(11,126,160,.5)}
#help-panel{position:fixed;bottom:76px;right:24px;width:380px;max-width:calc(100vw - 40px);max-height:600px;background:#fff;border-radius:20px;box-shadow:0 8px 40px rgba(0,0,0,.18);z-index:901;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--border)}
#help-panel.open{display:flex}
#help-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:200px;max-height:440px}
.hm-user{align-self:flex-end;background:var(--teal);color:#fff;border-radius:16px 16px 4px 16px;padding:10px 14px;font-size:13px;max-width:85%;line-height:1.5}
.hm-ai{align-self:flex-start;background:var(--surface);color:var(--ink);border-radius:16px 16px 16px 4px;padding:10px 14px;font-size:13px;max-width:85%;line-height:1.5}
.hm-typing{align-self:flex-start;padding:10px 14px;font-size:13px;color:var(--ink3)}

/* ── CUENTAS DE COBRO ── */
.cobro-filter-row{display:flex;gap:8px;align-items:center;padding:16px 20px 12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.cobro-filter-row select,.cobro-filter-row input{font-size:12.5px;padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:'Roboto',sans-serif;background:var(--surface);color:var(--ink);outline:none;transition:.15s}
.cobro-filter-row select:focus,.cobro-filter-row input:focus{border-color:var(--teal)}
.cobro-hint{font-size:11px;color:var(--ink3);padding:6px 20px 10px}
.multi-select-conv{position:relative;min-width:220px}
.ms-toggle{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:7px;padding:7px 12px;font-size:13px;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:inherit;transition:.15s}
.ms-toggle:hover,.ms-toggle.has-selection{border-color:var(--teal);background:rgba(11,126,160,.06)}
.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1000;max-height:300px;overflow-y:auto;padding:6px}
.ms-actions{display:flex;gap:4px;padding:4px 4px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;flex-wrap:wrap}
.ms-actions button{background:var(--surface);border:1px solid var(--border);color:var(--ink2);font-size:10px;padding:4px 8px;border-radius:4px;cursor:pointer;font-family:inherit;flex:1;min-width:60px;transition:.12s}
.ms-actions button:hover{background:rgba(11,126,160,.08);border-color:var(--teal);color:var(--teal)}
.ms-option{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:5px;cursor:pointer;font-size:13px;color:var(--ink);transition:.12s}
.ms-option:hover{background:var(--surface)}
.ms-option input[type="checkbox"]{cursor:pointer;width:14px;height:14px;accent-color:var(--teal)}
.ms-option .ms-tag{font-size:9px;padding:1px 5px;border-radius:3px;margin-left:auto;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ms-tag.cuenta-cobro{background:rgba(11,126,160,.12);color:var(--teal)}
.ms-tag.pago-directo{background:rgba(14,140,94,.12);color:var(--green)}
.trend-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.3rem;margin-bottom:14px}
.trend-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.trend-title{font-size:11px;font-weight:700;color:var(--ink3);letter-spacing:.07em;text-transform:uppercase}
.trend-sub{font-size:11px;color:var(--ink3);margin-top:3px}
.trend-total-wrap{text-align:right}
.trend-total{font-size:22px;font-weight:700;color:var(--teal);line-height:1;font-family:'Roboto',sans-serif}
.trend-total-lbl{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.trend-bars{display:flex;flex-direction:column;gap:3px}
.trend-row{display:grid;grid-template-columns:38px 1fr 90px;gap:8px;align-items:center;padding:3px 4px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:.12s}
.trend-row:hover{background:rgba(11,126,160,.05)}
.trend-row.selected{background:rgba(11,126,160,.08);border-color:var(--teal)}
.trend-row.current{background:rgba(11,126,160,.05);border-color:rgba(11,126,160,.3)}
.trend-row.empty-month{opacity:.4;cursor:default}
.trend-row.empty-month:hover{background:transparent}
.trend-mes{font-size:11px;color:var(--ink2);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.trend-bar-wrap{position:relative;height:22px;background:var(--surface);border-radius:5px;overflow:hidden;border:1px solid var(--border)}
.trend-bar{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,var(--teal),var(--teal2));border-radius:4px;transition:width .35s ease}
.trend-bar-info{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 6px;font-size:10px;color:var(--ink2)}
.trend-bar-info .left{font-weight:600}
.trend-amount{font-size:12px;font-weight:700;color:var(--teal);text-align:right;font-family:'Roboto',sans-serif}
.trend-amount.zero{color:var(--ink3);font-weight:400}
.cobro-resumen-hero{background:rgba(11,126,160,.07);border:1px solid rgba(11,126,160,.2);border-radius:14px;padding:16px 20px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cobro-hero-total{font-size:32px;font-weight:800;color:var(--teal);font-family:'Roboto',sans-serif;line-height:1}
.cobro-hero-lbl{font-size:11px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.cobro-hero-sub{font-size:12px;color:var(--ink3);margin-top:4px}
.cobro-kpi-grid{display:flex;gap:10px;flex-wrap:wrap}
.cobro-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;min-width:110px}
.cobro-kpi-lbl{font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.cobro-kpi-val{font-size:16px;font-weight:700;font-family:'Roboto',sans-serif}
td.money{text-align:right;font-family:'Roboto',sans-serif;white-space:nowrap}


/* ═══ CENTRO DE OPERACIONES — INICIO ═══ */
.main:has(#page-dashboard.active){background:#f7f9fc}
body:has(#page-dashboard.active) #topbar-title{font-size:30px;line-height:1.12;letter-spacing:-.03em}
body:has(#page-dashboard.active) #topbar-subtitle{font-size:14px!important;color:#667085!important}
#tabsbar-dashboard{display:inline-flex!important;width:auto;margin-bottom:20px;padding:4px;background:#eef3f7;border:0;border-radius:11px;box-shadow:none}
#tabsbar-dashboard .os-utab{padding:8px 15px;border:0!important;border-radius:8px!important;background:transparent;color:#667085;font-size:12px;box-shadow:none}
#tabsbar-dashboard .os-utab.os-utab-active{background:#fff!important;color:#0f4c81!important;box-shadow:0 2px 8px rgba(15,76,129,.11)!important}
#dsub-panel-hoy{padding-bottom:34px}
.home-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.home-metric{display:flex;align-items:center;gap:13px;min-width:0;min-height:102px;padding:18px;border:1px solid #e5eaf0;border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(15,76,129,.07);cursor:pointer;text-align:left;font-family:'Roboto',sans-serif;transition:transform .16s ease,box-shadow .16s ease}
.home-metric:hover{transform:translateY(-2px);box-shadow:0 11px 26px rgba(15,76,129,.11)}
.home-metric-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#15b8c3,#0098aa);color:#fff;box-shadow:0 7px 15px rgba(0,164,180,.22)}
.home-metric-icon svg{width:25px;height:25px}
.home-metric-copy{min-width:0}
.home-metric-copy small{display:block;margin-bottom:7px;color:#475467;font-size:12px;white-space:nowrap}
.home-metric-copy strong{display:block;max-width:100%;overflow:hidden;color:#101828;font-family:'Montserrat',sans-serif;font-size:22px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.home-operations-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(560px,1.28fr);gap:18px;margin-bottom:18px}
.home-attention,.home-day-flow,.home-recent{overflow:hidden;border:1px solid #e5eaf0!important;border-radius:16px!important;background:#fff;box-shadow:0 7px 24px rgba(15,76,129,.065)}
.home-card-title{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:16px 22px;border-bottom:1px solid #edf0f4}
.home-card-title h3{margin:0;color:#172033;font-family:'Montserrat',sans-serif;font-size:16px}
.home-card-title>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 8px;border-radius:99px;background:#fff1f2;color:#d92d20;font-size:11px;font-weight:800}
.home-card-title>button{border:0;background:none;color:var(--teal);font-size:12px;font-weight:700;cursor:pointer}
.home-attention-list{padding:4px 20px 12px}
.home-attention-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;border-bottom:1px solid #edf0f4}
.home-attention-row:last-child{border-bottom:0}
.home-attention-row strong{overflow:hidden;color:#344054;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.home-warning{display:grid;place-items:center;width:28px;height:28px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#f79009;font-size:15px;font-weight:900}
.home-attention-row button{min-width:78px;padding:7px 12px;border:1px solid #d9e3e9;border-radius:8px;background:#fff;color:var(--teal);font-size:11px;font-weight:700;cursor:pointer}
.home-attention-row button:hover{background:#ebfbfd}
.home-empty{padding:36px 14px;text-align:center;color:#0e8c5e;font-size:13px;font-weight:700}
.home-day-flow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;min-height:220px;padding:22px 24px}
.home-day-flow-grid button{display:flex;flex-direction:column;align-items:center;min-width:0;border:0;background:none;cursor:pointer;font-family:'Roboto',sans-serif}
.home-day-flow-grid button>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:12px;border:1px solid #d9e3e9;border-radius:50%;background:#f5f7f9;color:var(--teal)}
.home-day-flow-grid svg{width:29px;height:29px}
.home-day-flow-grid small{min-height:32px;color:#475467;font-size:11px;line-height:1.3;text-align:center}
.home-day-flow-grid strong{margin-top:6px;color:#009cad;font-family:'Montserrat',sans-serif;font-size:24px}
.home-day-flow-grid>i{margin-top:-38px;color:var(--teal);font-size:28px;font-style:normal;font-weight:300}
.home-recent-list{padding:4px 22px 12px}
.home-recent-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:59px;border:0;border-bottom:1px solid #edf0f4;background:transparent;text-align:left;cursor:pointer;font-family:'Roboto',sans-serif}
.home-recent-row:last-child{border-bottom:0}
.home-recent-row:hover{background:#f9fbfc}
.home-recent-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf3f7;color:var(--teal)}
.home-recent-icon svg{width:18px;height:18px}
.home-recent-row>span:nth-child(2){min-width:0}
.home-recent-row strong,.home-recent-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-recent-row strong{color:#344054;font-size:12.5px}
.home-recent-row small{margin-top:3px;color:#98a2b3;font-size:10.5px}
.home-recent-row em{color:#98a2b3;font-size:11px;font-style:normal;white-space:nowrap}
.home-new-order{display:flex!important;align-items:center;gap:7px!important;width:auto!important;padding:0 16px!important;border-color:var(--teal)!important;background:linear-gradient(135deg,var(--teal2),var(--teal))!important;color:#fff!important;font-weight:800!important}
.home-new-order svg{flex:0 0 auto}
@media(max-width:1280px){
  .home-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-operations-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  body:has(#page-dashboard.active) #topbar-title{font-size:24px}
  .home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-day-flow-grid{grid-template-columns:repeat(5,1fr);gap:8px;padding:18px 10px}
  .home-day-flow-grid>i{display:none}
  .home-day-flow-grid button>span{width:48px;height:48px}
  .home-new-order span{display:none}
}
@media(max-width:560px){
  .home-metrics{grid-template-columns:1fr}
  .home-metric{min-height:84px}
  .home-day-flow-grid{grid-template-columns:1fr 1fr}
  .home-day-flow-grid button{padding:12px 4px;border-bottom:1px solid #edf0f4}
  .home-attention-row{grid-template-columns:30px minmax(0,1fr)}
  .home-attention-row button{grid-column:2;justify-self:start;margin-bottom:8px}
  .home-recent-row{grid-template-columns:34px minmax(0,1fr)}
  .home-recent-row em{grid-column:2}
}


/* ═══ ENCABEZADO, USUARIO Y BÚSQUEDA GLOBAL ═══ */
#topbar-center{display:flex;align-items:center;justify-content:center;min-width:0}
#topbar-center:has(#topbar-tabs:not(:empty)) #smart-search-trigger{display:none}
#smart-search-trigger{display:flex;align-items:center;gap:10px;width:min(390px,34vw);height:44px;padding:0 12px;border:1px solid #d8e0e8;border-radius:11px;background:#fff;color:#667085;cursor:pointer;font-family:'Roboto',sans-serif;text-align:left;box-shadow:0 2px 8px rgba(15,76,129,.03)}
#smart-search-trigger:hover{border-color:#8ccfd8;box-shadow:0 5px 14px rgba(15,76,129,.07)}
#smart-search-trigger svg{flex:0 0 19px;width:19px;height:19px}
#smart-search-trigger span{flex:1;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
#smart-search-trigger kbd{padding:3px 6px;border:1px solid #e4e7ec;border-radius:6px;background:#f8fafc;color:#98a2b3;font:600 10px 'Roboto',sans-serif}
#topbar-quick-actions .btn-icon,#tb-bell-wrap>button{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;padding:0!important;border:1px solid #d8e0e8!important;border-radius:11px!important;background:#fff!important;color:#344054!important;box-shadow:none!important}
#topbar-quick-actions .btn-icon:hover,#tb-bell-wrap>button:hover{border-color:#d9e3e9!important;background:#f5f7f9!important;color:var(--teal)!important}
#topbar-quick-actions .btn-icon svg,#tb-bell-wrap>button svg{width:18px!important;height:18px!important;stroke-width:1.8!important}
#topbar-quick-actions .home-new-order{width:auto!important;min-width:146px!important;padding:0 17px!important;border-color:var(--teal)!important;background:linear-gradient(135deg,var(--teal2),var(--teal))!important;color:#fff!important;box-shadow:0 7px 16px rgba(15,76,129,.18)!important}
#topbar-quick-actions .home-new-order:hover{background:linear-gradient(135deg,#0fabb7,#008ca0)!important;color:#fff!important}
.tb-user{position:relative!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:142px!important;height:44px!important;padding:4px 9px 4px 5px!important;border:1px solid #d8e0e8!important;border-radius:24px!important;background:#fff!important;cursor:pointer!important}
.tb-user:hover{border-color:#d9e3e9!important;background:#f8fafc!important}
.tb-user .sb-avatar{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:50%!important;background:linear-gradient(145deg,var(--teal),#073f68)!important;color:#fff!important;font-size:11px!important;font-weight:800!important}
.tb-user-copy{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.15}
.tb-user-copy strong,.tb-user-copy small{display:block;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-user-copy strong{color:#344054;font-size:11px}
.tb-user-copy small{margin-top:2px;color:#98a2b3;font-size:9px}
.tb-user .tb-chev{flex:0 0 12px;width:12px;height:12px;color:#667085}
.user-menu{position:absolute;top:calc(100% + 10px);right:0;width:310px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.16);z-index:9500;overflow:hidden}
.user-menu-profile{display:flex;align-items:center;gap:12px;padding:18px 18px 14px}
.user-menu-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,var(--teal),#073f68);color:#fff;font-size:13px;font-weight:800}
.user-menu-profile>div:last-child{min-width:0}
.user-menu-profile strong,.user-menu-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-menu-profile strong{color:#172033;font-size:13px}
.user-menu-profile small{margin-top:3px;color:#98a2b3;font-size:10.5px}
.user-menu-clinic{margin:0 14px 10px;padding:12px 13px;border:1px solid #dff0f3;border-radius:11px;background:#f3fbfc}
.user-menu-clinic>span{display:block;margin-bottom:4px;color:var(--teal);font-size:8px;font-weight:900;letter-spacing:.1em}
.user-menu-clinic>strong{display:block;overflow:hidden;color:#344054;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.user-menu-clinic>div{display:flex;align-items:center;justify-content:space-between;margin-top:7px}
.user-menu-clinic small{color:#667085;font-size:9.5px}
.user-menu-clinic b{padding:3px 7px;border-radius:99px;background:#fff3cd;color:#9a6700;font-size:8px;text-transform:uppercase}
.user-menu-links{padding:5px 8px;border-top:1px solid #eef1f4}
.user-menu-item{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;width:100%!important;padding:9px 10px!important;border:0!important;border-radius:9px!important;background:none!important;color:#344054!important;text-align:left!important;text-decoration:none!important;cursor:pointer!important;font-family:'Roboto',sans-serif!important}
.user-menu-item:hover{background:#f5fafb!important}
.user-menu-item>svg{width:18px;height:18px;padding:7px;box-sizing:content-box;border-radius:9px;background:#edf3f7;fill:none;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.user-menu-item strong,.user-menu-item small{display:block}
.user-menu-item strong{font-size:11.5px}
.user-menu-item small{margin-top:2px;color:#98a2b3;font-size:9.5px}
.user-menu-logout{display:flex;align-items:center;gap:10px;width:100%;padding:12px 18px;border:0;border-top:1px solid #eef1f4;background:#fff;color:#d92d20;font-size:11.5px;font-weight:700;cursor:pointer}
.user-menu-logout:hover{background:#fff6f6}
.user-menu-logout svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#smart-search-overlay{position:fixed;inset:0;z-index:12000;align-items:flex-start;justify-content:center;padding:10vh 20px;background:rgba(15,23,42,.42);backdrop-filter:blur(5px)}
.smart-search-dialog{width:min(720px,100%);max-height:76vh;border:1px solid rgba(255,255,255,.55);border-radius:17px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.25);overflow:hidden}
.smart-search-input-wrap{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #e8edf2}
.smart-search-input-wrap svg{width:22px;height:22px;color:var(--teal)}
.smart-search-input-wrap input{width:100%;padding:4px 0;border:0;outline:0;background:transparent;color:#172033;font:500 16px 'Roboto',sans-serif}
.smart-search-input-wrap input::placeholder{color:#98a2b3}
.smart-search-input-wrap button{padding:5px 8px;border:1px solid #e4e7ec;border-radius:6px;background:#f8fafc;color:#98a2b3;font-size:9px;cursor:pointer}
#smart-search-results{max-height:58vh;padding:8px;overflow-y:auto}
#smart-search-results section{padding:4px 0 8px}
#smart-search-results h4{display:flex;align-items:center;gap:6px;margin:0;padding:7px 10px;color:#667085;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
#smart-search-results h4 span{display:grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:#edf3f7;color:var(--teal);font-size:8px}
.smart-result{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:#fff;text-align:left;cursor:pointer}
.smart-result:hover,.smart-result.active{background:#f3fafb;box-shadow:inset 0 0 0 1px #c9edf1}
.smart-result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#edf3f7;color:var(--teal);font-size:9px;font-weight:900}
.smart-result strong,.smart-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smart-result strong{color:#344054;font-size:12.5px}
.smart-result small{margin-top:2px;color:#98a2b3;font-size:10.5px}
.smart-result>b{color:#98a2b3;font-size:18px}
.smart-search-empty{display:flex;align-items:center;flex-direction:column;padding:54px 24px;text-align:center}
.smart-search-empty>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:12px;border-radius:50%;background:#edf3f7;color:var(--teal);font-size:27px}
.smart-search-empty strong{color:#344054;font-size:14px}
.smart-search-empty small{max-width:420px;margin-top:6px;color:#98a2b3;font-size:11px;line-height:1.5}
.smart-search-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid #e8edf2;background:#f8fafc;color:#98a2b3;font-size:9px}
@media(max-width:1180px){
  #smart-search-trigger{width:250px}
  #smart-search-trigger kbd{display:none}
  .tb-user{min-width:44px!important;width:44px!important;padding:4px!important}
  .tb-user-copy,.tb-user>.tb-chev{display:none!important}
}
@media(max-width:820px){
  #smart-search-trigger{display:none}
  #topbar-quick-actions .btn-icon:not(.home-new-order){display:none!important}
  #topbar-quick-actions .home-new-order{min-width:44px!important;width:44px!important;padding:0!important}
  #topbar-quick-actions .home-new-order span{display:none}
}


/* ═══ GESTIÓN FORMAL Y FILTROS DE INICIO ═══ */
.home-quick-create{display:flex;align-items:stretch;gap:18px;margin-bottom:16px;padding:13px 14px 13px 18px;border:1px solid #e5eaf0;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,76,129,.05)}
.home-quick-copy{display:flex;flex:0 0 auto;justify-content:center;flex-direction:column;padding-right:18px;border-right:1px solid #edf0f4}
.home-quick-copy span{color:var(--teal);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.home-quick-copy strong{margin-top:4px;color:#344054;font-size:12px;white-space:nowrap}
.home-quick-groups{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:13px;flex:1;min-width:0}
.home-quick-group{min-width:0}
.home-quick-group>small{display:block;margin:0 0 6px 2px;color:#8a96a8;font-size:7.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.home-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px}
.home-quick-patient{grid-template-columns:repeat(4,minmax(110px,1fr))}
.home-quick-actions button{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:0;padding:7px 8px;border:1px solid #e5eaf0;border-radius:10px;background:#fff;color:#344054;text-align:left;cursor:pointer;font-family:'Roboto',sans-serif}
.home-quick-actions button:hover{border-color:#d9e3e9;background:#f5f7f9;transform:translateY(-1px)}
.home-quick-actions button>span{display:grid;grid-row:1/3;place-items:center;width:29px;height:29px;border-radius:8px;background:#edf3f7;color:var(--teal)}
.home-quick-actions button svg{width:16px;height:16px}
.home-quick-actions button strong,.home-quick-actions button em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-quick-actions button strong{font-size:9.8px}
.home-quick-actions button em{color:#98a2b3;font-size:8px;font-style:normal}
.home-quick-actions button.primary{border-color:#d9e3e9;background:#f5f7f9}
.home-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-metric{position:relative}
.home-filter-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #d9e3e9;border-radius:9px;background:#f5f7f9;color:#527078;font-size:11px}
.home-filter-chip b{color:#073f68}
.home-filter-chip button{margin-left:5px;padding:0;border:0;background:none;color:var(--teal);font-size:10px;font-weight:800;cursor:pointer}
.home-filter-chip-block{display:flex;margin-bottom:10px}
.home-referral-overlay{
  position:fixed;
  inset:0;
  z-index:13000;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:8vh 18px;
  background:rgba(15,23,42,.46);
  backdrop-filter:blur(4px)
}
.home-referral-dialog{
  display:flex;
  flex-direction:column;
  width:min(760px,100%);
  max-height:82vh;
  overflow:hidden;
  border:1px solid #dce4ea;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.25)
}
.home-referral-dialog header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px 16px;
  border-bottom:1px solid #edf0f4
}
.home-referral-dialog header small{
  color:var(--teal);
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em
}
.home-referral-dialog h3{
  margin:5px 0 4px;
  color:#172033;
  font-size:20px;
  line-height:1.2
}
.home-referral-dialog p{
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.4
}
.home-referral-dialog header>.btn-x{flex:0 0 34px}
.home-referral-dialog header>.btn-x svg{width:14px;height:14px}
.home-referral-search{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:16px 20px 12px;
  padding:9px 12px;
  border:1px solid #dce4ea;
  border-radius:10px;
  background:#f8fafb;
  color:var(--teal);
  transition:border-color .15s,box-shadow .15s,background .15s
}
.home-referral-search:focus-within{
  border-color:var(--teal);
  background:#fff;
  box-shadow:0 0 0 3px rgba(15,76,129,.12)
}
.home-referral-search input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#344054;
  font:500 14px 'Roboto',sans-serif
}
.home-referral-list{
  max-height:52vh;
  padding:0 12px 14px;
  overflow:auto;
  overscroll-behavior:contain
}
.home-referral-list>button{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:64px;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #edf0f4;
  background:#fff;
  text-align:left;
  cursor:pointer
}
.home-referral-list>button[hidden]{display:none!important}
.home-referral-list>button:hover,
.home-referral-list>button:focus-visible{
  outline:0;
  border-radius:10px;
  background:#f5f7f9
}
.home-referral-list>button>span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#edf3f7;
  color:var(--teal)
}
.home-referral-list svg{width:17px;height:17px}
.home-referral-list strong,
.home-referral-list small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.home-referral-list strong{color:#344054;font-size:12px}
.home-referral-list small{margin-top:3px;color:#98a2b3;font-size:10px}
.home-referral-list b{color:var(--teal);font-size:10px;white-space:nowrap}
.home-referral-empty{
  padding:36px 18px;
  color:#667085;
  font-size:12px;
  text-align:center
}
@media(max-width:768px){
  .home-referral-overlay{
    align-items:flex-end;
    padding:0;
    background:rgba(15,23,42,.38)
  }
  .home-referral-dialog{
    width:100%;
    height:100dvh;
    max-height:100dvh;
    border:0;
    border-radius:0
  }
  .home-referral-dialog header{padding:18px 16px 14px}
  .home-referral-dialog h3{font-size:18px}
  .home-referral-search{margin:12px 12px 8px}
  .home-referral-list{
    flex:1;
    max-height:none;
    padding:0 8px 12px
  }
  .home-referral-list>button{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    padding:10px 8px
  }
  .home-referral-list b{font-size:9px}
}

#smart-search-trigger{width:min(330px,30vw);height:40px;border-color:transparent;background:#f5f7f9;box-shadow:none}
#smart-search-trigger:hover{border-color:#d8e0e8;background:#fff}
@media(max-width:1500px){
  .home-quick-create{align-items:flex-start;flex-direction:column}
  .home-quick-copy{border-right:0}
  .home-quick-groups{width:100%}
  .home-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  .home-quick-groups{grid-template-columns:1fr}
  .home-quick-clinic{padding-top:3px}
}
@media(max-width:760px){
  .home-quick-patient{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .home-quick-patient,.home-quick-actions{grid-template-columns:1fr}
  .home-metrics{grid-template-columns:1fr}
}


/* ═══ PÁGINAS DE GESTIÓN — PACIENTES Y ÓRDENES DE SERVICIO ═══ */
.clinic-management-page .amway-hd{align-items:center;margin-bottom:14px;padding:2px 2px 4px}
.clinic-management-page .amway-hd-title{color:#101828;font-size:26px;letter-spacing:-.025em}
.clinic-management-page .amway-hd-sub{margin-top:5px;color:#667085;font-size:11.5px}
.management-page-primary .btn-primary{min-height:40px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#13b5c1,#0098ac);box-shadow:0 7px 16px rgba(0,157,176,.18);font-size:11px}
.management-page-primary .btn-primary:hover{background:linear-gradient(135deg,#0da7b4,#008b9f);transform:translateY(-1px)}
.clinic-management-page .management-toolbar{align-items:center;margin-bottom:16px;padding:5px;border:1px solid #e5eaf0;border-radius:13px;background:#f5f7f9}
.clinic-management-page .management-toolbar>div:first-child{gap:3px!important}
.clinic-management-page .os-utab{min-height:34px;padding:7px 12px;border:0!important;border-radius:9px;color:#667085;font-size:10.5px}
.clinic-management-page .os-utab-active{background:#fff!important;color:#0f4c81!important;box-shadow:0 2px 7px rgba(15,76,129,.09)}
.management-toolbar-actions{padding:0 3px}
.management-toolbar-actions input[type="text"]{height:34px!important;border:1px solid #dfe5eb!important;border-radius:9px!important;background:#fff!important;font-size:10.5px!important}
.management-toolbar-actions .btn,.management-toolbar-actions .btn-fp{height:34px!important;border-radius:9px!important;font-size:9.5px!important}
#patients-kpis,#os-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 14px!important}
.management-kpi{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid #e3e9ee;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(15,76,129,.045)}
.management-kpi-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#edf3f7;color:var(--teal)}
.management-kpi-icon svg{width:21px;height:21px}
.management-kpi>div{min-width:0}
.management-kpi small,.management-kpi strong,.management-kpi em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.management-kpi small{color:#667085;font-size:10px;font-weight:700}
.management-kpi strong{margin-top:3px;color:#172033;font-size:20px;line-height:1.05}
.management-kpi em{margin-top:4px;color:#98a2b3;font-size:8.5px;font-style:normal}
.management-kpi.green .management-kpi-icon{background:#e9f8f1;color:#0e8c5e}
.management-kpi.purple .management-kpi-icon{background:#f2edfd;color:#7c3aed}
.management-kpi.warning .management-kpi-icon{background:#fff5e6;color:#c57612}
#page-patients #patients-count,#page-service-orders #os-count-label{margin:0 2px 8px!important;color:#667085!important;font-size:10.5px!important}
#page-patients #patients-table{border-radius:13px;overflow:auto!important}
#page-patients #patients-table .dtable thead th{padding:10px 13px;background:#f5f8fa;color:#667085;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
#page-patients #patients-table .dtable tbody td{border-bottom:1px solid #edf0f4}
#page-service-orders #os-table .otable-wrap{overflow:auto;border:1px solid #e5eaf0;border-radius:13px;background:#fff}
#page-service-orders #os-table table{border-spacing:0!important}
#page-service-orders #os-table thead tr{background:#f5f8fa!important}
#page-service-orders #os-table thead th{padding:10px 11px!important;border-bottom:1px solid #e5eaf0!important;border-radius:0!important;background:#f5f8fa!important;color:#667085!important;font-size:8.5px!important;letter-spacing:.035em;text-transform:uppercase}
#page-service-orders #os-table tbody td{border-bottom:1px solid #edf0f4}
.management-empty{display:flex;align-items:center;flex-direction:column;padding:56px 24px;text-align:center}
.management-empty>span{display:grid;place-items:center;width:50px;height:50px;margin-bottom:13px;border-radius:14px;background:#edf3f7;color:var(--teal)}
.management-empty>span svg{width:25px;height:25px}
.management-empty strong{color:#344054;font-size:13px}
.management-empty small{max-width:430px;margin:6px 0 15px;color:#98a2b3;font-size:10.5px;line-height:1.5}
@media(max-width:1150px){
  #patients-kpis,#os-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .clinic-management-page .management-toolbar{align-items:flex-start;flex-direction:column}
  .management-toolbar-actions{width:100%;flex-wrap:wrap}
}
@media(max-width:650px){
  .clinic-management-page .amway-hd{align-items:flex-start;gap:12px}
  .clinic-management-page .amway-hd-title{font-size:22px}
  .management-page-primary .btn-primary{min-height:36px;padding:0 11px;font-size:9px}
  #patients-kpis,#os-kpis{grid-template-columns:1fr!important}
  .clinic-management-page .management-toolbar>div:first-child{max-width:100%;overflow-x:auto}
  .management-toolbar-actions input[type="text"]{width:100%!important}
}


/* ═══ CONTINUIDAD VISUAL — LABORATORIOS, INSUMOS, BIOMÉDICA Y PGIRASA ═══ */
#page-lab-orders #lab-orders-hd-right .btn-primary{min-height:40px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#13b5c1,#0098ac);box-shadow:0 7px 16px rgba(0,157,176,.18);font-size:11px}
#page-lab-orders #lab-lista-kpis,#page-lab-orders #lab-kpis{gap:12px!important}
#page-lab-orders #lab-orders-count-label{margin:0 2px 8px!important;color:#667085!important;font-size:10.5px!important}
#page-lab-orders #lab-orders-table,#page-supplies [id$="-table"],#page-equipment [id$="-table"],#page-waste #waste-table{overflow:auto;border-radius:13px}
#page-supplies>.management-toolbar,#page-equipment>.management-toolbar{margin-bottom:16px;padding:5px}
#page-supplies>.management-toolbar>.os-unified-tabs,#page-equipment>.management-toolbar>.os-unified-tabs{margin:0;padding:0;border:0;background:transparent}
#page-supplies>.management-toolbar>div:last-child,#page-equipment>.management-toolbar>div:last-child{padding:0 3px!important}
#page-supplies .tbl-toolbar,#page-equipment .tbl-toolbar{margin-bottom:10px;border:1px solid #e5eaf0;border-radius:12px;background:#fff}
#page-supplies .card-head h3,#page-equipment .card-head h3,#page-waste .card-head h3{color:#344054;font-size:13px}
#page-supplies .card-head-actions input[type="text"]{height:34px!important;border:1px solid #dfe5eb!important;border-radius:9px!important;background:#fff!important;font-size:10.5px!important}
#page-supplies .card-head-actions .btn,#page-supplies .card-head-actions .btn-fp{height:34px!important;border-radius:9px!important;font-size:9.5px!important}
#page-equipment .tbl-toolbar h3{font-size:13px}
.management-record-card{overflow:hidden;border:1px solid #e5eaf0;border-radius:13px;background:#fff}
.management-record-card .card-head{padding:14px 16px;border-bottom:1px solid #edf0f4}
#page-waste #waste-table{padding:0 8px 8px}
@media(max-width:760px){
  #page-supplies>.management-toolbar,#page-equipment>.management-toolbar{align-items:flex-start!important;flex-direction:column}
  #page-supplies>.management-toolbar>div:last-child,#page-equipment>.management-toolbar>div:last-child{width:100%;padding:0!important}
}


/* ═══ BADGES OPERATIVOS — SUBPÁGINAS DE ÓRDENES DE SERVICIO ═══ */
.management-kpi-grid{display:grid!important;gap:12px!important;margin:0 0 16px!important}
.management-kpi-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.management-kpi-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.management-kpi-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#abonos-kpis,#lab-lista-kpis,#remglobal-kpis{display:grid!important}
#abo-count-label{color:#667085!important;font-size:10.5px!important}
@media(max-width:1280px){
  .management-kpi-grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1050px){
  .management-kpi-grid.cols-3,.management-kpi-grid.cols-4,.management-kpi-grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .management-kpi-grid.cols-3,.management-kpi-grid.cols-4,.management-kpi-grid.cols-5{grid-template-columns:1fr!important}
}


/* ═══ ADAPTACIÓN MÓVIL — FLUJOS DE GESTIÓN ═══ */
@media(max-width:768px){
  .clinic-management-page{padding:66px 10px 20px!important}
  .clinic-management-page .amway-hd{display:flex;align-items:stretch!important;flex-direction:column;gap:12px;margin:0 2px 13px!important;padding:0!important}
  .clinic-management-page .amway-hd-left{min-width:0}
  .clinic-management-page .amway-hd-title{font-size:21px!important;line-height:1.15}
  .clinic-management-page .amway-hd-sub{max-width:100%;font-size:10.5px!important;line-height:1.45}
  .clinic-management-page .management-page-primary{display:flex;width:100%}
  .clinic-management-page .management-page-primary .btn-primary,
  #page-lab-orders #lab-orders-hd-right .btn-primary{justify-content:center;width:100%;min-height:42px!important}
  .clinic-management-page .management-toolbar,
  #page-supplies>.management-toolbar,
  #page-equipment>.management-toolbar{display:flex!important;align-items:stretch!important;flex-direction:column!important;gap:8px!important;width:100%;margin-bottom:13px!important;padding:5px!important;overflow:hidden}
  .clinic-management-page .management-toolbar>div:first-child,
  #page-supplies #tabsbar-supplies,
  #page-equipment #tabsbar-equipment{display:flex!important;width:100%;max-width:none!important;padding-bottom:2px;overflow-x:auto!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .clinic-management-page .management-toolbar>div:first-child::-webkit-scrollbar,
  #page-supplies #tabsbar-supplies::-webkit-scrollbar,
  #page-equipment #tabsbar-equipment::-webkit-scrollbar{display:none}
  .clinic-management-page .os-utab{flex:0 0 auto;min-height:36px;padding:8px 12px!important;white-space:nowrap}
  .management-toolbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;width:100%;padding:0!important}
  .management-toolbar-actions>div,
  .management-toolbar-actions>input[type="text"]{grid-column:1/-1;width:100%!important}
  .management-toolbar-actions .btn,
  .management-toolbar-actions .btn-fp,
  .management-toolbar-actions select{width:100%;min-width:0}
  #os-collapse-all{display:none!important}
  .management-kpi-grid.cols-3,
  .management-kpi-grid.cols-4,
  .management-kpi-grid.cols-5,
  #patients-kpis,#os-kpis{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(225px,82vw);
    gap:10px!important;
    margin:0 -2px 14px!important;
    padding:2px 2px 9px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch
  }
  .management-kpi-grid::-webkit-scrollbar,#patients-kpis::-webkit-scrollbar,#os-kpis::-webkit-scrollbar{display:none}
  .management-kpi{min-height:82px;padding:13px;scroll-snap-align:start;box-shadow:0 3px 12px rgba(15,76,129,.05)}
  .management-kpi small{font-size:10px}
  .management-kpi strong{font-size:20px}
  .management-kpi em{font-size:9px}
  #page-service-orders #os-table,
  #page-service-orders #abonos-os-table,
  #page-service-orders #remglobal-table,
  #page-service-orders #autorizaciones-content .card>div[style*="overflow-x"],
  #page-lab-orders #lab-orders-table{
    position:relative;
    width:calc(100% + 4px);
    margin-left:-2px;
    padding-bottom:8px;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch
  }
  #page-service-orders #os-table table,
  #page-service-orders #abonos-os-table table,
  #page-service-orders #remglobal-table table,
  #page-lab-orders #lab-orders-table table{min-width:720px!important}
  #page-service-orders #autorizaciones-content .card{margin-bottom:12px}
  #page-service-orders #autorizaciones-content .card-head{align-items:flex-start;flex-direction:column;padding:13px}
  #page-service-orders #autorizaciones-content .card-head>div{width:100%;margin-left:0!important}
  #page-service-orders #autorizaciones-content .card-head .btn{flex:1;justify-content:center}
  #abo-count-label,#os-count-label,#lab-orders-count-label{padding:0 2px;text-align:left!important;line-height:1.45}
  .user-menu{position:fixed!important;top:66px!important;right:10px!important;left:10px!important;width:auto!important;max-height:calc(100vh - 78px);overflow-y:auto}
}
@media(max-width:430px){
  .management-toolbar-actions{grid-template-columns:1fr}
  .management-toolbar-actions>*{grid-column:1!important}
  .management-kpi-grid.cols-3,
  .management-kpi-grid.cols-4,
  .management-kpi-grid.cols-5,
  #patients-kpis,#os-kpis{grid-auto-columns:86vw}
  #page-service-orders #autorizaciones-content .card-head>div{display:grid!important;grid-template-columns:1fr!important}
}


/* Submenús de gestión: mayor legibilidad en escritorio */
@media(min-width:769px){
  .clinic-management-page .os-utab{font-size:12px!important;font-weight:650}
}


/* Móvil: filtro y búsqueda de OS comparten una sola línea */
@media(max-width:768px){
  #os-actions{display:flex!important;align-items:center!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:7px!important}
  #os-actions #os-fp-btn{flex:0 0 auto!important;width:auto!important;min-width:88px}
  #os-actions #os-search{grid-column:auto!important;flex:1 1 0!important;width:0!important;min-width:0!important}
}


/* ═══ ENCABEZADO MÓVIL COMPACTO — UNA SOLA JERARQUÍA ═══ */
@media(max-width:768px){
  #mob-topbar{height:48px!important;padding:7px 16px!important;border-bottom:1px solid #e5eaf0;background:#fff}
  #mob-topbar>button{display:flex!important}
  .topbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-top:48px!important;
    padding:7px 14px 9px!important;
    border-bottom:1px solid #e5eaf0
  }
  #topbar-left{grid-column:1;width:100%;min-width:0}
  #topbar-title{font-size:18px!important}
  #topbar-subtitle{font-size:11px!important;line-height:1.3!important}
  #topbar-center{display:none!important}
  #topbar-actions-wrap{display:flex!important;grid-column:1;justify-content:flex-start!important;width:100%!important;margin:1px 0 0!important}
  #period-nav-wrap,#dash-period-nav-wrap{height:36px!important;margin:0!important}
  #period-nav-wrap .period-nav-label,#dash-period-nav-wrap .period-nav-label{font-size:13px!important}
  #tb-bell-wrap>button{display:none!important}
  .clinic-management-page{padding-top:10px!important}
  .clinic-management-page .amway-hd{margin:0 2px 10px!important}
  .clinic-management-page .amway-hd-left{display:none!important}
  .clinic-management-page .management-page-primary .btn-primary,
  #page-lab-orders #lab-orders-hd-right .btn-primary{
    min-height:44px!important;
    font-size:13px!important;
    font-weight:700!important;
    letter-spacing:0!important
  }
}


/* ═══ MÓVIL — CABECERA EN DOS LÍNEAS Y FOOTER REDUCIDO ═══ */
@media(max-width:768px){
  /* Línea 1: marca + contexto de la página */
  #mob-topbar{display:flex!important;align-items:center!important;height:52px!important;padding:7px 14px!important}
  #mob-topbar>img{flex:0 0 28px;width:28px;height:28px}
  #mob-topbar>span{flex:0 0 auto;font-size:14px!important;white-space:nowrap}
  #mob-topbar>button{display:none!important}
  #topbar-left{
    position:fixed!important;
    z-index:552;
    top:7px;
    right:12px;
    left:168px;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    height:38px;
    overflow:hidden;
    text-align:right;
    pointer-events:none
  }
  #topbar-title{width:100%;overflow:hidden;font-size:13px!important;line-height:1.15!important;text-overflow:ellipsis;white-space:nowrap}
  #topbar-subtitle{width:100%;overflow:hidden;font-size:9px!important;line-height:1.2!important;text-overflow:ellipsis;white-space:nowrap}

  /* Línea 2: período + acción + campana */
  .topbar{
    display:block!important;
    min-height:52px!important;
    margin-top:52px!important;
    padding:6px 10px!important
  }
  #topbar-center{display:none!important}
  #topbar-actions-wrap{display:flex!important;align-items:center!important;justify-content:stretch!important;gap:7px!important;width:100%!important;margin:0!important}
  #topbar-actions{display:none!important}
  #period-nav-wrap,#dash-period-nav-wrap{flex:0 0 142px;height:40px!important;min-width:0!important}
  #period-nav-wrap .period-nav-label,#dash-period-nav-wrap .period-nav-label{min-width:72px!important;padding:0 5px!important;font-size:12px!important}
  #period-nav-wrap .period-nav-btn,#dash-period-nav-wrap .period-nav-btn{width:30px!important}
  #topbar-quick-actions{display:none!important;flex:1 1 0;min-width:0}
  body:has(#page-service-orders.active) #topbar-quick-actions{display:flex!important}
  #topbar-quick-actions .home-new-order{
    display:flex!important;
    flex:1 1 0!important;
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    padding:0 9px!important;
    border-radius:10px!important;
    font-size:11px!important
  }
  #topbar-quick-actions .home-new-order span{display:inline!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #tb-bell-wrap{display:block!important;flex:0 0 40px}
  #tb-bell-wrap>button{display:flex!important;width:40px!important;height:40px!important}
  #tb-user-wrap{display:none!important}
  #page-service-orders .amway-hd{display:none!important}
  .clinic-management-page{padding-top:8px!important}

  /* Footer de una sola línea, sin bloque vertical alto */
  .app-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:4px 12px!important;
    min-height:38px;
    padding:8px 10px!important;
    text-align:center
  }
  .app-footer .af-brand{display:none!important}
  .app-footer .af-text{font-size:0!important;white-space:nowrap}
  .app-footer .af-text::after{content:'© 2026 Dent-iOS';font-size:10px;color:var(--ink3)}
  .app-footer .af-links{display:flex!important;gap:10px!important}
  .app-footer .af-links a{font-size:10px!important}
}
@media(max-width:430px){
  #mob-topbar>span{font-size:12.5px!important}
  #topbar-left{left:150px}
  #period-nav-wrap,#dash-period-nav-wrap{flex-basis:126px}
  #topbar-quick-actions .home-new-order{font-size:10.5px!important}
}


/* ═══ MÓVIL — FILTRO EN CABECERA Y BADGES APILADOS ═══ */
#mobile-os-filter{display:none}
@media(max-width:768px){
  /* Más aire para el contexto de página de la primera línea */
  #topbar-left{right:22px!important;left:172px!important;padding-right:2px}
  #topbar-title,#topbar-subtitle{padding-right:2px}

  /* El filtro de OS sube a la línea de acciones */
  body:has(#page-service-orders.active) #mobile-os-filter{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex:0 0 auto;
    height:40px;
    padding:0 11px;
    border:1px solid #d8e0e8;
    border-radius:10px;
    background:#fff;
    color:#344054;
    font:600 10.5px 'Roboto',sans-serif;
    cursor:pointer
  }
  #mobile-os-filter svg{width:15px;height:15px}
  #mobile-os-filter .fp-count:empty{display:none}
  #os-actions #os-fp-btn{display:none!important}
  #os-actions #os-search{flex:1 1 100%!important;width:100%!important}

  /* Todos los badges quedan visibles; ya no hay carrusel horizontal */
  .management-kpi-grid.cols-3,
  .management-kpi-grid.cols-4,
  .management-kpi-grid.cols-5,
  #patients-kpis,#os-kpis{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    gap:10px!important;
    margin:0 0 14px!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important
  }
  .management-kpi{min-width:0;scroll-snap-align:none}
}
@media(max-width:430px){
  #topbar-left{right:16px!important;left:148px!important}
  #period-nav-wrap,#dash-period-nav-wrap{flex-basis:112px!important}
  body:has(#page-service-orders.active) #mobile-os-filter{flex-basis:40px;width:40px;padding:0}
  #mobile-os-filter span{display:none}
  .management-kpi-grid.cols-3,
  .management-kpi-grid.cols-4,
  .management-kpi-grid.cols-5,
  #patients-kpis,#os-kpis{grid-template-columns:1fr!important}
}


/* Móvil: visibilidad fiable del filtro contextual de Órdenes de Servicio */
@media(max-width:768px){
  #mobile-os-filter.mobile-visible{display:flex!important}
  body:has(#page-service-orders.active) #mobile-os-filter:not(.mobile-visible){display:none!important}
  #mobile-os-filter.active-fp{border-color:var(--teal)!important;background:#edf3f7!important;color:#073f68!important}
  #mobile-os-filter .fp-count{display:none;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--teal);color:#fff;font-size:9px;line-height:16px;text-align:center}
}


/* El contexto móvil se ancla al ancho real de Clinic, no al viewport del preview */
@media(max-width:768px){
  .topbar{position:relative!important}
  #topbar-left{
    position:absolute!important;
    top:-45px!important;
    right:18px!important;
    left:172px!important;
    max-width:calc(100% - 190px)!important
  }
}
@media(max-width:430px){
  #topbar-left{right:14px!important;left:148px!important;max-width:calc(100% - 162px)!important}
}


/* Escala tipográfica móvil única para el contexto de todas las páginas */
@media(max-width:768px){
  #topbar-title{font-size:14px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.01em!important}
  #topbar-subtitle{font-size:9.5px!important;font-weight:400!important;line-height:1.2!important;color:#667085!important}
}



/* Inicio móvil: misma jerarquía y ritmo vertical que las páginas de gestión */
@media(max-width:768px){
  #page-dashboard{padding-top:8px!important}
  #tabsbar-dashboard{margin-top:0!important;margin-bottom:8px!important}
  body:has(#page-dashboard.active) #topbar-title{
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:-.01em!important
  }
  body:has(#page-dashboard.active) #topbar-subtitle{
    font-size:9.5px!important;
    font-weight:400!important;
    line-height:1.2!important;
    color:#667085!important
  }
}



/* ═══ TABLAS OPERATIVAS — ESCRITORIO Y TARJETAS MÓVILES ═══ */
.clinic-data-table{
  width:100%;
  color:#172b3a;
  font-variant-numeric:tabular-nums
}
.clinic-data-table thead{
  position:sticky;
  top:0;
  z-index:4
}
.clinic-data-table thead th{
  background:#17354b!important;
  color:#fff!important;
  padding:11px 12px!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase;
  line-height:1.2
}
.clinic-data-table tbody td{
  padding:11px 12px!important;
  font-size:12.5px;
  line-height:1.35
}
#os-table .clinic-data-table tr[id^="os-row-"] td{
  background:#fff;
  border-bottom:1px solid #edf1f4;
  transition:background .15s ease
}
#os-table .clinic-data-table tr[id^="os-row-"]:hover td{background:#f4fafb}
#os-table .clinic-data-table tr[id^="os-row-"]:focus-within td{background:#eef8fa}
.management-mobile-list{display:none}

@media(max-width:768px){
  #abonos-os-table,#labcost-table{overflow:visible!important}
  #abonos-os-table>.clinic-data-table,
  #labcost-table>.clinic-data-table{display:none!important}
  .management-mobile-list{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    padding:0 1px
  }
  .management-record-card{
    min-width:0;
    padding:14px;
    border:1px solid #dfe7ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,76,129,.055)
  }
  .record-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px
  }
  .record-card-head>div{min-width:0}
  .record-card-head h3{
    margin:3px 0 0;
    overflow:hidden;
    color:#142b3a;
    font-size:14px;
    line-height:1.25;
    text-overflow:ellipsis
  }
  .record-eyebrow{
    display:block;
    color:#667085;
    font-size:10px;
    font-weight:600;
    line-height:1.2
  }
  .record-amount{
    flex:0 0 auto;
    font-size:16px;
    line-height:1.2;
    white-space:nowrap
  }
  .record-amount.positive{color:#008b62}
  .record-card-meta,.record-treatment{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:11px
  }
  .record-treatment strong{font-size:12.5px}
  .record-treatment>span:last-child{color:#667085;font-size:11px}
  .record-chip,.record-status{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 8px;
    border-radius:99px;
    background:#f1f5f8;
    color:#40566a;
    font-size:10px;
    font-weight:650;
    line-height:1.1
  }
  .record-chip.code{background:#edf3f7;color:#073f68;font-family:'JetBrains Mono',monospace}
  .record-status.success{background:#eaf8f1;color:#008b62}
  .record-status.warning{background:#fff4e5;color:#bd6e08}
  .record-card-details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:12px 0 0;
    padding-top:11px;
    border-top:1px solid #edf1f4
  }
  .record-card-details div{min-width:0}
  .record-card-details dt{
    margin-bottom:3px;
    color:#7b8998;
    font-size:9.5px;
    font-weight:650;
    text-transform:uppercase
  }
  .record-card-details dd{
    margin:0;
    overflow:hidden;
    color:#243746;
    font-size:11.5px;
    font-weight:550;
    line-height:1.3;
    text-overflow:ellipsis
  }
  .record-card-details dd.money{color:#bd7813;font-size:14px;font-weight:750}
  .record-card-actions,.os-mcard-actions{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:12px
  }
  .record-action-primary,.record-action-secondary,.record-action-danger,.record-action-icon{
    min-height:36px;
    border-radius:9px;
    font:650 11px 'Roboto',sans-serif;
    cursor:pointer
  }
  .record-action-primary{
    flex:1;
    border:1px solid var(--teal);
    background:var(--teal);
    color:#fff
  }
  .record-action-secondary{
    flex:1;
    border:1px solid #cddbe3;
    background:#fff;
    color:#194a68
  }
  .record-action-danger{
    border:1px solid #f0c9c9;
    background:#fff7f7;
    color:#b42318;
    padding:0 12px
  }
  .record-action-icon{
    flex:0 0 36px;
    border:1px solid #cddbe3;
    background:#fff;
    color:#194a68;
    font-size:17px
  }
  .os-mcards{gap:10px!important}
  .os-mcard{
    padding:14px!important;
    border:1px solid #dfe7ec!important;
    border-radius:14px!important;
    box-shadow:0 4px 14px rgba(15,76,129,.055)!important
  }
  .os-mcard-patient{margin-top:5px;font-size:14px!important;line-height:1.25}
  .os-mcard-icons{margin-top:9px}
  .os-mcard-bottom{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px!important;
    margin-top:12px!important;
    padding-top:11px!important;
    border-top:1px solid #edf1f4
  }
  .os-mcard-bottom span{display:block;min-width:0;font-size:10px!important}
  .os-mcard-bottom small{display:block;margin-bottom:3px;color:#7b8998;font-size:9px;text-transform:uppercase}
  .os-mcard-bottom strong{display:block;overflow:hidden;color:#243746;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:390px){
  .record-card-details{grid-template-columns:1fr}
  .record-action-primary,.record-action-secondary{font-size:10.5px}
}



/* ═══ AJUSTE VISIBLE DE TABLA OS EN ESCRITORIO ═══ */
@media(min-width:769px){
  #os-table .otable-wrap{
    overflow:auto!important;
    border:1px solid #d9e3e9!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(20,53,75,.07)!important
  }
  #os-table .os-desktop-table{
    border-collapse:separate!important;
    border-spacing:0!important;
    min-width:1040px
  }
  #os-table .os-desktop-table thead th{
    position:sticky;
    top:0;
    z-index:5;
    height:44px;
    background:#0f536d!important;
    border-radius:0!important;
    box-shadow:inset 0 -1px rgba(255,255,255,.12)
  }
  #os-table .os-desktop-table thead th:first-child{padding-left:18px!important}
  #os-table .os-desktop-table tbody tr[id^="os-row-"] td{
    height:54px;
    padding:12px!important;
    border-bottom:1px solid #e8eef2!important;
    background:#fff!important
  }
  #os-table .os-desktop-table tbody tr[id^="os-row-"]:nth-of-type(4n+1) td{background:#fbfdfe!important}
  #os-table .os-desktop-table tbody tr[id^="os-row-"]:hover td{
    background:#edf3f7!important;
    box-shadow:inset 0 1px #dce4ea,inset 0 -1px #dce4ea
  }
  #os-table .os-desktop-table tbody tr[id^="os-row-"]:hover td:first-child{box-shadow:inset 4px 0 var(--teal),inset 0 1px #dce4ea,inset 0 -1px #dce4ea}
  #os-table .os-desktop-table tbody tr[id^="os-row-"] td:nth-child(2){
    color:#142b3a;
    font-size:13px!important;
    font-weight:700!important
  }
  #os-table .os-desktop-table tbody tr[id^="os-row-"] td:nth-child(3){
    color:#073f68!important;
    font-family:'JetBrains Mono',monospace!important;
    font-size:11.5px!important
  }
  #os-table .os-desktop-table tbody tr[id^="os-row-"] td:nth-child(n+4):nth-child(-n+7){
    font-variant-numeric:tabular-nums;
    font-size:12.5px!important
  }
  #os-table .os-desktop-table .row-actions{justify-content:flex-end;gap:5px;opacity:.72;transition:opacity .15s}
  #os-table .os-desktop-table tr:hover .row-actions,
  #os-table .os-desktop-table tr:focus-within .row-actions{opacity:1}
  #os-table .os-desktop-table .os-act-btn{
    width:31px;
    height:31px;
    border:1px solid #d9e3e9;
    border-radius:8px;
    background:#fff
  }
  #os-table .os-desktop-table .total-row td{
    position:sticky;
    bottom:0;
    z-index:3;
    background:#e9f2f5!important;
    border-top:1px solid #cddde4!important
  }
}

.os-row-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.os-quick-pay-action{
  min-height:32px;
  padding:0 12px;
  border:1px solid var(--teal);
  border-radius:8px;
  background:var(--teal);
  color:#fff;
  font-size:11px;
  font-weight:750;
  cursor:pointer
}
.os-quick-pay-action:hover{filter:brightness(.92)}

/* Detalle de ítems: el contenido largo debe envolver dentro del ancho móvil */
@media(max-width:768px){
  .os-mdetail{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box
  }
  .os-mdetail table,
  .os-mdetail table tbody,
  .os-mdetail table tr,
  .os-mdetail table td{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important
  }
  .os-mdetail table{min-width:0!important;overflow:visible!important}
  .os-mdetail table tr{overflow:hidden}
  .os-mdetail .os-item-description,
  .os-mdetail .os-item-description>div{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important
  }
  .os-mdetail .os-item-description>div:first-child{
    color:#142b3a;
    font-size:13.5px!important;
    line-height:1.4!important
  }
  .os-mdetail .os-item-description>div:nth-child(2){
    align-items:flex-start!important
  }
}



/* ═══ ESCRITORIO — LENGUAJE ÚNICO PARA LISTA, ABONOS Y LABORATORIOS ═══ */
.os-item-description,
.os-item-description>div{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important
}
.os-item-description>div:first-child{display:block;width:100%;line-height:1.45}

@media(min-width:769px){
  #os-table .os-desktop-table,
  #abonos-os-table .clinic-data-table,
  #labcost-table .clinic-data-table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff
  }
  #os-table .os-desktop-table>thead>tr>th,
  #abonos-os-table .clinic-data-table>thead>tr>th,
  #labcost-table .clinic-data-table>thead>tr>th{
    height:44px!important;
    padding:11px 14px!important;
    background:#153b53!important;
    color:#fff!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:inset 0 -1px rgba(255,255,255,.12)
  }
  #os-table .os-desktop-table>thead>tr>th:first-child,
  #abonos-os-table .clinic-data-table>thead>tr>th:first-child,
  #labcost-table .clinic-data-table>thead>tr>th:first-child{border-radius:12px 0 0 0!important}
  #os-table .os-desktop-table>thead>tr>th:last-child,
  #abonos-os-table .clinic-data-table>thead>tr>th:last-child,
  #labcost-table .clinic-data-table>thead>tr>th:last-child{border-radius:0 12px 0 0!important}

  #abonos-os-table .clinic-data-table>tbody,
  #labcost-table .clinic-data-table>tbody{
    box-shadow:none!important;
    border-radius:0!important
  }
  #abonos-os-table .clinic-data-table>tbody>tr:not([onclick])>td,
  #abonos-os-table .clinic-data-table>tbody>tr[class^="abo-grp-row-"]>td,
  #labcost-table .clinic-data-table>tbody>tr[class^="lab-grp-row-"]>td{
    height:52px;
    padding:11px 14px!important;
    background:#fff!important;
    border-top:0!important;
    border-bottom:1px solid #e7edf1!important;
    border-radius:0!important
  }
  #abonos-os-table .clinic-data-table>tbody>tr:not([onclick]):hover>td,
  #abonos-os-table .clinic-data-table>tbody>tr[class^="abo-grp-row-"]:hover>td,
  #labcost-table .clinic-data-table>tbody>tr[class^="lab-grp-row-"]:hover>td{
    background:#f5f7f9!important
  }

  #os-table .os-desktop-table tr.grp-header>td,
  #abonos-os-table .clinic-data-table>tbody>tr[onclick*="toggleAboGrp"]>td,
  #labcost-table .clinic-data-table>tbody>tr[onclick*="toggleLabGrp"]>td{
    height:46px;
    padding:10px 14px!important;
    background:#edf3fb!important;
    color:#24466b!important;
    border-top:1px solid #d5e1ef!important;
    border-bottom:1px solid #d5e1ef!important;
    border-radius:0!important;
    box-shadow:none!important
  }
  #os-table .os-desktop-table tr.grp-header>td:first-child,
  #abonos-os-table .clinic-data-table>tbody>tr[onclick*="toggleAboGrp"]>td:first-child,
  #labcost-table .clinic-data-table>tbody>tr[onclick*="toggleLabGrp"]>td:first-child{
    border-left:4px solid #3f66ad!important
  }
  #os-table .os-desktop-table tr.grp-header>td *,
  #abonos-os-table .clinic-data-table>tbody>tr[onclick*="toggleAboGrp"]>td *,
  #labcost-table .clinic-data-table>tbody>tr[onclick*="toggleLabGrp"]>td *{
    color:inherit!important
  }
  #os-table .os-desktop-table tr.grp-header>td:last-child,
  #abonos-os-table .clinic-data-table>tbody>tr[onclick*="toggleAboGrp"]>td:last-child,
  #labcost-table .clinic-data-table>tbody>tr[onclick*="toggleLabGrp"]>td:last-child{
    color:#008b62!important;
    font-variant-numeric:tabular-nums
  }
  #abonos-os-table .clinic-data-table,
  #labcost-table .clinic-data-table{min-width:980px!important}
  #abonos-os-table,
  #labcost-table{
    overflow:auto!important;
    border:1px solid #d9e3e9;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,53,75,.06)
  }
  #abonos-os-table .clinic-data-table+div,
  #labcost-table .clinic-data-table+div{
    margin:0!important;
    padding:12px 14px!important;
    border-top:1px solid #d9e3e9;
    background:#f7fafc
  }
}



/* Encabezado OS: especificidad final para evitar que la regla heredada lo vuelva gris */
@media(min-width:769px){
  #page-service-orders #os-table .os-desktop-table>thead>tr{
    background:#153b53!important
  }
  #page-service-orders #os-table .os-desktop-table>thead>tr>th{
    background:#153b53!important;
    color:#fff!important;
    border-bottom:0!important
  }
}



/* ═══ AUTORIZACIONES Y REMISIONES — TABLAS RESPONSIVAS ═══ */
.authorization-table-wrap{
  overflow:auto;
  border:1px solid #d9e3e9;
  border-radius:12px;
  background:#fff
}
.authorization-table{width:100%;min-width:760px}
.remissions-table{width:100%;min-width:920px}

@media(min-width:769px){
  #remglobal-table{
    overflow:auto!important;
    border:1px solid #d9e3e9;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,53,75,.06)
  }
  #page-service-orders .remissions-table>thead>tr>th,
  #page-service-orders .authorization-table>thead>tr>th{
    height:44px!important;
    padding:11px 14px!important;
    background:#153b53!important;
    color:#fff!important;
    border:0!important;
    border-radius:0!important
  }
  #page-service-orders .remissions-table>thead>tr>th:first-child,
  #page-service-orders .authorization-table>thead>tr>th:first-child{border-radius:12px 0 0 0!important}
  #page-service-orders .remissions-table>thead>tr>th:last-child,
  #page-service-orders .authorization-table>thead>tr>th:last-child{border-radius:0 12px 0 0!important}
  #page-service-orders .remissions-table>tbody>tr>td,
  #page-service-orders .authorization-table>tbody>tr>td{
    height:52px;
    padding:11px 14px!important;
    border-bottom:1px solid #e7edf1!important;
    background:#fff!important;
    vertical-align:middle
  }
  #page-service-orders .remissions-table>tbody>tr:hover>td,
  #page-service-orders .authorization-table>tbody>tr:hover>td{background:#f5f7f9!important}
  .authorization-case{
    overflow:hidden;
    border:1px solid #d9e3e9!important;
    border-radius:14px!important;
    box-shadow:0 8px 22px rgba(20,53,75,.055)!important
  }
  .authorization-case>.card-head{
    padding:14px 16px!important;
    background:#f7fafc;
    border-bottom:1px solid #d9e3e9
  }
  .authorization-case .authorization-table-wrap{
    margin:14px 16px 0
  }
}

@media(max-width:768px){
  #remglobal-table{overflow:visible!important}
  .remissions-table,
  .authorization-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border:0!important
  }
  .remissions-table thead,
  .authorization-table thead{display:none!important}
  .remissions-table tbody,
  .authorization-table tbody{
    display:grid!important;
    width:100%!important;
    gap:10px
  }
  .remissions-table tbody tr,
  .authorization-table tbody tr{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    padding:13px!important;
    border:1px solid #dfe7ec!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(15,76,129,.05);
    box-sizing:border-box
  }
  .remissions-table tbody td,
  .authorization-table tbody td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid #edf1f4!important;
    background:transparent!important;
    box-sizing:border-box;
    white-space:normal!important;
    overflow-wrap:anywhere
  }
  .remissions-table tbody td:last-child,
  .authorization-table tbody td:last-child{border-bottom:0!important}
  .remissions-table tbody td::before,
  .authorization-table tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#7b8998;
    font-size:9px;
    font-weight:700;
    letter-spacing:.035em;
    text-transform:uppercase
  }
  .remissions-table .record-name,
  .authorization-table .authorization-item-name{
    color:#142b3a;
    font-size:13.5px!important;
    line-height:1.35
  }
  .remissions-table .record-code{color:#073f68!important}
  .authorization-table-wrap{
    overflow:visible!important;
    border:0!important;
    border-radius:0!important
  }
  .authorization-case{
    overflow:hidden;
    border:1px solid #dfe7ec!important;
    border-radius:14px!important
  }
  .authorization-case>.card-head{
    display:flex!important;
    padding:13px!important;
    background:#f7fafc
  }
  .authorization-case>.card-head h3{
    width:100%;
    color:#142b3a!important;
    font-size:14px!important;
    line-height:1.35
  }
  .authorization-case>.card-head h3 span{
    display:block;
    margin-top:4px;
    line-height:1.35
  }
  .authorization-case>.card-head>div{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%;
    margin-left:0!important
  }
  .authorization-case>.card-head>div>span{grid-column:1/-1;line-height:1.4}
  .authorization-case>.card-head .btn{
    width:100%;
    min-width:0;
    white-space:normal!important
  }
  .authorization-case .authorization-table-wrap{padding:10px}
  .authorization-table input,
  .authorization-table select{
    display:block;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box
  }
  .authorization-case>div:last-child{
    padding:10px 13px!important;
    text-align:left!important
  }
}
@media(max-width:390px){
  .authorization-case>.card-head>div{grid-template-columns:1fr}
  .authorization-case>.card-head>div>span{grid-column:auto}
}



/* ═══ PACIENTES — TABLA Y DETALLE RESPONSIVOS ═══ */
.patients-table-responsive{width:100%}
@media(min-width:769px){
  #page-patients #patients-table{
    overflow:auto!important;
    border:1px solid #d9e3e9;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,53,75,.06)
  }
  #page-patients .patients-table-responsive>thead>tr>th{
    height:44px!important;
    padding:11px 16px!important;
    background:#153b53!important;
    color:#fff!important;
    border:0!important;
    border-radius:0!important
  }
  #page-patients .patients-table-responsive>thead>tr>th:first-child{border-radius:12px 0 0 0!important}
  #page-patients .patients-table-responsive>thead>tr>th:last-child{border-radius:0 12px 0 0!important;text-align:right}
  #page-patients .patients-table-responsive>tbody>tr[id^="pat-row-"]>td{
    height:58px;
    padding:11px 16px!important;
    border-bottom:1px solid #e7edf1!important;
    background:#fff!important
  }
  #page-patients .patients-table-responsive>tbody>tr[id^="pat-row-"]:hover>td{background:#f5f7f9!important}
  #page-patients .patient-detail{padding:14px 16px!important;background:#f6f9fb}
  #page-patients .patient-detail-stats{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:8px!important
  }
  #page-patients .patient-stat{min-width:0;padding:10px 8px!important}
  #page-patients .patient-stat>div:first-child{font-size:15px!important}
  #page-patients .patient-stat>div:nth-child(2){font-size:9px!important;line-height:1.2}
  #page-patients .patient-stat>div:last-child{font-size:15px!important;white-space:nowrap}
  #page-patients .patient-os-head{
    min-height:34px;
    padding:7px 12px!important;
    border-radius:9px 9px 0 0;
    background:#eaf0f4;
    color:#526677!important
  }
  #page-patients .patient-os-list{gap:0!important}
  #page-patients .patient-os-row{
    min-height:44px;
    padding:8px 12px!important;
    border-radius:0!important;
    border-width:0 1px 1px!important
  }
}
@media(min-width:769px) and (max-width:1180px){
  #page-patients .patient-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

@media(max-width:768px){
  #page-patients #patients-table{
    overflow:visible!important;
    border:0!important;
    background:transparent!important
  }
  .patients-table-responsive,
  .patients-table-responsive tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important
  }
  .patients-table-responsive thead{display:none!important}
  .patients-table-responsive>tbody>tr[id^="pat-row-"]{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%!important;
    margin-bottom:10px;
    padding:13px;
    border:1px solid #dfe7ec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,76,129,.05);
    box-sizing:border-box
  }
  .patients-table-responsive>tbody>tr[id^="pat-row-"]>td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 4px!important;
    border:0!important;
    background:transparent!important;
    box-sizing:border-box
  }
  .patients-table-responsive>tbody>tr[id^="pat-row-"]>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:3px;
    color:#7b8998;
    font-size:9px;
    font-weight:700;
    letter-spacing:.035em;
    text-transform:uppercase
  }
  .patients-table-responsive .patient-main-cell,
  .patients-table-responsive .patient-actions-cell{grid-column:1/-1}
  .patients-table-responsive .patient-main-cell::before{display:none!important}
  .patients-table-responsive .patient-main-cell strong{
    display:block;
    max-width:100%;
    font-size:14px!important;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:anywhere
  }
  .patients-table-responsive .patient-actions-cell{
    margin-top:5px;
    padding-top:10px!important;
    border-top:1px solid #edf1f4!important
  }
  .patients-table-responsive .patient-actions-cell::before{display:none!important}
  .patients-table-responsive .patient-actions-cell .row-actions{justify-content:flex-start!important;opacity:1}
  .patients-table-responsive>tbody>tr[data-grpdetail]{display:none!important}
  .patients-table-responsive>tbody>tr[data-grpdetail][style*="table-row"]{
    display:block!important;
    width:100%!important;
    margin:-4px 0 12px
  }
  .patients-table-responsive>tbody>tr[data-grpdetail]>td{
    display:block!important;
    width:100%!important;
    padding:0!important;
    box-sizing:border-box
  }
  .patient-detail{
    width:100%;
    padding:12px!important;
    border:1px solid #dfe7ec;
    border-radius:14px;
    box-sizing:border-box
  }
  #page-patients .patient-detail-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important
  }
  #page-patients .patient-stat{min-width:0;padding:10px 6px!important}
  #page-patients .patient-stat>div:first-child{font-size:15px!important}
  #page-patients .patient-stat>div:nth-child(2){font-size:8.5px!important;line-height:1.2}
  #page-patients .patient-stat>div:last-child{
    overflow:hidden;
    font-size:14px!important;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .patient-os-head{display:none!important}
  .patient-os-list{gap:8px!important}
  .patient-os-row{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px!important;
    padding:11px!important;
    border:1px solid #dfe7ec!important;
    border-radius:11px!important
  }
  .patient-os-row>span{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important
  }
  .patient-os-row>span::before{
    display:block;
    margin-bottom:2px;
    color:#7b8998;
    font-size:8.5px;
    font-weight:700;
    text-transform:uppercase
  }
  .patient-os-row>span:nth-child(1)::before{content:'OS'}
  .patient-os-row>span:nth-child(2)::before{content:'Inicio'}
  .patient-os-row>span:nth-child(3)::before{content:'Doctor/a'}
  .patient-os-row>span:nth-child(4)::before{content:'Nota'}
  .patient-os-row>span:nth-child(5)::before{content:'Autorizado'}
  .patient-os-row>span:nth-child(6)::before{content:'Saldo'}
  .patient-os-row>span:nth-child(7)::before{content:'Estado'}
  .patient-os-row>span:nth-child(3),
  .patient-os-row>span:nth-child(4){grid-column:1/-1}
  .patient-detail-actions{display:grid!important;grid-template-columns:1fr 1fr}
  .patient-detail-actions .btn{width:100%;min-width:0;white-space:normal!important}
}
@media(max-width:390px){
  #page-patients .patient-detail-stats{grid-template-columns:1fr!important}
  .patient-os-row{grid-template-columns:1fr}
  .patient-os-row>span:nth-child(3),
  .patient-os-row>span:nth-child(4){grid-column:auto}
}



/* Encabezados continuos: sin espacios blancos entre columnas */
.authorization-table,
.remissions-table{
  border-collapse:separate!important;
  border-spacing:0!important
}



/* Autorizaciones: acordeón por caso */
.auth-case-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid #cfdbe3;
  border-radius:8px;
  background:#fff;
  color:#24466b;
  font-size:15px;
  cursor:pointer
}
.auth-case-toggle:hover{background:#edf7f8;border-color:#9fcfd5}
.authorization-case>.card-head>h3{flex:1;min-width:260px}
@media(max-width:768px){
  .authorization-case>.card-head{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr);
    align-items:start!important
  }
  .authorization-case>.card-head>.auth-case-toggle{grid-column:1}
  .authorization-case>.card-head>h3{
    grid-column:2;
    width:auto!important;
    min-width:0!important;
    margin-top:5px
  }
  .authorization-case>.card-head>div{
    grid-column:1/-1;
    margin-top:4px
  }
}


/* ═══ ARQUITECTURA: ANÁLISIS CENTRAL Y FINANZAS ═══ */
.patients-table-responsive{border-collapse:separate!important;border-spacing:0!important}
#page-patients .patients-table-responsive>thead>tr>th+th{border-left:0!important}
.central-analytics{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.central-analytics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.central-analytics-head span{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.09em}
.central-analytics-head h2{margin:3px 0 0;font-family:'Fraunces',serif;font-size:24px}
.central-analytics-head p{max-width:480px;margin:0;color:var(--ink3);font-size:13px;text-align:right}
.central-analysis-module{margin-bottom:12px;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}
.central-analysis-module>summary{display:flex;align-items:center;gap:10px;padding:15px 18px;color:var(--ink);font-size:15px;font-weight:800;cursor:pointer;list-style:none}
.central-analysis-module>summary::-webkit-details-marker{display:none}
.central-analysis-module>summary::before{content:'›';color:var(--teal);font-size:22px;line-height:1;transition:transform .15s}
.central-analysis-module[open]>summary::before{transform:rotate(90deg)}
.central-analysis-module>summary span{margin-left:auto;color:var(--ink3);font-size:12px;font-weight:500}
.central-analysis-module>div{padding:0 16px 16px}
.finance-module-nav{margin-bottom:10px}
@media(max-width:768px){
  .central-analytics{margin-top:18px;padding-top:16px}
  .central-analytics-head{display:block}
  .central-analytics-head h2{font-size:20px}
  .central-analytics-head p{margin-top:5px;text-align:left}
  .central-analysis-module>summary{align-items:flex-start;padding:13px 14px}
  .central-analysis-module>summary span{display:none}
  .central-analysis-module>div{padding:0 8px 10px}
  .finance-module-nav>div{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-module-nav .os-utab{justify-content:flex-start;min-width:0;white-space:normal}
}


/* ═══ INICIO: LEGIBILIDAD DE ACCESOS Y VALORES MONETARIOS ═══ */
.home-quick-copy span{font-size:10px!important;line-height:1.25}
.home-quick-copy strong{margin-top:5px;font-size:14px!important;line-height:1.3}
.home-quick-group>small{font-size:9px!important}
.home-quick-actions button strong{font-size:11px!important}
.home-quick-actions button em{font-size:9px!important}
.home-metric-money{gap:10px;padding-left:14px;padding-right:14px}
.home-metric-money .home-metric-icon{flex-basis:42px;width:42px;height:42px}
.home-metric-money .home-metric-icon svg{width:22px;height:22px}
.home-metric-money .home-metric-copy strong{
  overflow:visible;
  font-size:20px;
  letter-spacing:-.035em;
  text-overflow:clip
}
.home-metric-long .home-metric-copy strong{font-size:17px}
@media(min-width:1281px){
  .home-metrics{
    grid-template-columns:repeat(4,minmax(0,1fr)) minmax(240px,1.25fr) minmax(210px,1.1fr)!important
  }
}
@media(max-width:768px){
  .home-quick-copy span{font-size:9.5px!important}
  .home-quick-copy strong{font-size:13px!important}
  .home-metric-money .home-metric-copy strong{font-size:18px}
  .home-metric-long .home-metric-copy strong{font-size:16px}
}


/* Mantiene legibles las etiquetas largas de los indicadores con el sidebar expandido */
.home-metric-copy small{
  display:flex;
  align-items:flex-end;
  min-height:29px;
  line-height:1.2;
  white-space:normal
}


/* ═══ PACIENTES: BARRA DE GESTIÓN DIRECTA, SIN PESTAÑA REDUNDANTE ═══ */
.patients-management-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:8px 10px!important
}
.patients-toolbar-primary{display:flex;align-items:center;flex:0 0 auto}
.patients-toolbar-primary .btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 16px;
  border-radius:10px;
  font-size:12px;
  font-weight:800
}
#page-patients #pat-actions{margin-left:auto}
@media(max-width:768px){
  .patients-management-toolbar{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding:8px!important
  }
  .patients-toolbar-primary,.patients-toolbar-primary .btn{width:100%}
  .patients-toolbar-primary .btn{justify-content:center}
  #page-patients #pat-actions{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:7px!important;
    width:100%;
    margin-left:0
  }
  #page-patients #pat-actions>button:first-child{grid-column:1/-1}
  #page-patients #pat-actions>div{width:100%}
  #page-patients #patients-search{width:100%!important}
}


/* ═══ PACIENTES: JERARQUÍA DEL DETALLE EXPANDIBLE ═══ */
#page-patients .patient-detail-primary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:9px!important
}
#page-patients .patient-stat{
  min-width:0;
  padding:12px 10px!important;
  border:1px solid #dfe7ec;
  border-radius:11px;
  background:#fff;
  text-align:left!important
}
#page-patients .patient-stat .patient-stat-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  margin-bottom:8px;
  border-radius:9px;
  background:#edf3f7;
  color:var(--teal);
  font-size:0!important
}
#page-patients .patient-stat .patient-stat-icon svg{width:16px;height:16px}
#page-patients .patient-stat .patient-stat-label{
  margin:0 0 4px!important;
  color:#667085;
  font-size:9.5px!important;
  font-weight:750;
  letter-spacing:.035em;
  line-height:1.2;
  text-transform:uppercase
}
#page-patients .patient-stat .patient-stat-value{
  overflow:hidden;
  font-size:18px!important;
  font-weight:800;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap
}
#page-patients .patient-detail-secondary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:15px;
  padding:8px 10px;
  border:1px solid #e1e8ed;
  border-radius:10px;
  background:#edf3f6
}
#page-patients .patient-secondary-stat{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:3px 7px
}
#page-patients .patient-secondary-stat+ .patient-secondary-stat{border-left:1px solid #d8e2e8}
#page-patients .patient-secondary-stat>span{display:grid;place-items:center;color:#0f7f91}
#page-patients .patient-secondary-stat svg{width:15px;height:15px}
#page-patients .patient-secondary-stat small{
  overflow:hidden;
  color:#667085;
  font-size:10px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap
}
#page-patients .patient-secondary-stat strong{color:#153b53;font-size:13px;white-space:nowrap}
#page-patients .patient-detail-section-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  color:#344054
}
#page-patients .patient-detail-section-head strong{
  font-size:11px;
  letter-spacing:.045em;
  text-transform:uppercase
}
#page-patients .patient-detail-section-head span{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:99px;
  background:#dff4f6;
  color:#008b9d;
  font-size:10px;
  font-weight:800
}
@media(max-width:768px){
  #page-patients .patient-detail-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-patients .patient-stat .patient-stat-value{font-size:16px!important}
  #page-patients .patient-detail-secondary{grid-template-columns:1fr;padding:6px 9px}
  #page-patients .patient-secondary-stat+ .patient-secondary-stat{
    border-top:1px solid #d8e2e8;
    border-left:0
  }
  #page-patients .patient-detail-actions{display:grid!important;grid-template-columns:1fr!important}
  #page-patients .patient-detail-actions .btn{width:100%;justify-content:center}
}


/* ═══ FINANZAS: JERARQUÍA, ALCANCE DEL PERÍODO Y RESPONSIVE ═══ */
.finance-period-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid #d9e3e9;
  border-radius:10px;
  background:#f5f7f9;
  color:#526677;
  font-size:11.5px;
  line-height:1.45
}
.finance-period-note svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px;color:var(--teal)}
.finance-period-note strong{color:#294b5c}
#page-liquidacion #liq-kpis>.card,
#page-liquidacion [data-liq-row2]>.card{
  min-width:0;
  border-color:#dfe7ec!important;
  border-radius:13px!important;
  box-shadow:0 6px 18px rgba(15,76,129,.055)!important
}
#page-liquidacion #liq-kpis>.card>div:first-child>div,
#page-liquidacion [data-liq-row2]>.card>div:first-child>div{
  font-size:11.5px!important;
  line-height:1.25;
  letter-spacing:.035em!important
}
#page-liquidacion #liq-kpis>.card>div:nth-child(2),
#page-liquidacion [data-liq-row2]>.card>div:nth-child(2){
  overflow:hidden;
  max-width:100%;
  font-family:'Montserrat',sans-serif!important;
  font-size:clamp(19px,1.65vw,25px)!important;
  letter-spacing:-.035em;
  text-overflow:ellipsis;
  white-space:nowrap
}
#page-liquidacion #liq-kpis>.card>div:nth-child(3),
#page-liquidacion [data-liq-row2]>.card>div:nth-child(3){
  min-height:30px;
  line-height:1.35
}
#page-liquidacion #tabsbar-liquidacion{margin-bottom:12px}
#page-liquidacion #tabsbar-liquidacion-tabs .os-utab{font-size:12px!important}
@media(max-width:1180px) and (min-width:769px){
  #page-liquidacion #liq-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:768px){
  #page-liquidacion #tabsbar-liquidacion{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important
  }
  #page-liquidacion #tabsbar-liquidacion-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%
  }
  #page-liquidacion #tabsbar-liquidacion-tabs .os-utab{
    justify-content:flex-start;
    min-width:0;
    padding:10px 11px!important;
    white-space:normal
  }
  #page-liquidacion #liq-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%
  }
  #page-liquidacion #liq-profesional{width:100%;min-width:0!important}
  #page-liquidacion #liq-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:10px!important
  }
  #page-liquidacion [data-liq-row2]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:12px!important
  }
  #page-liquidacion #liq-kpis>.card,
  #page-liquidacion [data-liq-row2]>.card{padding:13px!important}
  #page-liquidacion #liq-kpis>.card>div:nth-child(2),
  #page-liquidacion [data-liq-row2]>.card>div:nth-child(2){font-size:17px!important}
  .finance-period-note{font-size:10.5px}
}
@media(max-width:390px){
  #page-liquidacion #liq-kpis,
  #page-liquidacion [data-liq-row2]{grid-template-columns:1fr!important}
}


/* ═══ FINANZAS: TABLA DE BALANCE UNIFICADA ═══ */
#page-liquidacion .finance-table-wrap{
  width:100%;
  overflow:hidden;
  border-top:1px solid #dfe7ec
}
#page-liquidacion .finance-balance-table{table-layout:auto}
#page-liquidacion .finance-balance-table th{
  border-left:0!important;
  border-right:0!important;
  border-color:#dbe5eb!important;
  font-size:11px;
  letter-spacing:.025em
}
#page-liquidacion .finance-balance-table td{border-color:#e2e9ee!important}
#page-liquidacion .finance-balance-table .finance-doctor-row:hover{background:#f7fbfc!important}
#page-liquidacion .finance-balance-table .finance-total-row td{font-size:13px}

@media(max-width:768px){
  #page-liquidacion #liquidacion-content>.card{overflow:hidden}
  #page-liquidacion #liquidacion-content>.card>.card-head{padding:13px 14px}
  #page-liquidacion #liquidacion-content>.card>.card-head h3{
    font-size:15px;
    line-height:1.25
  }
  #page-liquidacion .finance-table-wrap{
    overflow:visible;
    border-top:0;
    background:#f4f7f9
  }
  #page-liquidacion .finance-balance-table,
  #page-liquidacion .finance-balance-table tbody{
    display:block;
    width:100%
  }
  #page-liquidacion .finance-balance-table thead{display:none}
  #page-liquidacion .finance-balance-table tbody{
    padding:9px;
  }
  #page-liquidacion .finance-balance-table tr.finance-origin-row{
    display:block;
    margin:3px 0 7px;
    border:0!important;
    background:transparent!important
  }
  #page-liquidacion .finance-balance-table tr.finance-origin-row td{
    display:block;
    padding:5px 4px!important;
    border:0!important;
    color:#506879!important;
    font-size:10px!important;
    line-height:1.35
  }
  #page-liquidacion .finance-balance-table tr.finance-doctor-row,
  #page-liquidacion .finance-balance-table tr.finance-total-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;
    margin-bottom:9px;
    padding:11px 12px;
    border:1px solid #dbe5eb!important;
    border-radius:12px;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(15,76,129,.045)
  }
  #page-liquidacion .finance-balance-table tr.finance-total-row{
    border-color:#d9e3e9!important;
    background:#edf3f7!important
  }
  #page-liquidacion .finance-balance-table tr.finance-doctor-row td,
  #page-liquidacion .finance-balance-table tr.finance-total-row td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:6px 0!important;
    border:0!important;
    border-bottom:1px solid #edf1f4!important;
    text-align:right!important;
    font-size:12px!important
  }
  #page-liquidacion .finance-balance-table tr.finance-doctor-row td:first-child,
  #page-liquidacion .finance-balance-table tr.finance-total-row td:first-child{
    grid-column:1/-1;
    padding:1px 0 9px!important;
    color:#073f68!important;
    font-size:13px!important;
    text-align:left!important
  }
  #page-liquidacion .finance-balance-table tr.finance-doctor-row td:nth-child(6),
  #page-liquidacion .finance-balance-table tr.finance-doctor-row td:nth-child(7),
  #page-liquidacion .finance-balance-table tr.finance-total-row td:nth-child(6),
  #page-liquidacion .finance-balance-table tr.finance-total-row td:nth-child(7){border-bottom:0!important}
  #page-liquidacion .finance-balance-table td:empty{display:none!important}
  #page-liquidacion .finance-balance-table td:nth-child(n+2)::before{
    flex:1 1 auto;
    color:#718393;
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;
    text-align:left;
    text-transform:uppercase
  }
  #page-liquidacion .finance-balance-table td:nth-child(2)::before{content:'Ingresos'}
  #page-liquidacion .finance-balance-table td:nth-child(3)::before{content:'% ingresos'}
  #page-liquidacion .finance-balance-table td:nth-child(4)::before{content:'Costo labs'}
  #page-liquidacion .finance-balance-table td:nth-child(5)::before{content:'% labs'}
  #page-liquidacion .finance-balance-table td:nth-child(6)::before{content:'Clínica'}
  #page-liquidacion .finance-balance-table td:nth-child(7)::before{content:'Profesional'}
}


/* ═══ FINANZAS: PESTAÑAS IDÉNTICAS A ÓRDENES DE SERVICIO ═══ */
#page-liquidacion #tabsbar-liquidacion{
  align-items:center!important;
  flex-direction:row!important;
  gap:0!important;
  margin-bottom:16px!important;
  padding:5px!important;
  border:1px solid #e5eaf0!important;
  border-radius:13px!important;
  background:#f5f7f9!important;
  overflow:hidden
}
#page-liquidacion #tabsbar-liquidacion-tabs{
  display:flex!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
  min-width:0;
  width:auto
}
#page-liquidacion #tabsbar-liquidacion-tabs .os-utab{
  justify-content:center;
  min-height:34px;
  padding:7px 12px!important;
  border:0!important;
  border-radius:9px;
  color:#667085;
  font-size:10.5px!important;
  font-weight:600;
  white-space:nowrap
}
#page-liquidacion #tabsbar-liquidacion-tabs .os-utab.os-utab-active{
  background:#fff!important;
  color:#0f4c81!important;
  box-shadow:0 2px 7px rgba(15,76,129,.09)
}
#page-liquidacion #liq-actions{padding:0 3px}

@media(max-width:768px){
  #page-liquidacion #tabsbar-liquidacion{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important;
    margin-bottom:13px!important
  }
  #page-liquidacion #tabsbar-liquidacion-tabs{
    width:100%!important;
    overflow-x:auto;
    scrollbar-width:none
  }
  #page-liquidacion #tabsbar-liquidacion-tabs::-webkit-scrollbar{display:none}
  #page-liquidacion #tabsbar-liquidacion-tabs .os-utab{
    flex:0 0 auto;
    min-height:36px;
    padding:8px 12px!important;
    font-size:12px!important;
    font-weight:650;
    white-space:nowrap
  }
  #page-liquidacion #liq-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%;
    padding:0!important
  }
}
@media(max-width:390px){
  #page-liquidacion #liq-actions{grid-template-columns:1fr!important}
}


/* ═══ FINANZAS: CUENTAS, ANTICIPOS Y PREPAGADAS UNIFICADOS ═══ */
#page-cuentas-cobro .finance-module-nav,
#page-cuentas-cobro #cc-tabs{
  align-items:center;
  margin-bottom:12px!important;
  padding:5px!important;
  border:1px solid #e5eaf0;
  border-radius:13px;
  background:#f5f7f9;
  overflow:hidden
}
#page-cuentas-cobro .finance-module-nav>div:first-child,
#page-cuentas-cobro #cc-tabs>div:first-child{
  display:flex!important;
  grid-template-columns:none!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none
}
#page-cuentas-cobro .finance-module-nav>div:first-child::-webkit-scrollbar,
#page-cuentas-cobro #cc-tabs>div:first-child::-webkit-scrollbar{display:none}
#page-cuentas-cobro .finance-module-nav .os-utab,
#page-cuentas-cobro #cc-tabs .os-utab{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 12px!important;
  border:0!important;
  border-radius:9px;
  color:#667085;
  font-size:10.5px!important;
  white-space:nowrap!important
}
#page-cuentas-cobro .finance-module-nav .os-utab-active,
#page-cuentas-cobro #cc-tabs .os-utab-active{
  background:#fff!important;
  color:#0f4c81!important;
  box-shadow:0 2px 7px rgba(15,76,129,.09)
}
#page-cuentas-cobro #cc-filters-estandar,
#page-cuentas-cobro #cc-filters-prepagadas{padding:0 3px}
#page-cuentas-cobro .cc-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px!important;
  margin:0 0 14px!important
}
#page-cuentas-cobro .cc-summary-grid>div{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  min-width:0;
  min-height:54px;
  padding:10px 12px!important;
  border:1px solid #e1e8ed!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(15,76,129,.045)
}
#page-cuentas-cobro .cc-summary-filter{
  display:flex!important;
  align-items:center;
  justify-content:space-between!important;
  min-width:0;
  min-height:54px;
  padding:10px 12px!important;
  border:1px solid #e1e8ed!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(15,76,129,.045);
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease
}
#page-cuentas-cobro .cc-summary-filter:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,76,129,.1)}
#page-cuentas-cobro .cc-summary-filter:focus-visible{outline:3px solid rgba(11,126,160,.2);outline-offset:2px}
#page-cuentas-cobro .cc-summary-filter.is-selected{
  border-color:var(--teal)!important;
  background:rgba(11,126,160,.07)!important;
  box-shadow:0 0 0 2px rgba(11,126,160,.18)
}
#page-cuentas-cobro .cc-summary-filter-total.is-selected span:last-child{color:var(--teal)!important}
#page-cuentas-cobro .cc-summary-action{cursor:pointer}

#page-cuentas-cobro #cc-content table{border-collapse:separate!important;border-spacing:0!important}
#page-cuentas-cobro #cc-content thead th{
  border-left:0!important;
  border-right:0!important;
  font-size:10.5px;
  letter-spacing:.025em
}

.finance-kpi-grid{margin:14px 0 18px}
.finance-kpi-grid-inner,
.finance-prep-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 18px!important
}
.finance-advance-kpis .finance-kpi-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.finance-stat-card{
  min-width:0;
  min-height:112px;
  padding:16px 18px!important;
  border:1px solid #dfe7ec!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,76,129,.05)!important
}
.finance-stat-card>div:first-child,
.finance-stat-label{
  margin-bottom:6px!important;
  color:var(--finance-accent,var(--ink3))!important;
  font-size:11.5px!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:none!important
}
.finance-stat-card>div:nth-child(2):not(.finance-person-row),
.finance-stat-value{
  overflow:hidden;
  color:var(--finance-accent,var(--ink))!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:clamp(20px,1.7vw,26px)!important;
  font-weight:700!important;
  letter-spacing:-.035em;
  line-height:1.1!important;
  text-overflow:ellipsis;
  white-space:nowrap
}
.finance-stat-card>div:nth-child(3),
.finance-stat-sub{margin-top:7px!important;color:var(--ink3)!important;font-size:11px!important}
.finance-advance-people{min-height:112px}
.finance-person-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:4px 0;
  border-bottom:1px solid #edf1f4;
  font-size:12px
}
.finance-person-row:last-child{border-bottom:0}
.finance-prep-note{margin-bottom:14px!important}
.finance-data-card{overflow:hidden}
.finance-record-wrap{width:100%;overflow:hidden}
.finance-record-table{width:100%}
.finance-record-table thead th{
  border-left:0!important;
  border-right:0!important;
  background:#173f58!important;
  color:#fff!important;
  font-size:10.5px!important;
  letter-spacing:.025em
}

@media(max-width:1180px) and (min-width:769px){
  #page-cuentas-cobro .cc-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .finance-prep-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:768px){
  #page-cuentas-cobro .finance-module-nav,
  #page-cuentas-cobro #cc-tabs{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important
  }
  #page-cuentas-cobro .finance-module-nav>div:first-child,
  #page-cuentas-cobro #cc-tabs>div:first-child{width:100%!important}
  #page-cuentas-cobro .finance-module-nav .os-utab,
  #page-cuentas-cobro #cc-tabs .os-utab{
    min-height:36px;
    padding:8px 12px!important;
    font-size:12px!important
  }
  #page-cuentas-cobro #cc-filters-estandar,
  #page-cuentas-cobro #cc-filters-prepagadas{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px!important;
    width:100%;
    padding:0!important
  }
  #page-cuentas-cobro .cc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-cuentas-cobro .cc-summary-grid>div{min-height:58px}
  .finance-kpi-grid-inner,
  .finance-prep-kpis,
  .finance-advance-kpis .finance-kpi-grid-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important
  }
  .finance-stat-card{min-height:96px;padding:13px!important}
  .finance-stat-card>div:nth-child(2):not(.finance-person-row),
  .finance-stat-value{font-size:18px!important}
  .finance-record-table,
  .finance-record-table tbody,
  .finance-record-table tfoot{display:block;width:100%}
  .finance-record-table thead{display:none}
  .finance-record-table tbody{padding:8px;background:#f4f7f9}
  .finance-record-table tr.finance-record-row,
  .finance-record-table tr.finance-record-total{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 12px;
    margin-bottom:8px;
    padding:10px 11px;
    border:1px solid #dbe5eb!important;
    border-radius:11px;
    background:#fff!important
  }
  .finance-record-table tr.finance-record-total{background:#edf3f7!important}
  .finance-record-table tr.finance-record-row td,
  .finance-record-table tr.finance-record-total td{
    display:flex;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:6px 0!important;
    border:0!important;
    border-bottom:1px solid #edf1f4!important;
    text-align:right!important;
    font-size:11px!important
  }
  .finance-record-table tr.finance-record-row td:first-child,
  .finance-record-table tr.finance-record-total td:first-child{
    grid-column:1/-1;
    color:#073f68;
    font-size:12px!important;
    font-weight:700
  }
  .finance-record-table td:empty{display:none!important}
  .finance-record-table td::before{
    flex:1;
    color:#718393;
    font-size:8.5px;
    font-weight:700;
    letter-spacing:.035em;
    text-align:left;
    text-transform:uppercase
  }
  .finance-advances-table tr.finance-record-group{
    display:table-row;
    margin-bottom:4px
  }
  .finance-advances-table tr.finance-record-group td{font-size:11px!important}
  .finance-advances-table td:nth-child(1)::before{content:'Fecha'}
  .finance-advances-table td:nth-child(2)::before{content:'Quién'}
  .finance-advances-table td:nth-child(3)::before{content:'Monto'}
  .finance-advances-table td:nth-child(4)::before{content:'Nota'}
  .finance-advances-table td:nth-child(5)::before{content:'Acciones'}
  .finance-prepaid-table td:nth-child(1)::before{content:'Doctor'}
  .finance-prepaid-table td:nth-child(2)::before{content:'OS'}
  .finance-prepaid-table td:nth-child(3)::before{content:'Autorizado'}
  .finance-prepaid-table td:nth-child(4)::before{content:'Lab reservado'}
  .finance-prepaid-table td:nth-child(5)::before{content:'Base'}
  .finance-prepaid-table td:nth-child(6)::before{content:'%'}
  .finance-prepaid-table td:nth-child(7)::before{content:'Doctor'}
  .finance-prepaid-table td:nth-child(8)::before{content:'Clínica'}
}
@media(max-width:390px){
  #page-cuentas-cobro .cc-summary-grid,
  .finance-kpi-grid-inner,
  .finance-prep-kpis,
  .finance-advance-kpis .finance-kpi-grid-inner{grid-template-columns:1fr!important}
  #page-cuentas-cobro #cc-filters-estandar,
  #page-cuentas-cobro #cc-filters-prepagadas{grid-template-columns:1fr!important}
}


/* ═══ TABLAS DE FINANZAS — ESCRITORIO Y MÓVIL ═══ */
.management-table-wrap{
  width:100%;
  overflow:hidden;
  border:1px solid #dce6eb;
  border-radius:13px;
  background:#fff
}
.management-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #dce6eb;
  border-radius:13px;
  background:#fff;
  overflow:hidden
}
.management-table-wrap .management-table{border:0;border-radius:0}
.management-table thead th{
  padding:11px 12px!important;
  border:0!important;
  background:#173f58!important;
  color:#fff!important;
  font-size:10.5px!important;
  font-weight:750!important;
  letter-spacing:.025em;
  line-height:1.25;
  text-transform:uppercase
}
.management-table tbody td{
  padding:11px 12px!important;
  border:0!important;
  border-bottom:1px solid #e4ebef!important;
  vertical-align:middle
}
.management-table tbody tr:last-child td{border-bottom:0!important}
.management-table .management-table-row:hover td{background:#f7fbfc}
.management-table tfoot td{
  padding:11px 12px!important;
  border:0!important;
  border-top:2px solid #b9d8df!important;
  background:#edf5f7!important;
  font-weight:700
}
#page-cuentas-cobro .cc-summary-grid>button{
  min-height:54px;
  margin:0!important;
  justify-content:center;
  border-radius:11px
}
#page-cuentas-cobro #cc-content>table,
#page-cuentas-cobro #cc-recibidas-content table{margin-bottom:12px}
.finance-record-group-cell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 16px!important;
  border-radius:11px;
  background:#315b85!important;
  color:#fff!important
}
.finance-record-group-label{display:flex;align-items:center;gap:6px;font-weight:700}
.finance-record-group-label>span:last-child{color:rgba(255,255,255,.74);font-size:11px;font-weight:500}
.finance-record-group-cell>strong{color:#9be8c4}
.finance-record-caret{color:rgba(255,255,255,.72);font-size:10px}
.finance-record-group.is-collapsed .finance-record-group-cell{
  background:#eaf2f8!important;
  color:#17486e!important
}
.finance-record-group.is-collapsed .finance-record-group-label>span:last-child{color:#6d8190}
.finance-record-group.is-collapsed .finance-record-group-cell>strong{color:#008d65}

@media(max-width:768px){
  .management-table-wrap{border:0;background:transparent;overflow:visible}
  .management-table,
  .management-table tbody,
  .management-table tfoot{
    display:block;
    width:100%!important;
    border:0;
    border-radius:0;
    background:transparent
  }
  .management-table thead{display:none}
  .management-table tbody{
    display:grid;
    gap:8px;
    padding:0;
  }
  .management-table tr.management-table-row,
  .management-table tr.management-table-total{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 12px;
    padding:10px 11px;
    border:1px solid #dbe5eb!important;
    border-radius:11px;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(15,76,129,.045)
  }
  .management-table tr.management-table-total{
    margin-top:8px;
    border-color:#d9e3e9!important;
    background:#edf3f7!important
  }
  .management-table tr.management-table-row td,
  .management-table tr.management-table-total td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:6px 0!important;
    border:0!important;
    border-bottom:1px solid #edf1f4!important;
    text-align:right!important;
    font-size:11px!important;
    overflow-wrap:anywhere
  }
  .management-table tr.management-table-row td:first-child,
  .management-table tr.management-table-total td:first-child{
    grid-column:1/-1;
    padding-bottom:8px!important;
    color:#073f68!important;
    font-size:12px!important;
    font-weight:700!important;
    text-align:left!important
  }
  .management-table td:empty{display:none!important}
  .management-table td::before{
    flex:1 1 auto;
    color:#718393;
    font-size:8.5px;
    font-weight:750;
    letter-spacing:.035em;
    text-align:left;
    text-transform:uppercase
  }
  .management-table .row-actions{justify-content:flex-end;flex-wrap:wrap}
  .management-table-media-row{
    display:block;
    margin:-9px 0 8px;
    padding:0 11px 10px;
    border:1px solid #dbe5eb;
    border-top:0;
    border-radius:0 0 11px 11px;
    background:#fff
  }
  .management-table-media-row td{display:block!important;border:0!important}
  .management-table-media-row td::before{content:none!important}

  .cc-history-table td:nth-child(1)::before{content:'Cierre'}
  .cc-history-table td:nth-child(2)::before{content:'OS'}
  .cc-history-table td:nth-child(3)::before{content:'Paciente'}
  .cc-history-table td:nth-child(4)::before{content:'Convenio'}
  .cc-history-table td:nth-child(5)::before{content:'Autorizado'}
  .cc-history-table td:nth-child(6)::before{content:'Costo lab'}
  .cc-history-table td:nth-child(7)::before{content:'Doctor'}
  .cc-history-table td:nth-child(8)::before{content:'Clínica'}
  .cc-history-table td:nth-child(9)::before{content:'Estado'}
  .cc-history-table td:nth-child(10)::before{content:'Acción'}

  .cc-received-table td:nth-child(1)::before{content:'Doctor'}
  .cc-received-table td:nth-child(2)::before{content:'Período'}
  .cc-received-table td:nth-child(3)::before{content:'Casos'}
  .cc-received-table td:nth-child(4)::before{content:'Total'}
  .cc-received-table td:nth-child(5)::before{content:'Neto'}
  .cc-received-table td:nth-child(6)::before{content:'A pagar'}
  .cc-received-table td:nth-child(7)::before{content:'Estado'}
  .cc-received-table td:nth-child(8)::before{content:'Enviada'}
  .cc-received-table td:nth-child(9)::before{content:'Acciones'}

  .cc-case-items-table tr.management-table-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .cc-case-items-table td:nth-child(1)::before{content:'Ítem'}
  .cc-case-items-table td:nth-child(2)::before{content:'Estado'}
  .cc-case-items-table td:nth-child(3)::before{content:'Valor'}

  .cc-pending-summary-table td:nth-child(1)::before{content:'Cierre'}
  .cc-pending-summary-table td:nth-child(2)::before{content:'OS'}
  .cc-pending-summary-table td:nth-child(3)::before{content:'Paciente'}
  .cc-pending-summary-table td:nth-child(4)::before{content:'Convenio'}
  .cc-pending-summary-table td:nth-child(5)::before{content:'Autorizado'}
  .cc-pending-summary-table td:nth-child(6)::before{content:'Costo lab'}
  .cc-pending-summary-table td:nth-child(7)::before{content:'Doctor'}
  .cc-pending-summary-table td:nth-child(8)::before{content:'Clínica'}

  .finance-record-wrap{overflow:visible}
  .finance-record-table tr.finance-record-group{display:block!important;margin:0 0 7px}
  .finance-record-group-cell{
    display:flex!important;
    padding:10px 12px!important;
    border:0!important
  }
  .finance-record-group-cell::before{content:none!important}
  .finance-advances-table tbody{display:block;padding:0 0 8px!important;background:transparent!important}
  .finance-advances-table tr.finance-record-row,
  .finance-prepaid-table tr.finance-record-row,
  .finance-prepaid-table tr.finance-record-total{
    margin-bottom:8px;
    box-shadow:0 3px 10px rgba(15,76,129,.045)
  }
}
@media(max-width:430px){
  #page-cuentas-cobro .cc-summary-grid>button{grid-column:1/-1}
}


/* ═══ AYUDA ÚNICA — BOTÓN PERSISTENTE EN EL PIE ═══ */
.footer-help-btn{
  position:fixed;
  right:18px;
  bottom:16px;
  z-index:920;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:linear-gradient(135deg,#0b4c63,#0b7ea0);
  color:#fff;
  font:700 13px/1 'Roboto',sans-serif;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(11,76,99,.3);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.footer-help-btn:hover{transform:translateY(-2px);box-shadow:0 11px 30px rgba(11,76,99,.38)}
.footer-help-btn:focus-visible{outline:3px solid rgba(20,184,166,.3);outline-offset:3px}
.footer-help-btn[aria-expanded="true"]{background:#173f58}

#help-chat-panel{
  position:fixed;
  right:18px;
  bottom:70px;
  z-index:921;
  width:380px;
  max-width:calc(100vw - 36px);
  max-height:min(600px,calc(100vh - 100px));
  display:none;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 48px rgba(23,63,88,.24);
}
#help-chat-panel.open{display:flex}
#help-chat-panel[aria-hidden="false"]{display:flex}

@media print{
  .footer-help-btn,#help-chat-panel{display:none!important}
}
@media(max-width:768px){
  .footer-help-btn{
    right:12px;
    bottom:76px;
    min-height:40px;
    padding:0 14px;
    font-size:12px;
    gap:7px;
  }
  #help-chat-panel{
    left:10px;
    right:10px;
    bottom:124px;
    width:auto;
    max-width:none;
    max-height:calc(100vh - 190px);
    border-radius:16px;
  }
  #help-chat-panel #help-messages{max-height:calc(100vh - 320px);min-height:180px}
}


/* Corrección: el encabezado agrupado de Anticipos conserva todo el ancho en escritorio. */
@media(min-width:769px){
  .finance-advances-table .finance-record-group-cell{
    display:table-cell!important;
    width:100%!important;
    border-radius:11px;
  }
  .finance-advances-table .finance-record-group-label{display:inline-flex}
  .finance-advances-table .finance-record-group-cell>strong{float:right}
}
/* El acceso a notas rápidas no compite con el asistente único. */
#ck-fab,#ck-panel{display:none!important}


/* ═══ ANÁLISIS CENTRAL — JERARQUÍA Y GRÁFICOS RESPONSIVOS ═══ */
.analysis-page{padding-bottom:24px}
.analysis-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
  padding:22px 24px;
  border:1px solid #cfe6ea;
  border-radius:16px;
  background:linear-gradient(135deg,#f3fbfc 0%,#f8fbff 55%,#f7f3ff 100%)
}
.analysis-eyebrow,.analysis-section-head span{
  display:block;
  color:#07859a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em
}
.analysis-intro h2{
  margin:4px 0 5px;
  font-family:'Fraunces',serif;
  font-size:26px;
  line-height:1.1;
  color:#112c3e
}
.analysis-intro p{
  max-width:760px;
  color:var(--ink3);
  font-size:13px;
  line-height:1.5
}
.analysis-period-hint{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  color:#52697a;
  font-size:11.5px;
  font-weight:600;
  white-space:nowrap
}
.analysis-period-hint span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#11a8b6;
  box-shadow:0 0 0 4px rgba(17,168,182,.12)
}
.analysis-scope{
  margin-bottom:18px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff
}
.analysis-scope-month{background:#fbfcfe}
.analysis-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px
}
.analysis-section-head h3{
  margin-top:3px;
  color:#173f58;
  font-family:'Fraunces',serif;
  font-size:19px;
  line-height:1.15
}
.analysis-section-head p{
  color:var(--ink3);
  font-size:11.5px;
  text-align:right
}
.analysis-kpi-grid{
  display:grid!important;
  gap:12px!important;
  margin:0!important
}
.analysis-kpi-grid+ .analysis-kpi-grid{margin-top:12px!important}
.analysis-kpi-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.analysis-kpi-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.analysis-kpi-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.analysis-kpi-grid>div{
  min-width:0;
  min-height:112px;
  padding:15px 16px!important;
  border-radius:13px!important;
  box-shadow:none
}
.analysis-kpi-grid>div>div:nth-child(2){
  overflow-wrap:anywhere;
  font-size:clamp(19px,1.55vw,27px)!important;
  letter-spacing:-.035em
}
.analysis-charts-scope{padding-bottom:2px}
#dash-resumen-extra>div[style*="grid-template-columns"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important
}
#dash-resumen-extra .card{
  min-width:0;
  overflow:hidden;
  border-radius:13px
}
#dash-resumen-extra [style*="overflow-x"]{max-width:100%;overflow-x:auto}
.analysis-two-column{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:20px
}
.analysis-two-column>.card{min-width:0;overflow:hidden}
.central-analysis-module[open]{box-shadow:0 6px 20px rgba(23,63,88,.06)}
.central-analysis-module[open]>summary{background:#f5fafb;border-bottom:1px solid var(--border)}

@media(max-width:1180px) and (min-width:769px){
  .analysis-kpi-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .analysis-kpi-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:768px){
  .analysis-page{padding-top:0}
  .analysis-intro{
    display:block;
    margin-bottom:12px;
    padding:15px;
    border-radius:13px
  }
  .analysis-intro h2{font-size:21px}
  .analysis-intro p{font-size:12px}
  .analysis-period-hint{margin-top:12px;white-space:normal;font-size:10.5px}
  .analysis-scope{margin-bottom:12px;padding:12px;border-radius:13px}
  .analysis-section-head{display:block;margin-bottom:10px}
  .analysis-section-head h3{font-size:17px}
  .analysis-section-head p{margin-top:4px;text-align:left;font-size:10.5px}
  .analysis-kpi-grid-five,
  .analysis-kpi-grid-four,
  .analysis-kpi-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .analysis-kpi-grid{gap:8px!important}
  .analysis-kpi-grid+ .analysis-kpi-grid{margin-top:8px!important}
  .analysis-kpi-grid>div{min-height:96px;padding:12px!important}
  .analysis-kpi-grid>div>div:nth-child(2){font-size:18px!important}
  #dash-resumen-extra>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
    gap:10px!important
  }
  .analysis-two-column{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
}
@media(max-width:390px){
  .analysis-kpi-grid-five,
  .analysis-kpi-grid-four,
  .analysis-kpi-grid-three{grid-template-columns:1fr!important}
  .analysis-kpi-grid>div{min-height:auto}
}


/* ═══ GRÁFICOS — COMPONENTES LEGIBLES Y NAVEGABLES ═══ */
.dash-chart-card{min-width:0;overflow:hidden;border-radius:13px!important}
.dash-chart-head{gap:12px;min-height:50px}
.dash-chart-head h3{min-width:0;line-height:1.25}
.dash-chart-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  margin-left:auto;
  padding:6px 9px;
  border:1px solid #cfe0e7;
  border-radius:8px;
  background:#fff;
  color:#087f91;
  font:700 10.5px/1 'Roboto',sans-serif;
  cursor:pointer
}
.dash-chart-link:hover{border-color:#13a6b5;background:#f0fafb}
.dash-empty-state{padding:24px;color:var(--ink3);font-size:12px;text-align:center}
.dash-bar-list{display:flex;flex-direction:column;gap:12px;padding:16px 18px}
.dash-bar-row{
  display:grid;
  grid-template-columns:minmax(100px,130px) minmax(90px,1fr) minmax(42px,96px);
  align-items:center;
  gap:11px
}
.dash-bar-label{
  overflow:hidden;
  color:var(--ink2);
  font-size:11.5px;
  line-height:1.2;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap
}
.dash-bar-track{height:14px;overflow:hidden;border-radius:5px;background:#edf3f7}
.dash-bar-fill{height:100%;min-width:3px;border-radius:5px;transition:width .35s ease}
.dash-bar-value{color:var(--ink);font-size:11.5px;font-weight:750;text-align:right;white-space:nowrap}
.dash-bar-value.is-money{font-size:10.5px}
.dash-donut-body{display:flex;align-items:center;gap:24px;padding:20px;flex-wrap:wrap}
.dash-donut-wrap{position:relative;width:152px;height:152px;flex:0 0 152px}
.dash-donut{width:100%;height:100%;border-radius:50%;-webkit-mask:radial-gradient(circle 45px at center,transparent 98%,#000 100%);mask:radial-gradient(circle 45px at center,transparent 98%,#000 100%)}
.dash-donut-total{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.dash-donut-total strong{color:#173f58;font-size:23px;line-height:1}
.dash-donut-total span{margin-top:3px;color:var(--ink3);font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.dash-donut-legend{min-width:170px;flex:1}
.dash-donut-legend-row{display:grid;grid-template-columns:11px minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:8px;font-size:11.5px}
.dash-donut-swatch{width:11px;height:11px;border-radius:3px}
.dash-donut-label{overflow:hidden;color:var(--ink2);text-overflow:ellipsis;white-space:nowrap}
.dash-donut-legend-row strong{color:#173f58}
.dash-donut-legend-row em{min-width:34px;color:var(--ink3);font-style:normal;font-weight:650;text-align:right}
.dash-columns-scroll{max-width:100%;overflow:hidden;padding:18px 16px 14px}
.dash-columns-plot{display:flex;align-items:flex-end;gap:9px;height:180px;border-bottom:1px solid var(--border)}
.dash-column-item{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.dash-column-value{color:var(--ink2);font-size:10.5px;font-weight:700;white-space:nowrap}
.dash-column-bar{width:62%;max-width:52px;border-radius:5px 5px 0 0;transition:height .35s ease}
.dash-column-label{max-width:100%;overflow:hidden;color:var(--ink3);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.dash-column-item.is-dense .dash-column-value,.dash-column-item.is-dense .dash-column-label{font-size:9px}

@media(max-width:768px){
  .dash-chart-head{min-height:46px;padding:11px 12px!important}
  .dash-chart-head h3{font-size:13px!important}
  .dash-chart-link{padding:6px 8px;font-size:9.5px}
  .dash-bar-list{gap:10px;padding:13px 12px}
  .dash-bar-row{grid-template-columns:minmax(72px,92px) minmax(62px,1fr) minmax(38px,76px);gap:7px}
  .dash-bar-label{font-size:10px;text-align:left}
  .dash-bar-value,.dash-bar-value.is-money{font-size:9.5px}
  .dash-donut-body{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;padding:14px 12px}
  .dash-donut-wrap{width:118px;height:118px;flex-basis:118px}
  .dash-donut{ -webkit-mask:radial-gradient(circle 36px at center,transparent 98%,#000 100%);mask:radial-gradient(circle 36px at center,transparent 98%,#000 100%)}
  .dash-donut-total strong{font-size:19px}
  .dash-donut-legend{min-width:0}
  .dash-donut-legend-row{grid-template-columns:9px minmax(0,1fr) auto;gap:6px;font-size:10px}
  .dash-donut-swatch{width:9px;height:9px}
  .dash-donut-legend-row em{display:none}
  .dash-columns-scroll{overflow:visible;padding:12px}
  .dash-columns-plot{
    display:flex;
    min-width:0!important;
    height:auto;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    border-bottom:0
  }
  .dash-column-item,.dash-column-item.is-dense{
    display:grid;
    grid-template-areas:'label bar value';
    grid-template-columns:minmax(70px,95px) minmax(60px,1fr) minmax(38px,68px);
    align-items:center;
    gap:7px
  }
  .dash-column-label{grid-area:label;font-size:9.5px!important;text-align:left}
  .dash-column-bar{grid-area:bar;width:var(--dash-size)!important;max-width:none;height:12px!important;border-radius:4px}
  .dash-column-value{grid-area:value;font-size:9px!important;text-align:right}
}
@media(max-width:390px){
  .dash-donut-body{grid-template-columns:1fr}
  .dash-donut-wrap{margin:auto}
}


/* ═══ ANÁLISIS — PESTAÑAS Y PERÍODO SIEMPRE DISPONIBLE ═══ */
.analysis-sticky-nav{
  position:sticky;
  top:0;
  z-index:430;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding:8px;
  border:1px solid #d5e2e8;
  border-radius:13px;
  background:rgba(247,250,252,.96);
  box-shadow:0 8px 20px rgba(23,63,88,.08);
  backdrop-filter:blur(12px)
}
.analysis-view-tabs{display:flex;align-items:center;gap:3px;min-width:0}
.analysis-view-tab{
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#52697a;
  font:700 11.5px/1 'Roboto',sans-serif;
  cursor:pointer;
  white-space:nowrap
}
.analysis-view-tab:hover{background:#edf5f7;color:#173f58}
.analysis-view-tab.active{
  background:#fff;
  color:#075c75;
  box-shadow:0 2px 8px rgba(23,63,88,.12)
}
.analysis-period-control{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding-left:10px;
  border-left:1px solid #d5e2e8
}
.analysis-period-control>span{
  margin-right:2px;
  color:#718393;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.analysis-period-control select{
  min-height:34px;
  padding:0 28px 0 10px;
  border:1px solid #cbdbe2;
  border-radius:8px;
  background:#fff;
  color:#173f58;
  font:700 11px/1 'Roboto',sans-serif;
  outline:none;
  cursor:pointer
}
.analysis-period-control select:focus{border-color:#13a6b5;box-shadow:0 0 0 3px rgba(19,166,181,.12)}
.analysis-view-panel{animation:analysis-panel-in .18s ease}
@keyframes analysis-panel-in{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
#analysis-view-modules .central-analytics{margin-top:0;padding-top:0;border-top:0}
.analysis-page>.analysis-intro{margin-bottom:10px;padding-top:17px;padding-bottom:17px}

@media(max-width:900px) and (min-width:769px){
  .analysis-sticky-nav{align-items:stretch;flex-direction:column}
  .analysis-period-control{justify-content:flex-end;padding:7px 0 0;border-top:1px solid #d5e2e8;border-left:0}
}
@media(max-width:768px){
  .analysis-sticky-nav{
    top:48px;
    align-items:stretch;
    flex-direction:column;
    gap:7px;
    margin-left:-4px;
    margin-right:-4px;
    padding:7px;
    border-radius:11px
  }
  .analysis-view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
  .analysis-view-tab{min-width:0;min-height:34px;padding:0 5px;font-size:10px}
  .analysis-period-control{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) 82px;
    gap:5px;
    padding:7px 0 0;
    border-top:1px solid #d5e2e8;
    border-left:0
  }
  .analysis-period-control>span{padding-left:4px}
  .analysis-period-control select{width:100%;min-width:0;min-height:32px;font-size:10.5px}
  .analysis-page>.analysis-intro{padding:13px;margin-bottom:8px}
}
@media(max-width:390px){
  .analysis-view-tab{font-size:9.5px}
  .analysis-period-control{grid-template-columns:minmax(0,1fr) 78px}
  .analysis-period-control>span{display:none}
}

/* ── NUEVA OLAB ── */
#lab-order-clinic-overlay{overscroll-behavior:contain}
#tooth-form-popup{z-index:14000!important}
.olab-wizard-modal{
  width:min(1100px,96vw)!important;
  max-height:96vh!important
}
.olab-wizard-modal h2,
.olab-wizard-modal .olab-section-title{
  font-family:'Montserrat',sans-serif!important
}
.olab-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.olab-info-grid>.fg{min-width:0}
.olab-info-grid>.olab-full{grid-column:1/-1}
.olab-info-grid input,
.olab-info-grid select,
.olab-wizard-modal textarea{
  min-height:44px;
  border-width:1px!important
}
.olab-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:16px
}
.olab-wizard-actions{display:flex;gap:10px}
.olab-wizard-modal .odonto-wrap{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain
}

@media(max-width:768px){
  #lab-order-clinic-overlay{
    align-items:flex-end;
    padding:0!important
  }
  .olab-wizard-modal{
    width:100%!important;
    height:100dvh!important;
    max-width:100%!important;
    max-height:100dvh!important;
    border:0!important;
    border-radius:0!important
  }
  .olab-wizard-modal .modal-top{padding:16px!important}
  #wizard-steps-bar-wrap{padding:12px 8px!important}
  #wizard-steps-bar .wiz-step{min-width:48px;padding:0 4px!important}
  #wizard-steps-bar .wiz-step span{font-size:9px!important}
  #olab-wizard-layout{display:block!important;overflow:hidden}
  #wiz-main-body{
    height:100%;
    padding:20px 16px!important;
    overflow-y:auto!important
  }
  .olab-info-grid,
  .olab-summary-grid{
    grid-template-columns:1fr!important
  }
  #wp3-protesis>div,
  #wp3-guarda>div,
  #wp3-modelo>div{
    grid-template-columns:1fr!important
  }
  #wiz-side-panel{display:none!important}
  .olab-wizard-modal .odonto-wrap{padding:14px 10px}
  .olab-wizard-modal #odontogram{min-width:700px}
  .olab-wizard-modal .sum-table{
    display:block;
    overflow-x:auto;
    white-space:nowrap
  }
  .olab-wizard-modal .modal-foot{
    align-items:stretch;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important
  }
  #wiz-foot-info{display:none}
  .olab-wizard-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%
  }
  .olab-wizard-actions .btn{width:100%;min-height:42px;padding:9px 12px}
  #btn-send-order{grid-column:1/-1}
}

@media(max-width:390px){
  #wizard-steps-bar .wiz-step span{display:none}
  #wizard-steps-bar-wrap{padding:10px 6px!important}
  #wiz-main-body{padding:16px 12px!important}
}

/* ── NUEVA ORDEN DE SERVICIO ── */
.os-form-modal{max-width:1080px!important}
.os-form-modal .modal-body{
  padding:20px 24px;
  scroll-behavior:auto;
  scrollbar-gutter:stable
}
.os-form-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc
}
.os-form-meta-grid>div:nth-child(5){grid-column:span 2}
.os-form-people-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px
}
.os-form-meta-grid>div,
.os-form-people-grid>div{min-width:0}
.os-form-meta-grid input,
.os-form-meta-grid select,
.os-form-people-grid input,
.os-form-people-grid select,
#os-notes{
  min-height:40px;
  border-width:1px!important;
  border-radius:9px!important;
  background:#fff
}
.os-form-modal label{line-height:1.2}
.os-items-table-wrap{
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:11px;
  overscroll-behavior-inline:contain
}
.os-items-table-wrap table{width:100%;min-width:920px}
.os-items-table-wrap thead th{
  padding:9px 10px;
  border-bottom:1px solid var(--border);
  color:var(--ink2);
  font-size:11px;
  font-weight:600;
  letter-spacing:.4px;
  text-align:left;
  text-transform:uppercase
}
.os-items-table-wrap thead th:nth-child(1){width:auto}
.os-items-table-wrap thead th:nth-child(2){width:115px}
.os-items-table-wrap thead th:nth-child(3){width:60px}
.os-items-table-wrap thead th:nth-child(4){width:110px}
.os-items-table-wrap thead th:nth-child(5){width:110px}
.os-items-table-wrap thead th:nth-child(6){width:105px}
.os-items-table-wrap thead th:nth-child(7){width:100px}
.os-items-table-wrap thead th:nth-child(8){width:42px}
.os-item-shell{padding:0!important}
.os-item-card{padding:11px 12px 12px}
.os-item-primary{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 105px 55px 105px 105px 100px 90px 32px;
  gap:10px;
  align-items:center
}
.os-item-field{min-width:0}
.os-item-field-label{display:none}
.os-item-treatment{overflow:hidden;text-overflow:ellipsis}
.os-item-subtotal{
  color:var(--teal);
  font-size:14px;
  font-weight:700;
  text-align:right;
  white-space:nowrap
}
.os-item-status-wrap{text-align:center}
.os-item-status-wrap .pill{font-size:11px}
.os-item-remove{
  display:flex;
  width:30px;
  height:30px;
  padding:0;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--ink3);
  cursor:pointer
}
.os-item-remove:hover{background:#fff1ef;color:var(--red)}
.os-item-lab-line{
  display:grid;
  grid-template-columns:100px minmax(280px,1fr) 130px;
  gap:12px;
  align-items:start;
  margin-top:10px;
  padding:10px 10px 0;
  border-top:1px dashed #d7e0e8;
  background:#f8fafc
}
.os-item-lab-title{
  padding-top:8px;
  color:var(--ink2);
  font-size:11px;
  font-weight:700;
  letter-spacing:.45px;
  text-transform:uppercase
}
.os-item-lab-match{
  min-height:15px;
  margin:4px 2px 8px;
  color:var(--ink3);
  font-size:10.5px;
  line-height:1.3
}
.os-item-lab-price span{
  display:block;
  margin-bottom:4px;
  color:var(--ink3);
  font-size:10px;
  font-weight:700;
  letter-spacing:.35px;
  text-transform:uppercase
}
.os-item-lab:disabled{background:#eef2f5!important;color:#66788a!important;cursor:not-allowed}
#os-total-preview{
  border:1px solid #dce4ea;
  background:#f5f7f9!important;
  color:#0f4c81!important
}
#os-save-btn:disabled{
  opacity:.6;
  cursor:wait;
  transform:none!important
}

@media(max-width:900px){
  .os-form-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-form-meta-grid>div:nth-child(5){grid-column:1/-1}
}

@media(max-width:768px){
  .os-form-modal{max-width:100%!important}
  .os-form-modal .modal-top{padding:14px 16px}
  .os-form-modal .modal-top h2{font-size:18px}
  .os-form-modal .modal-body{padding:14px 12px}
  .os-form-meta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px
  }
  .os-form-meta-grid>div:nth-child(5){grid-column:1/-1}
  .os-form-people-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .os-form-modal .modal-foot{
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))
  }
  .os-form-modal .modal-foot .btn{
    flex:1;
    min-height:42px
  }
}

@media(max-width:560px){
  .os-form-people-grid{grid-template-columns:1fr}
  .os-form-meta-grid input,
  .os-form-meta-grid select,
  .os-form-people-grid input,
  .os-form-people-grid select,
  #os-notes{font-size:13px!important}
}

@media(max-width:390px){
  .os-form-meta-grid{grid-template-columns:1fr}
  .os-form-meta-grid>div:nth-child(5){grid-column:auto}
}

/* ── NUEVO PACIENTE ── */
#modal-overlay:has(#pm-idnum) .modal{max-width:760px!important}
#modal-overlay:has(#pm-idnum) .modal-body{
  padding:20px 24px;
  scroll-behavior:auto
}
#modal-overlay:has(#pm-idnum) .fgrid{gap:14px 16px}
#modal-overlay:has(#pm-idnum) .fg{margin-bottom:0}
#modal-overlay:has(#pm-idnum) .fg input,
#modal-overlay:has(#pm-idnum) .fg select,
#modal-overlay:has(#pm-idnum) .fg textarea,
#modal-overlay:has(#pm-idnum) .phone-wrap{
  min-height:42px;
  border-width:1px!important;
  border-radius:9px!important
}
.patient-lookup-intro{
  margin-bottom:16px;
  padding:12px 14px;
  border:1px solid #dce4ea;
  border-radius:10px;
  background:#f5f7f9;
  color:#52677a;
  font-size:12.5px;
  line-height:1.45
}
.patient-duplicate-warn{
  margin-bottom:14px;
  padding:11px 14px;
  border:1px solid #dce4ea;
  border-radius:10px;
  font-size:12.5px;
  line-height:1.45
}
.patient-duplicate-warn.is-loading{
  background:#f5f7f9;
  color:#52677a
}
.patient-duplicate-warn.is-found{
  border-color:#b9decf;
  background:#f0faf5;
  color:#176b4b
}
.patient-duplicate-warn.is-found span{
  color:#52677a;
  font-size:11.5px
}
.patient-duplicate-warn.is-error{
  border-color:#efc9c2;
  background:#fff6f4;
  color:#a3503d
}
#modal-overlay:has(#pm-idnum) .modal-foot .btn{
  min-height:40px;
  padding:9px 16px;
  border-radius:10px
}
#modal-overlay:has(#pm-idnum) #modal-save:disabled{
  opacity:.6;
  cursor:wait;
  transform:none!important
}

@media(max-width:768px){
  #modal-overlay:has(#pm-idnum) .modal-body{padding:16px 14px}
  #modal-overlay:has(#pm-idnum) .fgrid{gap:12px}
  #modal-overlay:has(#pm-idnum) .modal-foot{
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))
  }
  #modal-overlay:has(#pm-idnum) .modal-foot .btn{flex:1}
}

/* ═══ CLINIC UI · CONSOLIDADO v50 ═══ */
:root{
  --clinic-header-height:78px;
  --analysis-sticky-height:56px
}

.screen.active#screen-app .main>.topbar{
  position:sticky!important;
  top:0!important;
  z-index:240!important;
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 18px rgba(23,63,88,.07);
  backdrop-filter:blur(14px)
}

.screen.active#screen-app .main{
  scroll-padding-top:calc(var(--clinic-header-height) + var(--analysis-sticky-height) + 18px)
}

.analysis-view-panel,
.analysis-scope,
.central-analysis-module{
  scroll-margin-top:calc(var(--clinic-header-height) + var(--analysis-sticky-height) + 18px)
}

.analysis-sticky-nav{
  position:sticky;
  top:calc(var(--clinic-header-height) + 6px)!important;
  z-index:220!important;
  min-height:var(--analysis-sticky-height);
  margin-bottom:18px;
  justify-content:flex-start;
  border-color:#d9e2e8!important;
  background:rgba(247,249,252,.97)!important;
  box-shadow:0 7px 18px rgba(23,63,88,.07);
  backdrop-filter:blur(12px)
}

#sb-pill-wrap{z-index:260!important}
#sb-pill-toggle{
  top:calc(var(--clinic-header-height) + 16px)!important;
  z-index:261!important
}

.overlay{z-index:2000!important}
.overlay>.modal,
.overlay>.modal-card,
.overlay>[role="dialog"]{
  position:relative;
  z-index:1
}

.tov{z-index:2100!important}
.tov>.tpanel{
  position:relative;
  z-index:1
}

/* Balance cromático: azul Clinic como acento y superficies neutras */
.analysis-page>.analysis-intro{
  border-color:#d8e3ea!important;
  background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%)!important
}

.analysis-view-tab{color:#52677a!important}
.analysis-view-tab:hover{
  color:#173f58!important;
  background:#eef2f5!important
}
.analysis-view-tab.is-active{
  color:#0f4c81!important;
  background:#fff!important
}

.analysis-scope{
  border-color:#dce4ea!important;
  background:#fff!important
}
.analysis-scope-month{background:#fafbfd!important}
.analysis-kpi-grid>div,
.analysis-chart-card{
  border-color:#dce4ea!important;
  background:#fff!important
}
.analysis-chart-link{color:#0f4c81!important}
.analysis-chart-link:hover{
  color:#173f58!important;
  background:#eef2f5!important
}

@media(min-width:769px){
  .screen.active#screen-app .main>.topbar{
    min-height:72px;
    padding:10px 24px;
    gap:14px
  }

  #topbar-left{
    flex:0 1 auto;
    min-width:220px!important
  }

  #tb-title{
    font-size:27px;
    line-height:1.04;
    letter-spacing:-.4px
  }

  #tb-subtitle{
    margin-top:3px;
    font-size:12px;
    line-height:1.2
  }

  #smart-search{
    width:min(300px,24vw);
    height:38px;
    border-radius:10px
  }

  .period-nav{height:38px}
  .period-nav-label{
    height:36px;
    padding:0 13px;
    font-size:13px
  }

  #home-new-order{
    min-width:128px;
    height:40px;
    padding:0 14px;
    border-radius:11px;
    font-size:13px
  }

  #bell{width:40px;height:40px}
  #tb-user{
    min-width:138px;
    height:40px;
    padding:3px 9px 3px 4px
  }
  #tb-user-name{font-size:11.5px}
  #tb-user-role{font-size:9.5px}
}

@media(max-width:768px){
  :root{
    --clinic-header-height:78px;
    --analysis-sticky-height:0px
  }

  .screen.active#screen-app .main>.topbar{
    top:48px!important;
    z-index:540!important;
    margin-top:48px!important
  }

  .analysis-sticky-nav{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    min-height:0;
    margin:0 0 10px!important;
    box-shadow:none!important;
    backdrop-filter:none!important
  }

  .analysis-view-tabs{
    position:relative;
    z-index:1
  }

  #sb-pill-wrap,
  #sb-pill-toggle{
    display:none!important
  }
}

@media print{
  .screen.active#screen-app .main>.topbar,
  .analysis-sticky-nav{
    position:static!important;
    box-shadow:none!important
  }
}


/* ═══ CLINIC UI · PROVEEDOR v51 ═══ */
#modal-overlay:has(#m-nit) .modal{
  width:min(780px,calc(100vw - 32px));
  max-height:min(820px,calc(100dvh - 32px))
}
#modal-overlay:has(#m-nit) .modal-top{
  padding:20px 24px 16px
}
#modal-overlay:has(#m-nit) .modal-top h2{
  font-family:'Montserrat',sans-serif;
  font-size:21px;
  line-height:1.2;
  color:var(--ink)
}
#modal-overlay:has(#m-nit) .modal-body{
  padding:20px 24px 24px
}
#modal-overlay:has(#m-nit) .modal-foot{
  padding:14px 24px
}
.provider-intro{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  margin-bottom:18px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--clinic-blue,#0F4C81)
}
.provider-intro svg{
  flex:0 0 auto;
  margin-top:2px
}
.provider-intro strong{
  display:block;
  margin-bottom:2px;
  font:600 13px/1.35 'Montserrat',sans-serif;
  color:var(--ink)
}
.provider-intro span{
  display:block;
  font-size:12px;
  line-height:1.45;
  color:var(--ink3)
}
.provider-identity{
  margin-bottom:14px
}
.provider-search-status{
  min-height:17px;
  padding-top:4px;
  font-size:11px;
  line-height:1.35;
  color:var(--ink3)
}
.provider-search-status[data-state="loading"]{
  color:var(--clinic-blue,#0F4C81)
}
.provider-found-notice{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:11px 13px;
  margin-bottom:14px;
  border:1px solid #b9ddcf;
  border-radius:10px;
  background:#f4faf7;
  color:#235b46;
  font-size:12px;
  line-height:1.45
}
.provider-found-notice strong{
  font:600 13px/1.35 'Montserrat',sans-serif
}
.provider-found-notice.is-linked{
  border-color:#bfd2e4;
  background:#f3f7fb;
  color:var(--clinic-blue,#0F4C81)
}
.provider-found-notice.is-error{
  border-color:#f0c3c3;
  background:#fff7f7;
  color:#9f2f2f
}
.provider-link-card{
  padding:13px 14px;
  border:1px solid var(--border);
  border-left:3px solid var(--clinic-blue,#0F4C81);
  border-radius:10px;
  background:var(--surface)
}
.provider-link-card label{
  color:var(--ink)!important
}
.provider-link-card label span{
  font-weight:400;
  color:var(--ink3);
  text-transform:none;
  letter-spacing:0
}
.provider-link-card input{
  margin-top:6px;
  background:#fff
}
.provider-link-card>div{
  margin-top:5px;
  font-size:11px;
  line-height:1.4;
  color:var(--ink3)
}
@media(max-width:640px){
  #modal-overlay:has(#m-nit){
    align-items:flex-end;
    padding:0
  }
  #modal-overlay:has(#m-nit) .modal{
    width:100%;
    max-width:none;
    max-height:94dvh;
    border-radius:18px 18px 0 0
  }
  #modal-overlay:has(#m-nit) .modal-top{
    padding:17px 18px 14px
  }
  #modal-overlay:has(#m-nit) .modal-body{
    padding:16px 18px 20px
  }
  #modal-overlay:has(#m-nit) .modal-foot{
    padding:12px 18px calc(12px + env(safe-area-inset-bottom))
  }
  #modal-overlay:has(#m-nit) .fgrid{
    grid-template-columns:minmax(0,1fr)
  }
  #modal-overlay:has(#m-nit) .fg.full{
    grid-column:auto
  }
  .provider-intro{
    margin-bottom:15px
  }
}


/* ═══ CLINIC UI · CONFIGURACIÓN BASE v52 ═══ */
#page-settings{
  --settings-accent:#0F4C81
}
#page-settings .settings-tabbar{
  display:flex;
  gap:4px;
  margin-bottom:24px;
  padding:4px;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch
}
#page-settings .settings-tabbar .cfg-tab-btn{
  flex:0 0 auto;
  min-height:38px;
  padding:8px 14px;
  margin:0;
  border:0;
  border-radius:8px;
  color:var(--ink3);
  font-size:13px;
  white-space:nowrap
}
#page-settings .settings-tabbar .cfg-tab-btn:hover{
  color:var(--ink);
  background:#fff
}
#page-settings .settings-tabbar .cfg-tab-btn.active-cfg-tab{
  border:0;
  color:#fff;
  background:var(--settings-accent);
  box-shadow:0 2px 7px rgba(15,76,129,.16)
}
#page-settings .settings-form-card{
  max-width:1040px;
  border-color:var(--border);
  box-shadow:0 2px 12px rgba(28,28,30,.04)
}
#page-settings .settings-delivery-card{
  margin-top:18px
}
#page-settings .settings-card-body{
  padding:22px 24px 24px
}
#page-settings .settings-clinic-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important
}
#page-settings .settings-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:18px
}
#page-settings .settings-actions .btn{
  min-width:154px
}
#page-settings .settings-actions .btn:disabled{
  cursor:wait;
  opacity:.68
}
#page-settings .settings-account-panel{
  max-width:640px
}
#page-settings .settings-logo-preview{
  width:48px;
  height:48px;
  display:flex;
  flex:0 0 48px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--settings-accent);
  font:700 13px/1 'Montserrat',sans-serif
}
#page-settings .settings-logo-preview.has-error{
  border-color:#e5b8b8;
  background:#fff7f7;
  color:#9f2f2f
}
#page-settings .settings-office-row{
  display:grid;
  grid-template-columns:minmax(160px,240px) auto 34px;
  align-items:center;
  gap:10px
}
#page-settings .settings-office-row>input{
  width:100%
}
#page-settings .settings-office-new{
  grid-template-columns:minmax(180px,280px) auto;
  padding:10px;
  border:1px dashed #bfd2e4;
  border-radius:10px;
  background:#f7fafc
}
#page-settings .settings-office-new-actions{
  display:flex;
  gap:7px;
  align-items:center
}
#page-settings .settings-office-new-actions .btn{
  min-height:36px;
  padding:7px 12px
}
#page-settings .settings-office-active{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--ink3);
  font-size:12px;
  cursor:pointer
}
#page-settings .settings-empty-note{
  padding:12px 14px;
  border:1px dashed var(--border);
  border-radius:9px;
  color:var(--ink3);
  font-size:12px
}
#page-settings .settings-inline-error{
  padding:11px 13px;
  border:1px solid #f0c3c3;
  border-radius:9px;
  background:#fff7f7;
  color:#9f2f2f;
  font-size:12px
}
#page-settings input:focus,
#page-settings select:focus{
  border-color:var(--settings-accent)!important;
  box-shadow:0 0 0 3px rgba(15,76,129,.08)
}
@media(max-width:1100px){
  #page-settings .settings-clinic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
}
@media(max-width:768px){
  #page-settings .settings-tabbar{
    margin:0 -2px 18px;
    padding:4px
  }
  #page-settings .settings-tabbar .cfg-tab-btn{
    min-height:36px;
    padding:8px 12px;
    font-size:12px
  }
  #page-settings .settings-card-body{
    padding:18px 16px 20px
  }
  #page-settings .settings-clinic-grid{
    grid-template-columns:minmax(0,1fr)!important
  }
  #page-settings .settings-actions{
    margin-top:16px
  }
  #page-settings .settings-actions .btn{
    width:100%;
    min-height:44px
  }
  #page-settings .settings-office-row{
    grid-template-columns:minmax(0,1fr) auto 34px
  }
  #page-settings .settings-office-new{
    grid-template-columns:minmax(0,1fr)
  }
  #page-settings .settings-office-new-actions{
    justify-content:flex-end
  }
}


/* ═══ CLINIC UI · PEDIDO DE INSUMOS v54 ═══ */
.supply-order-dialog{
  width:min(1080px,calc(100vw - 40px))!important
}
.supply-order-product{
  text-overflow:ellipsis
}
@media(max-width:820px){
  #new-order-modal{
    align-items:flex-end!important;
    padding:0!important
  }
  .supply-order-dialog{
    width:100%!important;
    max-width:none!important;
    max-height:96dvh!important;
    border-radius:18px 18px 0 0!important
  }
  .supply-order-item-row{
    grid-template-columns:minmax(0,1fr) 110px 72px 40px!important;
    gap:8px!important;
    padding:10px;
    border:1px solid var(--border);
    border-radius:11px
  }
  .supply-order-item-row>div:nth-child(1){
    grid-column:1/-1
  }
  .supply-order-item-row>div:nth-child(4){
    grid-column:1/4
  }
}
@media(max-width:520px){
  .supply-order-item-row{
    grid-template-columns:minmax(0,1fr) 72px 40px!important
  }
  .supply-order-item-row>div:nth-child(2){
    grid-column:1/2
  }
  .supply-order-item-row>div:nth-child(3){
    grid-column:2/3
  }
  .supply-order-item-row>div:nth-child(4){
    grid-column:1/3
  }
  .supply-order-item-row>button{
    grid-column:3/4;
    grid-row:2
  }
}


@media(max-width:768px){
  .os-items-table-wrap{overflow-x:visible}
  .os-items-table-wrap table{min-width:0}
  .os-items-table-wrap thead{display:none}
  .os-item-card{padding:12px}
  .os-item-primary{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px
  }
  .os-item-treatment-field{grid-column:1/-1}
  .os-item-field-label{
    display:block;
    margin:0 0 4px 2px;
    color:var(--ink3);
    font-size:10px;
    font-weight:700;
    letter-spacing:.35px;
    text-transform:uppercase
  }
  .os-item-subtotal{text-align:left;min-height:36px;padding:8px 2px}
  .os-item-status-wrap{text-align:left}
  .os-item-remove{position:absolute;right:14px;margin-top:-2px}
  .os-item-primary{position:relative}
  .os-item-primary>.os-item-status-wrap{padding-right:42px}
  .os-item-lab-line{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:12px;
    padding:10px
  }
  .os-item-lab-title{padding-top:0}
  .os-item-lab-price{max-width:none}
}


/* Autorizaciones: contador y semaforización */
.authorization-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#D92D20;color:#fff;font-size:11px;font-weight:800;line-height:1}
.authorization-pending-badge.hidden{display:none}
.authorization-order-progress{display:inline-flex;margin-left:8px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;vertical-align:middle}
.authorization-order-progress.has-pending{background:#FEE4E2;color:#B42318;border:1px solid #FDA29B}
.authorization-order-progress.is-complete{background:#DCFCE7;color:#16794A;border:1px solid #86EFAC}
.authorization-close-hint{font-size:11px;font-weight:700;color:#B42318;background:#FEE4E2;border:1px solid #FDA29B;border-radius:8px;padding:6px 9px}
.authorization-table .aut-estado{padding:7px 28px 7px 9px;border:1.5px solid transparent;border-radius:8px;font-size:12px;font-weight:800;outline:none}
.authorization-table .aut-status-pendiente{background:#FEF0C7;color:#B54708;border-color:#FEC84B}
.authorization-table .aut-status-autorizado{background:#DCFCE7;color:#16794A;border-color:#86EFAC}
.authorization-table .aut-status-parcial{background:#FFFAEB;color:#B54708;border-color:#FDB022}
.authorization-table .aut-status-negado{background:#FEE4E2;color:#B42318;border-color:#FDA29B}


/* Supply order inline workflow and receipt — PR 17 */
.supply-flow-row>td{padding:0 14px 16px!important;border-top:0!important}
.supply-order-main-row:has(+.supply-flow-row)>td{border-bottom:0!important}
.supply-inline-flow{background:linear-gradient(135deg,#f8fbff,#f5faf9);border:1px solid #d9e5ea;border-radius:12px;padding:12px 16px}
.supply-flow-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px;color:var(--ink2)}
.supply-flow-hint{font-size:11px;color:var(--ink3);font-weight:500}
.supply-flow-review{border:0;background:#fef3c7;color:#92400e;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}
.supply-flow-steps{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}
.supply-flow-step{position:relative;text-align:center}
.supply-flow-step:not(:last-child)::after{content:"";position:absolute;top:17px;left:58%;right:-50%;height:2px;background:#d7e0e5;z-index:0}
.supply-flow-step.is-done:not(:last-child)::after{background:#16a34a}
.supply-flow-step-control{position:relative;z-index:1;width:100%;border:0;background:transparent;color:var(--ink3);font:inherit;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0}
button.supply-flow-step-control{cursor:pointer}
.supply-flow-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #d7e0e5;font-size:15px}
.supply-flow-label{font-size:10.5px;font-weight:700;line-height:1.2}
.is-done .supply-flow-dot{background:#16a34a;border-color:#16a34a;color:#fff}
.is-current .supply-flow-dot{border-color:var(--teal);box-shadow:0 0 0 4px rgba(13,148,136,.12)}
.is-current .supply-flow-label{color:var(--teal)}
.is-next .supply-flow-dot{border-color:#2563eb;background:#eff6ff}
.is-next .supply-flow-label{color:#1d4ed8}
.is-next button.supply-flow-step-control:hover .supply-flow-dot{transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.2)}
.supply-receive-item{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}
.supply-receive-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.supply-receive-item-head small{display:block;color:var(--ink3);margin-top:3px}
.supply-receive-check{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green)}
.supply-receive-check input{width:16px;height:16px;accent-color:var(--green)}
.supply-receive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.supply-receive-grid label{font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.35px}
.supply-receive-grid input{display:block;width:100%;margin-top:4px;padding:8px 9px;border:1.5px solid var(--border);border-radius:7px;font-size:12px;color:var(--ink);text-transform:none;letter-spacing:0}
.supply-receive-wide{grid-column:span 2}
@media(max-width:768px){
 .supply-flow-row>td{padding:0 8px 12px!important}
 .supply-inline-flow{padding:11px 8px}
 .supply-flow-head{align-items:flex-start;flex-direction:column}
 .supply-flow-label{font-size:9px}
 .supply-flow-dot{width:30px;height:30px}
 .supply-flow-step:not(:last-child)::after{top:15px}
 .supply-receive-grid{grid-template-columns:1fr 1fr}
 .supply-receive-wide{grid-column:1/-1}
}


/* OLAB current stage in orders list — PR 17 */
.olab-orders-list-table th{
  vertical-align:middle
}
.olab-list-price-heading{
  white-space:nowrap
}
.olab-list-stage-heading,
.olab-list-stage-cell{
  width:126px;
  min-width:126px;
  text-align:center!important;
  vertical-align:middle
}
.olab-list-stage-heading{
  white-space:nowrap
}
.olab-list-stage-cell{
  padding-top:8px!important;
  padding-bottom:8px!important
}
.olab-list-actions-heading,
.olab-orders-list-table tbody tr>td:last-child{
  width:100px;
  min-width:100px;
  text-align:center!important;
  vertical-align:middle
}
.olab-list-stage{
  display:grid;
  justify-items:center;
  gap:2px;
  width:100%;
  min-width:0;
  margin:0 auto;
  color:var(--teal)
}
.olab-list-stage-icon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:2px;
  border:2px solid var(--teal2);
  border-radius:50%;
  background:var(--teal2);
  color:#fff;
  box-shadow:0 0 0 4px rgba(29,114,201,.13)
}
.olab-list-stage-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round
}
.olab-list-stage strong{
  font-size:11px;
  font-weight:800;
  line-height:1.15;
  color:var(--teal2)
}
.olab-list-stage time{
  font-family:var(--mono);
  font-size:8.5px;
  line-height:1.2;
  white-space:nowrap;
  color:var(--ink3)
}
@media(max-width:768px){
  .olab-list-stage-heading,
  .olab-list-stage-cell{width:116px;min-width:116px}
  .olab-list-actions-heading,
  .olab-orders-list-table tbody tr>td:last-child{width:88px;min-width:88px}
  .olab-list-stage-icon{
    width:34px;
    height:34px;
    box-shadow:0 0 0 3px rgba(29,114,201,.13)
  }
  .olab-list-stage-icon svg{width:16px;height:16px}
  .olab-list-stage strong{font-size:10.5px}
  .olab-list-stage time{font-size:8px}
}

/* Current Supply order stage in orders list — PR 17 */
.supply-list-stage-cell{
  min-width:152px;
  padding-top:10px!important;
  padding-bottom:10px!important;
  text-align:center;
  vertical-align:middle
}
.supply-list-stage{
  display:grid;
  justify-items:center;
  gap:3px;
  width:max-content;
  min-width:126px;
  margin:0 auto;
  color:var(--teal)
}
.supply-list-stage-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:2px;
  border:2px solid var(--teal);
  border-radius:50%;
  background:var(--teal);
  color:#fff;
  box-shadow:0 0 0 6px rgba(0,77,71,.12)
}
.supply-list-stage-icon svg,.supply-flow-dot svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round
}
.supply-list-stage strong{
  max-width:142px;
  font-size:11.5px;
  font-weight:800;
  line-height:1.15;
  color:var(--teal)
}
.supply-list-stage time{
  font-family:var(--mono);
  font-size:9px;
  line-height:1.2;
  white-space:nowrap;
  color:var(--ink3)
}
.supply-list-stage-pagado .supply-list-stage-icon,.supply-list-stage-completo .supply-list-stage-icon{
  background:var(--green);
  border-color:var(--green);
  box-shadow:0 0 0 6px rgba(22,163,74,.12)
}
.supply-list-stage-inconsistencia .supply-list-stage-icon,.supply-list-stage-cancelado .supply-list-stage-icon{
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 0 6px rgba(192,57,43,.11)
}
@media(max-width:700px){
  .supply-list-stage-cell{min-width:128px}
  .supply-list-stage{min-width:108px}
  .supply-list-stage-icon{width:36px;height:36px;box-shadow:0 0 0 4px rgba(0,77,71,.12)}
  .supply-list-stage-icon svg{width:17px;height:17px}
  .supply-list-stage strong{max-width:118px;font-size:10.5px}
  .supply-list-stage time{font-size:8.5px}
}

/* Shared OLAB and Supply row actions — vector icon buttons */
.olab-row-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:92px;
  white-space:nowrap
}
.clinic-row-icon-action{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  padding:0;
  border:1px solid #d8e1eb;
  border-radius:10px;
  background:#fff;
  color:var(--teal2);
  box-shadow:0 2px 7px rgba(15,23,42,.06);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease
}
.clinic-row-icon-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round
}
.clinic-row-icon-action:hover{
  transform:translateY(-1px);
  border-color:rgba(29,114,201,.42);
  background:#edf5ff;
  box-shadow:0 5px 13px rgba(29,114,201,.14)
}
.clinic-row-icon-action:focus-visible{
  outline:3px solid rgba(29,114,201,.22);
  outline-offset:2px
}
.clinic-row-icon-action.is-delete{
  color:#c0392b;
  border-color:#f0d5d1;
  background:#fffafa
}
.clinic-row-icon-action.is-delete:hover{
  color:#a62f24;
  border-color:#e6aaa2;
  background:#fff0ee;
  box-shadow:0 5px 13px rgba(192,57,43,.12)
}
@media(max-width:700px){
  .olab-row-actions{min-width:84px;gap:6px}
  .clinic-row-icon-action{width:36px;height:36px;flex-basis:36px;border-radius:9px}
  .clinic-row-icon-action svg{width:17px;height:17px}
}


/* Mobile header notification on brand line — PR 17 */
@media(max-width:768px){
  #mob-topbar>button{
    display:flex!important;
    position:relative;
    z-index:2;
    flex:0 0 40px;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    margin-left:auto!important;
    padding:0!important;
    border-radius:10px;
    color:var(--teal2);
    background:transparent!important
  }
  #mob-topbar>button:active{background:#edf5ff!important}
  #tb-bell-wrap{display:none!important}
  #topbar-left{right:62px!important}
  body:has(#page-dashboard.active) .topbar{
    height:0!important;
    min-height:0!important;
    margin-top:52px!important;
    padding:0!important;
    border-bottom:0!important;
    overflow:visible!important
  }
}
@media(max-width:430px){
  #topbar-left{right:56px!important}
}


/* Intelligent product search in Supply order modal — PR 17 */
.supply-product-combobox{
  position:relative
}
.supply-order-product-search{
  width:100%;
  height:42px;
  padding:9px 38px 9px 11px;
  border:2px solid var(--border);
  border-radius:8px;
  outline:none;
  background:#fff;
  color:var(--ink);
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  transition:border-color .16s ease,box-shadow .16s ease
}
.supply-order-product-search:focus{
  border-color:var(--teal2);
  box-shadow:0 0 0 3px rgba(29,114,201,.12)
}
.supply-order-product-search::-webkit-search-cancel-button{
  cursor:pointer
}
.supply-product-search-icon{
  position:absolute;
  top:11px;
  right:12px;
  width:19px;
  height:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink3);
  pointer-events:none
}
.supply-product-search-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round
}
.supply-order-product{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}
.supply-product-results{
  display:none;
  position:absolute;
  z-index:40;
  top:calc(100% + 5px);
  left:0;
  right:0;
  max-height:286px;
  overflow-y:auto;
  padding:6px;
  border:1px solid #d8e1eb;
  border-radius:11px;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.16)
}
.supply-product-results.is-open{
  display:block
}
.supply-product-result{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer
}
.supply-product-result:hover,
.supply-product-result.is-active{
  background:#edf5ff
}
.supply-product-result-name{
  font-size:13px;
  font-weight:700;
  line-height:1.25
}
.supply-product-result-meta{
  color:var(--ink3);
  font-size:10.5px;
  line-height:1.2
}
.supply-product-empty{
  padding:14px 12px;
  color:var(--ink3);
  font-size:12px;
  text-align:center
}
@media(max-width:700px){
  .supply-order-item-row{
    grid-template-columns:minmax(0,1fr) 112px 70px 40px!important
  }
  .supply-order-item-row>.fg:nth-of-type(4){
    grid-column:1/-1
  }
  .supply-product-results{
    max-height:240px
  }
}


/* Manual lab reservations and funds availability */
.lab-funds-ready{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:6px;
  padding:4px 8px;
  border:1px solid #86efac;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-size:10px;
  font-weight:800;
  line-height:1.2
}
.lab-funds-ready::before{content:"●";margin-right:5px;color:#16a34a;font-size:8px}
.lab-funds-ready-list{margin-left:auto;white-space:nowrap}
.lab-funds-values{margin-top:4px;color:var(--ink3);font-size:10px;line-height:1.25}
.lab-reserve-ready{
  border:1px solid #16a34a!important;
  background:#16a34a!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(22,163,74,.14)
}
.lab-reserve-ready:hover{background:#15803d!important}

/* Monthly financial flow charts */
.monthly-financial-grid{padding:16px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:760px){.monthly-financial-grid{grid-template-columns:1fr;padding:14px}}


/* ═══ Inicio móvil: resultado del período y acciones compactas — PR 25 ═══ */
.home-mobile-overview,
#home-mobile-actions-wrap{display:none}

@media(max-width:768px){
  #home-mobile-actions-wrap{
    display:block;
    position:relative;
    z-index:4;
    margin-left:auto
  }
  #home-mobile-actions-button{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid #dce5ec;
    border-radius:11px;
    background:#f5f8fa;
    color:#0f4c81;
    cursor:pointer
  }
  #home-mobile-actions-button[aria-expanded="true"]{
    border-color:#a9c7d9;
    background:#eaf2f7;
    color:#073f68
  }
  #mob-topbar>button{margin-left:0!important}
  #home-mobile-actions-menu{
    display:none;
    position:fixed;
    top:66px;
    right:10px;
    z-index:15000;
    width:min(330px,calc(100vw - 20px));
    max-height:calc(100dvh - 142px);
    padding:8px;
    overflow-y:auto;
    border:1px solid #dbe5ec;
    border-radius:16px;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,38,58,.24)
  }
  #home-mobile-actions-menu.open{display:grid}
  .home-mobile-actions-title{
    padding:10px 10px 9px;
    border-bottom:1px solid #edf1f4
  }
  .home-mobile-actions-title span,
  .home-mobile-section-head span{
    display:block;
    color:#0f4c81;
    font-size:9px;
    font-weight:800;
    letter-spacing:.11em
  }
  .home-mobile-actions-title strong{
    display:block;
    margin-top:4px;
    color:#172033;
    font-size:15px
  }
  #home-mobile-actions-menu>button{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:8px 9px;
    border:0;
    border-radius:11px;
    background:#fff;
    color:#344054;
    text-align:left;
    cursor:pointer
  }
  #home-mobile-actions-menu>button.primary{background:#f1f6f9}
  #home-mobile-actions-menu>button>span{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:10px;
    background:#edf3f7;
    color:#0f4c81;
    font-size:17px
  }
  #home-mobile-actions-menu strong,
  #home-mobile-actions-menu small{display:block}
  #home-mobile-actions-menu strong{font-size:12px}
  #home-mobile-actions-menu small{margin-top:2px;color:#98a2b3;font-size:9.5px}
  .home-mobile-actions-divider{height:1px;margin:5px 8px;background:#edf1f4}

  .home-mobile-overview{
    display:block;
    margin-bottom:14px
  }
  .home-mobile-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:10px;
    margin:0 2px 10px
  }
  .home-mobile-section-head h2{
    margin:4px 0 0;
    color:#172033;
    font-size:20px;
    line-height:1.12;
    letter-spacing:-.025em
  }
  .home-mobile-section-head>small{
    max-width:46%;
    color:#667085;
    font-size:9.5px;
    line-height:1.25;
    text-align:right
  }
  .home-period-summary{
    padding:12px;
    border:1px solid #dae5ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,76,129,.07)
  }
  .home-period-primary{
    padding:17px 18px;
    border-radius:15px;
    background:linear-gradient(135deg,#0a3a63 0%,#0f4c81 62%,#1d72c9 100%);
    color:#fff
  }
  .home-period-primary small,
  .home-period-primary strong,
  .home-period-primary em{display:block}
  .home-period-primary small{font-size:11px;font-weight:700;opacity:.8}
  .home-period-primary strong{
    margin-top:6px;
    font-family:var(--mono);
    font-size:30px;
    font-weight:700;
    line-height:1;
    letter-spacing:-.04em
  }
  .home-period-primary em{margin-top:7px;font-size:9.5px;font-style:normal;opacity:.72}
  .home-period-secondary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:8px
  }
  .home-period-metric{
    min-width:0;
    padding:12px;
    border:1px solid #e4eaf0;
    border-radius:13px;
    background:#f8fafb
  }
  .home-period-metric small,
  .home-period-metric strong{display:block}
  .home-period-metric small{
    min-height:24px;
    color:#667085;
    font-size:9.5px;
    font-weight:700;
    line-height:1.25
  }
  .home-period-metric strong{
    margin-top:5px;
    overflow:hidden;
    color:#172033;
    font-family:var(--mono);
    font-size:16px;
    line-height:1.05;
    letter-spacing:-.035em;
    text-overflow:ellipsis
  }
  .home-period-metric.labs strong{color:#b7791f}
  .home-period-metric.doctors strong{color:#7c3aed}
  .home-period-metric.result,
  .home-period-metric.negative{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:#e9f7ef
  }
  .home-period-metric.result small,
  .home-period-metric.negative small{min-height:0}
  .home-period-metric.result strong{margin:0;color:#0e8c5e;font-size:20px}
  .home-period-metric.negative{background:#fdeef3}
  .home-period-metric.negative strong{margin:0;color:#b83260;font-size:20px}

  .home-priority-heading{margin-top:18px}
  .home-priority-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  .home-priority-metric{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 8px;
    min-height:66px;
    padding:10px;
    border:1px solid #e2e8ee;
    border-radius:14px;
    background:#fff;
    color:#344054;
    text-align:left
  }
  .home-priority-metric>span{
    display:grid;
    grid-row:1/3;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#edf3f7;
    color:#0f4c81
  }
  .home-priority-metric svg{width:17px;height:17px}
  .home-priority-metric small{
    align-self:end;
    overflow:hidden;
    color:#667085;
    font-size:9px;
    font-weight:700;
    line-height:1.15;
    text-overflow:ellipsis
  }
  .home-priority-metric strong{
    grid-column:3;
    grid-row:1/3;
    color:#172033;
    font-family:var(--mono);
    font-size:22px
  }
  .home-priority-metric.warning>span{background:#fff5e6;color:#b7791f}
  .home-priority-metric.danger>span{background:#fdeef3;color:#b83260}
  .home-priority-metric.teal>span{background:#e9f8f1;color:#0e8c5e}

  #page-dashboard.active .home-quick-create,
  #page-dashboard.active .home-metrics{display:none!important}
  #page-dashboard.active .home-operations-grid{
    grid-template-columns:1fr!important;
    gap:12px
  }
  #page-dashboard.active .home-day-flow-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important
  }
  #page-dashboard.active .home-day-flow-grid>i{display:none!important}
  #page-dashboard.active .home-day-flow-grid>button{
    min-height:104px!important;
    padding:12px 8px!important;
    border:1px solid #e5eaf0!important;
    border-radius:13px!important;
    background:#f8fafb!important
  }
  #page-dashboard.active .home-day-flow-grid>button>span{
    width:36px!important;
    height:36px!important
  }
  #page-dashboard.active .home-day-flow-grid>button small{font-size:10px!important}
  #page-dashboard.active .home-day-flow-grid>button strong{font-size:22px!important}
}

@media(max-width:390px){
  .home-period-primary strong{font-size:26px}
  .home-period-metric strong{font-size:14px}
  .home-priority-grid{grid-template-columns:1fr}
}


/* Prioridades con la misma cuadrícula visual de Operación del día */
@media(max-width:768px){
  .home-priority-metric{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:104px;
    padding:12px 8px;
    border:1px solid #e5eaf0;
    border-radius:13px;
    background:#f8fafb;
    text-align:center
  }
  .home-priority-metric>span{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:50%
  }
  .home-priority-metric small{
    min-height:0;
    overflow:visible;
    color:#667085;
    font-size:10px;
    line-height:1.2;
    text-overflow:clip
  }
  .home-priority-metric strong{
    color:#172033;
    font-family:var(--mono);
    font-size:22px;
    line-height:1
  }
}


/* Corrección móvil angosta: prioridades siempre en 2 columnas y centradas */
@media(max-width:390px){
  .home-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .home-priority-metric small,
  .home-priority-metric strong{
    align-self:center;
    width:100%;
    text-align:center
  }
  .home-priority-metric small{
    display:block;
    min-height:24px;
    white-space:normal
  }
}


/* ═══ SEGUIMIENTO COMERCIAL — FILTROS COHERENTES CON CLINIC ═══ */
#os-panel-continuidad .continuity-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
  padding:11px 12px;
  border:1px solid #e3e9ee;
  border-radius:13px;
  background:#f5f7f9
}
#os-panel-continuidad .continuity-filter-group{display:flex;align-items:flex-end;gap:9px;min-width:0}
#os-panel-continuidad .continuity-control{display:grid;gap:5px;min-width:0}
#os-panel-continuidad .continuity-control-label{
  padding-left:3px;
  color:#667085;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase
}
#os-panel-continuidad .continuity-control-status{width:270px}
#os-panel-continuidad .continuity-control-age{width:215px}
#os-panel-continuidad .continuity-search-control{width:min(320px,31vw);margin-left:auto}
#os-panel-continuidad .continuity-select-shell,
#os-panel-continuidad .continuity-search-shell{
  display:flex;
  align-items:center;
  min-width:0;
  height:40px;
  border:1px solid #dfe5eb;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,76,129,.025);
  color:#0f4c81;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
#os-panel-continuidad .continuity-select-shell:focus-within,
#os-panel-continuidad .continuity-search-shell:focus-within{
  border-color:#78a9cf;
  box-shadow:0 0 0 3px rgba(29,114,201,.11);
  background:#fff
}
#os-panel-continuidad .continuity-select-shell>svg,
#os-panel-continuidad .continuity-search-shell>svg{
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin-left:12px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8
}
#os-panel-continuidad .continuity-select-shell select,
#os-panel-continuidad .continuity-search-shell input{
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#344054;
  font:600 12px/1.2 'Roboto',sans-serif
}
#os-panel-continuidad .continuity-select-shell select{
  flex:1;
  padding:0 30px 0 9px;
  cursor:pointer
}
#os-panel-continuidad .continuity-search-shell input{
  flex:1;
  width:100%;
  padding:0 7px 0 9px
}
#os-panel-continuidad .continuity-search-shell input::placeholder{color:#98a2b3;font-weight:400}
#os-panel-continuidad .continuity-search-shell input::-webkit-search-cancel-button{display:none}
#os-panel-continuidad .continuity-search-clear{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:28px;
  height:28px;
  margin-right:5px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#98a2b3;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,opacity .16s ease
}
#os-panel-continuidad .continuity-search-clear:hover{background:#edf3f7;color:#0f4c81}
#os-panel-continuidad .continuity-search-clear svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-width:2
}
#os-panel-continuidad .continuity-search-shell input:placeholder-shown + .continuity-search-clear{opacity:0;pointer-events:none}
@media(max-width:1050px){
  #os-panel-continuidad .continuity-toolbar{align-items:stretch;flex-direction:column}
  #os-panel-continuidad .continuity-search-control{width:100%;margin-left:0}
  #os-panel-continuidad .continuity-filter-group{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);width:100%}
  #os-panel-continuidad .continuity-control-status,
  #os-panel-continuidad .continuity-control-age{width:auto}
}
@media(max-width:560px){
  #os-panel-continuidad .continuity-toolbar{gap:10px;padding:10px}
  #os-panel-continuidad .continuity-filter-group{grid-template-columns:1fr}
  #os-panel-continuidad .continuity-select-shell,
  #os-panel-continuidad .continuity-search-shell{height:42px}
  #os-panel-continuidad .continuity-control-label{font-size:8.5px}
}


/* ═══ IDENTIDAD DE LA CLÍNICA + MENÚ CREAR EN ESCRITORIO ═══ */
.clinic-tenant-brand{min-height:78px}
.clinic-tenant-logo{
  width:44px;
  height:44px;
  overflow:hidden;
  border:0;
  border-radius:12px;
  background:transparent;
  box-shadow:none
}
.clinic-tenant-logo img{width:100%;height:100%;padding:0;object-fit:contain}
.clinic-tenant-logo>span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:11px;
  background:linear-gradient(135deg,#edf6fb,#dcecf6);
  color:#0f4c81;
  font:800 13px/1 'Montserrat',sans-serif;
  letter-spacing:.03em
}
.clinic-tenant-copy strong{
  display:block;
  overflow:hidden;
  max-width:148px;
  color:#fff;
  font:800 13px/1.2 'Montserrat',sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap
}
.clinic-tenant-copy small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.53);
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.02em
}
.sidebar.collapsed .clinic-tenant-brand{justify-content:center;padding-right:14px;padding-left:14px}
.sidebar.collapsed .clinic-tenant-logo{width:42px!important;height:42px!important;margin:0 auto;background:transparent}
.sidebar.collapsed .clinic-tenant-logo img{height:100%!important}

.mobile-clinic-brand{display:flex;align-items:center;gap:9px;min-width:0;max-width:calc(100% - 100px)}
.mobile-clinic-logo{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:32px;
  height:32px;
  overflow:hidden;
  border:0;
  border-radius:9px;
  background:transparent
}
.mobile-clinic-logo img{width:100%;height:100%;padding:0;object-fit:contain}
.mobile-clinic-logo>span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  background:#edf3f7;
  color:#0f4c81;
  font:800 10px/1 'Montserrat',sans-serif
}
#mobile-clinic-name{
  overflow:hidden;
  color:#172033;
  font:800 13px/1.15 'Montserrat',sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap
}

.home-desktop-create-actions{display:flex;gap:8px}
#home-desktop-actions-wrap{position:relative}
.home-create-menu-button{min-width:116px;justify-content:center}
.home-create-menu-button .home-create-chevron{margin-left:2px;transition:transform .16s ease}
.home-create-menu-button[aria-expanded="true"] .home-create-chevron{transform:rotate(180deg)}
#home-desktop-actions-menu{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:12000;
  width:340px;
  padding:8px;
  overflow:hidden;
  border:1px solid #dbe5ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 22px 60px rgba(15,38,58,.22)
}
#home-desktop-actions-menu.open{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.home-desktop-actions-title{
  grid-column:1/-1;
  padding:10px 10px 11px;
  border-bottom:1px solid #edf1f4
}
.home-desktop-actions-title span{
  display:block;
  color:#0f4c81;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em
}
.home-desktop-actions-title strong{display:block;margin-top:4px;color:#172033;font-size:15px}
#home-desktop-actions-menu>button{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:8px;
  border:0;
  border-radius:11px;
  background:#fff;
  color:#344054;
  text-align:left;
  cursor:pointer;
  transition:background .15s ease,transform .15s ease
}
#home-desktop-actions-menu>button:hover{background:#f5f8fa;transform:translateY(-1px)}
#home-desktop-actions-menu>button.primary{background:#edf5fa}
#home-desktop-actions-menu>button.primary:hover{background:#e4f0f7}
#home-desktop-actions-menu>button>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#edf3f7;
  color:#0f4c81;
  font-size:16px
}
#home-desktop-actions-menu strong,#home-desktop-actions-menu small{display:block}
#home-desktop-actions-menu strong{font-size:11px;line-height:1.2}
#home-desktop-actions-menu small{margin-top:2px;color:#98a2b3;font-size:8.8px;line-height:1.25}
.home-desktop-actions-divider{grid-column:1/-1;height:1px;margin:3px 7px;background:#edf1f4}
.af-brand span{display:inline-flex;gap:4px;align-items:baseline}
.af-brand strong{color:#0f4c81;font-weight:800}
@media(max-width:768px){
  .home-desktop-create-actions{display:none!important}
  .mobile-clinic-brand{max-width:calc(100% - 96px)}
}


/* ═══ SEGUIMIENTO COMERCIAL — EVOLUCIONES Y ACCIONES ═══ */
#os-panel-continuidad .continuity-row-actions{display:grid;gap:7px;min-width:185px}
#os-panel-continuidad .continuity-action-select{
  width:100%;
  height:36px;
  padding:0 32px 0 11px;
  border:1px solid #d7e1e9;
  border-radius:9px;
  outline:0;
  background:#fff;
  color:#0f4c81;
  font:700 11.5px/1.2 'Roboto',sans-serif;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,76,129,.04)
}
#os-panel-continuidad .continuity-action-select:focus{
  border-color:#78a9cf;
  box-shadow:0 0 0 3px rgba(29,114,201,.11)
}
#os-panel-continuidad .continuity-last-followup{
  display:grid;
  gap:4px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer
}
#os-panel-continuidad .continuity-last-followup .pill{justify-self:start;font-size:9px}
#os-panel-continuidad .continuity-last-followup small{
  display:-webkit-box;
  overflow:hidden;
  color:#344054;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
}
#os-panel-continuidad .continuity-last-followup em{color:#7a8696;font-size:9.5px;font-style:normal}
.continuity-followup-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(9,30,50,.52);
  backdrop-filter:blur(4px)
}
.continuity-followup-dialog{
  width:min(560px,100%);
  max-height:min(760px,92vh);
  overflow:hidden;
  border:1px solid #dce5eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 70px rgba(9,30,50,.24)
}
.continuity-followup-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 17px;
  border-bottom:1px solid #e7edf1
}
.continuity-followup-head small{
  display:block;
  margin-bottom:4px;
  color:#0f4c81;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}
.continuity-followup-head h3{margin:0;font-size:18px}
.continuity-followup-head>button{
  width:32px;
  height:32px;
  border:1px solid #dce5eb;
  border-radius:9px;
  background:#fff;
  color:#667085;
  font-size:22px;
  line-height:1;
  cursor:pointer
}
.continuity-followup-body{display:grid;gap:15px;padding:20px 22px}
.continuity-followup-body label{display:grid;gap:6px}
.continuity-followup-body label>span{
  color:#475467;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}
.continuity-followup-body select,
.continuity-followup-body textarea,
.continuity-followup-body input{
  width:100%;
  border:1px solid #d7e1e9;
  border-radius:10px;
  outline:0;
  background:#fff;
  color:#1d2939;
  font:500 13px/1.45 'Roboto',sans-serif
}
.continuity-followup-body select,
.continuity-followup-body input{height:42px;padding:0 12px}
.continuity-followup-body textarea{min-height:104px;padding:11px 12px;resize:vertical}
.continuity-followup-body select:focus,
.continuity-followup-body textarea:focus,
.continuity-followup-body input:focus{
  border-color:#78a9cf;
  box-shadow:0 0 0 3px rgba(29,114,201,.11)
}
.continuity-followup-body>p{margin:0;color:#7a8696;font-size:11px}
.continuity-followup-foot{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:14px 22px 20px;
  border-top:1px solid #edf1f4
}
.continuity-history-dialog{display:flex;flex-direction:column}
.continuity-history-list{
  display:grid;
  gap:10px;
  overflow-y:auto;
  padding:18px 22px 24px
}
.continuity-history-list article{
  padding:13px 14px;
  border:1px solid #e3e9ee;
  border-radius:12px;
  background:#f8fafb
}
.continuity-history-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.continuity-history-list time{color:#7a8696;font-size:10px}
.continuity-history-list p{margin:9px 0 7px;color:#344054;font-size:12.5px;line-height:1.45}
.continuity-history-list footer{color:#7a8696;font-size:10.5px}
@media(max-width:600px){
  .continuity-followup-overlay{align-items:flex-end;padding:10px}
  .continuity-followup-dialog{max-height:94vh;border-radius:18px 18px 12px 12px}
  .continuity-followup-head,.continuity-followup-body{padding-left:17px;padding-right:17px}
  .continuity-followup-foot{padding-left:17px;padding-right:17px}
}


/* Seguimiento comercial en formato ficha */
.continuity-record-list{display:grid;gap:14px}
.continuity-record-card{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(15,76,129,.06)}
.continuity-record-head{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.6fr) minmax(150px,.7fr) auto;gap:14px;align-items:center;padding:15px 18px;background:#F8FAFC;border-bottom:1px solid var(--border)}
.continuity-record-priority,.continuity-record-os,.continuity-record-patient,.continuity-record-treatment{display:flex;flex-direction:column;gap:4px}
.continuity-record-priority{align-items:flex-start}.continuity-record-priority small{font-weight:650;color:var(--ink3)}
.continuity-record-os strong{font-family:var(--mono);color:var(--teal)}.continuity-record-os span{font-size:11px;color:var(--ink3)}
.continuity-record-state{justify-self:start}.continuity-record-open{justify-self:end}
.continuity-record-body{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(300px,1.5fr) minmax(280px,1.1fr) minmax(260px,1.1fr);gap:18px;padding:18px}
.continuity-record-body section>small,.continuity-record-finance small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--ink4)}
.continuity-record-patient strong{font-size:15px}.continuity-record-patient span{font-size:12px;color:var(--ink3)}
.continuity-record-treatment>div{display:flex;flex-wrap:wrap;gap:4px}
.continuity-record-finance{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));gap:8px}
.continuity-record-finance>div{display:flex;flex-direction:column;gap:3px;padding:9px 10px;background:var(--surface);border-radius:10px}
.continuity-record-finance strong{font-size:14px}.continuity-record-finance strong.is-positive{color:var(--green)}.continuity-record-finance strong.is-gold{color:var(--gold)}
.continuity-record-finance span{font-size:10px;color:var(--ink3)}
.continuity-record-followup{min-width:0}.continuity-record-followup>.continuity-last-followup{margin-top:6px;width:100%}
.continuity-record-previous{font-size:10px;color:var(--ink3);margin-top:4px}
.continuity-record-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#FBFCFD;border-top:1px solid var(--border)}
.continuity-record-actions .continuity-action-select{width:min(100%,300px)}
.authorization-index-card{margin-top:14px}.authorization-index-card .card-head p{margin:4px 0 0;color:var(--ink3);font-size:12px}
.authorization-index-counts{font-size:11px;color:var(--ink3);line-height:1.45}
@media(max-width:1180px){.continuity-record-body{grid-template-columns:1fr 1.4fr}.continuity-record-followup,.continuity-record-finance{grid-column:auto}}
@media(max-width:720px){
  .continuity-record-head{grid-template-columns:1fr auto}.continuity-record-state{grid-column:1}.continuity-record-open{grid-column:2;grid-row:1/3}
  .continuity-record-body{grid-template-columns:1fr;padding:15px}.continuity-record-finance{grid-template-columns:repeat(3,1fr)}
  .continuity-record-actions{align-items:stretch;flex-direction:column}.continuity-record-actions .continuity-action-select{width:100%;max-width:none}
}
@media(max-width:480px){.continuity-record-finance{grid-template-columns:1fr}.continuity-record-head{padding:13px 14px}.continuity-record-body{padding:14px}.continuity-record-actions{padding:12px 14px}}


/* Alternancia visual de fichas de seguimiento */
.continuity-record-list>.continuity-record-card:nth-child(odd){
  background:#FFFFFF;
}
.continuity-record-list>.continuity-record-card:nth-child(even){
  background:#F3F7FB;
  border-color:#C9D9E6;
  box-shadow:0 7px 22px rgba(15,76,129,.09);
}
.continuity-record-list>.continuity-record-card:nth-child(even) .continuity-record-head{
  background:#EAF2F8;
  border-bottom-color:#C9D9E6;
}
.continuity-record-list>.continuity-record-card:nth-child(even) .continuity-record-actions{
  background:#EEF5FA;
  border-top-color:#C9D9E6;
}
.continuity-record-list>.continuity-record-card:nth-child(even) .continuity-record-finance>div{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(201,217,230,.8);
}


/* ── PREPAGADA · EXPEDIENTE VISUAL EN FICHA OS v1 ── */
.prep-workspace{display:flex;flex-direction:column;gap:16px;color:var(--ink)}
.prep-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:4px}
.prep-workspace-head>div>span,.prep-section-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.75px;text-transform:uppercase;color:#55708a}
.prep-workspace-head h3{font-size:21px;margin:3px 0 4px;color:var(--ink)}
.prep-workspace-head p,.prep-workspace-card>p,.prep-stage-note{font-size:12px;line-height:1.5;color:var(--ink3);margin:0}
.prep-overall-state,.prep-card-state{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;white-space:nowrap;background:#eef2f6;color:#52606d}
.prep-overall-state.green,.prep-card-state.green{background:#e7f7ef;color:#087f5b}
.prep-overall-state.yellow,.prep-card-state.yellow{background:#fff4d6;color:#9a6700}
.prep-overall-state.red,.prep-card-state.red{background:#fde8e7;color:#b42318}
.prep-card-state.purple{background:#f0eafe;color:#6941c6}
.prep-workspace-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dbe4ec;border-radius:14px;background:#f7fafc;overflow:hidden}
.prep-workspace-step{appearance:none;display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:12px 13px;border:0;border-right:1px solid #e1e8ee;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}
.prep-workspace-step:last-child{border-right:0}
.prep-workspace-step>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#dce4ea;color:#637282;font-size:11px;font-weight:800}
.prep-workspace-step div{min-width:0}.prep-workspace-step strong,.prep-workspace-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prep-workspace-step strong{font-size:11px}.prep-workspace-step small{font-size:9.5px;color:var(--ink3);margin-top:2px}
.prep-workspace-step.is-done>span{background:#15966b;color:#fff}.prep-workspace-step.is-current{background:#edf6ff;box-shadow:inset 0 -3px #1667a9}.prep-workspace-step.is-current>span{background:#1667a9;color:#fff}.prep-workspace-step:hover{background:#f0f6fa}.prep-workspace-step:focus-visible{position:relative;z-index:1;outline:2px solid #1d72c9;outline-offset:-2px}.prep-workspace-step.is-done.is-current>span{background:#15966b;color:#fff}.prep-workspace-step.is-financial>span{background:#eee8fb;color:#6941c6}.prep-workspace-step.is-financial.is-current{background:#f5f0ff;box-shadow:inset 0 -3px #6941c6}.prep-workspace-step.is-financial.is-current>span{background:#6941c6;color:#fff}.prep-workspace-step.is-financial.is-done>span,.prep-workspace-step.is-financial.is-done.is-current>span{background:#15966b;color:#fff}
.prep-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.prep-workspace-card{min-width:0;border:1px solid #dbe4ec;border-radius:15px;background:#fff;padding:17px;box-shadow:0 5px 16px rgba(24,55,82,.045)}
.prep-workspace-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.prep-workspace-card h4{font-size:15px;margin:3px 0 0;color:var(--ink)}
.prep-request-card,.prep-authorization-card{min-height:350px}
.prep-execution-card{grid-column:1/-1}
.prep-billing-card,.prep-close-card{min-height:235px}
.prep-check-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f4}
.prep-check-row:last-child{border-bottom:0}.prep-check-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff1e8;color:#b54708;font-size:11px;font-weight:900}
.prep-check-row.is-complete .prep-check-icon{background:#e6f6ee;color:#087f5b}.prep-check-row>div{flex:1;min-width:0}.prep-check-row strong,.prep-check-row small{display:block}.prep-check-row strong{font-size:12px}.prep-check-row small{font-size:10.5px;color:var(--ink3);margin-top:2px}
.prep-check-row b,.prep-check-row em{font-size:9.5px;font-style:normal;border-radius:999px;padding:4px 7px;background:#f2f4f7;color:#667085;white-space:nowrap}.prep-check-row.is-complete b{background:#e7f7ef;color:#087f5b}
.prep-clinical-placeholder{border:1px dashed #cbd7e1;border-radius:11px;padding:0 11px;background:#fbfcfd;margin-bottom:13px}
.prep-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prep-support-grid>article{display:flex;flex-direction:column;gap:9px;min-width:0;border:1px solid #e3e9ee;border-radius:11px;padding:11px;background:#fbfcfd}
.prep-support-grid>article>div:first-child{display:flex;justify-content:space-between;gap:8px}.prep-support-grid strong{font-size:11px}.prep-support-grid>article>div:first-child span{font-size:10px;font-weight:800;color:#1667a9}
.prep-support-grid .btn{align-self:flex-start}.prep-support-thumbs{display:flex;gap:6px;overflow:auto}.prep-support-thumbs img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #d5dfe7}.prep-empty-support{display:grid;place-items:center;min-height:48px;border-radius:8px;background:#f1f4f6;color:#8a97a3;font-size:10px}
.prep-workspace-card>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid #e8edf1}.prep-workspace-card>footer p{font-size:10.5px;color:var(--ink3);margin:0;line-height:1.4}.prep-workspace-card>footer.is-alert{color:#b42318;background:#fff5f4;border-radius:9px;padding:10px;border:0}
.prep-auth-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:11px}.prep-auth-summary span{padding:8px 6px;border-radius:9px;text-align:center;background:#f5f7f9;font-size:9.5px;color:var(--ink3)}.prep-auth-summary b{display:block;font-size:15px;color:var(--ink)}
.prep-auth-items{max-height:135px;overflow:auto;border:1px solid #e5eaee;border-radius:10px}.prep-auth-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #edf1f4}.prep-auth-item:last-child{border-bottom:0}.prep-auth-item strong,.prep-auth-item small{display:block}.prep-auth-item strong{font-size:10.5px}.prep-auth-item small{font-size:9.5px;color:var(--ink3);margin-top:2px}.prep-auth-item>b{font-size:10.5px;color:var(--ink2)}
.prep-future-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.prep-future-fields>div{background:#f8fafb;border-radius:9px;padding:9px}.prep-future-fields small,.prep-future-fields strong{display:block}.prep-future-fields small{font-size:9px;color:var(--ink3)}.prep-future-fields strong{font-size:10px;margin-top:3px}
.prep-progress-label{text-align:right}.prep-progress-label strong,.prep-progress-label span{display:block}.prep-progress-label strong{font-size:18px;color:#1667a9}.prep-progress-label span{font-size:9px;color:var(--ink3);text-transform:uppercase}
.prep-stage-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.prep-stage-preview>div{display:grid;grid-template-columns:25px 1fr;column-gap:8px;padding:12px;border:1px dashed #cad6df;border-radius:11px;background:#fafcfd}.prep-stage-preview>div>span{grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9f2f9;color:#1667a9;font-weight:800}.prep-stage-preview strong,.prep-stage-preview small{display:block}.prep-stage-preview strong{font-size:11px}.prep-stage-preview small{font-size:9.5px;color:var(--ink3);margin-top:3px}.prep-stage-note{margin-top:11px}
.prep-execution-card .dtable{margin-top:4px}.prep-execution-card .dtable th{font-size:9px}.prep-execution-card .dtable td{font-size:11px}
.prep-billing-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prep-billing-metrics>div{background:#f7f5fc;border-radius:10px;padding:11px}.prep-billing-metrics small,.prep-billing-metrics strong{display:block}.prep-billing-metrics small{font-size:9.5px;color:var(--ink3)}.prep-billing-metrics strong{font-size:19px;color:#6941c6;margin-top:4px}
.prep-status-route{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0}.prep-status-route span{font-size:9.5px;font-weight:700;border-radius:999px;padding:5px 8px;background:#f0eafe;color:#6941c6}.prep-status-route i{font-size:10px;color:#98a2b3;font-style:normal}
.prep-final-supports{border:1px solid #e5eaee;border-radius:11px;padding:0 11px;margin-bottom:12px}
.prep-empty-panel{padding:16px;text-align:center;color:var(--ink3);font-size:11px}
@media(max-width:1050px){.prep-workspace-steps{grid-template-columns:repeat(2,1fr)}.prep-workspace-step:nth-child(2n){border-right:0}.prep-workspace-step:nth-child(n+3){border-top:1px solid #e1e8ee}.prep-workspace-grid{grid-template-columns:1fr}.prep-execution-card{grid-column:auto}.prep-request-card,.prep-authorization-card,.prep-billing-card,.prep-close-card{min-height:0}}
@media(max-width:700px){.prep-workspace-head{flex-direction:column}.prep-workspace-steps{grid-template-columns:1fr}.prep-workspace-step,.prep-workspace-step:nth-child(2n){border-right:0;border-bottom:1px solid #e1e8ee}.prep-workspace-step:nth-child(n+3){border-top:0}.prep-workspace-step:last-child{border-bottom:0}.prep-workspace-step small{white-space:normal}.prep-support-grid,.prep-auth-summary,.prep-future-fields,.prep-stage-preview,.prep-billing-metrics{grid-template-columns:1fr 1fr}.prep-workspace-card{padding:14px}.prep-workspace-card>header{align-items:flex-start}.prep-auth-item{grid-template-columns:minmax(0,1fr) auto}.prep-auth-item>b{grid-column:2}.prep-execution-card .dtable{display:block;overflow-x:auto}.prep-status-route{gap:4px}}
@media(max-width:430px){.prep-support-grid,.prep-auth-summary,.prep-future-fields,.prep-stage-preview,.prep-billing-metrics{grid-template-columns:1fr}.prep-workspace-card>footer{align-items:flex-start;flex-direction:column}.prep-workspace-card>header{flex-direction:column}.prep-card-state{align-self:flex-start}}

/* Identidad corporativa del acceso móvil */
.auth-mobile-brand{display:none}
@media(max-width:900px){
  #screen-auth{background:#fff}
  .auth-right{min-height:100vh;padding:0 0 38px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
  .auth-mobile-brand{
    display:flex;position:relative;width:100%;min-height:245px;padding:30px 24px 24px;
    overflow:hidden;flex-direction:column;align-items:center;justify-content:center;
    background:linear-gradient(145deg,#072f52 0%,#0a4c81 58%,#1d72c9 100%);color:#fff
  }
  .auth-mobile-brand::after{
    content:'';position:absolute;left:-10%;right:-10%;bottom:-54px;height:92px;
    background:#fff;border-radius:50% 50% 0 0/60% 60% 0 0
  }
  .auth-mobile-orbit{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}
  .auth-mobile-orbit-a{width:310px;height:310px;right:-150px;top:-165px}
  .auth-mobile-orbit-b{width:230px;height:230px;left:-130px;bottom:-110px}
  .auth-mobile-brand-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}
  .auth-mobile-brand-content img{width:64px;height:64px;object-fit:contain;margin-bottom:9px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
  .auth-mobile-brand-content>div{display:flex;align-items:baseline;gap:7px;font-family:'Montserrat',sans-serif}
  .auth-mobile-brand-content strong{font-size:25px;font-weight:900;letter-spacing:-.6px}
  .auth-mobile-brand-content span{font-size:20px;font-weight:700;color:#8ed0ff}
  .auth-mobile-brand-content p{margin:5px 0 0;font-size:11px;letter-spacing:.35px;color:rgba(255,255,255,.72)}
  .auth-mobile-network{position:relative;z-index:2;display:flex;align-items:center;gap:7px;margin-top:18px;color:rgba(255,255,255,.72);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.45px}
  .auth-mobile-network i{display:block;width:22px;height:1px;background:rgba(255,255,255,.35)}
  .auth-mobile-network b{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);font-size:8px;color:#fff}
  .auth-box{width:min(100% - 40px,520px);margin:-8px auto 0;position:relative;z-index:3}
  .auth-box h2,.auth-box>p.sub{text-align:center}
}
@media(max-width:480px){
  .auth-mobile-brand{min-height:225px;padding-top:24px}
  .auth-mobile-brand-content img{width:56px;height:56px}
  .auth-mobile-brand-content strong{font-size:23px}
  .auth-mobile-brand-content span{font-size:18px}
  .auth-box{width:calc(100% - 32px)}
  .auth-box h2{font-size:26px}
  .auth-box .sub{margin-bottom:20px}
}


/* ═══ MOBILE SUPPLY ORDER FORM v80 ═══ */
@media(max-width:700px){
  #new-order-modal{
    z-index:13000!important;
    align-items:flex-end!important;
    padding:0!important
  }
  #new-order-modal .supply-order-dialog{
    width:100%!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:100dvh!important;
    border-radius:0!important
  }
  #new-order-modal .supply-order-dialog-body{
    min-height:0;
    padding:18px 16px 24px!important;
    overscroll-behavior:contain
  }
  #new-order-modal .supply-order-item-row{
    grid-template-columns:minmax(0,1fr) 72px 40px!important;
    gap:8px!important
  }
  #new-order-modal .supply-order-item-row>div:nth-child(1){
    grid-column:1/-1
  }
  #new-order-modal .supply-order-item-row>div:nth-child(2){
    grid-column:1/2
  }
  #new-order-modal .supply-order-item-row>div:nth-child(3){
    grid-column:2/3
  }
  #new-order-modal .supply-order-item-row>div:nth-child(4){
    grid-column:1/3
  }
  #new-order-modal .supply-order-item-row>button{
    grid-column:3/4;
    grid-row:2
  }
  #new-order-modal .supply-order-dialog-actions{
    position:relative;
    z-index:2;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:8px!important;
    flex:0 0 auto;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
    box-shadow:0 -8px 24px rgba(15,23,42,.08)
  }
  #new-order-modal .supply-order-dialog-actions .btn{
    min-height:42px;
    margin:0!important;
    white-space:nowrap
  }
  #new-order-modal .supply-order-dialog-actions .btn-primary{
    grid-column:1/-1;
    grid-row:2;
    width:100%
  }
}


/* ═══ ADMINISTRATIVE REFERRAL FOLLOW-UP v81 ═══ */
.remision-reason-field textarea{
  width:100%;
  min-height:112px;
  resize:vertical;
  line-height:1.45
}
.remision-reason-field small{
  display:block;
  margin-top:5px;
  color:var(--ink3);
  font-size:10.5px;
  line-height:1.4
}
.remision-followup-detail{
  max-width:300px;
  color:var(--ink2);
  line-height:1.4;
  white-space:normal
}
@media(max-width:700px){
  .remision-form-overlay{
    align-items:flex-end!important;
    z-index:13000!important
  }
  .remision-form-dialog{
    width:100%!important;
    max-width:none!important;
    max-height:96dvh!important;
    padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important;
    border-radius:18px 18px 0 0!important
  }
  .remision-reason-field textarea{
    min-height:132px;
    font-size:16px
  }
  .remision-followup-detail{
    max-width:none
  }
}


/* ═══ MOBILE DASHBOARD PERIOD POSITION v82 ═══ */
@media(max-width:768px){
  body:has(#page-dashboard.active) .topbar{
    display:block!important;
    height:48px!important;
    min-height:48px!important;
    margin-top:52px!important;
    padding:4px 12px!important;
    overflow:visible!important
  }
  body:has(#page-dashboard.active) #topbar-actions-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:40px!important;
    margin:0!important
  }
  body:has(#page-dashboard.active) #dash-period-nav-wrap{
    flex:0 0 auto!important;
    margin:0!important
  }
  #tabsbar-dashboard{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none
  }
  #tabsbar-dashboard::-webkit-scrollbar{display:none}
  #tabsbar-dashboard>div:first-child{
    display:flex!important;
    width:max-content!important;
    min-width:max-content!important
  }
  #tabsbar-dashboard .os-utab{
    flex:0 0 auto!important;
    white-space:nowrap
  }
}


/* ═══ COMPACT MOBILE MANAGEMENT LAYOUT v83 ═══ */
@media(max-width:430px){
  .clinic-management-page{
    padding:12px 10px 20px!important
  }

  /* KPI cards: short metrics use a dense two-column grid. */
  .management-kpi-grid.cols-3,
  .management-kpi-grid.cols-4,
  .management-kpi-grid.cols-5,
  #patients-kpis,#os-kpis,#lab-lista-kpis,
  #page-cuentas-cobro .cc-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    gap:8px!important;
    margin:0 0 10px!important;
    padding:0!important;
    overflow:visible!important
  }
  .management-kpi{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
    min-height:72px!important;
    padding:10px!important;
    border-radius:11px!important
  }
  .management-kpi-icon{
    width:34px!important;
    height:34px!important;
    border-radius:9px!important
  }
  .management-kpi-icon svg{width:18px!important;height:18px!important}
  .management-kpi small{font-size:9px!important;white-space:normal!important;line-height:1.2}
  .management-kpi strong{font-size:18px!important}
  .management-kpi em{font-size:8px!important;white-space:normal!important;line-height:1.2}
  #lab-lista-kpis .management-kpi:last-child{grid-column:1/-1}

  /* Patients: one creation action, then a compact 2x2 tool grid. */
  #page-patients #patients-hd-right{display:none!important}
  #page-patients .patients-management-toolbar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:7px!important
  }
  #page-patients .patients-toolbar-primary{display:flex!important;grid-column:1;grid-row:1;width:100%}
  #page-patients .patients-toolbar-primary .btn{
    width:100%!important;
    min-height:40px!important;
    padding:0 9px!important;
    font-size:10.5px!important
  }
  #page-patients #pat-actions{display:contents!important}
  #page-patients #pat-actions>button:first-child{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    height:40px!important;
    padding:0 7px!important;
    font-size:9.5px!important
  }
  #page-patients #pat-fp-btn{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:40px!important
  }
  #page-patients #pat-actions>div{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important
  }
  #page-patients #patients-search{height:40px!important;font-size:11px!important}

  /* Prepaid: only the active filter group is visible and controls stay compact. */
  #page-cuentas-cobro .prepaid-scope-nav>div:first-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important}
  #page-cuentas-cobro .prepaid-scope-nav .os-utab{width:100%;justify-content:center;padding:7px 8px!important;font-size:11px!important}
  #page-cuentas-cobro #cc-tabs>div:first-child{display:flex!important;width:100%!important;overflow-x:auto!important}
  #page-cuentas-cobro #cc-tabs .os-utab{min-height:34px!important;padding:7px 10px!important;font-size:10.5px!important}
  #page-cuentas-cobro #cc-filters-estandar[style*="display: none"],
  #page-cuentas-cobro #cc-filters-estandar[style*="display:none"],
  #page-cuentas-cobro #cc-filters-prepagadas[style*="display: none"],
  #page-cuentas-cobro #cc-filters-prepagadas[style*="display:none"]{display:none!important}
  #page-cuentas-cobro #cc-filters-estandar{
    grid-template-columns:44px minmax(0,1fr) 44px!important
  }
  #page-cuentas-cobro #cc-filters-prepagadas{
    grid-template-columns:44px 44px minmax(0,1fr)!important
  }
  #page-cuentas-cobro #cc-filters-estandar .btn-fp,
  #page-cuentas-cobro #cc-filters-prepagadas .btn-fp{
    width:44px!important;
    min-width:44px!important;
    padding:0!important;
    font-size:0!important
  }
  #page-cuentas-cobro #cc-filters-estandar .btn-fp svg,
  #page-cuentas-cobro #cc-filters-prepagadas .btn-fp svg{width:16px;height:16px}
  #page-cuentas-cobro #cc-filters-estandar .btn-primary,
  #page-cuentas-cobro #cc-filters-prepagadas .btn-primary{
    width:44px!important;
    min-width:44px!important;
    padding:0!important
  }
  #page-cuentas-cobro #cc-search{width:100%!important;min-width:0!important}
  #page-cuentas-cobro #ccp-mes-facturar{width:100%!important;min-width:0!important}
  #page-cuentas-cobro #cc-group-wrap,
  #page-cuentas-cobro #ccp-group-date-wrap{grid-column:1/-1!important}

  /* Lab orders: compact action and two filters on one row. */
  #page-lab-orders .amway-hd{margin-bottom:8px!important}
  #page-lab-orders #lab-orders-hd-right{display:flex!important;justify-content:flex-end!important}
  #page-lab-orders #lab-orders-hd-right .btn-primary{
    width:auto!important;
    min-height:38px!important;
    padding:0 14px!important;
    font-size:10.5px!important
  }
  #page-lab-orders #tabsbar-lab-orders{gap:7px!important;padding:7px!important}
  #page-lab-orders #lablista-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important
  }
  #page-lab-orders #lablista-actions select{
    width:100%!important;
    height:40px!important;
    min-width:0!important;
    padding:0 9px!important;
    font-size:11px!important
  }
}


/* ═══ FULL APP MOBILE DENSITY AUDIT v84 ═══ */
@media(max-width:430px){
  /* Keep the shared page rhythm compact across every operational module. */
  .clinic-management-page .amway-hd{margin-bottom:8px!important;gap:8px!important}
  .clinic-management-page .management-toolbar,
  #page-supplies>.management-toolbar,
  #page-equipment>.management-toolbar{
    gap:7px!important;
    margin-bottom:9px!important;
    padding:7px!important;
    border-radius:11px!important
  }
  .clinic-management-page .os-utab{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:10.5px!important
  }
  .clinic-management-page .amway-hd-right{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%
  }
  .clinic-management-page .management-page-primary .btn-primary,
  #page-supplies .management-page-primary .btn-primary,
  #page-waste .management-page-primary .btn-primary{
    width:auto!important;
    min-height:38px!important;
    padding:0 14px!important;
    font-size:10.5px!important
  }

  /* Generic KPI families stay two-up even below the old 390px breakpoint. */
  .kpi-grid,
  #page-liquidacion #liq-kpis,
  #page-liquidacion [data-liq-row2],
  #doc-kpis,#pat-kpis,#lab-kpis,#osdash-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:10px!important
  }
  .kpi-grid>.card,
  #page-liquidacion #liq-kpis>.card,
  #page-liquidacion [data-liq-row2]>.card{
    min-height:76px!important;
    padding:10px!important;
    border-radius:11px!important
  }

  /* Supplies: tabs scroll; contextual action is icon-sized; inner toolbars wrap tightly. */
  #page-supplies #tabsbar-supplies,
  #page-equipment #tabsbar-equipment{
    min-height:34px!important;
    padding:0!important
  }
  #page-supplies>.management-toolbar>.management-toolbar-actions,
  #page-equipment>.management-toolbar>.management-toolbar-actions{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important
  }
  #page-supplies>.management-toolbar>.management-toolbar-actions .btn,
  #page-equipment>.management-toolbar>.management-toolbar-actions .btn{
    width:auto!important;
    min-width:40px!important;
    height:38px!important;
    padding:0 12px!important
  }
  #page-supplies .tbl-toolbar,
  #page-equipment .tbl-toolbar{margin-bottom:7px!important}
  #page-supplies .card-head,
  #page-equipment .card-head,
  #page-waste .card-head{
    min-height:46px!important;
    padding:9px 11px!important;
    gap:7px!important
  }
  #page-supplies .card-head-actions{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:7px!important;
    width:100%!important;
    margin-top:7px
  }
  #page-supplies .card-head-actions .btn-fp{width:44px!important;padding:0!important;font-size:0!important}
  #page-supplies .card-head-actions input[type="text"]{width:100%!important;min-width:0!important}
  #page-supplies .card-head-actions label,
  #page-supplies .card-head-actions .btn-primary{grid-column:1/-1!important}

  /* Finance toolbar: compact two-column actions and no fallback to a single KPI column. */
  #page-liquidacion #tabsbar-liquidacion-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important
  }
  #page-liquidacion #tabsbar-liquidacion-tabs .os-utab{
    justify-content:center!important;
    padding:7px 6px!important;
    font-size:10.5px!important;
    white-space:nowrap!important
  }
  #page-liquidacion #liq-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:7px!important
  }
  #page-liquidacion #liq-profesional{grid-column:1/-1!important;height:38px!important}
  #page-liquidacion #liq-actions>button{min-height:38px!important}
  #page-liquidacion .finance-period-note{margin-bottom:8px!important;padding:9px 10px!important}

  /* The persistent help affordance no longer covers cards or table actions. */
  .footer-help-btn{
    right:12px!important;
    bottom:78px!important;
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:50%!important
  }
  .footer-help-btn>span{display:none!important}
  .footer-help-btn svg{width:19px!important;height:19px!important}
}


/* ── PREPAGADA · RADICACIONES AGRUPADAS v1 ── */
.prep-claim-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.prep-claim-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:10px;border:1px solid #e4e9ee;border-radius:10px;background:#fbfcfd}
.prep-claim-row strong,.prep-claim-row small{display:block}.prep-claim-row strong{font-size:11px}.prep-claim-row small{font-size:9.5px;color:var(--ink3);margin-top:2px}.prep-claim-row>b{font-size:11px;color:var(--ink2)}
.prep-claim-select-list{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto}
.prep-claim-select-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #dfe6ec;border-radius:10px;cursor:pointer;background:#fbfcfd}
.prep-claim-select-row:has(input:checked){border-color:#4c91c7;background:#eef7ff}.prep-claim-select-row input{width:17px;height:17px}.prep-claim-select-row strong,.prep-claim-select-row small{display:block}.prep-claim-select-row strong{font-size:12px}.prep-claim-select-row small{font-size:10px;color:var(--ink3);margin-top:2px}.prep-claim-select-row>b{font-size:11px;color:#1667a9}
.prep-claim-response-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;border-radius:11px;background:#f5f2fc;color:#6941c6}.prep-claim-response-summary span{font-size:11px}.prep-claim-response-summary strong{font-size:18px}
@media(max-width:700px){.prep-claim-row{grid-template-columns:minmax(0,1fr) auto}.prep-claim-row>b{grid-column:1}.prep-claim-row .btn{grid-column:2}.prep-claim-select-row{grid-template-columns:auto minmax(0,1fr)}.prep-claim-select-row>b{grid-column:2}}
.authorization-focus-row{animation:authorizationFocus 2.2s ease}
@keyframes authorizationFocus{0%,100%{box-shadow:none}20%,75%{box-shadow:inset 0 0 0 2px #f59e0b;background:#fff8e6}}
.prep-workspace-stages{display:block;margin-top:18px}
.prep-workspace-stages>[data-prep-stage-panel]{display:none;width:100%}
.prep-workspace-stages>[data-prep-stage-panel].is-active{display:block}
.prep-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.prep-form-grid .full{grid-column:1/-1}
.prep-form-grid input,.prep-form-grid textarea,.prep-authorization-editor input,.prep-authorization-editor select{width:100%;padding:9px 10px;border:1.5px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.prep-form-grid input:disabled,.prep-form-grid textarea:disabled,.prep-authorization-editor input:disabled,.prep-authorization-editor select:disabled{background:var(--surface);color:var(--ink3)}
.prep-authorization-editor td{vertical-align:top}
.prep-authorization-editor td:first-child{min-width:240px}
.prep-financial-administration{margin:0;padding:0;border:0}
@media(max-width:900px){.prep-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.prep-form-grid{grid-template-columns:1fr}.prep-form-grid .full{grid-column:auto}.prep-authorization-editor{min-width:760px}}


/* OLAB compact card list — keeps long unique IDs readable without a dense table */
.olab-order-card-list{display:grid;gap:10px}
.olab-card-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-radius:10px;background:var(--sky);color:var(--teal);font-size:12px}
.olab-card-group span{color:var(--ink3);font-weight:500}
.olab-order-card{display:grid;grid-template-columns:minmax(185px,1.05fr) minmax(250px,1.45fr) minmax(155px,.78fr) 112px minmax(174px,auto);align-items:stretch;border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:12px;background:var(--white);box-shadow:0 3px 12px rgba(15,76,129,.06);overflow:hidden}
.olab-card-section{min-width:0;padding:13px 14px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:7px}
.olab-card-field{min-width:0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;align-items:start;font-size:12px;line-height:1.3}
.olab-card-field>span{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.035em;font-weight:800;color:var(--ink3)}
.olab-card-field>b,.olab-card-field>strong{min-width:0;color:var(--ink);font-weight:600}
.olab-card-order{color:var(--teal)!important;overflow-wrap:anywhere;word-break:break-word}
.olab-card-meta{padding-left:95px;margin-top:-4px;color:var(--ink3);font-size:10px}
.olab-card-price{color:var(--teal)!important}
.olab-card-field .is-late{color:var(--red)}
.olab-card-status{align-items:center;text-align:center;padding-inline:8px}
.olab-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px}
.olab-card-actions .olab-patient-record-link{white-space:nowrap;min-height:38px}
.olab-card-actions .clinic-row-icon-action{flex:0 0 40px}
@media(max-width:1200px){
  .olab-order-card{grid-template-columns:minmax(190px,1fr) minmax(240px,1.35fr) minmax(150px,.75fr) 108px}
  .olab-card-actions{grid-column:1/-1;border-top:1px solid var(--border);padding:8px 12px}
}
@media(max-width:760px){
  .olab-order-card{grid-template-columns:1fr 104px}
  .olab-card-identity,.olab-card-work,.olab-card-finance{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--border);padding:11px 13px}
  .olab-card-status{grid-column:1;border-right:1px solid var(--border);padding:9px}
  .olab-card-actions{grid-column:2;grid-row:auto;border-top:0;padding:8px;display:grid;grid-template-columns:1fr 1fr}
  .olab-card-actions .olab-patient-record-link{grid-column:1/-1;padding-inline:8px;font-size:11px}
  .olab-card-field{grid-template-columns:82px minmax(0,1fr)}
  .olab-card-meta{padding-left:89px}
  .olab-card-group{align-items:flex-start;flex-direction:column;gap:2px}
}


/* Acción principal de cierre de autorización — asociada visualmente al botón */
.prep-workspace-card>footer.prep-authorization-action{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;padding:13px 14px;border:1px solid #d6e2ec;border-radius:12px;background:#f7fafc}
.prep-authorization-action-copy{display:flex;align-items:center;gap:10px;max-width:470px;margin-left:auto}
.prep-authorization-action-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;font-size:14px;font-weight:900}
.prep-authorization-action-copy>div{min-width:0}
.prep-authorization-action-copy strong{display:block;font-size:12px;line-height:1.25;color:var(--ink)}
.prep-workspace-card>footer.prep-authorization-action .prep-authorization-action-copy p{margin-top:3px;font-size:10.5px;line-height:1.35}
.prep-authorization-action.is-pending{border-color:#f0cf82;background:#fff9eb}
.prep-authorization-action.is-pending .prep-authorization-action-icon{background:#fff0c2;color:#9a6700}
.prep-authorization-action.is-ready{border-color:#a7dfc8;background:#f0fbf6}
.prep-authorization-action.is-ready .prep-authorization-action-icon,.prep-authorization-action.is-closed .prep-authorization-action-icon{background:#dff5e9;color:#087f5b}
.prep-workspace-card>footer.prep-authorization-action .btn{min-height:42px;padding:10px 16px;white-space:nowrap;box-shadow:0 5px 14px rgba(15,76,129,.16)}
@media(max-width:700px){.prep-workspace-card>footer.prep-authorization-action{align-items:stretch;flex-direction:column}.prep-authorization-action-copy{max-width:none;margin-left:0}.prep-workspace-card>footer.prep-authorization-action .btn{width:100%}}


/* ═══ MOBILE DASHBOARD EMPTY PERIOD ROW v88 ═══ */
@media(max-width:768px){
  body:has(#page-dashboard.active) .topbar:has(#dash-period-nav-wrap[style*="display: none"]),
  body:has(#page-dashboard.active) .topbar:has(#dash-period-nav-wrap[style*="display:none"]){
    height:0!important;
    min-height:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  body:has(#page-dashboard.active) .topbar:has(#dash-period-nav-wrap[style*="display: none"]) #topbar-actions-wrap,
  body:has(#page-dashboard.active) .topbar:has(#dash-period-nav-wrap[style*="display:none"]) #topbar-actions-wrap{
    display:none!important;
    height:0!important;
  }
}


/* ═══ UNIFIED MOBILE CREATE ACTION v89 ═══ */
@media(max-width:768px){
  #mob-add-sheet{
    max-height:min(88dvh,720px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  #mob-add-sheet .mob-sheet-divider{
    height:1px;
    flex:0 0 1px;
    margin:5px 8px;
    background:var(--border);
  }
}


/* ═══ CONSOLIDATED MOBILE CONTEXT CONTROLS v97 ═══
   Single source of truth for contextual mobile controls.
   Replaces the incremental orders/finance override chain. */
#mobile-context-slot{display:none}

@media(max-width:768px){
  #mob-topbar{gap:6px!important}
  #mob-topbar .mobile-clinic-brand{
    flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important
  }
  #mob-topbar .mobile-clinic-brand strong{
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important
  }
  #mobile-context-slot.is-active{
    display:flex!important;align-items:center!important;gap:5px!important;
    flex:0 0 auto!important;height:38px!important;pointer-events:auto!important
  }
  #mobile-context-slot #period-nav-wrap,
  #mobile-context-slot #dash-period-nav-wrap{
    display:flex!important;flex:0 0 126px!important;width:126px!important;
    max-width:126px!important;height:36px!important;margin:0!important
  }
  #mobile-context-slot #period-nav-wrap .period-nav-btn,
  #mobile-context-slot #dash-period-nav-wrap .period-nav-btn{width:28px!important}
  #mobile-context-slot #period-nav-wrap .period-nav-label,
  #mobile-context-slot #dash-period-nav-wrap .period-nav-label{
    flex:1 1 auto!important;min-width:0!important;padding:0 3px!important;font-size:10.5px!important
  }
  #mobile-context-slot #mobile-os-filter{
    display:flex!important;flex:0 0 34px!important;width:34px!important;min-width:34px!important;
    height:36px!important;padding:0!important;border-radius:9px!important
  }
  #mobile-context-slot #mobile-os-filter span{display:none!important}

  body:has(#page-dashboard.active) #topbar-actions-wrap,
  body:has(#page-service-orders.active) #topbar-actions-wrap,
  body:has(#page-liquidacion.active) #topbar-actions-wrap{
    display:none!important;position:static!important;width:0!important;height:0!important;pointer-events:none!important
  }
  body:has(#page-dashboard.active) .topbar,
  body:has(#page-service-orders.active) .topbar,
  body:has(#page-liquidacion.active) .topbar{
    height:0!important;min-height:0!important;margin-top:52px!important;padding:0!important;
    border:0!important;overflow:hidden!important;pointer-events:none!important
  }

  #page-service-orders{padding-top:7px!important}
  #page-service-orders #os-tabs-bar{
    gap:6px!important;margin-bottom:9px!important;padding:6px!important;border-radius:13px!important
  }
  #page-service-orders #os-tabs-bar>div:first-child{
    display:flex!important;width:100%!important;min-width:0!important;
    overflow-x:auto!important;scrollbar-width:none
  }
  #page-service-orders #os-tabs-bar>div:first-child::-webkit-scrollbar{display:none}
  #page-service-orders #os-tabs-bar .os-utab{
    flex:0 0 auto!important;min-height:36px!important;padding:7px 11px!important;font-size:11px!important
  }
  #page-service-orders #os-actions,
  #page-service-orders #os-search-wrap{width:100%!important}
  #page-service-orders #os-actions{gap:0!important}
  #page-service-orders #os-search{width:100%!important;height:42px!important;font-size:12px!important}

  #page-liquidacion{padding-top:7px!important}
  #page-liquidacion #tabsbar-liquidacion{
    gap:6px!important;margin-bottom:10px!important;padding:6px!important;border-radius:13px!important
  }
  #page-liquidacion #tabsbar-liquidacion-tabs{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;width:100%!important;overflow:visible!important
  }
  #page-liquidacion #tabsbar-liquidacion-tabs .os-utab{
    width:100%!important;min-height:38px!important;padding:7px 5px!important;font-size:10.5px!important
  }
  #page-liquidacion #liq-actions{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px 36px!important;
    align-items:center!important;gap:6px!important;width:100%!important;padding:0!important
  }
  #page-liquidacion #liq-origen,
  #page-liquidacion #liq-profesional{
    width:100%!important;min-width:0!important;height:36px!important;padding:0 8px!important;
    border:1px solid #dfe6ec!important;border-radius:8px!important;background:#fff!important;font-size:10.5px!important
  }
  #page-liquidacion #liq-origen{grid-column:1!important;grid-row:1!important}
  #page-liquidacion #liq-profesional{grid-column:2!important;grid-row:1!important}
  #page-liquidacion #liq-actions>button[onclick="clearLiqFilters()"],
  #page-liquidacion #liq-actions>button[onclick="printActiveLiqTab()"],
  #page-liquidacion #liq-ant-fp-btn{
    width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;
    padding:0!important;justify-content:center!important;border:1px solid #dfe6ec!important;
    border-radius:8px!important;background:#fff!important;color:#475467!important;font-size:0!important
  }
  #page-liquidacion #liq-actions>button[onclick="clearLiqFilters()"]{grid-column:3!important;grid-row:1!important}
  #page-liquidacion #liq-actions>button[onclick="printActiveLiqTab()"]{
    grid-column:4!important;grid-row:1!important;border-color:#cbdce9!important;
    background:#eef5fa!important;color:#0f5f99!important
  }
  #page-liquidacion #liq-actions>button[onclick="clearLiqFilters()"] svg,
  #page-liquidacion #liq-actions>button[onclick="printActiveLiqTab()"] svg,
  #page-liquidacion #liq-ant-fp-btn svg{width:16px!important;height:16px!important;margin:0!important}

  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-actions{
    grid-template-columns:minmax(0,1fr) 36px 36px 36px!important;
    grid-template-rows:36px 36px!important
  }
  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-origen{
    grid-column:1/-1!important;grid-row:1!important
  }
  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-ant-add-btn{
    grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;
    height:36px!important;min-height:36px!important;padding:0 10px!important;
    border:1px solid #0f5f99!important;border-radius:8px!important;background:#0f5f99!important;
    color:#fff!important;font-size:10.5px!important;white-space:nowrap!important
  }
  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-actions>button[onclick="clearLiqFilters()"]{
    grid-column:2!important;grid-row:2!important
  }
  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-ant-fp-btn{
    grid-column:3!important;grid-row:2!important
  }
  #page-liquidacion #tabsbar-liquidacion:has(#liq-tab-anticipos.os-utab-active) #liq-actions>button[onclick="printActiveLiqTab()"]{
    grid-column:4!important;grid-row:2!important
  }
}

@media(max-width:390px){
  #mobile-context-slot #period-nav-wrap,
  #mobile-context-slot #dash-period-nav-wrap{
    flex-basis:112px!important;width:112px!important;max-width:112px!important
  }
  #mob-topbar{gap:4px!important;padding-left:10px!important;padding-right:10px!important}
}

/* ═══ MOBILE PAGE TITLE v98 ═══ */
@media(max-width:768px){
  #mob-topbar .mobile-clinic-title-stack{
    display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;
    min-width:0;overflow:hidden;line-height:1.05
  }
  #mob-topbar .mobile-clinic-title-stack small,
  #mob-topbar .mobile-clinic-title-stack strong{
    display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  #mob-topbar .mobile-clinic-title-stack small{
    color:var(--ink3);font-size:9px;font-weight:600;letter-spacing:.02em
  }
  #mob-topbar .mobile-clinic-title-stack strong{
    color:var(--ink);font-size:16px;font-weight:800;line-height:1.08
  }
}
@media(max-width:390px){
  #mob-topbar .mobile-clinic-title-stack small{font-size:8.5px}
  #mob-topbar .mobile-clinic-title-stack strong{font-size:15px}
}



/* Vista OLAB tipo hoja de datos — alternativa compacta a las tarjetas */
.olab-view-switch{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
.olab-view-switch button{border:0;background:transparent;color:var(--ink3);font:600 12px/1 'Roboto',sans-serif;padding:7px 11px;border-radius:6px;cursor:pointer}
.olab-view-switch button.is-active{background:var(--white);color:var(--teal);box-shadow:0 1px 4px rgba(15,76,129,.12)}
.olab-grid-scroll{width:100%;height:clamp(360px,calc(100vh - 250px),760px);overflow:auto;background:var(--white);scrollbar-gutter:stable;overscroll-behavior:contain}
.olab-grid-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;color:var(--ink)}
.olab-grid-table th{position:sticky;top:0;z-index:3;height:38px;padding:0 11px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--ink3);font-size:10px;font-weight:800;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}
.olab-grid-table th:nth-child(1){width:116px}
.olab-grid-table th:nth-child(2){width:180px}
.olab-grid-table th:nth-child(3){width:150px}
.olab-grid-table th:nth-child(4){width:210px}
.olab-grid-table th:nth-child(5){width:170px}
.olab-grid-table th:nth-child(6){width:140px}
.olab-grid-table th:nth-child(7),.olab-grid-table th:nth-child(8){width:96px}
.olab-grid-table th:nth-child(9){width:112px;text-align:right}
.olab-grid-table th:nth-child(10){width:142px;text-align:right}
.olab-grid-table tbody>tr:not(.olab-grid-group)>td{height:52px;padding:7px 11px;border-bottom:1px solid var(--border);background:var(--white);vertical-align:middle}
.olab-grid-table tbody>tr:not(.olab-grid-group):hover>td{background:#F8FAFC}
.olab-grid-table td:nth-child(9){text-align:right}
.olab-grid-table td:last-child{text-align:right}
.olab-grid-group td{padding:0!important;border-bottom:1px solid #CFE0F0;background:#EDF5FC!important}
.olab-grid-group button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 11px;color:var(--teal);cursor:default;text-align:left}
.olab-grid-group button span{font-size:13px}
.olab-grid-group button strong{font-size:12px}
.olab-grid-group button em{font-size:11px;font-style:normal;font-weight:500;color:var(--ink3)}
.olab-grid-status{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap}
.olab-grid-status.gray{background:#EEF2F6;color:#536273}
.olab-grid-status.blue{background:#E5F0FF;color:#27639D}
.olab-grid-status.yellow{background:#FFF3D9;color:#9A6812}
.olab-grid-status.purple{background:#F1EAFE;color:#7445A4}
.olab-grid-status.green{background:#E4F6EC;color:#18855D}
.olab-grid-patient,.olab-grid-work,.olab-grid-provider{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.olab-grid-patient{font-weight:700}
.olab-grid-order{border:0;background:transparent;padding:0;color:var(--teal);font:700 11px/1.3 'Roboto',sans-serif;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.olab-grid-meta{display:flex;min-width:0;flex-direction:column;gap:2px}
.olab-grid-meta b,.olab-grid-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.olab-grid-meta b{font-weight:600}
.olab-grid-meta small{color:var(--ink3);font-size:10px}
.olab-grid-table time{white-space:nowrap;color:var(--ink2)}
.olab-grid-table time.is-late{color:var(--red);font-weight:700}
.olab-grid-price{color:var(--teal);font-weight:700;white-space:nowrap}
.olab-grid-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}
.olab-grid-actions .clinic-row-icon-action{width:32px;height:32px;flex:0 0 32px}
.olab-grid-record{min-height:32px;border:1px solid var(--border);border-radius:7px;background:var(--white);padding:0 9px;color:var(--teal);font:700 11px/1 'Roboto',sans-serif;cursor:pointer}
.olab-grid-record:hover{border-color:var(--teal);background:var(--sky)}
@media(max-width:760px){
  .olab-view-switch{display:none}
  .olab-grid-scroll{height:auto;overflow:visible}
}


/* Kanban OLAB — lectura por etapa sin cambios de estado por arrastre */
.olab-kanban-scroll{width:100%;height:clamp(390px,calc(100vh - 250px),760px);overflow:auto;padding:10px;background:#F6F8FA;scrollbar-gutter:stable;overscroll-behavior:contain}
.olab-kanban-board{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:10px;min-width:1320px;align-items:start}
.olab-kanban-column{min-width:0;border:1px solid var(--border);border-radius:10px;background:#EEF2F5;overflow:hidden}
.olab-kanban-column>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;height:42px;padding:0 11px;border-bottom:1px solid var(--border);background:#F8FAFC}
.olab-kanban-column>header strong{font-size:12px;color:var(--ink)}
.olab-kanban-column>header b{display:grid;place-items:center;min-width:22px;height:22px;margin-left:auto;border-radius:999px;background:var(--white);color:var(--ink3);font-size:10px}
.olab-kanban-stage-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#E3EBF3;color:var(--teal)}
.olab-kanban-stage-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.olab-kanban-column.is-design .olab-kanban-stage-icon{background:#E5F0FF;color:#27639D}
.olab-kanban-column.is-manufacturing .olab-kanban-stage-icon{background:#FFF3D9;color:#9A6812}
.olab-kanban-column.is-sent .olab-kanban-stage-icon{background:#F1EAFE;color:#7445A4}
.olab-kanban-column.is-delivered .olab-kanban-stage-icon{background:#E4F6EC;color:#18855D}
.olab-kanban-cards{display:grid;gap:8px;padding:8px}
.olab-kanban-card{min-width:0;padding:11px;border:1px solid #DCE3EA;border-radius:9px;background:var(--white);box-shadow:0 1px 3px rgba(15,43,66,.05)}
.olab-kanban-card:hover{border-color:#B9CDDF;box-shadow:0 3px 9px rgba(15,43,66,.08)}
.olab-kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.olab-kanban-card-top button{max-width:150px;border:0;background:transparent;padding:0;color:var(--teal);font:800 10.5px/1.35 'Roboto',sans-serif;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.olab-kanban-card-top span{flex:0 0 auto;color:var(--ink3);font-size:10px;white-space:nowrap}
.olab-kanban-card-top span.is-late{color:var(--red);font-weight:700}
.olab-kanban-patient{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}
.olab-kanban-card p{height:31px;margin:5px 0 8px;overflow:hidden;color:var(--ink2);font-size:11px;line-height:1.4}
.olab-kanban-tags{display:flex;align-items:center;justify-content:space-between;gap:6px}
.olab-kanban-tags span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;background:var(--surface);padding:3px 6px;color:var(--ink3);font-size:9.5px}
.olab-kanban-tags b{color:var(--teal);font-size:10.5px;white-space:nowrap}
.olab-kanban-card footer{display:flex;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid var(--border)}
.olab-kanban-card footer button{flex:1;min-height:29px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--ink2);font:700 10px/1 'Roboto',sans-serif;cursor:pointer}
.olab-kanban-card footer button:hover{border-color:var(--teal);color:var(--teal);background:var(--sky)}
.olab-kanban-empty{padding:24px 8px;text-align:center;color:var(--ink3);font-size:11px}
@media(max-width:760px){
  .olab-kanban-scroll{height:calc(100vh - 230px);padding:7px}
  .olab-kanban-board{grid-template-columns:repeat(5,82vw);min-width:calc(410vw + 40px)}
}


/* Estado OLAB por color — misma semántica en tarjetas, tabla y Kanban */
.olab-list-stage.is-ordered{color:#64748B}
.olab-list-stage.is-ordered .olab-list-stage-icon{border-color:#64748B;background:#64748B;box-shadow:0 0 0 4px rgba(100,116,139,.14)}
.olab-list-stage.is-ordered strong{color:#526174}
.olab-list-stage.is-design{color:#2563EB}
.olab-list-stage.is-design .olab-list-stage-icon{border-color:#2563EB;background:#2563EB;box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.olab-list-stage.is-design strong{color:#1D4ED8}
.olab-list-stage.is-manufacturing{color:#D97706}
.olab-list-stage.is-manufacturing .olab-list-stage-icon{border-color:#D97706;background:#D97706;box-shadow:0 0 0 4px rgba(217,119,6,.15)}
.olab-list-stage.is-manufacturing strong{color:#B45309}
.olab-list-stage.is-sent{color:#7C3AED}
.olab-list-stage.is-sent .olab-list-stage-icon{border-color:#7C3AED;background:#7C3AED;box-shadow:0 0 0 4px rgba(124,58,237,.14)}
.olab-list-stage.is-sent strong{color:#6D28D9}
.olab-list-stage.is-delivered{color:#059669}
.olab-list-stage.is-delivered .olab-list-stage-icon{border-color:#059669;background:#059669;box-shadow:0 0 0 4px rgba(5,150,105,.14)}
.olab-list-stage.is-delivered strong{color:#047857}


/* Resumen OLAB por etapa — colores idénticos en resumen, tabla, tarjetas y Kanban */
.olab-stage-summary-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.olab-stage-summary{--olab-stage:#64748B;--olab-stage-soft:#EEF2F6;display:flex;align-items:center;gap:11px;min-width:0;min-height:76px;padding:11px 13px;border:1px solid var(--border);border-top:3px solid var(--olab-stage);border-radius:11px;background:var(--white);font:inherit;text-align:left;appearance:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.olab-stage-summary:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,52,78,.09)}
.olab-stage-summary:focus-visible{outline:3px solid color-mix(in srgb,var(--olab-stage) 28%,transparent);outline-offset:2px}
.olab-stage-summary.is-selected{background:var(--olab-stage-soft);box-shadow:0 0 0 2px var(--olab-stage)}
.olab-stage-summary.is-ordered,.olab-kanban-column.is-ordered{--olab-stage:#64748B;--olab-stage-soft:#EEF2F6}
.olab-stage-summary.is-design,.olab-kanban-column.is-design{--olab-stage:#2563EB;--olab-stage-soft:#E5F0FF}
.olab-stage-summary.is-manufacturing,.olab-kanban-column.is-manufacturing{--olab-stage:#D97706;--olab-stage-soft:#FFF3D9}
.olab-stage-summary.is-sent,.olab-kanban-column.is-sent{--olab-stage:#7C3AED;--olab-stage-soft:#F1EAFE}
.olab-stage-summary.is-received,.olab-kanban-column.is-received{--olab-stage:#059669;--olab-stage-soft:#E4F6EC}\n.olab-stage-summary.is-completed,.olab-kanban-column.is-completed{--olab-stage:#15803D;--olab-stage-soft:#DCFCE7}
.olab-stage-summary-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:var(--olab-stage-soft);color:var(--olab-stage)}
.olab-stage-summary-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.olab-stage-summary>div{display:grid;min-width:0}
.olab-stage-summary small{color:var(--ink3);font-size:10px;font-weight:700}
.olab-stage-summary strong{color:var(--olab-stage);font-size:22px;line-height:1.05}
.olab-stage-summary em{color:var(--ink3);font-size:9.5px;font-style:normal}
.olab-overdue-note{color:#B42318;font-weight:700}
.olab-kanban-column{border-top:3px solid var(--olab-stage)}
.olab-kanban-column>header{color:var(--olab-stage)}
.olab-kanban-column .olab-kanban-stage-icon{background:var(--olab-stage-soft);color:var(--olab-stage)}
.olab-grid-status.gray{background:#EEF2F6;color:#526174}
.olab-grid-status.blue{background:#E5F0FF;color:#1D4ED8}
.olab-grid-status.yellow{background:#FFF3D9;color:#B45309}
.olab-grid-status.purple{background:#F1EAFE;color:#6D28D9}
.olab-grid-status.green{background:#E4F6EC;color:#047857}
@media(max-width:1100px){
  .olab-stage-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .olab-stage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .olab-stage-summary{min-height:68px;padding:9px 10px}
  .olab-stage-summary-icon{flex-basis:34px;width:34px;height:34px}
}


/* ═══ PREPAGADAS — RESUMEN POR ETAPA v108 ═══ */
#page-cuentas-cobro .cc-summary-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin:0 0 14px!important
}
#page-cuentas-cobro .cc-summary-grid>.cc-summary-toolbar,
#page-cuentas-cobro .cc-summary-grid>.cc-summary-groups{
  min-height:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
#page-cuentas-cobro .cc-summary-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px
}
#page-cuentas-cobro .cc-summary-filter-total{
  flex:1 1 auto;
  width:auto;
  min-width:0;
  min-height:48px
}
#page-cuentas-cobro .cc-summary-action{
  flex:0 0 auto;
  min-height:48px;
  margin:0!important
}
#page-cuentas-cobro .cc-summary-groups{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  gap:12px!important
}
#page-cuentas-cobro .cc-summary-group{
  display:grid!important;
  grid-template-rows:auto 1fr;
  width:100%!important;
  max-width:none!important;
  min-width:0;
  min-height:118px;
  padding:10px;
  border:1px solid #dce6eb;
  border-radius:13px;
  background:#f8fbfc;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
#page-cuentas-cobro .cc-summary-group.is-selected{
  border-color:var(--teal);
  background:rgba(11,126,160,.045);
  box-shadow:0 0 0 2px rgba(11,126,160,.13)
}
#page-cuentas-cobro .cc-summary-group-head{
  width:100%;
  min-height:44px;
  margin-bottom:8px;
  padding:8px 10px!important;
  border:0!important;
  border-bottom:1px solid #e2e9ed!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-size:14px;
  font-weight:800
}
#page-cuentas-cobro .cc-summary-group-head strong{
  font-size:18px;
  color:var(--teal)
}
#page-cuentas-cobro .cc-summary-group-states{
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  align-items:stretch;
  gap:7px
}
#page-cuentas-cobro .cc-summary-state{
  min-height:44px;
  padding:7px 9px!important;
  border-color:#e4eaee!important;
  box-shadow:none!important;
  background:#fff!important
}
#page-cuentas-cobro .cc-summary-state .pill{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
#page-cuentas-cobro .cc-summary-state strong{font-size:15px}
@media(max-width:1020px){
  #page-cuentas-cobro .cc-summary-groups{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  #page-cuentas-cobro .cc-summary-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important
  }
  #page-cuentas-cobro .cc-summary-filter-total,
  #page-cuentas-cobro .cc-summary-action{width:100%}
  #page-cuentas-cobro .cc-summary-group-states{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Supply product → commercial reference → color hierarchy */
@media(max-width:820px){
  #new-order-modal .supply-order-item-row>div:nth-child(1),
  #new-order-modal .supply-order-item-row>div:nth-child(2),
  #new-order-modal .supply-order-item-row>div:nth-child(3){grid-column:1/-1}
  #new-order-modal .supply-order-item-row>div:nth-child(6){grid-column:1/4}
}
@media(max-width:700px){
  #new-order-modal .supply-order-item-row{grid-template-columns:minmax(0,1fr) 72px 40px!important}
  #new-order-modal .supply-order-item-row>div:nth-child(1),
  #new-order-modal .supply-order-item-row>div:nth-child(2),
  #new-order-modal .supply-order-item-row>div:nth-child(3){grid-column:1/-1}
  #new-order-modal .supply-order-item-row>div:nth-child(4){grid-column:1/2;grid-row:4}
  #new-order-modal .supply-order-item-row>div:nth-child(5){grid-column:2/3;grid-row:4}
  #new-order-modal .supply-order-item-row>div:nth-child(6){grid-column:1/3;grid-row:5}
  #new-order-modal .supply-order-item-row>button{grid-column:3/4;grid-row:4}
}


/* OLAB: panel izquierdo plano y nombres completos de pasos */
#olab-wizard-layout{background:#fff}
#wiz-main-body{
  background:#fff!important;
  padding:24px 28px!important
}
#wiz-main-body>.wiz-panel{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
#wizard-steps-bar-wrap{padding:12px 22px!important}
#wizard-steps-bar{max-width:none!important}
#wizard-steps-bar .wiz-step{min-width:0}
#wizard-steps-bar .wiz-step span{white-space:normal;line-height:1.2}
@media(max-width:768px){
  #wiz-main-body{padding:18px 16px!important}
  #wizard-steps-bar-wrap{padding:10px 8px!important}
}


/* OLAB: pasos en encabezado y navegación en el pie */
.olab-wizard-header-with-steps{align-items:flex-start}
.olab-wizard-header-with-steps>.btn-x{margin-left:auto}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step{color:rgba(255,255,255,.78)!important}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.active,
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.done{color:#fff!important}
.olab-wizard-header-with-steps #wizard-steps-bar .ws-num{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.active .ws-num{
  background:#fff!important;
  color:#4b4bb3!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.done .ws-num{
  background:var(--green)!important;
  color:#fff!important
}
.olab-wizard-foot{
  min-height:68px;
  background:#fff;
  border-top:1px solid var(--border)
}
@media(max-width:768px){
  .olab-wizard-header-with-steps{padding:12px!important}
  .olab-wizard-header-with-steps #wizard-steps-bar-wrap{padding-top:8px!important}
}


/* OLAB: tarjetas de pasos compactas sin card contenedor */
.olab-wizard-header-with-steps{
  padding:11px 16px 9px!important;
  gap:7px!important
}
.olab-wizard-header-with-steps #wizard-steps-bar-wrap{
  padding:3px 0 0!important;
  border:0!important;
  background:transparent!important
}
.olab-wizard-header-with-steps #wizard-steps-bar{
  gap:6px!important
}
.olab-wizard-header-with-steps #wizard-steps-bar>div:not(.wiz-step){
  display:none!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step{
  flex:1 1 0!important;
  min-width:0!important;
  min-height:32px!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  gap:6px!important;
  margin:0!important;
  padding:4px 8px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:7px!important;
  background:rgba(21,39,91,.24)!important;
  color:rgba(255,255,255,.78)!important;
  box-shadow:none!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.active,
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.done{
  border-color:#fff!important;
  background:#fff!important;
  color:#34436d!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .ws-num{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:11px!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.active .ws-num{
  background:var(--purple,#6c4bd9)!important;
  color:#fff!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.done .ws-num{
  background:var(--green)!important;
  color:#fff!important
}
.olab-wizard-header-with-steps #wizard-steps-bar .wiz-step span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
  line-height:1.1!important
}
@media(max-width:768px){
  .olab-wizard-header-with-steps #wizard-steps-bar{gap:4px!important}
  .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step{padding:3px 5px!important}
  .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step span{display:none!important}
}


/* OLAB: tabs finales — sin contenedor, compactas sobre el encabezado */
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar-wrap{
  width:100%!important;
  margin:0!important;
  padding:2px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:5px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar>div:not(.wiz-step){
  display:none!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step{
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  margin:0!important;
  padding:3px 7px!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  gap:6px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:6px!important;
  background:rgba(19,35,82,.30)!important;
  color:rgba(255,255,255,.82)!important;
  box-shadow:none!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.active,
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step.done{
  border-color:#fff!important;
  background:#fff!important;
  color:#34436d!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .ws-num{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  font-size:10px!important
}
#lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
  line-height:1!important
}
@media(max-width:768px){
  #lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step{
    min-height:28px!important;
    padding:3px 5px!important
  }
  #lab-order-clinic-overlay .olab-wizard-header-with-steps #wizard-steps-bar .wiz-step span{
    display:none!important
  }
}


/* ═══ INICIO — BUSCADOR DIRECTO DE PACIENTES ═══ */
.home-patient-finder{
  position:relative;z-index:12;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(320px,1.55fr);
  align-items:center;gap:22px;margin:0 0 16px;padding:18px 20px;border:1px solid #dbe6ec;
  border-radius:15px;background:linear-gradient(135deg,#f7fbfd 0%,#fff 62%);
  box-shadow:0 8px 24px rgba(20,53,75,.06)
}
.home-patient-finder-copy{display:flex;flex-direction:column;gap:3px}
.home-patient-finder-copy>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--teal)}
.home-patient-finder-copy>strong{font-size:17px;line-height:1.2;color:var(--ink)}
.home-patient-finder-copy>small{font-size:11.5px;color:var(--ink3)}
.home-patient-search-wrap{position:relative}
.home-patient-search-wrap>input{
  width:100%;height:46px;padding:0 42px;border:1.5px solid #cbdbe3;border-radius:11px;
  background:#fff;color:var(--ink);font-size:14px;outline:none;box-sizing:border-box;
  transition:border-color .16s,box-shadow .16s
}
.home-patient-search-wrap>input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
.home-patient-search-icon{position:absolute;left:14px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--teal);pointer-events:none}
.home-patient-search-icon svg{width:17px;height:17px}
.home-patient-search-clear{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);display:none;width:28px;height:28px;
  border:0;border-radius:7px;background:transparent;color:var(--ink3);font-size:20px;cursor:pointer
}
.home-patient-search-wrap>input:not(:placeholder-shown)~.home-patient-search-clear{display:block}
.home-patient-results{
  display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:80;max-height:350px;overflow:auto;
  padding:6px;border:1px solid #d9e4ea;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(20,53,75,.16)
}
.home-patient-results.open{display:block}
.home-patient-result,.home-patient-create{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;
  padding:10px;border:0;border-radius:9px;background:transparent;text-align:left;color:var(--ink);cursor:pointer
}
.home-patient-result:hover,.home-patient-result:focus{background:#f1f7f8;outline:none}
.home-patient-result>span,.home-patient-create>span{
  display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;
  background:#e8f5f3;color:var(--teal)
}
.home-patient-result svg{width:16px;height:16px}
.home-patient-result div,.home-patient-create div{min-width:0;display:flex;flex-direction:column;gap:2px}
.home-patient-result strong,.home-patient-create strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.home-patient-result small,.home-patient-create small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--ink3)}
.home-patient-result>b,.home-patient-create>b{font-size:11px;color:var(--teal);white-space:nowrap}
.home-patient-create{margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 9px 9px}
.home-patient-create:hover,.home-patient-create:focus{background:#eef8f6;outline:none}
.home-patient-create>span{font-size:18px;font-weight:400}
.home-patient-empty{padding:12px 10px 8px;display:flex;flex-direction:column;gap:3px}
.home-patient-empty strong{font-size:12.5px;color:var(--ink)}
.home-patient-empty small{font-size:11px;color:var(--ink3)}
@media(max-width:768px){
  .home-patient-finder{grid-template-columns:1fr;gap:12px;margin:0 0 13px;padding:15px;border-radius:13px}
  .home-patient-finder-copy>strong{font-size:15px}
  .home-patient-finder-copy>small{display:none}
  .home-patient-search-wrap>input{height:44px;font-size:16px}
  .home-patient-results{position:relative;top:7px;margin-bottom:7px;max-height:300px;box-shadow:0 10px 26px rgba(20,53,75,.13)}
  .home-patient-result,.home-patient-create{grid-template-columns:32px minmax(0,1fr)}
  .home-patient-result>b,.home-patient-create>b{display:none}
}
