/* Componentes del rediseño del panel, traducidos a CSS.
   Fuente: el design system React del prototipo (ClinicannDesignSystem, bundle
   5cdda670c040.js) escribía cada componente como un objeto `style`. Acá cada
   uno es una clase con los mismos valores, sobre los tokens --cl-* que define
   panel.css. Tonos y variantes salen de CL_BTN / CL_BADGE / CL_CARD_TONOS /
   CL_TAG_TONOS del bundle. */

*,*::before,*::after{box-sizing:border-box}

/* ---------- Shell (lo que en el prototipo iba inline) ---------- */
.cl-shell{background:var(--cl-papel);color:var(--cl-tinta);font-family:var(--cl-fuente-texto);font-size:16px;line-height:1.55}
.cl-shell--solo{display:block}
.cl-side{background:var(--cl-blanco);color:var(--cl-tinta)}
.cl-side-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 22px 18px;border-bottom:2px solid var(--cl-tinta)}
.cl-side-brand>a{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.cl-side-brand img{height:40px;width:auto;display:block}
.cl-side-brand-linea{display:flex;align-items:center;gap:8px}
.cl-menu-btn{width:44px;height:44px;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--cl-tinta);background:var(--cl-blanco);color:var(--cl-tinta);cursor:pointer;padding:0}
.cl-menu-btn i,.cl-topbar-btn i{font-size:20px;line-height:1;display:inline-flex}
.cl-topbar a{display:flex;align-items:center;text-decoration:none}
.cl-nav-a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:999px;text-decoration:none;color:var(--cl-tinta);font-size:15px;font-weight:500;background:transparent;transition:background 110ms var(--cl-ease)}
.cl-nav-a i{font-size:20px;line-height:1;display:inline-flex}
.cl-nav-a[data-on="1"]{background:var(--cl-lima);color:#0A2A14;font-weight:700}
.cl-side-nav details{display:block}
.cl-side-nav summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:999px;cursor:pointer;font-size:15px;font-weight:700;color:var(--cl-titulo);user-select:none;list-style:none}
.cl-side-nav summary::-webkit-details-marker{display:none}
.cl-side-nav summary i{font-size:20px;line-height:1;display:inline-flex}
.cl-side-nav summary .cl-caret{font-size:14px;margin-left:auto;transition:transform 180ms var(--cl-ease)}
.cl-nav-sub{display:flex;flex-direction:column;gap:2px;padding:2px 0 6px 20px}
.cl-nav-sub .cl-nav-a{min-height:44px;padding:0 14px 0 26px;gap:8px}
.cl-nav-avatar{width:22px;height:22px;border-radius:999px;border:2px solid var(--cl-tinta);object-fit:cover;display:block}
.cl-nav-pct{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;background:var(--cl-blanco);color:var(--cl-tinta);border:2px solid var(--cl-tinta);border-radius:999px;padding:1px 8px;line-height:1.3;margin-left:auto}
.cl-side-user>a{display:flex;align-items:center;gap:12px;flex:1 1 0;min-width:0;text-decoration:none;color:inherit;padding:4px 6px;border-radius:999px}
.cl-side-user>a:hover{background:var(--cl-lima-papel)}
.cl-side-user form{display:contents}
.cl-avatar{width:40px;height:40px;flex-shrink:0;border-radius:999px;background:var(--cl-lima);border:2px solid var(--cl-tinta);display:flex;align-items:center;justify-content:center;color:#0A2A14;font-family:var(--cl-fuente-titulo);font-size:19px;letter-spacing:-.02em}
.cl-user-datos{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.cl-user-nombre{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-user-rol{font-size:13px;color:var(--cl-texto-suave)}

/* ---------- Tipografía de página ---------- */
.cl-h1{font-family:var(--cl-fuente-titulo);font-weight:400;font-size:34px;line-height:1.08;letter-spacing:-.028em;margin:0;color:var(--cl-titulo);text-wrap:balance}
.cl-sub{margin:0;font-size:16px;color:var(--cl-texto-suave)}
.cl-cabecera{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.cl-cabecera--fila{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}
.cl-apilado{display:flex;flex-direction:column;gap:16px}
.cl-fila{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cl-grilla{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cl-suave{color:var(--cl-texto-suave)}
.cl-mono,.cl-dato{font-weight:800;font-variant-numeric:tabular-nums}

/* ---------- Botón ---------- */
.cl-btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cl-lima);color:var(--cl-tinta);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);font-family:var(--cl-fuente-texto);font-weight:var(--cl-peso-dato);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;min-height:var(--cl-tactil-min);padding:0 24px;font-size:16px;transition:background var(--cl-rapido) var(--cl-ease),transform var(--cl-rapido) var(--cl-ease)}
.cl-btn:hover,.button:hover{background:var(--cl-hoja)}
.cl-btn:active,.button:active{transform:translateY(2px)}
.cl-btn i{font-size:18px;line-height:1;display:inline-flex}
.cl-btn--placa{background:var(--cl-placa);color:#fff}.cl-btn--placa:hover{background:var(--cl-placa-claro)}
.cl-btn--papel,.button.secondary{background:var(--cl-blanco);color:var(--cl-tinta)}.cl-btn--papel:hover{background:var(--cl-lima-papel)}
.cl-btn--hueco{background:transparent;color:var(--cl-tinta)}.cl-btn--hueco:hover{background:var(--cl-lima-papel)}
.cl-btn--whatsapp,.button.whatsapp{background:var(--cl-whatsapp);color:var(--cl-tinta)}.cl-btn--whatsapp:hover{background:#1EA952}
.cl-btn--peligro{background:transparent;color:var(--cl-error-texto);border-color:var(--cl-error)}.cl-btn--peligro:hover{background:var(--cl-error);color:var(--cl-error-texto)}
.cl-btn--sm,.button.small{min-height:36px;padding:0 16px;font-size:14px}
.cl-btn--lg{min-height:56px;padding:0 32px;font-size:18px}
.cl-btn--block{width:100%}
.cl-btn[disabled],.cl-btn[aria-disabled="true"]{opacity:.45;pointer-events:none;transform:none}

/* ---------- Botón de icono ---------- */
.cl-iconbtn{width:44px;height:44px;flex-shrink:0;display:inline-grid;place-items:center;background:var(--cl-blanco);color:var(--cl-tinta);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);cursor:pointer;padding:0;text-decoration:none;transition:background var(--cl-rapido) var(--cl-ease)}
.cl-iconbtn:hover{background:var(--cl-lima-papel)}
.cl-iconbtn i{font-size:20px;line-height:1;display:inline-flex}
.cl-iconbtn--40{width:40px;height:40px}.cl-iconbtn--36{width:36px;height:36px}.cl-iconbtn--36 i{font-size:18px}
.cl-iconbtn--lima{background:var(--cl-lima)}.cl-iconbtn--lima:hover{background:var(--cl-hoja)}
.cl-iconbtn--placa{background:var(--cl-placa);color:#fff}.cl-iconbtn--placa:hover{background:var(--cl-placa-claro)}
.cl-iconbtn[disabled]{opacity:.45;pointer-events:none}

/* ---------- Píldora (filtros) ---------- */
.cl-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:var(--cl-radio-pildora);border:var(--cl-borde) solid var(--cl-tinta);background:var(--cl-blanco);color:var(--cl-tinta);font-family:var(--cl-fuente-texto);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--cl-rapido) var(--cl-ease)}
.cl-pill:hover{background:var(--cl-lima-papel)}
.cl-pill.is-on,.cl-pill[aria-pressed="true"]{background:var(--cl-lima);font-weight:800}
.cl-pill-n{font-weight:800;font-variant-numeric:tabular-nums;opacity:.55}
.cl-pill.is-on .cl-pill-n,.cl-pill[aria-pressed="true"] .cl-pill-n{opacity:1}

/* ---------- Tabla ---------- */
.cl-table{border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio);overflow:hidden;overflow-x:auto;background:var(--cl-blanco)}
.cl-table table{width:100%;border-collapse:collapse;min-width:620px}
.cl-table--fluida table{min-width:0}
.cl-table thead tr{background:var(--cl-placa)}
.cl-table th{text-align:left;padding:12px 14px;color:#fff;font-size:var(--cl-min-size);font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.cl-table td{text-align:left;padding:12px 14px;border-top:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:var(--cl-aux-size);font-weight:500;vertical-align:middle}
.cl-table tbody tr:first-child td{border-top:none}
.cl-table tbody tr:hover{background:var(--cl-lima-papel)}
.cl-table tr.is-ok{background:var(--cl-lima-papel)}.cl-table tr.is-atencion{background:#FFF3CF}.cl-table tr.is-error{background:#FFE3DE}.cl-table tr.is-neutro{background:var(--cl-hueso)}
:root[data-theme="dark"] .cl-table tr.is-atencion{background:#3A3416}:root[data-theme="dark"] .cl-table tr.is-error{background:#3F2320}
.cl-table .cl-der{text-align:right}.cl-table .cl-nowrap{white-space:nowrap}
.cl-table tr.cl-click{cursor:pointer}
.cl-table td.cl-vacio{padding:22px 14px;color:var(--cl-texto-suave);font-weight:500}
.cl-table td a{color:inherit;font-weight:700}

/* ---------- Fila dato ---------- */
.cl-datarow{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:10px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:var(--cl-aux-size)}
.cl-datarow--sin-linea{border-bottom:none}
.cl-datarow>:first-child{color:var(--cl-texto-suave);font-weight:500}
.cl-datarow>:last-child{font-weight:800;font-variant-numeric:tabular-nums;text-align:right}

/* ---------- Etiqueta de estado ---------- */
.cl-badge{display:inline-flex;align-items:center;gap:6px;border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);padding:4px 13px;font-family:var(--cl-fuente-texto);font-size:14px;font-weight:700;line-height:1.35;white-space:nowrap;background:var(--cl-ok);color:var(--cl-ok-texto)}
.cl-badge[title]{cursor:help}
.cl-badge i{font-size:15px;display:inline-flex}
.cl-badge--atencion{background:var(--cl-atencion);color:var(--cl-atencion-texto)}.cl-badge--error{background:var(--cl-error);color:var(--cl-error-texto)}.cl-badge--placa{background:var(--cl-placa);color:#fff}.cl-badge--neutro{background:var(--cl-neutro);color:var(--cl-neutro-texto)}.cl-badge--hueco{background:var(--cl-blanco);color:var(--cl-tinta)}

/* ---------- Aviso ---------- */
.cl-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--cl-atencion);color:var(--cl-atencion-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio);padding:14px 18px;font-size:var(--cl-aux-size);line-height:var(--cl-aux-lh);font-weight:500}
.cl-alert-texto{flex:1;min-width:0}
.cl-alert i{font-size:20px;display:inline-flex}
.cl-alert a{color:inherit}
.cl-alert--ok{background:var(--cl-ok);color:var(--cl-ok-texto)}.cl-alert--error{background:var(--cl-error);color:var(--cl-error-texto)}.cl-alert--placa{background:var(--cl-placa);color:#fff}.cl-alert--neutro{background:var(--cl-neutro);color:var(--cl-neutro-texto)}.cl-alert--hueco{background:var(--cl-blanco);color:var(--cl-tinta)}

/* ---------- Formulario ---------- */
.cl-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cl-field>label,.cl-label{font-size:var(--cl-chico-size);font-weight:700;color:var(--cl-texto)}
.cl-field-hint{font-size:var(--cl-min-size);color:var(--cl-texto-suave)}
.cl-field-error{font-size:var(--cl-min-size);font-weight:700;color:var(--cl-error-texto);background:var(--cl-error);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);padding:3px 11px;align-self:flex-start}
.cl-input,.cl-textarea,.cl-select{width:100%;min-height:var(--cl-tactil-min);padding:11px 14px;background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-chico);box-shadow:none;font-family:var(--cl-fuente-texto);font-size:16px;font-weight:500;outline:none;transition:box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-input:focus,.cl-textarea:focus,.cl-select:focus{box-shadow:inset 0 0 0 2px var(--cl-lima)}
.cl-input.is-invalid,.cl-textarea.is-invalid,.cl-select.is-invalid{border-color:var(--cl-error)}
.cl-input[disabled],.cl-select[disabled],.cl-textarea[disabled]{background:var(--cl-hueso);color:var(--cl-texto-suave);cursor:not-allowed}
.cl-input--dato{font-weight:800;font-variant-numeric:tabular-nums}
.cl-input::placeholder,.cl-textarea::placeholder{color:var(--cl-texto-suave);font-weight:500}
.cl-textarea{line-height:1.55;resize:vertical;min-height:0}
.cl-select{appearance:none;padding-right:36px;cursor:pointer}
.cl-select-wrap{position:relative;min-width:0}
.cl-select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.cl-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--cl-aux-size);font-weight:500;position:relative}
.cl-check input{position:absolute;opacity:0;width:0;height:0}
.cl-check-caja{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;background:var(--cl-blanco);border:var(--cl-borde) solid var(--cl-tinta);border-radius:8px;transition:background var(--cl-rapido) var(--cl-ease)}
.cl-check-caja i{font-size:15px;color:var(--cl-tinta);display:none}
.cl-check input:checked+.cl-check-caja{background:var(--cl-lima)}
.cl-check input:checked+.cl-check-caja i{display:inline-flex}
.cl-check input:focus-visible+.cl-check-caja{box-shadow:inset 0 0 0 2px var(--cl-lima)}
.cl-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--cl-aux-size);font-weight:500;position:relative}
.cl-switch input{position:absolute;opacity:0;width:0;height:0}
.cl-switch-pista{width:50px;height:28px;flex-shrink:0;padding:2px;display:flex;align-items:center;background:var(--cl-neutro);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);transition:background var(--cl-rapido) var(--cl-ease)}
.cl-switch-pista::after{content:"";width:20px;height:20px;border-radius:50%;background:var(--cl-tinta);transition:transform var(--cl-rapido) var(--cl-ease)}
.cl-switch input:checked+.cl-switch-pista{background:var(--cl-lima)}
.cl-switch input:checked+.cl-switch-pista::after{transform:translateX(22px)}
.cl-form-grilla{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cl-form-grilla .cl-ancho{grid-column:1/-1}
.cl-campo-clave{position:relative}
.cl-campo-clave .cl-input{padding-right:52px}
.cl-ver-clave{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--cl-texto-suave);cursor:pointer;border-radius:999px}
.cl-ver-clave:hover{background:var(--cl-lima-papel);color:var(--cl-tinta)}

/* ---------- Rótulo (tag) ---------- */
.cl-tag{display:inline-block;border-radius:var(--cl-radio-pildora);border:var(--cl-borde) solid transparent;padding:5px 12px;font-family:var(--cl-fuente-texto);font-weight:var(--cl-rotulo-peso);font-size:var(--cl-rotulo-size);letter-spacing:var(--cl-rotulo-ls);text-transform:uppercase;line-height:1.3;white-space:nowrap;background:var(--cl-placa);color:#fff}
.cl-tag--lima{background:var(--cl-lima);color:var(--cl-tinta)}.cl-tag--tinta{background:var(--cl-tinta);color:#fff}.cl-tag--hueco{background:transparent;color:var(--cl-tinta);border-color:var(--cl-tinta)}.cl-tag--borde{border-color:var(--cl-tinta)}
:root[data-theme="dark"] .cl-tag--tinta{color:#0A2A14}

/* ---------- Card ---------- */
.cl-card{background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio);padding:var(--cl-card-pad);display:flex;flex-direction:column;text-decoration:none;transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-card--sm{padding:14px 16px}.cl-card--lg{padding:28px}.cl-card--grande{border-radius:var(--cl-radio-grande)}
.cl-card--hueso{background:var(--cl-hueso)}.cl-card--lima{background:var(--cl-lima-papel)}.cl-card--placa{background:var(--cl-placa);color:#fff}.cl-card--atencion{background:var(--cl-atencion);color:var(--cl-atencion-texto)}.cl-card--error{background:var(--cl-error);color:var(--cl-error-texto)}
a.cl-card,.cl-card--click{cursor:pointer}
a.cl-card:hover,.cl-card--click:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}

/* ---------- Panel ---------- */
.cl-panel{background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio);padding:var(--cl-card-pad);min-width:0}
.cl-panel--hueso{background:var(--cl-hueso)}.cl-panel--lima{background:var(--cl-lima-papel)}.cl-panel--placa{background:var(--cl-placa);color:#fff}.cl-panel--atencion{background:var(--cl-atencion);color:var(--cl-atencion-texto)}.cl-panel--error{background:var(--cl-error);color:var(--cl-error-texto)}
.cl-panel-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.cl-panel-head h2,.cl-panel>h2{font-family:var(--cl-fuente-titulo);font-size:var(--cl-t3-size);line-height:var(--cl-t3-lh);letter-spacing:var(--cl-t3-ls);margin:0}
.cl-panel>h2{margin-bottom:16px}
.cl-panel>p:first-of-type{margin-top:0}

/* ---------- Regla ---------- */
.cl-rule{height:3px;border:0;border-radius:2px;margin:26px 0;background:var(--cl-tinta)}
.cl-rule--lima{background:var(--cl-lima)}

/* ---------- Modal ---------- */
.cl-modal-fondo{position:fixed;inset:0;background:rgba(9,73,36,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}
.cl-modal-fondo[hidden]{display:none}
.cl-modal{background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-grande);box-shadow:6px 6px 0 var(--cl-tinta);width:100%;max-width:540px;max-height:86vh;overflow:auto;padding:26px 28px;position:relative}
.cl-modal>h2{font-family:var(--cl-fuente-titulo);font-size:var(--cl-t2-size);line-height:var(--cl-t2-lh);letter-spacing:var(--cl-t2-ls);margin:0 0 16px;padding-right:48px}
.cl-modal-cerrar{position:absolute;top:18px;right:18px}
.cl-modal-pie{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:3px solid var(--cl-tinta)}

/* ---------- Cabecera de sección ---------- */
.cl-section-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:24ch}
.cl-section-head h2{font-family:var(--cl-fuente-titulo);font-size:clamp(27px,3.2vw,34px);line-height:var(--cl-t1-lh);letter-spacing:var(--cl-t1-ls);margin:0;text-wrap:balance}
.cl-section-head p{margin:0;color:var(--cl-texto-suave);max-width:46ch;font-size:var(--cl-lead-size);line-height:var(--cl-lead-lh)}

/* ---------- Métrica ---------- */
.cl-metric-valor{display:block;font-family:var(--cl-fuente-titulo);font-size:40px;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.cl-metric-delta{margin-left:8px;vertical-align:6px;font-family:var(--cl-fuente-texto);font-size:13px;font-weight:800;padding:3px 9px;border-radius:var(--cl-radio-pildora);border:var(--cl-borde) solid var(--cl-tinta);background:var(--cl-lima);color:var(--cl-tinta);letter-spacing:0}
.cl-metric-delta--neg{background:var(--cl-error);color:var(--cl-error-texto)}
.cl-metric-label{display:block;margin-top:8px;font-size:var(--cl-chico-size);font-weight:700}
.cl-metric-sub{display:block;margin-top:2px;font-size:var(--cl-min-size);color:var(--cl-texto-suave)}

/* ---------- Login (pantalla sin shell) ---------- */
.cl-login{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:0}
.cl-login-col{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}
.cl-login-caja{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:24px}
.cl-login-caja>img{height:56px;width:auto;display:block;align-self:flex-start}
.cl-login-texto{display:flex;flex-direction:column;gap:8px}
.cl-login-form{display:flex;flex-direction:column;gap:16px}
.cl-login-pie{display:flex;justify-content:space-between;gap:12px;font-size:14px;flex-wrap:wrap;padding:0 8px}
.cl-login-pie a{color:inherit}
.cl-codigo{letter-spacing:.35em;text-align:center;font-size:22px}

/* ---------- Cannela (globo y panel flotante) ---------- */
.cl-globo button,.cannela-globo{width:60px;height:60px;border-radius:999px;border:2px solid var(--cl-tinta);background:var(--cl-blanco);padding:0;cursor:pointer;overflow:hidden;display:flex;transition:transform 110ms var(--cl-ease),box-shadow 110ms var(--cl-ease)}
.cl-globo button img,.cannela-globo img{width:100%;height:100%;object-fit:cover;display:block}
.cl-globo button:hover,.cannela-globo:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cannela-globo[hidden]{display:none}
.cannela-panel{width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column;background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-grande);box-shadow:6px 6px 0 var(--cl-tinta);overflow:hidden}
.cannela-panel[hidden]{display:none}
.cannela-panel-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:2px solid var(--cl-tinta)}
.cannela-panel-avatar,.cannela-mensaje-avatar{width:32px;height:32px;flex-shrink:0;border-radius:999px;border:2px solid var(--cl-tinta);object-fit:cover}
.cannela-panel-titulo{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}
.cannela-panel-titulo .muted{font-size:13px;color:var(--cl-texto-suave)}
.cannela-mensajes{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-height:160px}
.cannela-mensaje{display:flex;gap:8px;align-items:flex-end}
.cannela-mensaje--usuario{justify-content:flex-end}
.cannela-burbuja{max-width:85%;padding:10px 14px;border-radius:18px;border:var(--cl-borde) solid var(--cl-tinta);background:var(--cl-hueso);white-space:pre-wrap;font-size:15px;line-height:1.45}
.cannela-mensaje--usuario .cannela-burbuja{background:var(--cl-lima);color:#0A2A14}
.cannela-form{display:flex;gap:8px;padding:12px 14px;border-top:2px solid var(--cl-tinta);align-items:flex-end}
.cannela-form textarea{flex:1;min-height:44px;padding:10px 12px;background:var(--cl-blanco);color:var(--cl-texto);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-chico);font-family:var(--cl-fuente-texto);font-size:15px;resize:vertical;outline:none}
.cannela-form textarea:focus{box-shadow:inset 0 0 0 2px var(--cl-lima)}
.cannela-form button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--cl-lima);color:var(--cl-tinta);border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio-pildora);font-family:var(--cl-fuente-texto);font-weight:var(--cl-peso-dato);cursor:pointer}
.cannela-tabla-wrap{overflow:auto;margin-top:8px}
.cannela-tabla{border-collapse:collapse;font-size:13px}
.cannela-tabla th,.cannela-tabla td{border:1px solid var(--cl-linea-suave);padding:4px 8px;text-align:left}

/* ---------- Inicio ---------- */
[hidden]{display:none !important}
.cl-inicio{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:32px}
.cl-inicio-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;align-items:stretch}
.cl-tarjeta{background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.cl-tarjeta--hueso{background:var(--cl-hueso)}
.cl-tarjeta[role="link"],.cl-tarjeta[role="button"]{cursor:pointer;transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-tarjeta[role="link"]:hover,.cl-tarjeta[role="button"]:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-tarjeta-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cl-tarjeta-top>i{font-size:26px;display:inline-flex}
.cl-tarjeta-cuerpo{display:flex;flex-direction:column;gap:2px}
.cl-tarjeta-l{font-size:var(--cl-chico-size);font-weight:700}
.cl-tarjeta-s,.cl-tarjeta-lineas{font-size:14px;color:var(--cl-texto-suave)}
.cl-tarjeta-lineas{display:flex;flex-direction:column;gap:6px}
.cl-tarjeta-p{margin:0;font-size:15px}
.cl-tarjeta-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:inherit;text-decoration:none}
.cl-tarjeta-link i{font-size:16px}
.cl-num{font-family:var(--cl-fuente-titulo);font-size:36px;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px 24px}
.cl-atajos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cl-atajo{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-atajo:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-atajo.is-alerta{background:var(--cl-error);color:var(--cl-error-texto)}
.cl-atajo-l{font-size:var(--cl-chico-size);font-weight:700}
.cl-atajo-s{font-size:13px;color:var(--cl-texto-suave)}
.cl-atajo.is-alerta .cl-atajo-s{color:inherit;opacity:.8}
.cl-inicio-frase{margin:0;font-size:15px;color:var(--cl-texto-suave);max-width:60ch}
.cl-conteos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;font-size:14px;font-variant-numeric:tabular-nums}
.cl-mal{color:var(--cl-error-texto)}
.cl-h2{font-family:var(--cl-fuente-titulo);font-weight:400;font-size:var(--cl-t2-size);line-height:var(--cl-t2-lh);letter-spacing:var(--cl-t2-ls);margin:0}
/* mapa de alcance */
.cl-mapa-titulo{font-size:var(--cl-chico-size);font-weight:700}
.cl-mapa-centro{display:flex;justify-content:center;padding:8px 0}
.cc-mapa-lienzo{position:relative;width:196px;height:420px}
.cc-mapa-lienzo svg{width:100%;height:100%;display:block}
.prov{fill:var(--cl-hueso);stroke:var(--cl-tinta);stroke-width:1.2;transition:fill .5s ease,opacity .2s ease;cursor:pointer;outline:none}
.prov:hover,.prov:focus{opacity:.8}
.prov:focus-visible{stroke-width:2}
.prov-caba{fill:var(--cl-placa);stroke:var(--cl-tinta)}
.cc-mapa-skeleton{position:absolute;inset:0;border-radius:12px;display:none;background:linear-gradient(100deg,var(--cl-hueso) 30%,var(--cl-blanco) 50%,var(--cl-hueso) 70%)}
.cc-mapa-lienzo[data-mapa-estado="cargando"] .cc-mapa-skeleton{display:block}
.cc-mapa-tooltip{position:absolute;transform:translate(-50%,-100%);background:var(--cl-blanco);color:var(--cl-tinta);border:2px solid var(--cl-tinta);border-radius:12px;padding:7px 11px;font-size:13px;white-space:nowrap;pointer-events:none;z-index:5;box-shadow:3px 3px 0 var(--cl-tinta)}
.cc-tt-prov{display:block;font-weight:800}
.cc-tt-metro{font-size:10px;background:var(--cl-lima);color:#0A2A14;padding:1px 6px;border-radius:999px;font-weight:700;vertical-align:middle;margin-left:4px}
.cc-tt-num{display:block}
.cc-tt-pct{display:block;opacity:.7;font-size:12px}
.cl-mapa-alcance{display:flex;align-items:baseline;gap:8px;border-top:1px solid var(--cl-linea-suave);padding-top:12px}
.cl-mapa-alcance .cl-num{font-size:32px}
.cl-mapa-extra{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--cl-texto-suave)}
/* gráfico de barras */
.cl-barras{display:flex;flex-direction:column;gap:10px;padding-top:8px}
.cl-barras-area{display:flex;align-items:flex-end;gap:6px;height:200px;border-bottom:2px solid var(--cl-tinta)}
.cl-barra{flex:1 1 0;min-width:0;min-height:2px;background:var(--cl-barra);border-radius:6px 6px 0 0;transition:opacity var(--cl-rapido) var(--cl-ease)}
.cl-barra:hover{opacity:.75}
.cl-barras-ejes{display:flex;justify-content:space-between;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cl-texto-suave)}
/* novedades */
.cl-novedades{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;overflow:hidden}
.cl-novedad{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 22px;border-bottom:1px solid var(--cl-linea-suave);align-items:start}
.cl-novedad:last-child{border-bottom:none}
.cl-novedad-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cl-novedad-cuerpo{display:flex;flex-direction:column;gap:2px}
.cl-novedad-titulo{font-weight:700}
.cl-novedades-mas>summary{padding:14px 22px;cursor:pointer;font-weight:700;list-style:none}
.cl-novedades-mas>summary::-webkit-details-marker{display:none}
.cl-novedades-mas>summary::before{content:"›";display:inline-block;margin-right:8px;transition:transform 180ms var(--cl-ease)}
.cl-novedades-mas[open]>summary::before{transform:rotate(90deg)}
/* modal de Google Calendar */
.cl-gcal-cal{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--cl-linea-suave)}
.cl-gcal-cal p{margin:0;font-size:14px}
.cl-gcal-detalle{font-family:monospace;font-size:12px;word-break:break-word}
.cl-gcal-corriendo{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.cl-spin{width:14px;height:14px;border:2px solid var(--cl-tinta);border-right-color:transparent;border-radius:50%;animation:cl-spin 1s linear infinite}
@keyframes cl-spin{to{transform:rotate(360deg)}}
@media (max-width:560px){.cl-atajos{grid-template-columns:1fr}.cl-novedad{grid-template-columns:1fr;gap:8px}.cl-num{font-size:28px}.cl-kpis{gap:16px}}

/* ---------- Páginas: contenedor y utilidades ---------- */
.cl-pagina{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
/* Paginas de tablas grandes (Carga, 23/9, pedido del equipo): usan todo el
   ancho de la pantalla — en 1100px el listado obligaba a scroll horizontal. */
.cl-pagina--ancha{max-width:none}
.cl-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cl-input--sm{min-height:36px;padding:6px 10px;font-size:14px;width:auto}
.cl-rol-sub{display:block;font-size:13px;color:var(--cl-texto-suave)}
.cl-tabla-acciones{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cl-tabla-acciones form{display:flex;gap:6px;align-items:center}
.cl-vacio{padding:32px;text-align:center;color:var(--cl-texto-suave);background:var(--cl-blanco);border:2px dashed var(--cl-tinta);border-radius:20px}
.cl-vacio p{margin:0 0 6px}.cl-vacio a{color:inherit;font-weight:700}
/* filtros y paginación */
.cl-filtros{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:16px}
.cl-filtros-grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.cl-paginacion{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cl-paginacion form{display:flex;align-items:center;gap:8px}
.cl-paginacion form label{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
/* Cannela (página completa) */
.cl-cannela-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cl-cannela-header>img{width:72px;height:72px;border-radius:999px;border:2px solid var(--cl-tinta);object-fit:cover;flex-shrink:0}
.cl-cannela-chat{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:28px;display:flex;flex-direction:column;overflow:hidden}
.cl-cannela-chat .cannela-mensajes{min-height:380px;padding:24px;gap:20px}
.cl-cannela-chat .cannela-mensaje{gap:12px;align-items:flex-start}
.cl-cannela-chat .cannela-burbuja{max-width:70ch;background:var(--cl-blanco);border-radius:20px;padding:14px 18px;font-size:16px;line-height:1.55}
.cl-cannela-chat .cannela-mensaje--usuario .cannela-burbuja{background:#DCF5D8;color:#0A2A14}
:root[data-theme="dark"] .cl-cannela-chat .cannela-mensaje--usuario .cannela-burbuja{background:var(--cl-lima-papel);color:var(--cl-texto)}
.cl-cannela-chat .cannela-mensaje-avatar{width:36px;height:36px}
.cl-cannela-chat .cannela-form{flex-direction:column;align-items:stretch;border-top:2px solid var(--cl-tinta);padding:16px 24px 20px;background:var(--cl-hueso);gap:10px}
.cl-cannela-chat .cannela-form textarea{min-height:96px;font-size:16px}
/* Compliance */
.cl-compliance-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;align-items:start}
.cl-score{background:var(--cl-placa);color:#fff;border:2px solid var(--cl-tinta);border-radius:28px;padding:22px 24px;display:flex;flex-direction:column;gap:12px}
.cl-score .cl-tag{align-self:flex-start;background:transparent;border-color:#fff;color:#fff}
.cl-display{font-family:var(--cl-fuente-titulo);font-size:56px;line-height:1;letter-spacing:-.035em}
.cl-score-barra{display:flex;height:16px;border:2px solid #fff;border-radius:999px;overflow:hidden}
.cl-score-barra>span{display:block;background:#7FE87A}
.cl-score-barra>i{flex:1 1 0;background:var(--cl-placa-claro)}
.cl-leyes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.cl-leyes>div{display:flex;flex-direction:column;gap:4px}
.cl-leyes span{font-size:15px;color:var(--cl-texto-suave)}
.cl-lista{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;overflow:hidden}
.cl-lista-item{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:18px 22px;border-bottom:1px solid var(--cl-linea-suave);align-items:start}
.cl-lista-item:last-child{border-bottom:none}
.cl-lista-item>div:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.cl-lista-item p{margin:0;font-size:15px;line-height:1.55}
.cl-lista-item p.cl-sub{font-size:14px}
.cl-lista-item code{font-size:.92em;background:var(--cl-hueso);padding:1px 5px;border-radius:6px}
@media (max-width:560px){.cl-lista-item{grid-template-columns:1fr;gap:8px}}

/* desplegable inline (summary con aspecto de botón) */
.cl-desplegable>summary{list-style:none;display:inline-flex}
.cl-desplegable>summary::-webkit-details-marker{display:none}
.cl-desplegable[open]>summary{display:none}
.cl-desplegable>form{display:flex;gap:6px;align-items:center}

/* ---------- Renovaciones / Seguimientos ---------- */
.cl-kpis--fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px 24px}
.cl-metric-valor.is-mal{color:var(--cl-error-texto)}
.contactado-toggle{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:999px;border:2px solid var(--cl-tinta);background:var(--cl-blanco);color:var(--cl-tinta);cursor:pointer;padding:0;transition:background var(--cl-rapido) var(--cl-ease)}
.contactado-toggle svg{width:18px;height:18px}
.contactado-toggle.is-contactado{background:var(--cl-lima);color:#0A2A14}
.contactado-toggle.contactado-error{background:var(--cl-error)}
.contactado-toggle[disabled]{opacity:.5}
.cl-contactado{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cl-contactado-fila{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cl-seg-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.cl-seg-tab{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--cl-blanco);color:var(--cl-tinta);border:2px solid var(--cl-tinta);border-radius:20px;text-decoration:none;transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-seg-tab:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-seg-tab.is-on{background:var(--cl-lima);color:#0A2A14}
.cl-seg-tab.is-alerta{background:#FFD24A;color:#0A2A14}
.cl-seg-tab .cl-seg-tab-l{font-size:var(--cl-chico-size);font-weight:700}
.cl-seg-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cl-seg-cab a{color:inherit;font-weight:800;text-decoration:none}
.cl-seg-mensaje{margin:0;background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.5;white-space:pre-wrap;font-family:inherit}
.cl-seg-textual summary{cursor:pointer;font-weight:700;font-size:14px}
.cl-seg-textual pre{white-space:pre-wrap;font-family:inherit;font-size:14px;background:var(--cl-hueso);border-radius:12px;padding:12px 14px;margin:8px 0 0}

/* ---------- Estadísticas: gráficos en HTML ---------- */
.cl-columnas{display:flex;align-items:flex-end;gap:10px;height:200px;border-bottom:2px solid var(--cl-tinta)}
.cl-columna{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.cl-columna-valor{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cl-texto-suave)}
.cl-columna-barra{width:100%;background:var(--cl-barra);border-radius:6px 6px 0 0;min-height:2px}
.cl-columna-barra--lima{background:var(--cl-lima)}.cl-columna-barra--error{background:#FF7A6B}
.cl-columnas-ejes{display:flex;gap:10px;padding-top:6px}
.cl-columnas-ejes span{flex:1 1 0;min-width:0;text-align:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cl-texto-suave)}
.cl-columnas-ejes small{font-weight:500}
.cl-filas-barras{display:flex;flex-direction:column;gap:8px}
.cl-fila-barra{display:grid;grid-template-columns:130px 1fr 60px;gap:10px;align-items:center;font-size:14px}
.cl-fila-etiqueta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.cl-fila-barra .cl-dato{text-align:right}
.cl-pista{height:18px;border:2px solid var(--cl-tinta);border-radius:999px;overflow:hidden;background:var(--cl-blanco)}
.cl-pista--alta{height:22px}
.cl-relleno{height:100%;background:var(--cl-barra);border-radius:999px}
.cl-relleno--hoja{background:var(--cl-hoja)}.cl-relleno--error{background:#FF7A6B}.cl-relleno--titulo{background:var(--cl-titulo)}.cl-relleno--lima{background:var(--cl-lima)}.cl-relleno--atencion{background:#FFD24A}.cl-relleno--neutro{background:var(--cl-neutro)}
.cl-segmentos{display:flex;height:28px;border:2px solid var(--cl-tinta);border-radius:999px;overflow:hidden}
.cl-segmento{border-right:2px solid var(--cl-tinta)}
.cl-segmento--resto{flex:1 1 0;border-right:0;background:var(--cl-neutro)}
.cl-leyenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding-top:12px;font-size:14px}
.cl-leyenda--col{grid-template-columns:1fr}
.cl-sw{display:inline-block;width:12px;height:12px;border-radius:3px;border:2px solid var(--cl-tinta);vertical-align:-1px;margin-right:6px}
.cl-sparkline{display:flex;align-items:flex-end;gap:2px;height:64px}
.cl-sparkline span{flex:1 1 0;min-width:0;min-height:2px;background:var(--cl-barra);border-radius:2px 2px 0 0}
.cl-panel .cl-nota{margin:0 0 12px;font-size:14px;color:var(--cl-texto-suave)}

/* ---------- Pagos ---------- */
.cl-kpi-link{text-decoration:none;color:inherit;display:block;border-radius:12px}
.cl-kpi-link:hover .cl-metric-valor{color:var(--cl-titulo)}
.cl-kpi-link.is-on .cl-metric-label{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.cl-barra-par{flex:1 1 0;min-width:0;display:flex;align-items:flex-end;gap:2px;height:100%}
.cl-barra-par .cl-barra{flex:1 1 0;border-radius:4px 4px 0 0}
.cl-barra--lima{background:var(--cl-lima)}
.cl-table tr.cl-total td{border-top:2px solid var(--cl-tinta);font-weight:800}
.cl-popover{position:fixed;z-index:200;width:300px;max-width:calc(100vw - 24px);background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:18px;box-shadow:6px 6px 0 var(--cl-tinta);padding:14px;display:flex;flex-direction:column;gap:12px;text-align:left;font-weight:500;font-size:14px}
.cl-popover-seccion{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--cl-linea-suave)}
.cl-popover-seccion:first-child{padding-top:0;border-top:0}
.cl-popover-link{font-size:14px;color:inherit;font-weight:700}

/* ---------- Asociaciones ---------- */
.cl-desplegable-panel{margin-top:8px;padding:12px;background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:12px;min-width:320px}
.seg-panel-lista{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow:auto;margin-top:12px}
.seg-fila{display:flex;align-items:center;gap:10px;font-size:14px;padding:6px 8px;border-radius:10px;cursor:pointer;flex-wrap:wrap}
.seg-fila:hover{background:var(--cl-lima-papel)}
.seg-fila input{width:18px;height:18px;accent-color:#3AAA35}
.seg-nombre{font-weight:700}
.seg-medico{font-size:13px;color:var(--cl-texto-suave)}
.seg-on{color:var(--cl-titulo);font-weight:700}
.seg-baja{color:var(--cl-error-texto);font-weight:700}
.seg-stats{margin:0 0 8px;font-size:14px}
.cl-dialog{border:2px solid var(--cl-tinta);border-radius:18px;padding:22px;max-width:560px;width:calc(100% - 32px);background:var(--cl-blanco);color:var(--cl-texto);box-shadow:6px 6px 0 var(--cl-tinta)}
.cl-dialog::backdrop{background:rgba(9,73,36,.55)}
.codigo-chip{font-family:monospace;font-size:14px;font-weight:800;padding:6px 12px;border:2px solid var(--cl-tinta);border-radius:999px;background:var(--cl-lima);color:#0A2A14;cursor:pointer}
.codigo-usado{background:var(--cl-neutro);color:var(--cl-neutro-texto);text-decoration:line-through;cursor:default}
.cl-kpis--dinero .cl-metric-valor{font-size:30px;white-space:nowrap}
.cl-input[type="file"]{padding:9px 12px;font-size:14px;width:auto;max-width:100%}
.cl-dato-ficha{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:14px}
.cl-dato-ficha>span:first-child{color:var(--cl-texto-suave);font-weight:500;font-size:13px}
.cl-dato-ficha>span:last-child{font-weight:600;white-space:pre-wrap}
/* Legajo del paciente + formulario */
.cl-volver{color:inherit;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.cl-volver:hover{text-decoration:underline}
.cl-dato-bloque{display:flex;flex-direction:column;gap:4px;font-size:15px}
.cl-dato-bloque>span:first-child{color:var(--cl-texto-suave);font-weight:500;font-size:13px}
.cl-dato-bloque>span:last-child{font-weight:600;white-space:pre-wrap}
.cl-hc-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:3px solid var(--cl-tinta);padding-top:20px}
.cl-hc-titulo{margin:0;font-family:var(--cl-fuente-titulo);font-size:20px;line-height:1.2}
.cl-hc-seccion{background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:20px;padding:16px 20px;display:flex;flex-direction:column;gap:8px}
.cl-hc-seccion strong{font-size:15px}
.cl-hc-texto{margin:0;white-space:pre-wrap;line-height:1.55;font-size:15px}
.cl-lista-sep{border-top:1px solid var(--cl-linea-suave);padding-top:12px}
.cl-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 20px;align-items:start}
.cl-embed{margin:0;background:var(--cl-papel);color:var(--cl-texto);font-family:var(--cl-fuente-texto)}
.cl-embed-main{padding:20px 24px}
.cl-embed .cl-pagina{max-width:none}
/* Carga REPROCANN */
.cl-kpis-carga{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.cl-atajo.is-lima{background:var(--cl-lima);color:#0A2A14}
.cl-atajo.is-atencion{background:#FFD24A;color:#4A3600}
.cl-atajo.is-atencion .cl-atajo-s,.cl-atajo.is-lima .cl-atajo-s{color:inherit;opacity:.8}
.cl-atajo.is-on{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-banner-placa{background:var(--cl-placa);color:#fff;border:2px solid var(--cl-tinta);border-radius:28px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cl-banner-placa-sub{font-size:14px;opacity:.85;line-height:1.5}
.cl-banner-placa b{color:#fff}
.verificar-resultado{font-size:14px;line-height:1.5}
.verificar-resultado ul{margin:4px 0 10px;padding-left:20px}
.verificar-resultado li{margin-bottom:4px}
.verificar-resultado code{background:var(--cl-hueso);border:1px solid var(--cl-linea-suave);padding:1px 5px;border-radius:4px;font-size:13px}
.verificar-resultado p{margin:6px 0}
.muted{color:var(--cl-texto-suave)}
.cl-dialog--ancho{max-width:640px;width:min(94vw,640px);padding:0}
.cl-dialog--ancho>div{padding:22px 24px}
.cl-dialog::backdrop{background:rgba(9,73,36,.55)}
.cl-dialog-titulo{margin:0;font-family:var(--cl-fuente-titulo);font-size:22px;display:flex;align-items:center;gap:8px}
.cl-paso h4{margin:0 0 4px;font-size:15px}
.cl-bulk{position:sticky;top:8px;z-index:20;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--cl-lima-papel);border:2px solid var(--cl-tinta);border-radius:16px;padding:10px 14px}
.cl-bulk>span{font-weight:700;margin-right:auto}
.cl-checkbox{width:18px;height:18px;accent-color:var(--cl-placa);cursor:pointer}
.cl-th-orden{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.cl-th-orden:hover{text-decoration:underline}
.cl-th-orden.is-on{text-decoration:underline}
.cl-table tr.is-prioridad td:first-child{box-shadow:inset 4px 0 0 #FFD24A}
.cl-table tr.is-proximo td:first-child{box-shadow:inset 4px 0 0 var(--cl-placa)}
.contacto-wa-logo{width:18px;height:18px;flex-shrink:0;color:#25d366}
.cl-menu-flotante{position:fixed;z-index:60;min-width:230px;background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:14px;padding:6px;display:flex;flex-direction:column;box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-menu-flotante[hidden]{display:none}
.cl-menu-flotante button{appearance:none;background:none;border:0;text-align:left;padding:9px 12px;border-radius:9px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:inherit}
.cl-menu-flotante button:hover{background:var(--cl-hueso)}
.cl-form-flotante{position:absolute;right:0;top:calc(100% + 6px);z-index:55;background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:280px;box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-form-flotante[hidden]{display:none}
.cl-legajo-fondo{position:fixed;inset:0;background:rgba(9,73,36,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.cl-legajo-fondo[hidden]{display:none}
.cl-legajo-modal{background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:20px;width:min(1180px,100%);height:min(92vh,100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:6px 6px 0 var(--cl-tinta)}
.cl-legajo-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:2px solid var(--cl-tinta);font-weight:800}
.cl-legajo-modal iframe{flex:1;width:100%;border:0;background:var(--cl-papel)}
.cl-table--compacta th{padding:12px 12px}
.cl-table--compacta td{padding:10px 12px;font-size:14px}
.cl-table--compacta .cl-badge{font-size:13px;padding:3px 10px}

/* ---- Compat: markup generado por scripts heredados (clases del panel anterior) ---- */
.sync-status{font-size:14px}
.table-wrap:not(.cl-table){border:var(--cl-borde) solid var(--cl-tinta);border-radius:var(--cl-radio);overflow:auto;background:var(--cl-blanco);margin:10px 0}
.table-wrap:not(.cl-table) table,.cl-table table{width:100%;border-collapse:collapse}
.table-wrap:not(.cl-table) thead tr{background:var(--cl-placa)}
.table-wrap:not(.cl-table) th{text-align:left;padding:10px 12px;color:#fff;font-size:var(--cl-min-size);font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.table-wrap:not(.cl-table) td{text-align:left;padding:10px 12px;border-top:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:14px;font-weight:500;vertical-align:middle}
.badge-cargado{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--cl-radio-pildora);border:var(--cl-borde) solid var(--cl-tinta);background:var(--cl-lima);color:#0A2A14;font-size:13px;font-weight:700}
.badge-problema{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--cl-radio-pildora);border:var(--cl-borde) solid var(--cl-tinta);background:var(--cl-error);color:var(--cl-error-texto);font-size:13px;font-weight:700}
.btn-link{background:none;border:0;color:var(--cl-placa);font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.cl-h3{margin:0 0 6px;font-family:var(--cl-fuente-titulo);font-size:18px;line-height:1.25}
.cl-h4{margin:0 0 4px;font-size:15px;font-weight:800}
.cl-pasos{margin:0;padding-left:22px;line-height:1.6}.cl-pasos>li{margin-bottom:14px}
.cl-crece{flex:1;min-width:260px}
.cl-panel--error{background:#FFE3DE;color:#3A0A05}.cl-panel--atencion{background:#FFF3CF;color:#4A3600}
.cl-panel--lima{background:var(--cl-lima-papel)}
/* Extracto: KPIs que arma el JS */
.extracto-kpis{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.stat-card{border:2px solid var(--cl-tinta);border-radius:16px;padding:12px 16px;min-width:150px;background:var(--cl-blanco);display:flex;flex-direction:column;gap:2px}
.stat-card b{font-family:var(--cl-fuente-titulo);font-size:26px;line-height:1}
.stat-card span{font-size:13px;color:var(--cl-texto-suave)}
.stat-card.stat-ok{background:var(--cl-lima-papel)}.stat-card.stat-mal{background:#FFE3DE;color:#3A0A05}.stat-card.stat-mal span{color:inherit}
/* Cargar en REPROCANN (paciente_reprocann): widgets que también arma el JS */
.rp-medico{display:flex;flex-direction:column;gap:2px;background:var(--cl-lima);color:#0A2A14;border:2px solid var(--cl-tinta);border-radius:20px;padding:16px 22px}
.rp-medico-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;opacity:.8}
.rp-medico-nombre{font-family:var(--cl-fuente-titulo);font-size:24px;line-height:1.2}
.rp-medico-falta{background:#FFD24A;color:#4A3600}.rp-medico-aviso{font-size:14px;font-weight:600}
.rp-campo{margin:0}.rp-campo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rp-campo-nombre{font-weight:800;font-size:16px}.rp-campo-acciones{display:inline-flex;align-items:center;gap:10px}
.rp-oblig{color:var(--cl-error-texto);font-weight:800}
.rp-ayuda{margin:6px 0 10px}
.rp-contenido{background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:14px;padding:12px 16px;white-space:pre-wrap;line-height:1.55;font-size:15px}
.rp-vacio,.rp-aviso{font-size:14px;margin:8px 0 0}
.rp-historia-mala-obs{margin:0 0 8px;font-weight:700}
.rp-medidor{display:inline-flex;flex-direction:column;align-items:stretch;gap:3px;min-width:88px}
.rp-contador{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cl-texto-suave);text-align:right}
.rp-barra{height:5px;border-radius:999px;background:var(--cl-linea-suave);overflow:hidden}
.rp-barra-llena{display:block;height:100%;background:var(--cl-placa);border-radius:999px}
.rp-medidor-justo .rp-barra-llena{background:#C67C00}.rp-medidor-justo .rp-contador{color:#8a5a00}
.rp-medidor-excede .rp-barra-llena{background:#B3261E}.rp-medidor-excede .rp-contador{color:#B3261E}
.rp-copiado{background:var(--cl-lima)!important;color:#0A2A14!important}
.rp-dx{padding:12px 0;border-top:var(--cl-borde-fino) solid var(--cl-linea-suave)}.rp-dx:first-of-type{border-top:0}
.rp-dx-nombre{font-weight:800;font-size:15px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp-antecedentes{list-style:none;padding:0;margin:0}.rp-antecedentes li{padding:10px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave)}.rp-antecedentes li:last-child{border-bottom:0}
.rp-ant-fila{display:flex;align-items:flex-start;gap:12px}.rp-ant-texto{min-width:0}
.rp-resp{flex:0 0 auto;display:inline-flex;padding:3px 10px;border-radius:999px;border:2px solid var(--cl-tinta);font-size:13px;font-weight:800}
.rp-resp-no{background:var(--cl-lima);color:#0A2A14}.rp-resp-si{background:var(--cl-error);color:var(--cl-error-texto)}
.rp-pregunta{display:block;font-weight:700;font-size:15px}.rp-pista{display:block;font-size:13px;color:var(--cl-texto-suave);margin-top:3px}
.rp-manual{margin:8px 0 0;padding-left:20px;line-height:1.8}
.rp-auto-sesion{margin:0}.rp-auto-quien{text-decoration:underline;text-underline-offset:3px}
.rp-auto-fila{margin-top:12px}.rp-auto-fila input[type=password]{flex:1 1 320px;min-width:220px}
.rp-auto-resumen{margin-top:14px;background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.5}
.rp-auto-resumen[hidden]{display:none}.rp-auto-resumen p{margin:6px 0}.rp-auto-resumen ul{margin:4px 0 8px;padding-left:20px}
.rp-auto-aviso{background:#FFD24A;color:#4A3600;border:2px solid var(--cl-tinta);border-radius:12px;padding:8px 12px;font-weight:700}
.rp-auto-menos{color:#8a5a00}.rp-auto-menos-fila{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rp-auto-dx{margin:6px 0 10px;padding-left:12px;border-left:3px solid var(--cl-linea-suave)}
.rp-auto-dx-prio{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--cl-lima);font-size:12px;font-weight:800}
.rp-auto-dx-texto{margin:4px 0 0;white-space:pre-wrap}
.rp-auto-editar{margin:14px 0 2px}
.rp-auto-campo.editable{display:block;margin:10px 0 14px}.rp-auto-campo.editable>b{display:block;margin-bottom:4px;font-size:13px;color:var(--cl-texto-suave)}
.rp-auto-campo.editable textarea{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:2px solid var(--cl-tinta);border-radius:12px;background:var(--cl-blanco);color:var(--cl-texto);resize:vertical}
.rp-auto-campo.editable .rp-medidor{margin-top:5px;width:100%}
.rp-aviso-paciente{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rp-aviso-tel{font-size:18px;font-weight:800}
/* Turnos: editor gráfico de horarios (markup que arma el JS) */
.hz-dia{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave)}
.hz-dia-cab{display:flex;align-items:center;gap:8px;flex:0 0 130px;font-size:14px}
.hz-dia-cab input{width:18px;height:18px;accent-color:var(--cl-placa)}
.hz-franjas{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.hz-franja{display:inline-flex;align-items:center;gap:4px;background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:999px;padding:3px 6px 3px 10px;font-size:13px}
.hz-franja input[type=time]{border:1px solid var(--cl-linea-suave);border-radius:6px;padding:2px 4px;font:inherit;font-size:13px;background:var(--cl-blanco);color:var(--cl-texto)}
.hz-exc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:999px;padding:3px 6px 3px 10px;font-size:13px;margin:0 6px 6px 0}
.hz-preview{margin-top:6px}.hz-cal{display:flex;flex-direction:column;gap:4px}
.hz-cal-sem{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.hz-cal-dia{aspect-ratio:1/1;border-radius:8px;display:flex;align-items:flex-start;padding:4px 6px;font-size:12px;font-weight:700;border:1px solid var(--cl-linea-suave)}
.hz-cal-num{opacity:.75}.hz-abre{background:#cdeedd;color:#0A2A14}.hz-cerrado-semana{background:var(--cl-hueso);color:var(--cl-texto-suave)}
.hz-exc-cerrado{background:#f6d6d3;color:#7a1f18}.hz-exc-especial{background:#f7e4c2;color:#7a5410}.hz-pasado{opacity:.4}
.pago-quitar.hz-quitar,.hz-franja .pago-quitar,.hz-exc-chip .pago-quitar{width:24px;height:24px;min-width:0;border-radius:999px;border:0;background:none;cursor:pointer;font-size:16px;font-weight:800;color:var(--cl-texto-suave);padding:0}
.hz-franja .pago-quitar:hover,.hz-exc-chip .pago-quitar:hover{color:#B3261E}
/* ---- Páginas públicas (turnero): sin shell, siempre en claro ---- */
.cl-publico{margin:0;background:var(--cl-papel);color:var(--cl-texto);font-family:var(--cl-fuente-texto);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px 16px 40px;font-size:16px;line-height:1.5}
.cl-publico-cab{margin-bottom:18px}.cl-publico-cab img{height:56px;width:auto;display:block}.cl-publico-cab .marca{font-family:var(--cl-fuente-titulo);font-size:26px;color:var(--cl-placa)}
.cl-publico-pie{margin-top:auto;padding-top:32px;font-size:13px;color:var(--cl-texto-suave)}.cl-publico-pie a{color:inherit}
.cl-turnero .caja{width:100%;max-width:520px;display:flex;flex-direction:column}
.cl-turnero .cl-h1{font-size:28px;line-height:1.15;margin:6px 0 6px;text-align:center}
.cl-turnero main.caja>.cl-h1{text-align:left}
.cl-turnero .sub{color:var(--cl-texto-suave);text-align:center;max-width:520px;margin:0 0 18px;line-height:1.5}
.cl-turnero main.caja>.sub{text-align:left}
.cl-turnero .sub strong{color:var(--cl-texto)}
.cl-turnero .volver{display:inline-flex;align-items:center;gap:6px;color:var(--cl-placa);font-weight:800;text-decoration:none;font-size:15px}
.cl-turnero .volver:hover{text-decoration:underline}
.cl-turnero .lista{width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px}
.cl-turnero .medico{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-turnero .medico:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-turnero .medico.primero{background:var(--cl-lima-papel);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-turnero .medico-nombre{font-weight:800;font-size:17px}
.cl-turnero .medico-nota{display:inline-flex;margin-top:6px;font-size:13px;font-weight:700;color:#0A2A14;background:var(--cl-lima);border:2px solid var(--cl-tinta);border-radius:999px;padding:2px 10px}
.cl-turnero .medico-turno{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:14px;color:var(--cl-placa);font-weight:600}
.cl-turnero .medico-turno strong{text-transform:capitalize;font-weight:800}
.cl-turnero .medico .btn{flex:none;background:var(--cl-lima);color:#0A2A14;border:2px solid var(--cl-tinta);border-radius:999px;padding:10px 16px;font-weight:800;font-size:14px;white-space:nowrap;box-shadow:3px 3px 0 var(--cl-tinta)}
.cl-turnero .pie{margin-top:26px;font-size:14px;color:var(--cl-texto-suave);text-align:center;max-width:520px}
.cl-turnero .dias{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin-bottom:12px}
.cl-turnero .dia{flex-shrink:0;border:2px solid var(--cl-tinta);background:var(--cl-blanco);border-radius:14px;padding:8px 0;width:66px;text-align:center;font-size:12px;font-weight:700;color:var(--cl-texto-suave);cursor:pointer;text-transform:uppercase}
.cl-turnero .dia b{display:block;font-size:20px;color:var(--cl-texto);font-family:var(--cl-fuente-titulo);line-height:1.1;margin:2px 0}
.cl-turnero .dia.activo{background:var(--cl-lima);color:#0A2A14;box-shadow:3px 3px 0 var(--cl-tinta)}.cl-turnero .dia.activo b{color:#0A2A14}
.cl-turnero .horas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cl-turnero .hora{border:2px solid var(--cl-tinta);color:var(--cl-texto);background:var(--cl-blanco);border-radius:14px;padding:12px 0;text-align:center;font-weight:800;font-size:16px;cursor:pointer;font-variant-numeric:tabular-nums}
.cl-turnero .hora:hover{background:var(--cl-lima-papel)}.cl-turnero .hora:active{background:var(--cl-lima)}
.cl-turnero .vacio{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:22px;text-align:center;color:var(--cl-texto-suave)}
.cl-turnero .precios{margin-top:18px;font-size:14px;color:var(--cl-texto-suave);text-align:center;line-height:1.5}.cl-turnero .precios strong{color:var(--cl-texto)}
.cl-turnero dialog.cl-dialog{max-width:440px;width:min(92vw,440px);padding:0}
.cl-turnero .dlg{padding:20px 22px;max-height:88vh;overflow-y:auto}
.cl-turnero .dlg h2{font-family:var(--cl-fuente-titulo);font-size:20px;margin:0 0 2px}
.cl-turnero .dlg .cuando{color:var(--cl-placa);font-weight:800;margin:0 0 14px}
.cl-turnero .dlg label,.cl-turnero--orden label{display:block;font-size:13px;font-weight:700;color:var(--cl-texto);margin:0 0 10px}
.cl-turnero .dlg label[hidden]{display:none}
.cl-turnero .dlg input,.cl-turnero .dlg select,.cl-turnero--orden input{width:100%;margin-top:4px;padding:10px 12px;border:2px solid var(--cl-tinta);border-radius:12px;font:inherit;font-size:15px;background:var(--cl-blanco);color:var(--cl-texto)}
.cl-turnero .dlg input:focus,.cl-turnero .dlg select:focus,.cl-turnero--orden input:focus{outline:none;box-shadow:0 0 0 3px var(--cl-lima)}
.cl-turnero .dlg .botones{display:flex;gap:10px;margin-top:14px}
.cl-turnero .dlg button{flex:1;padding:12px;min-height:46px;border:2px solid var(--cl-tinta);border-radius:999px;font:inherit;font-weight:800;cursor:pointer;box-shadow:3px 3px 0 var(--cl-tinta)}
.cl-turnero .dlg button:active{transform:translate(2px,2px);box-shadow:none}
.cl-turnero .dlg .continuar{background:var(--cl-lima);color:#0A2A14}.cl-turnero .dlg .cancelar{background:var(--cl-blanco);color:var(--cl-texto)}
.cl-turnero .dlg .registro-nota{font-size:13px;color:var(--cl-texto-suave);line-height:1.5;margin:12px 0 0}.cl-turnero .dlg .registro-nota strong{color:var(--cl-texto)}
.cl-turnero .dlg .error-msg{color:#B3261E;font-size:14px;margin:10px 0 0;min-height:1.2em;font-weight:600}
.cl-turnero #f-ong-sugerencias button:hover{background:var(--cl-hueso)}
.cl-turnero--orden .resumen{background:var(--cl-lima-papel);border:2px solid var(--cl-tinta);border-radius:20px;padding:14px 16px;margin-bottom:16px}.cl-turnero--orden .resumen b{color:var(--cl-placa)}
.cl-turnero--orden .panel{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:16px;margin-bottom:14px}
.cl-turnero--orden .btn{display:block;width:100%;border:2px solid var(--cl-tinta);border-radius:999px;padding:14px;min-height:48px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;margin-bottom:10px;text-align:center;box-shadow:3px 3px 0 var(--cl-tinta);color:var(--cl-texto);background:var(--cl-blanco)}
.cl-turnero--orden .btn:active{transform:translate(2px,2px);box-shadow:none}
.cl-turnero--orden .btn-transferencia{background:var(--cl-lima);color:#0A2A14}
.cl-turnero--orden .btn-credito{background:var(--cl-placa);color:#fff}
.cl-turnero--orden .btn-cancelar{background:var(--cl-blanco);color:#B3261E}
.cl-turnero--orden .btn:disabled{opacity:.55;cursor:default}
.cl-turnero--orden .estado-msg{font-size:14px;color:var(--cl-texto-suave);min-height:1.3em;margin:0 0 8px}
.cl-turnero--orden .ok-codigo{color:#0F6231;font-weight:800}
.cl-turnero--orden .contador{text-align:center;font-size:14px;color:var(--cl-texto-suave);font-variant-numeric:tabular-nums;font-weight:600}
.cl-turnero--orden .check{text-align:center;font-size:56px;line-height:1;margin:8px 0 4px;color:var(--cl-placa)}.cl-turnero--orden .check--ok{color:#0F6231}
.cl-turnero--orden .confirmado .cl-h1{text-align:center}
.cl-turnero--orden .detalle{background:var(--cl-lima-papel);border:2px solid var(--cl-tinta);border-radius:20px;padding:16px;margin:12px 0;text-align:center}.cl-turnero--orden .detalle b{display:block;font-size:17px}
.cl-turnero--orden .mini{font-size:14px;color:var(--cl-texto-suave);text-align:center;margin:10px 0 0;line-height:1.5}.cl-turnero--orden .mini b{color:var(--cl-texto)}.cl-turnero--orden .mini a{color:var(--cl-placa)}
.cl-turnero--orden .mini--caja{background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:14px;padding:12px}
.cl-turnero--orden .esperando{text-align:center;padding:28px 12px}
.cl-turnero--orden .spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--cl-lima-papel);border-top-color:var(--cl-placa);border-radius:50%;animation:cl-girar 1s linear infinite}
@keyframes cl-girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cl-turnero--orden .spinner{animation:none}}
.cl-turnero--orden .aviso{background:#FFF3CF;color:#4A3600;border:2px solid var(--cl-tinta);border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:14px}.cl-turnero--orden .aviso a{color:inherit}
.cl-turnero--orden s{opacity:.6;font-weight:400}
/* ---- Portales (médico, paciente, ONG): shell nuevo + clases heredadas de sus vistas ---- */
.cl-portal{--cl-bg:var(--cl-papel);--cl-surface-1:var(--cl-blanco);--cl-surface-2:var(--cl-hueso);--cl-surface-brand:var(--cl-lima-papel);--cl-border:var(--cl-linea-suave);--cl-border-strong:var(--cl-tinta);--cl-text:var(--cl-texto);--cl-text-muted:var(--cl-texto-suave);--cl-text-subtle:var(--cl-texto-suave);--cl-brand-500:var(--cl-lima);--cl-brand-300:var(--cl-placa);--cl-brand-800:var(--cl-placa);--cl-data-400:var(--cl-placa);--cl-warning:#8a5a00;--cl-danger:#B3261E;--cl-radius-sm:12px;--cl-radius-md:999px;--cl-radius-lg:20px;--cl-font-display:var(--cl-fuente-titulo);--cl-font-sans:var(--cl-fuente-texto);--cl-font-mono:var(--cl-fuente-texto)}
.cl-portal .cl-pagina{gap:16px}
.cl-portal .cl-pagina .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--cl-texto-suave)}
.cl-portal .cl-pagina h1{font-family:var(--cl-fuente-titulo);font-size:26px;line-height:1.15;margin:0 0 4px;color:var(--cl-texto);letter-spacing:-.01em}
.cl-portal .cl-pagina h2{font-family:var(--cl-fuente-titulo);font-size:19px;line-height:1.2;margin:0 0 10px}
.cl-portal .card{background:var(--cl-blanco);color:var(--cl-texto);border:2px solid var(--cl-tinta);border-radius:20px;padding:22px;margin:0}
.cl-portal .muted{color:var(--cl-texto-suave);font-size:14px;line-height:1.5}
.cl-portal .mono{font-variant-numeric:tabular-nums;font-weight:700}
.cl-portal .cl-pagina label{display:block;font-weight:700;margin:10px 0 4px;font-size:14px}
.cl-portal .cl-pagina input:not([type=checkbox]):not([type=radio]):not([type=file]),.cl-portal .cl-pagina select,.cl-portal .cl-pagina textarea{width:100%;padding:10px 12px;border:2px solid var(--cl-tinta);border-radius:12px;font:inherit;font-size:15px;background:var(--cl-blanco);color:var(--cl-texto)}
.cl-portal .cl-pagina input[type=file]{font:inherit;font-size:14px}
.cl-portal .cl-pagina input:focus,.cl-portal .cl-pagina select:focus,.cl-portal .cl-pagina textarea:focus{outline:none;box-shadow:0 0 0 3px var(--cl-lima)}
.cl-portal .cl-pagina input[type=checkbox],.cl-portal .cl-pagina input[type=radio]{accent-color:var(--cl-placa);width:18px;height:18px}
.cl-portal .cl-pagina button:not(.cl-btn):not(.cl-iconbtn):not(.cl-pill),.cl-portal .cl-pagina .boton{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;min-height:44px;border:2px solid var(--cl-tinta);border-radius:999px;background:var(--cl-lima);color:#0A2A14;font-weight:800;cursor:pointer;margin-top:12px;text-decoration:none;font-size:15px;text-align:center;font-family:inherit;box-shadow:3px 3px 0 var(--cl-tinta);transition:transform var(--cl-rapido) var(--cl-ease),box-shadow var(--cl-rapido) var(--cl-ease)}
.cl-portal .cl-pagina button:not(.cl-btn):not(.cl-iconbtn):hover,.cl-portal .cl-pagina .boton:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--cl-tinta)}
.cl-portal .cl-pagina button:not(.cl-btn):not(.cl-iconbtn):active,.cl-portal .cl-pagina .boton:active{transform:translate(2px,2px);box-shadow:none}
.cl-portal .cl-pagina button:disabled{opacity:.55;cursor:default}
.cl-portal .cl-pagina .boton.sec,.cl-portal .cl-pagina button.sec,.cl-portal .cl-pagina .secundario{background:var(--cl-blanco);color:var(--cl-texto)}
.cl-portal .cl-pagina .boton.chico,.cl-portal .cl-pagina button.chico{padding:6px 12px;min-height:34px;font-size:13px;margin-top:0;box-shadow:2px 2px 0 var(--cl-tinta)}
.cl-portal .cl-pagina .btn-link{display:inline;min-height:0;padding:0;border:0;background:none;box-shadow:none;margin:0;color:var(--cl-placa);font-weight:700;text-decoration:underline;font-size:14px}
.cl-portal .error{background:#FFE3DE;color:#3A0A05;border:2px solid var(--cl-tinta);padding:10px 14px;border-radius:14px;font-size:14px;font-weight:600}
.cl-portal .ok{background:var(--cl-lima-papel);color:#0A2A14;border:2px solid var(--cl-tinta);padding:10px 14px;border-radius:14px;font-size:14px;font-weight:600}
.cl-portal .dato{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:15px;align-items:center}
.cl-portal .dato:last-child{border-bottom:0}.cl-portal .dato>span:first-child{color:var(--cl-texto-suave)}
.cl-portal .estado{display:inline-flex;align-items:center;gap:4px;background:var(--cl-lima);color:#0A2A14;font-weight:800;border:2px solid var(--cl-tinta);border-radius:999px;padding:2px 10px;font-size:13px;line-height:1.3}
.cl-portal .estado.rojo{background:var(--cl-error);color:var(--cl-error-texto)}
.cl-portal .estado.ambar{background:#FFD24A;color:#4A3600}
.cl-portal .estado.celeste{background:var(--cl-hueso);color:var(--cl-texto)}
.cl-portal .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.cl-portal .kpi{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:16px 18px}
.cl-portal .kpi .n{font-family:var(--cl-fuente-titulo);font-size:30px;line-height:1;letter-spacing:-.02em;overflow-wrap:anywhere}
.cl-portal .kpi .l{color:var(--cl-texto-suave);font-size:13px;margin-top:6px;font-weight:600;line-height:1.35}
.cl-portal .fila-h{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cl-portal .turno{background:var(--cl-hueso);border:2px solid var(--cl-tinta);border-radius:16px;padding:14px;margin-top:12px}
.cl-portal .lado-a-lado{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media (max-width:760px){.cl-portal .lado-a-lado{grid-template-columns:1fr}}
.cl-portal pre.texto-clinico,.cl-portal .hc{white-space:pre-wrap;font-family:inherit;font-size:14px;background:var(--cl-hueso);border:2px solid var(--cl-tinta);padding:12px 14px;border-radius:14px;margin:6px 0 0;line-height:1.55}
.cl-portal .cl-pagina code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--cl-hueso);border:1px solid var(--cl-linea-suave);padding:1px 5px;border-radius:4px;font-size:.9em;color:var(--cl-texto)}
.cl-portal .cl-pagina details summary{cursor:pointer;font-weight:700}
.cl-portal .cl-pagina a{color:var(--cl-placa)}
.cl-portal .tabla{width:100%;border-collapse:collapse;font-size:14px;border:2px solid var(--cl-tinta);border-radius:14px;overflow:hidden}
.cl-portal .tabla th{text-align:left;padding:10px 12px;background:var(--cl-placa);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.cl-portal .tabla td{padding:10px 12px;border-top:var(--cl-borde-fino) solid var(--cl-linea-suave);vertical-align:middle}
.cl-portal .fila{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:var(--cl-borde-fino) solid var(--cl-linea-suave);font-size:15px}
.cl-portal .fila-doble{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.cl-portal .fila-doble{grid-template-columns:1fr}}
.cl-portal .hero{background:var(--cl-lima-papel);border:2px solid var(--cl-tinta);border-radius:20px;padding:22px}
.cl-portal .contactos{font-size:15px;line-height:1.7}
.cl-portal .cupon{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;letter-spacing:.12em;background:var(--cl-lima-papel);border:2px dashed var(--cl-tinta);color:var(--cl-placa);border-radius:14px;padding:10px 14px;text-align:center;margin-top:8px;font-weight:800}
.cl-portal .avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;background:var(--cl-lima);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#0A2A14;border:2px solid var(--cl-tinta);flex-shrink:0}
.cl-portal .mapa-mini .prov{stroke:var(--cl-tinta)}
.cl-portal .cl-pagina .cl-alert p{margin:0}
/* Páginas públicas sueltas: seguimiento por mail, privacidad */
.cl-segpub form,.cl-segpub .tarjeta{width:100%;max-width:520px}
.cl-segpub .cl-h1{font-size:26px;text-align:center;margin:6px 0 6px}
.cl-segpub .sub{color:var(--cl-texto-suave);text-align:center;max-width:520px;margin:0 auto 18px;line-height:1.5}
.cl-segpub .sub strong{color:var(--cl-texto)}
.cl-segpub .bloque{background:var(--cl-blanco);border:2px solid var(--cl-tinta);border-radius:20px;padding:18px;margin-bottom:14px}
.cl-segpub .bloque h2{font-family:var(--cl-fuente-titulo);font-size:17px;margin:0 0 4px}
.cl-segpub .bloque .ayuda{color:var(--cl-texto-suave);font-size:13px;margin:0 0 12px}
.cl-segpub .opciones{display:flex;flex-direction:column;gap:8px}.cl-segpub .opciones.fila{flex-direction:row;flex-wrap:wrap}
.cl-segpub label.op{display:flex;align-items:center;gap:10px;padding:11px 13px;border:2px solid var(--cl-tinta);border-radius:14px;cursor:pointer;font-size:15px;background:var(--cl-blanco)}
.cl-segpub label.op:has(input:checked){background:var(--cl-lima);color:#0A2A14;box-shadow:3px 3px 0 var(--cl-tinta)}
.cl-segpub label.op input{accent-color:var(--cl-placa);width:18px;height:18px;flex-shrink:0}
.cl-segpub .escala{display:flex;gap:5px;flex-wrap:wrap}
.cl-segpub .escala label{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid var(--cl-tinta);border-radius:12px;cursor:pointer;font-weight:800;position:relative;background:var(--cl-blanco)}
.cl-segpub .escala label:has(input:checked){background:var(--cl-lima);color:#0A2A14;box-shadow:3px 3px 0 var(--cl-tinta)}
.cl-segpub .escala input{position:absolute;opacity:0}
.cl-segpub .escala-refs{display:flex;justify-content:space-between;color:var(--cl-texto-suave);font-size:12px;margin-top:6px}
.cl-segpub textarea,.cl-segpub input[type=text]{width:100%;border:2px solid var(--cl-tinta);border-radius:12px;padding:11px 13px;font:inherit;font-size:15px;resize:vertical;background:var(--cl-blanco);color:var(--cl-texto)}
.cl-segpub textarea:focus,.cl-segpub input[type=text]:focus{outline:none;box-shadow:0 0 0 3px var(--cl-lima)}
.cl-segpub .enviar{width:100%;background:var(--cl-lima);color:#0A2A14;border:2px solid var(--cl-tinta);border-radius:999px;padding:14px;min-height:48px;font:inherit;font-size:16px;font-weight:800;cursor:pointer;margin-top:4px;box-shadow:3px 3px 0 var(--cl-tinta)}
.cl-segpub .enviar:active{transform:translate(2px,2px);box-shadow:none}
.cl-segpub .error{background:#FFE3DE;color:#3A0A05;border:2px solid var(--cl-tinta);border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:14px;font-weight:600}
.cl-segpub .error--atencion{background:#FFF3CF;color:#4A3600}
.cl-segpub .baja-linea{text-align:center;margin-top:18px}
.cl-segpub .baja-linea button{background:none;border:0;color:var(--cl-texto-suave);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.cl-segpub .gracias{text-align:center;padding:30px 10px}
.cl-segpub .tilde{font-size:56px;line-height:1;color:var(--cl-placa)}.cl-segpub .tilde--ok{color:#0F6231}
.cl-segpub .oculto-detalle{display:none;margin-top:10px}
.cl-segpub .opciones:has(input[value="leves"]:checked)~.oculto-detalle,.cl-segpub .opciones:has(input[value="importantes"]:checked)~.oculto-detalle{display:block}
.cl-privacidad{max-width:720px;width:100%;line-height:1.65}
.cl-privacidad .cl-h1{text-align:center;font-size:30px;margin:6px 0 4px}
.cl-privacidad .fecha{text-align:center;color:var(--cl-texto-suave);font-size:14px;margin:0 0 26px}
.cl-privacidad h2{font-family:var(--cl-fuente-titulo);font-size:18px;margin:26px 0 8px;color:var(--cl-placa)}
.cl-privacidad p,.cl-privacidad li{font-size:16px}
.cl-privacidad a{color:var(--cl-placa)}
.cl-privacidad .pie{margin-top:36px;padding-top:16px;border-top:2px solid var(--cl-tinta);color:var(--cl-texto-suave);font-size:14px;text-align:center}
.cl-turnero .dlg input::placeholder{text-transform:none;letter-spacing:0}
.cl-turnero .dlg #f-codigo-validar{flex:0 0 auto;width:auto;padding:10px 16px}
/* Portales en modo oscuro: los acentos heredados (links, "celeste = dato") pasan a lima para contrastar */
:root[data-theme="dark"] .cl-portal{--cl-brand-300:var(--cl-lima);--cl-data-400:var(--cl-lima);--cl-warning:#FFD24A;--cl-danger:#FF7A6B}
:root[data-theme="dark"] .cl-portal .cl-pagina a{color:var(--cl-lima)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cl-portal{--cl-brand-300:var(--cl-lima);--cl-data-400:var(--cl-lima);--cl-warning:#FFD24A;--cl-danger:#FF7A6B}:root:not([data-theme="light"]) .cl-portal .cl-pagina a{color:var(--cl-lima)}}
