/* ===== Laura by Netstem — tema "AI control room" ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500&display=swap');
:root{
  --bg:#070b16;--bg2:#0b1224;--card:rgba(17,25,46,.72);--card-solid:#111a2e;--line:rgba(120,140,190,.16);--line2:rgba(120,140,190,.32);
  --ink:#e8edf8;--ink2:#c3cce0;--muted:#8391ad;--brand:#38bdf8;--brand2:#a78bfa;--ok:#34d399;--bad:#fb7185;--warn:#fbbf24;
  --r:16px;--shadow:0 20px 50px -20px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(900px 500px at 8% -10%,rgba(56,189,248,.18),transparent 60%),
  radial-gradient(800px 500px at 100% 0%,rgba(167,139,250,.16),transparent 60%),
  radial-gradient(700px 400px at 50% 110%,rgba(52,211,153,.10),transparent 60%),var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(120,140,190,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(120,140,190,.08) 1px,transparent 1px);background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:24px;font-weight:700;margin:0;letter-spacing:-.02em}h1 a{color:var(--ink)}
h2{font-size:12px;font-weight:600;margin:0 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}h2.mt{margin-top:20px}
code{background:rgba(56,189,248,.1);color:#9ad8f5;padding:1px 6px;border-radius:6px;font:12px JetBrains Mono,monospace}
.muted{color:var(--muted)}.small{font-size:12px}.bad{color:var(--bad)}

/* ---- header ---- */
header.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;padding:12px 28px;
  background:rgba(7,11,22,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.01em;color:#fff;white-space:nowrap}
.brand .by{font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-left:2px}
.brand .mod{font-weight:500;font-size:11px;color:#9ad8f5;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.25);padding:2px 8px;border-radius:999px;margin-left:6px;letter-spacing:.06em}
.dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--brand) 45%,var(--brand2));box-shadow:0 0 14px var(--brand),0 0 0 4px rgba(56,189,248,.15);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 12px var(--brand),0 0 0 4px rgba(56,189,248,.15)}50%{box-shadow:0 0 22px var(--brand),0 0 0 8px rgba(56,189,248,.06)}}
header nav{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}header nav a{color:var(--ink2);padding:7px 12px;border-radius:10px;white-space:nowrap;font-weight:500;border:1px solid transparent}
header nav a.on{background:rgba(56,189,248,.12);color:#fff;border-color:rgba(56,189,248,.3);box-shadow:inset 0 0 20px rgba(56,189,248,.08)}header nav a:hover{background:rgba(255,255,255,.05);text-decoration:none;color:#fff}
.me{display:flex;align-items:center;gap:14px;color:var(--ink2);font-size:13px}.me a{color:var(--ink2)}.me a:hover{color:#fff}
button.link{background:none;border:1px solid var(--line2);color:var(--ink2);cursor:pointer;font:inherit;padding:5px 12px;border-radius:8px}button.link:hover{color:#fff;border-color:var(--brand)}
main{max-width:1760px;margin:0 auto;padding:26px 32px 40px}   /* ancho amplio centrado */
footer{text-align:center;color:var(--muted);padding:26px;font-size:12px;letter-spacing:.04em}

/* ---- layout ---- */
.head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.card{background:var(--card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow);position:relative}
.card::before{content:"";position:absolute;inset:0;border-radius:var(--r);padding:1px;background:linear-gradient(135deg,rgba(56,189,248,.35),transparent 35%,transparent 65%,rgba(167,139,250,.3));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.span2{grid-column:span 2}.grid2>*,.grid3>*{min-width:0}.chart canvas{max-width:100%}
@media(max-width:1000px){.grid2,.grid3{grid-template-columns:1fr}.span2{grid-column:auto}main{padding:18px}}

/* ---- KPIs ---- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}@media(min-width:1500px){.kpis{grid-template-columns:repeat(6,1fr)}}@media(max-width:700px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden;transition:transform .15s,border-color .15s}
.kpi:hover{transform:translateY(-2px);border-color:var(--line2)}
.kpi::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand2));opacity:.7}
.kpi b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(120deg,#fff,#cfe7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi span{color:var(--muted);font-size:12px;display:block;margin-top:4px}
.kpi.ok b{background:linear-gradient(120deg,#a7f3d0,var(--ok));-webkit-background-clip:text;background-clip:text}.kpi.ok::after{background:var(--ok)}
.kpi.bad b{background:linear-gradient(120deg,#fecdd3,var(--bad));-webkit-background-clip:text;background-clip:text}.kpi.bad::after{background:var(--bad)}
.kpi.warn b{background:linear-gradient(120deg,#fde68a,var(--warn));-webkit-background-clip:text;background-clip:text}.kpi.warn::after{background:var(--warn)}

/* ---- forms & buttons ---- */
.range{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.range label{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px}
input,select,textarea{padding:8px 10px;border:1px solid var(--line2);border-radius:10px;font:inherit;background:rgba(7,11,22,.6);color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(56,189,248,.18)}
input[type=date]{color-scheme:dark}select option{background:#0b1224}
.btn{padding:8px 14px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.04);font:inherit;font-weight:500;cursor:pointer;color:var(--ink);transition:all .15s}
.btn:hover{background:rgba(255,255,255,.08);text-decoration:none;border-color:var(--brand)}
.btn.primary{background:linear-gradient(120deg,var(--brand),var(--brand2));border-color:transparent;color:#061018;font-weight:700;box-shadow:0 8px 24px -8px rgba(56,189,248,.7)}
.btn.primary:hover{filter:brightness(1.08);box-shadow:0 10px 30px -8px rgba(56,189,248,.9)}
.btn.ghost{background:transparent}.btn.wide{width:100%;margin-top:8px}.btn.danger{color:var(--bad)}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.card label{display:block;margin-bottom:10px;color:var(--muted);font-size:13px}.card label input,.card label select,.card label textarea{display:block;width:100%;margin-top:5px}
.form-card{max-width:900px}.form-card.wide{max-width:1100px}.form-card label.check{display:flex;align-items:center;gap:8px;color:var(--ink2)}.form-card label.check input{width:auto;display:inline;margin:0;accent-color:var(--brand)}
.form-card .actions{margin-top:14px;display:flex;gap:8px}small.err{display:block;color:var(--bad)}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px 4px;margin:0 0 16px;background:rgba(7,11,22,.25)}legend{padding:0 8px;color:#9ad8f5;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.fgrid label{margin-bottom:8px}@media(max-width:900px){.fgrid{grid-template-columns:1fr}}
.tabs{display:flex;gap:6px}.tabs a{padding:7px 16px;border:1px solid var(--line2);border-radius:999px;color:var(--ink2);font-weight:500}.tabs a.on{background:linear-gradient(120deg,var(--brand),var(--brand2));color:#061018;border-color:transparent;font-weight:700}.tabs a:hover{text-decoration:none;color:#fff}

/* ---- tables ---- */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
tbody tr:hover{background:rgba(56,189,248,.05)}tfoot th{color:var(--ink);font-size:13px;text-transform:none;letter-spacing:0;border-top:1px solid var(--line2)}
td.ok{color:var(--ok);font-weight:600}td.bad{color:var(--bad);font-weight:600}td.actions{white-space:nowrap}td.actions form{display:inline}
table.mini td,table.mini th{padding:4px 8px;font-size:12px}
.pager{display:flex;justify-content:space-between;align-items:center;padding-top:12px;color:var(--muted)}

/* ---- tags & lists ---- */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(148,163,184,.15);color:var(--ink2);border:1px solid rgba(148,163,184,.2)}
.tag.big{font-size:15px;padding:5px 14px}
.tag.confirmed{background:rgba(52,211,153,.14);color:#6ee7b7;border-color:rgba(52,211,153,.35)}
.tag.cancelled{background:rgba(251,113,133,.14);color:#fda4af;border-color:rgba(251,113,133,.35)}
.tag.reschedule{background:rgba(251,191,36,.14);color:#fde68a;border-color:rgba(251,191,36,.35)}
.tag.callback{background:rgba(56,189,248,.14);color:#7dd3fc;border-color:rgba(56,189,248,.35)}
.tag.wrong_number{background:rgba(167,139,250,.16);color:#c4b5fd;border-color:rgba(167,139,250,.35)}
.tag.hung_up{background:rgba(251,113,133,.1);color:#fecdd3;border-color:rgba(251,113,133,.25)}
.tag.voicemail,.tag.no_answer{background:rgba(148,163,184,.12);color:#cbd5e1}
.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink2)}.list li b{color:#fff}.list.small li{padding:4px 0;font-size:13px}
.facts{display:grid;grid-template-columns:160px 1fr;gap:8px 14px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0;color:var(--ink2)}
.transcript p{margin:0 0 8px;padding:9px 13px;border-radius:12px;max-width:90%;line-height:1.45}
.transcript .agent{background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.22);color:#e0f2fe}
.transcript .user{background:rgba(255,255,255,.05);border:1px solid var(--line);margin-left:auto;color:var(--ink2)}
.alert{background:rgba(251,113,133,.12);color:#fecdd3;border:1px solid rgba(251,113,133,.35);padding:9px 13px;border-radius:10px}
.msg{padding:10px 14px}.msg.success{background:rgba(52,211,153,.12);color:#a7f3d0;border-color:rgba(52,211,153,.35)}.msg.warning{background:rgba(251,191,36,.12);color:#fde68a;border-color:rgba(251,191,36,.35)}.msg.error{background:rgba(251,113,133,.12);color:#fecdd3;border-color:rgba(251,113,133,.35)}

/* ---- live & pending ---- */
.live{margin-bottom:10px}.live-num{display:flex;align-items:baseline;gap:10px}.live-num b{font-size:52px;line-height:1;font-weight:800;letter-spacing:-.04em;background:linear-gradient(120deg,#fff,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}.live-num span{color:var(--muted)}
.bar{height:10px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin:10px 0}.bar-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--ok));box-shadow:0 0 12px rgba(56,189,248,.6);transition:width .5s}.bar-fill.warn{background:linear-gradient(90deg,var(--warn),#f97316)}.bar-fill.bad{background:linear-gradient(90deg,var(--bad),#e11d48)}
.live-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px}.live-meta b{color:var(--ink)}
.pending-num{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px}.pending-num b{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--warn);text-shadow:0 0 24px rgba(251,191,36,.45)}.pending-num span{color:var(--muted)}
.run-now{margin-top:12px;display:flex;flex-direction:column;gap:6px}.run-now .btn{align-self:flex-start}
.spend .kpis{margin-bottom:0;grid-template-columns:repeat(4,1fr)}

/* ---- modal ---- */
.modal-bg[hidden]{display:none!important}
.modal-bg{position:fixed;inset:0;background:rgba(3,6,14,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
.modal{background:linear-gradient(160deg,#141f3a,#0d1528);border:1px solid rgba(56,189,248,.35);border-radius:20px;padding:30px 30px 24px;width:100%;max-width:470px;box-shadow:0 0 0 1px rgba(56,189,248,.15),0 30px 80px rgba(0,0,0,.6),0 0 60px -20px rgba(56,189,248,.5);text-align:center;animation:pop .2s ease-out}
@keyframes pop{from{transform:translateY(10px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.modal-icon{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.6),rgba(167,139,250,.35));border:1px solid rgba(56,189,248,.45);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 14px;box-shadow:0 0 30px rgba(56,189,248,.35)}
.modal h2{font-size:20px;color:#fff;margin:0 0 10px;text-transform:none;letter-spacing:-.01em;font-weight:700}.modal p{margin:0 0 8px;color:var(--ink2)}
.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.modal-actions .btn{padding:10px 20px}
body.modal-open{overflow:hidden}

/* ---- login ---- */
.login-bg{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);overflow:hidden}
.login-bg::before{content:"";position:fixed;width:70vmax;height:70vmax;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;
  background:conic-gradient(from 0deg,rgba(56,189,248,.25),rgba(167,139,250,.25),rgba(52,211,153,.2),rgba(56,189,248,.25));filter:blur(90px);animation:spin 18s linear infinite;z-index:-1}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.login-card{background:rgba(13,21,40,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(56,189,248,.28);padding:36px 34px 30px;border-radius:22px;width:380px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 80px -30px rgba(56,189,248,.6)}
.login-card .brand{justify-content:center;font-size:30px;flex-wrap:wrap}.login-card .brand .by{flex-basis:100%;text-align:center;margin:2px 0 0}
.login-card p{text-align:center;margin:6px 0 22px;color:var(--muted)}
.login-card label{display:block;margin-bottom:12px;color:var(--muted);font-size:13px}.login-card input{width:100%;margin-top:5px;padding:10px 12px}
.login-card .btn.primary{margin-top:12px;padding:11px}
.login-tag{display:flex;justify-content:center;gap:8px;margin-top:18px;font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}

.chart{position:relative;height:240px}.chart.tall{height:260px}

/* ===== tema claro (html[data-theme=light]) ===== */
html[data-theme=light]{color-scheme:light}
html[data-theme=light] body{--bg:#f3f6fc;--bg2:#ffffff;--card:rgba(255,255,255,.82);--card-solid:#ffffff;--line:rgba(30,50,90,.12);--line2:rgba(30,50,90,.24);
  --ink:#0f172a;--ink2:#334155;--muted:#64748b;--brand:#0284c7;--brand2:#7c3aed;--ok:#059669;--bad:#e11d48;--warn:#d97706;--shadow:0 12px 30px -16px rgba(15,23,42,.25)}
html[data-theme=light] body::before{background:radial-gradient(900px 500px at 8% -10%,rgba(2,132,199,.14),transparent 60%),radial-gradient(800px 500px at 100% 0%,rgba(124,58,237,.10),transparent 60%),var(--bg)}
html[data-theme=light] body::after{opacity:.5;background-image:linear-gradient(rgba(30,50,90,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(30,50,90,.07) 1px,transparent 1px)}
html[data-theme=light] header.top{background:rgba(255,255,255,.75);border-bottom-color:var(--line)}
html[data-theme=light] .brand{color:#0f172a}html[data-theme=light] header nav a.on{background:rgba(2,132,199,.1);color:#0f172a;border-color:rgba(2,132,199,.3)}
html[data-theme=light] header nav a:hover{background:rgba(15,23,42,.05);color:#0f172a}html[data-theme=light] .me a:hover,html[data-theme=light] button.link:hover{color:#0f172a}
html[data-theme=light] .kpi b{background:linear-gradient(120deg,#0f172a,#1e3a8a);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] .kpi.ok b{background:linear-gradient(120deg,#047857,#10b981);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] .kpi.bad b{background:linear-gradient(120deg,#be123c,#f43f5e);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] .kpi.warn b{background:linear-gradient(120deg,#b45309,#f59e0b);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] textarea{background:#fff;color:#0f172a}html[data-theme=light] input[type=date]{color-scheme:light}html[data-theme=light] select option{background:#fff}
html[data-theme=light] .btn{background:#fff}html[data-theme=light] .btn:hover{background:#f1f5f9}html[data-theme=light] .btn.primary,html[data-theme=light] .btn.primary:hover{background:linear-gradient(120deg,#0284c7,#7c3aed);color:#fff;border-color:transparent}
html[data-theme=light] .tabs a.on{color:#fff}html[data-theme=light] .tag{background:rgba(100,116,139,.12);color:#334155}
html[data-theme=light] .tag.confirmed{background:#dcfce7;color:#166534;border-color:#bbf7d0}html[data-theme=light] .tag.cancelled{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}
html[data-theme=light] .tag.reschedule{background:#fef3c7;color:#92400e;border-color:#fde68a}html[data-theme=light] .tag.callback{background:#e0f2fe;color:#075985;border-color:#bae6fd}
html[data-theme=light] .tag.wrong_number{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}html[data-theme=light] .tag.hung_up{background:#ffe4e6;color:#9f1239}
html[data-theme=light] .list li b,html[data-theme=light] .live-meta b{color:#0f172a}html[data-theme=light] .live-num b{background:linear-gradient(120deg,#0f172a,#0369a1);-webkit-background-clip:text;background-clip:text}
html[data-theme=light] .transcript .agent{background:#e0f2fe;border-color:#bae6fd;color:#0c4a6e}html[data-theme=light] .transcript .user{background:#f1f5f9;color:#334155}
html[data-theme=light] .alert,html[data-theme=light] .msg.error{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}html[data-theme=light] .msg.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}html[data-theme=light] .msg.warning{background:#fef3c7;color:#92400e;border-color:#fde68a}
html[data-theme=light] fieldset{background:rgba(255,255,255,.5)}html[data-theme=light] legend{color:#0369a1}html[data-theme=light] code{color:#0369a1}
html[data-theme=light] .modal{background:#fff;border-color:rgba(2,132,199,.35)}html[data-theme=light] .modal h2{color:#0f172a}html[data-theme=light] .modal-bg{background:rgba(15,23,42,.55)}
html[data-theme=light] .login-card{background:rgba(255,255,255,.85);border-color:rgba(2,132,199,.3)}html[data-theme=light] .login-card .brand{color:#0f172a}
html[data-theme=light] .bar{background:rgba(15,23,42,.08)}html[data-theme=light] tbody tr:hover{background:rgba(2,132,199,.05)}html[data-theme=light] tfoot th{color:#0f172a}

/* ---- switch de tema ---- */
.theme-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:transparent;color:var(--ink2);border-radius:999px;padding:5px 10px;cursor:pointer;font:inherit;font-size:12px}
.theme-btn:hover{border-color:var(--brand);color:var(--ink)}.theme-btn .ico{font-size:14px;line-height:1}
.login-card .theme-btn{position:absolute;top:14px;right:14px}.login-card{position:relative}

/* ---- automatic calls ---- */
.auto-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.auto-row .sched{margin:0;color:var(--ink2);max-width:900px}.auto-row .sched b{color:var(--ink)}
.auto-card.on::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--r) 0 0 var(--r);background:var(--ok)}
.auto-card.off::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--r) 0 0 var(--r);background:var(--bad)}
.auto-form{display:flex;flex-direction:column;align-items:center;gap:6px}
.switch{width:64px;height:34px;border-radius:999px;border:1px solid var(--line2);background:rgba(148,163,184,.25);position:relative;cursor:pointer;padding:0;transition:background .2s}
.switch .knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:left .2s}
.switch.on{background:linear-gradient(120deg,var(--ok),#22d3ee);border-color:transparent}.switch.on .knob{left:33px}

.btn.danger-solid{background:linear-gradient(120deg,var(--bad),#e11d48);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 8px 24px -8px rgba(251,113,133,.7)}
html[data-theme=light] .btn.danger-solid,html[data-theme=light] .btn.danger-solid:hover{background:linear-gradient(120deg,#e11d48,#be123c);color:#fff;border-color:transparent}

.h1sub{margin:2px 0 0;color:var(--ink2);font-size:13px;font-weight:500}

/* ---- lista de citas de mañana ---- */
.modal.wide{max-width:960px;text-align:left;padding:24px}.modal.wide .head{margin-bottom:6px}.modal.wide h2{margin:0}
.modal-table{max-height:62vh;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px}.modal-table table{font-size:13px}.modal-table thead th{position:sticky;top:0;background:#0d1528;z-index:1}
html[data-theme=light] .modal-table thead th{background:#f8fafc}
.modal-table tr.dim td{opacity:.55}.modal-table .ok{color:var(--ok);font-weight:600}
.tag.pen{background:rgba(251,191,36,.14);color:#fde68a;border-color:rgba(251,191,36,.35)}html[data-theme=light] .tag.pen{color:#92400e}
.pending-num .btn.small{margin-left:auto;padding:6px 12px;font-size:12px}
.list-actions{justify-content:flex-end;align-items:center;margin-top:14px}.list-actions small{margin-right:auto}

.cd-form{gap:6px}.cd-form input[type=date]{padding:6px 8px}.btn.small{padding:6px 12px;font-size:12px}
.head-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ---- roster module ---- */
.modtabs{margin:-4px 0 16px}.tabs.modtabs a{font-size:13px}
.roster-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media(max-width:900px){.roster-grid{grid-template-columns:1fr}}
.upload-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-form input[type=file]{font-size:13px}
.run-state{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.run-state .pulse{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.followup li{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:10px;align-items:center}
.tag.pen{background:rgba(251,191,36,.14);color:#fde68a;border-color:rgba(251,191,36,.35)}html[data-theme=light] .tag.pen{color:#92400e}

/* ---- barra lateral ---- */
.layout{display:flex;min-height:100vh}
aside.side{width:250px;flex:0 0 250px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:18px 14px;box-sizing:border-box;
  background:linear-gradient(180deg,rgba(13,21,40,.98),rgba(9,14,28,.98));border-right:1px solid var(--line);z-index:20}
aside.side .brand{padding:4px 8px 10px;flex-wrap:wrap;font-size:19px}aside.side .brand .by{flex-basis:100%;margin:0 0 0 22px}
.side-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;scrollbar-width:thin}
.side-nav a{display:flex;align-items:center;gap:9px;color:var(--ink2);padding:9px 12px;border-radius:10px;font-weight:500;border:1px solid transparent;line-height:1.25}
.side-nav a .ico{width:18px;text-align:center;opacity:.8;font-size:13px}
.side-nav a:hover{background:rgba(255,255,255,.05);color:#fff;text-decoration:none}
.side-nav a.on{background:rgba(56,189,248,.12);color:#fff;border-color:rgba(56,189,248,.3);box-shadow:inset 0 0 20px rgba(56,189,248,.08)}
.side-nav a.sub{margin-left:26px;padding:6px 10px;font-size:12.5px;color:var(--muted);border-left:2px solid var(--line2);border-radius:0 8px 8px 0}
.side-nav a.sub.on{color:#fff;border-left-color:var(--brand);background:rgba(56,189,248,.1);box-shadow:none}
.side-label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px 12px 4px;font-weight:600}
.side-foot{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
.side-foot .theme-btn{justify-content:center}.side-user{color:var(--ink2)}.side-user:hover{color:#fff}.side-foot form{margin:0}.side-foot button.link{padding:0}
.side-toggle{display:none}
.content{flex:1;min-width:0;display:flex;flex-direction:column}.content main{width:100%;box-sizing:border-box}
@media(max-width:900px){
  .layout{display:block}
  aside.side{position:sticky;top:0;height:auto;width:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}
  aside.side .brand{padding:0;font-size:17px}aside.side .brand .by{display:none}
  .side-toggle{display:inline-flex;margin-left:auto;background:transparent;border:1px solid var(--line2);color:var(--ink);border-radius:8px;padding:5px 10px;font-size:16px;cursor:pointer}
  .side-nav,.side-foot{display:none;flex-basis:100%}
  body.side-open .side-nav{display:flex}body.side-open .side-foot{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}
}
html[data-theme=light] aside.side{background:rgba(255,255,255,.9);border-right-color:var(--line)}
html[data-theme=light] .side-nav a:hover{background:rgba(15,23,42,.05);color:#0f172a}
html[data-theme=light] .side-nav a.on{background:rgba(2,132,199,.1);color:#0f172a;border-color:rgba(2,132,199,.3)}
html[data-theme=light] .side-nav a.sub.on{color:#0f172a;border-left-color:#0284c7}
html[data-theme=light] .side-user:hover{color:#0f172a}

.side-nav a.sub.locked{color:var(--muted);justify-content:space-between}.side-nav a.sub.locked .lock{font-size:12px;opacity:.9}
.locked-card{text-align:center;padding:40px 30px;max-width:640px;margin:0 auto}.locked-icon{font-size:44px;margin-bottom:10px}.locked-card h2{text-transform:none;font-size:18px;letter-spacing:0}

.fee-form{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.fee-form label.fee{display:flex;align-items:center;gap:6px;font-size:12.5px;margin:0}
.fee-form input[type=text]{width:70px;padding:4px 6px;font-size:13px}.fee-form .btn.small{padding:4px 10px;font-size:12px}

/* ---- roster: progreso en tiempo real ---- */
.progress-tile{padding:14px 16px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:rgba(56,189,248,.06)}
.progress-tile .pnum{display:flex;align-items:baseline;gap:8px}.progress-tile .pnum b{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--brand)}
.progress-tile .pnum .of{font-size:20px;font-weight:600;color:var(--ink2)}
.progress-tile .plabel{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin:4px 0 10px}
.progress-tile .pbar{height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}
.progress-tile .pfill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:width .6s ease}
.progress-tile .pmeta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin-top:8px}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);vertical-align:middle;animation:pulse 1.6s infinite}
.running-card{position:relative;border-color:transparent!important}
.running-card::before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--r) + 2px);padding:2px;background:conic-gradient(from var(--angle,0deg),var(--brand),var(--brand2),var(--ok),var(--brand));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin-border 2.5s linear infinite;pointer-events:none;z-index:0}
.running-card>*{position:relative;z-index:1}
@property --angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes spin-border{to{--angle:360deg}}
html[data-theme=light] .progress-tile{background:rgba(2,132,199,.06)}

/* ---- selector de estados eCW (ficha de clínica) ---- */
.status-field{display:flex;flex-direction:column;gap:6px;grid-column:1/-1}.status-field .flabel{font-size:13px;color:var(--ink2)}
.status-picker{display:flex;flex-wrap:wrap;gap:6px}.status-picker .chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line2);border-radius:999px;font-size:12px;cursor:pointer;background:rgba(148,163,184,.08)}
.status-picker .chip input{margin:0}.status-picker .chip small{color:var(--muted);font-size:11px}.status-picker .chip:has(input:checked){border-color:var(--ok);background:rgba(52,211,153,.14)}

.sched-form{display:flex;flex-direction:column;gap:10px;text-align:left;margin-top:8px}.sched-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink2)}
.sched-form label.check{flex-direction:row;align-items:center;gap:8px}.sched-form input[type=time]{padding:8px 10px}.sched .btn.small{margin-left:8px;padding:4px 10px;font-size:12px;vertical-align:middle}

.sched-form .retry-time.off{opacity:.45}.sched-form input[type=time]:disabled{background:rgba(148,163,184,.15);cursor:not-allowed}
.switch:disabled{opacity:.4;cursor:not-allowed}.sched-warn{margin:0 0 6px;color:var(--warn);font-size:13px}

/* ---- Automatic calls: fichas de horario, reloj del servidor ---- */
.auto-main{flex:1;min-width:0}.auto-side{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:220px}
.sched-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin:6px 0 10px}
.sched-chip{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid var(--line2);border-radius:12px;background:rgba(148,163,184,.08);min-width:120px}
.sched-chip .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sched-chip b{font-size:18px;letter-spacing:-.01em}.sched-chip small{color:var(--muted);font-size:11px}
.sched-chip.off{opacity:.55}.sched-edit{align-self:center;padding:10px 16px}
.clock{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;border:1px solid rgba(56,189,248,.35);border-radius:14px;background:rgba(2,6,23,.55);box-shadow:inset 0 0 24px rgba(56,189,248,.12);min-width:220px}
.clock-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.clock-time{font-family:"Courier New",Consolas,monospace;font-size:30px;font-weight:700;letter-spacing:.06em;color:#7dd3fc;text-shadow:0 0 14px rgba(56,189,248,.6);font-variant-numeric:tabular-nums}
.clock-date{font-size:12px;color:var(--ink2)}.clock-next{font-size:12px;color:var(--ok);font-weight:600;margin-top:2px}
html[data-theme=light] .clock{background:#0f172a}html[data-theme=light] .clock-date{color:#cbd5e1}

/* ---- reloj LED de 7 segmentos ---- */
.clock{background:#07030f;border-color:rgba(168,85,247,.45);box-shadow:inset 0 0 30px rgba(168,85,247,.18),0 0 24px -8px rgba(168,85,247,.5)}
.led{display:flex;align-items:flex-end;gap:3px;padding:6px 4px 2px;filter:drop-shadow(0 0 6px rgba(192,132,252,.75))}
.led .ld{height:46px;width:auto;flex:none}.led .ld.small{height:26px}.led .ld.colon{height:46px}
.led .ld polygon,.led .ld circle{fill:rgba(168,85,247,.13);transition:fill .12s}.led .ld polygon.on,.led .ld.colon circle{fill:#c084fc}
.led .ld-sec{display:flex;gap:2px;margin:0 0 2px 6px}.led .ld-ap{font-family:"Courier New",Consolas,monospace;font-size:13px;font-weight:700;color:#c084fc;margin:0 0 3px 6px;letter-spacing:.08em;text-shadow:0 0 8px rgba(192,132,252,.8)}
.clock-lbl{color:rgba(216,180,254,.7)}.clock-date{color:#d8b4fe}.clock-next{color:#a3e635}
html[data-theme=light] .clock{background:#07030f}

.tocall-row{display:flex;gap:14px;margin:0 0 10px}.tocall{display:flex;flex-direction:column;line-height:1.1}.tocall b{font-size:22px;color:var(--ok)}.tocall.zero b{color:var(--muted)}.tocall.muted b{color:var(--ink2)}.tocall span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

.kpi.click{cursor:pointer;transition:transform .12s,box-shadow .12s}.kpi.click:hover{transform:translateY(-2px);box-shadow:0 10px 26px -12px rgba(56,189,248,.55)}
.kpi-link{cursor:pointer;text-decoration:underline dotted}.modal.wide #cat-body .modal-table{max-height:56vh}

.pending-num span small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.list.breakdown{margin:4px 0 10px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(148,163,184,.06)}
.list.breakdown li span small{color:var(--muted)}.list.breakdown li.hl span{font-weight:600;color:var(--ink)}.list.breakdown li.hl b{color:var(--ok);font-size:16px}

/* ---- contador en vivo llamados/pendientes ---- */
.live-count{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border:1px solid var(--line2);border-radius:999px;background:rgba(148,163,184,.08);font-variant-numeric:tabular-nums;margin-left:auto}
.live-count b{font-size:15px;letter-spacing:-.01em}.live-count small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.live-count .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);align-self:center}.live-count.running .dot{background:var(--ok);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:lcping 1.4s infinite}
@keyframes lcping{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}100%{box-shadow:0 0 0 8px rgba(52,211,153,0)}}
.live-count.pulse b{animation:lcpulse .6s}@keyframes lcpulse{0%{color:var(--ok);transform:scale(1.25)}100%{transform:scale(1)}}
.pending-card .head{align-items:center;gap:8px;flex-wrap:wrap}

.lfilters{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.lfilters .btn.on{border-color:var(--ok);color:var(--ok);background:rgba(52,211,153,.12)}
.live-count.click{cursor:pointer}.live-count.click:hover{border-color:var(--ok)}

.called-badge{display:inline-flex;align-items:baseline;gap:6px;padding:4px 12px;border-radius:999px;background:linear-gradient(120deg,rgba(56,189,248,.18),rgba(167,139,250,.18));border:1px solid rgba(56,189,248,.4);margin-left:auto}
.called-badge b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.called-badge small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)}
.pending-card .head .live-count{margin-left:0}

.called-badge .lc-new{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(120deg,#f59e0b,#f97316);padding:2px 8px;border-radius:999px;margin-left:4px;animation:lcpulse .6s}
.list.breakdown li.new span{color:#f59e0b;font-weight:600}.list.breakdown li.new b{color:#f59e0b}.newtag{color:#f59e0b;font-weight:600}

.kpi.laura b{background:linear-gradient(120deg,#22d3ee,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.kpi.laura::after{background:linear-gradient(90deg,#22d3ee,#a78bfa)}

.run-row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.run-row .run-now{flex:1;min-width:200px}
.users-switch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border:1px dashed var(--line2);border-radius:12px;min-width:150px}
.switch.sm{width:48px;height:26px}.switch.sm .knob{width:20px;height:20px;top:2px;left:2px}.switch.sm.on .knob{left:24px}

/* ---- selector de acceso a clínicas (usuarios) ---- */
.access-picker{display:flex;flex-direction:column;gap:8px}.picker-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.picker-row select{flex:1;min-width:150px;margin:0}
.access-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto}
.access-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(148,163,184,.06)}
.access-list li .nm{flex:1;font-weight:600;min-width:0}.access-list li .rl{flex:0 0 auto;width:150px;margin:0;padding:4px 8px}.access-list li .rm{padding:4px 8px;font-size:12px}

.pending-row{align-items:stretch}

.kpi span small{display:block;font-size:10.5px;color:var(--muted);margin-top:2px;letter-spacing:.02em}

.range .btn.ghost.active{border-color:var(--brand);color:var(--brand)}

.datebar select{padding:8px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit}
.daynav{display:inline-flex;align-items:center;gap:4px}.daynav .btn{padding:6px 10px;font-size:16px;line-height:1}
.dateline{margin:2px 0 0}.dateline b{color:var(--ink)}

/* KPI_HEADERS: etiqueta arriba del número, desglose debajo */
.kpi .lbl{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;line-height:1.3}
.kpi .sub{display:block;color:var(--muted);font-size:11.5px;margin-top:6px;line-height:1.35}.kpi .sub small{display:inline;font-size:inherit;color:inherit;margin:0}
.kpi .sub br+small, .kpi .sub small{display:block;margin-top:2px}

/* HERO: estado del día */
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 28px;border-radius:18px;position:relative;overflow:hidden;color:#e6f0ff;background:radial-gradient(120% 160% at 0% 0%,#1b2a52 0%,#0b1226 55%,#070b18 100%);border:1px solid rgba(99,140,255,.25);box-shadow:0 20px 50px -30px rgba(56,120,255,.6)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 90% 10%,rgba(56,189,248,.22),transparent 60%),radial-gradient(40% 60% at 20% 120%,rgba(139,92,246,.25),transparent 60%);pointer-events:none}
.hero>*{position:relative}
.hero-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8fb0ff;font-weight:700}
.hero-date{font-family:Syne,"Space Grotesk",sans-serif;font-size:28px;font-weight:800;letter-spacing:-.02em;margin:2px 0 12px;color:#fff}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap}
.hs b{display:block;font-size:34px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}.hs span{display:block;font-size:12px;color:#9fb3d9;margin-top:4px}
.hs.ok b{color:#6ee7b7}.hs.warn b{color:#fcd34d}.hs.bad b{color:#fda4af}.hs.laura b{color:#c4b5fd}
.hero-line{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:#c7d6f5}.hero-line .dim{color:#7f90b8}
.hero-line .pulse{color:#7dd3fc}.hero-line .pulse::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#38bdf8;margin-right:7px;box-shadow:0 0 0 0 rgba(56,189,248,.6);animation:heroPulse 2s infinite}
@keyframes heroPulse{0%{box-shadow:0 0 0 0 rgba(56,189,248,.6)}70%{box-shadow:0 0 0 8px rgba(56,189,248,0)}100%{box-shadow:0 0 0 0 rgba(56,189,248,0)}}
.hero-side{display:flex;align-items:center;gap:22px}
.ring{position:relative;width:112px;height:112px}.ring svg{width:112px;height:112px;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:rgba(255,255,255,.09);stroke-width:9}.ring-fg{fill:none;stroke:#38bdf8;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(56,189,248,.6))}
.hero.call .ring-fg{stroke:#a78bfa;filter:drop-shadow(0 0 6px rgba(167,139,250,.6))}
.ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-txt b{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}.ring-txt span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9fb3d9}
.hero-cta{background:linear-gradient(120deg,#38bdf8,#6366f1);color:#fff;border:0;padding:12px 20px;font-weight:700;border-radius:12px;box-shadow:0 10px 24px -10px rgba(56,189,248,.8)}.hero-cta:hover{filter:brightness(1.08)}
@media(max-width:800px){.hero{flex-direction:column;align-items:flex-start}.hero-side{width:100%;justify-content:space-between}}

/* KPI_HIERARCHY: 3 tarjetas grandes + chips */
.kpis.big{grid-template-columns:repeat(3,1fr);margin-bottom:12px}@media(min-width:1500px){.kpis.big{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.kpis.big{grid-template-columns:1fr}}
.kpis.big .kpi{padding:18px 20px}.kpis.big .kpi b{font-size:40px}.kpis.big .kpi .sub{font-size:12.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:12.5px;cursor:pointer;transition:transform .15s,border-color .15s,opacity .15s}
.chip:hover{transform:translateY(-1px);border-color:var(--line2)}.chip.static{cursor:default}.chip.static:hover{transform:none}
.chip b{font-size:15px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chip span{color:var(--muted)}.chip span small{color:var(--muted);opacity:.8}
.chip.ok b{color:var(--ok)}.chip.bad b{color:var(--bad)}.chip.warn b{color:var(--warn)}
.chip.zero{opacity:.45}.chip.zero b{color:var(--muted)}
.hs.dim b{color:#9fb3d9}

/* FOLD: secciones plegables */
.fold summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:2px 0;user-select:none}
.fold summary::-webkit-details-marker{display:none}
.fold summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s;flex:none;margin-left:2px}
.fold[open] summary::before{transform:rotate(45deg)}
.fold-title{font-family:Syne,"Space Grotesk",sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.fold-meta{color:var(--muted);font-size:12.5px}.fold-hint{margin-left:auto;color:var(--muted);font-size:12px}
.fold[open] .fold-hint{display:none}.fold[open] summary{margin-bottom:10px}
.fold > .head h2, .fold > .auto-row .head h2{font-size:13px}

/* SPARK: mini-gráficas de 7 días en las tarjetas grandes */
.kpis.big .kpi{display:flex;flex-direction:column}.spark{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;gap:8px}
.spark svg{width:120px;height:32px;overflow:visible}.spark polyline{fill:none;stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;opacity:.9}
.spark circle{fill:var(--brand);filter:drop-shadow(0 0 4px rgba(56,189,248,.8))}.spark small{font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.kpi.ok .spark polyline,.kpi.ok .spark circle{stroke:var(--ok);fill:var(--ok)}.kpi.ok .spark polyline{fill:none}
.kpi.laura .spark polyline{stroke:#a78bfa}.kpi.laura .spark circle{fill:#a78bfa}

/* VIZ: embudo, segmentos y columnas (CSS puro) */
.funnel{display:flex;flex-direction:column;gap:10px;margin:6px 0 16px}
.fstage{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:12px}
.fbar{height:30px;border-radius:8px;min-width:34px;display:flex;align-items:center;justify-content:flex-end;padding:0 10px;color:#06111f;font-weight:800;font-size:13px;transition:width .6s cubic-bezier(.22,.8,.3,1)}
.fbar.s1{background:linear-gradient(90deg,#38bdf8,#818cf8)}.fbar.s2{background:linear-gradient(90deg,#34d399,#22d3ee)}.fbar.s3{background:linear-gradient(90deg,#34d399,#a7f3d0)}.fbar.s4{background:linear-gradient(90deg,#a78bfa,#c4b5fd)}
.fstage span{color:var(--ink);font-size:13px;font-weight:600}.fstage span small{display:block;color:var(--muted);font-weight:500;font-size:11.5px}
.nr-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:4px 0 8px}.nr-head b{font-size:16px;color:var(--ink);letter-spacing:0}
.nr-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;gap:2px;background:var(--line)}.nr-bar .seg{display:block;min-width:4px}
.seg.voicemail,i.voicemail{background:#64748b}.seg.no_answer,i.no_answer{background:#94a3b8}.seg.hung_up,i.hung_up{background:#f9a8d4}.seg.other,i.other{background:#475569}.seg.wrong_number,i.wrong_number{background:#a78bfa}
.nr-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:12px;color:var(--muted)}.nr-legend li{display:flex;align-items:center;gap:6px}.nr-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.nr-legend li b{color:var(--ink)}.nr-legend li.zero{opacity:.45}
.cols{display:flex;align-items:flex-end;gap:10px;height:150px;padding:6px 4px 0}.col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:34px;max-width:72px}
.col b{font-size:12px;margin-bottom:4px;font-variant-numeric:tabular-nums}.col .stack{width:100%;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;min-height:6px;transition:height .6s cubic-bezier(.22,.8,.3,1)}
.col .stack span{display:block;min-height:3px}.s-ok{background:#34d399}.s-nr{background:#64748b}.s-bad{background:#fb7185}.col small{margin-top:6px;color:var(--muted);font-size:11px;white-space:nowrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 8px;vertical-align:middle}
.mini-rows{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px}.mini-rows>div{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid var(--line)}.mini-rows span small{color:var(--muted);margin-left:6px}.mini-rows b{font-variant-numeric:tabular-nums}
.rrows{margin-top:14px}.rrow{display:grid;grid-template-columns:140px 1fr 32px;align-items:center;gap:10px;font-size:12.5px;margin:6px 0}.rrow i{display:block;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.rrow i em{display:block;height:100%;background:linear-gradient(90deg,#fb7185,#fda4af);border-radius:999px}.rrow b{text-align:right;font-variant-numeric:tabular-nums}

/* Marcador de transferencia en las tablas de llamadas */
.tag.xfer{margin-top:4px;font-size:11px;padding:2px 8px}.tag.xfer.answered{background:rgba(52,211,153,.15);color:#34d399;border-color:rgba(52,211,153,.35)}
.tag.xfer.no_answer,.tag.xfer.hangup{background:rgba(251,113,133,.15);color:#fb7185;border-color:rgba(251,113,133,.35)}.tag.xfer.not_found,.tag.xfer.error,.tag.xfer.pending{opacity:.7}
html[data-theme=light] .tag.xfer.answered{color:#047857}html[data-theme=light] .tag.xfer.no_answer,html[data-theme=light] .tag.xfer.hangup{color:#be123c}

/* OPS: Automatic calls | Transfers */
.ops{align-items:stretch}.ops .auto-row{flex-wrap:wrap}.ops .auto-card{margin-bottom:0}
.xfer-grid{width:100%}.xfer-grid td,.xfer-grid th{padding:8px 6px;vertical-align:top}.xfer-grid small{font-size:11px}
@media(max-width:1100px){.ops{grid-template-columns:1fr}}

/* AUTO_OPEN: tarjeta Automatic calls siempre visible, media columna */
.auto-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.auto-head h2{margin:0}
.auto-toggle{margin-left:auto}.auto-toggle .auto-form{display:flex;align-items:center;gap:8px;flex-direction:row}.auto-toggle .auto-form .muted{white-space:nowrap}.auto-toggle p{margin:0}
.auto-body{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.auto-body .auto-main{flex:1 1 300px;min-width:0}.auto-body .auto-side{flex:0 0 auto}
.auto-body .sched-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.auto-body .sched-chip{padding:6px 10px;min-width:96px}.auto-body .sched-chip b{font-size:16px}.auto-body .sched-chip small{font-size:10px}
.auto-body .sched-edit{padding:8px 12px;font-size:12.5px}.auto-body .sched{font-size:12.5px;margin:10px 0 4px}
.auto-body .clock{padding:8px 14px}
.auto-foot{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.auto-foot .users-switch{flex-direction:row;justify-content:space-between;border:0;padding:0;min-width:0}
@media(max-width:1100px){.auto-body .auto-side{width:100%}.auto-body .clock{width:100%}}

/* ===== MOCKUP: rediseño 2026-10-15 ===== */
body::after{opacity:.18}
.card{background:var(--card-solid);border-color:var(--line)}
.brand{gap:10px}.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#38bdf8,#6366f1);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}.brand .logo svg{width:20px;height:20px}
.brand .brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand .brand-txt .by{margin:2px 0 0;font-size:10px}
aside.side .brand .by{flex-basis:auto;margin:2px 0 0}
.side-nav a .ico{width:18px;height:18px;opacity:.85;display:inline-flex}.side-nav a .ico svg{width:17px;height:17px}
.side-nav a.sub{margin-left:12px;display:flex;gap:8px;border-left:0;padding:7px 10px;border-radius:10px}.side-nav a.sub .ico svg{width:15px;height:15px}
.side-nav a.sub.on{background:rgba(56,189,248,.14);color:#fff}
.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.user-card:hover{text-decoration:none;border-color:var(--line2)}
.user-card .avatar{width:34px;height:34px;border-radius:50%;background:rgba(56,189,248,.18);color:#7dd3fc;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.user-card .uinfo{display:flex;flex-direction:column;min-width:0}.user-card .uinfo b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card .uinfo small{color:var(--muted);font-size:11px}
.user-card .chev{margin-left:auto;width:16px;height:16px;color:var(--muted)}.user-card .chev svg{width:16px;height:16px}
.side-tools{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pill-date{display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line2);border-radius:10px;background:var(--card-solid);color:var(--muted)}.pill-date svg{width:16px;height:16px;flex:none}.pill-date input{border:0;background:transparent;padding:8px 0;color:var(--ink);font:inherit}
.datebar select,.datebar .btn{border-radius:10px}
.hero{background:linear-gradient(135deg,#0f1b36 0%,#0b1226 60%,#0a1020 100%);border:1px solid rgba(99,140,255,.22)}
.hero-stats{gap:0}.hs{padding:0 22px}.hs:first-child{padding-left:0}.hs+.hs{border-left:1px solid rgba(255,255,255,.1)}
.hs b{font-size:36px}.hs span{font-size:12.5px;color:#c7d6f5;text-transform:none}
.ring{width:120px;height:120px}.ring svg{width:120px;height:120px}.ring-txt b{font-size:24px}.ring-txt span{font-size:10px;letter-spacing:.02em;text-transform:none;color:#c7d6f5;text-align:center;line-height:1.2;max-width:80px}
.hero-cta{display:inline-flex;align-items:center;gap:10px;font-size:16px;padding:14px 26px;border-radius:14px}.hero-cta .ico{width:18px;height:18px;display:inline-flex}.hero-cta .ico svg{width:18px;height:18px}
.kpis.big .kpi{display:flex;flex-direction:column;padding:20px 22px;position:relative}
.kpis.big .kpi .kico{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;color:#fff;flex:none}.kpis.big .kpi .kico svg{width:18px;height:18px}
.kico.ok{background:#22c55e}.kico.blue{background:#3b82f6}.kico.laura{background:#0ea5e9}
.kpis.big .kpi .lbl{position:absolute;top:26px;left:68px;margin:0}
.kpis.big .kpi b{font-size:40px;margin-top:4px}.kpis.big .kpi .ksub{display:block;color:var(--muted);font-size:13px;margin-top:4px}.kpis.big .kpi .sub{font-size:11.5px;margin-top:8px}
.spark{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.spark svg{width:170px;height:34px;flex:1}
.spark .trend{display:flex;flex-direction:column;line-height:1.1;padding-left:14px;border-left:1px solid var(--line)}.spark .trend b{font-size:12.5px;color:var(--ok)}.spark .trend.down b{color:var(--bad)}.spark .trend.flat b{color:var(--muted)}.spark .trend small{font-size:10.5px;color:var(--muted);letter-spacing:0;text-transform:none}
.chips{align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card-solid)}
.chips-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-right:6px}
.chip{background:rgba(255,255,255,.03);border-color:var(--line);padding:7px 14px}.chip .cdot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}
.chip.info .cdot{background:#38bdf8}.chip.ok .cdot{background:#34d399}.chip.nr .cdot{background:#fb7185}.chip.bad .cdot{background:#fb7185}.chip.warn .cdot{background:#fbbf24}.chip.cb .cdot{background:#60a5fa}.chip.purple .cdot{background:#a78bfa}.chip.purple b{color:#a78bfa}
.chip b{color:var(--ink)}.chip.ok b,.chip.bad b,.chip.warn b{color:var(--ink)}.chip.zero .cdot{opacity:.4}
.auto-head h2{font-size:17px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink)}
.auto-body .sched-chip{position:relative;padding:10px 12px 10px 14px;min-width:0;flex:1 1 120px;border-radius:12px}
.sched-chip .num{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:rgba(56,189,248,.18);color:#7dd3fc;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.sched-chip .lbl{font-size:11px}.auto-body .sched-chip b{font-size:18px}.auto-body .sched-chip small{color:var(--muted)}
.checks{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink2)}.checks li{display:flex;gap:8px;align-items:flex-start}.checks li i{width:16px;height:16px;color:var(--ok);flex:none;margin-top:1px}.checks li i svg{width:16px;height:16px}
.auto-body .sched-edit{display:inline-flex;align-items:center;gap:8px;border-color:var(--brand);color:var(--brand)}.sched-edit .ico{width:16px;height:16px;display:inline-flex}.sched-edit .ico svg{width:16px;height:16px}
.auto-body .auto-side .clock{transform:scale(.85);transform-origin:top right}
.xfers .head h2{font-size:17px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink)}
.xfer-grid th{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.xfer-grid td.chev a{display:inline-flex;color:var(--muted)}.xfer-grid td.chev svg{width:16px;height:16px}
.xfers .live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d399;margin-right:6px;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:heroPulse 2s infinite}
html[data-theme=light] .hero{background:linear-gradient(135deg,#0f1b36,#13214a)}html[data-theme=light] .chips{background:#fff}html[data-theme=light] .brand .logo{color:#fff}

/* MOCKUP fix: la tendencia no hereda el número grande de la tarjeta */
.kpi .spark b,.kpis.big .kpi .spark b{display:inline;font-size:12.5px;margin:0;line-height:1.1;letter-spacing:0;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--ok)}
.kpi .spark .trend.down b{color:var(--bad)}.kpi .spark .trend.flat b{color:var(--muted)}

/* Automatic calls / Transfers según maqueta 2 */
.auto-toggle .auto-form{flex-direction:row-reverse}
.auto-body .sched-chip{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num lbl" "b b" "small small";column-gap:8px;row-gap:2px;align-items:center;padding:12px 14px}
.sched-chip .num{position:static;grid-area:num;width:20px;height:20px}.sched-chip .lbl{grid-area:lbl;margin:0}.auto-body .sched-chip b{grid-area:b;font-size:20px;margin-top:4px}.auto-body .sched-chip small{grid-area:small}
.auto-body .sched-row{gap:10px}.auto-body .auto-main{flex:1 1 100%}
.xfers .live-upd{display:inline-flex;align-items:center;gap:6px}.xfers .live{margin:0 0 0 4px}
.xfer-grid .tag.xfer{background:transparent;border:1px solid currentColor;font-weight:600}.xfer-grid .tag.xfer.pending{border-color:var(--line2);color:var(--muted)}
/* bolita parpadeante junto a Laura AI (restaurada) */
.brand .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--brand);margin:0 2px 0 0;flex:none;box-shadow:0 0 0 0 rgba(56,189,248,.65);animation:heroPulse 1.8s infinite}

/* reloj LED a la derecha del checklist */
.auto-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-top:4px}.auto-notes{flex:1 1 320px;min-width:0}
.auto-bottom .clock{transform:scale(.85);transform-origin:top right;margin-left:auto}

/* MONITOR: infraestructura en el dashboard del superadmin */
.infra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.srv{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.02)}.srv.warn{border-color:rgba(251,113,133,.5)}
.srv-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.srv-head b{font-size:14px}.srv-head .tag{margin-left:auto}
.gauges{display:flex;flex-direction:column;gap:8px}.g{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center}.g span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.g i{display:block;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.g i em{display:block;height:100%;background:#34d399;border-radius:999px;transition:width .6s}.g i em.mid{background:#fbbf24}.g i em.hot{background:#fb7185}
.g b{text-align:right;font-variant-numeric:tabular-nums}.g small{grid-column:2/4;color:var(--muted);font-size:11px;margin-top:-4px}
.conts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cont{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding:3px 8px;border:1px solid var(--line);border-radius:999px}.cont i{width:7px;height:7px;border-radius:50%;background:#34d399}.cont.down{color:#fb7185;border-color:rgba(251,113,133,.4)}.cont.down i{background:#fb7185}
.svcs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.svc{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:12.5px}.svc i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 6px rgba(52,211,153,.6)}.svc.down{border-color:rgba(251,113,133,.5)}.svc.down i{background:#fb7185;box-shadow:0 0 6px rgba(251,113,133,.6)}.svc small{color:var(--muted);font-size:11px}

/* FRONTDESK */
.fd-msg{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.fd-msg:first-of-type{border-top:0}.fd-msg.urgent{border-left:3px solid var(--bad);padding-left:10px}
.hours .hh{width:110px}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.pager{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:13px;color:var(--muted)}
.fd-set fieldset{overflow-x:auto}.fd-set .mini input,.fd-set .mini select{min-width:0;width:100%;padding:6px 8px;font-size:13px}.fd-set .mini td{padding:4px 4px}.fd-set .mini input[type=checkbox]{width:auto}.fd-set .mini input[type=number]{width:70px}
.loc-list{display:grid;gap:14px}.loc-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.loc-card.off{opacity:.6}.loc-card .mini{margin-top:8px}
.fd-set label.pick{display:block;margin-bottom:10px}.fd-set label.pick select{width:100%;margin-top:4px}.fd-set .ecw-note{margin:0 0 12px}.fd-set .mini select.pick-provider{min-width:160px}
.fd-set label.pick{display:block;margin-bottom:10px}.fd-set label.pick select{width:100%;margin-top:4px}.fd-set .ecw-note{margin:0 0 12px}.fd-set .mini select.pick-provider{min-width:160px}
.fd-set .mini td.hints input{min-width:260px}
.fd-set .add-row{margin:8px 0 0}.fd-set .row-del{background:none;border:1px solid var(--line);color:var(--muted);border-radius:6px;width:26px;height:26px;cursor:pointer}.fd-set .row-del:hover{color:var(--bad);border-color:var(--bad)}
.msg.error .err-list{margin:6px 0 0 18px;padding:0}.msg.error .err-list li{margin:2px 0}
.fd-set .is-invalid{border-color:var(--bad)!important;box-shadow:0 0 0 2px rgba(255,90,90,.22)}.fd-set small.err{display:block;color:var(--bad);margin-top:3px}
tr.fd-call{cursor:pointer}tr.fd-call:hover td{background:rgba(56,189,248,.06)}
.fd-modal .fd-modal-box{max-width:1000px;text-align:left;position:relative;padding:22px 26px;max-height:88vh;display:flex;flex-direction:column}
.fd-modal .fd-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}.fd-modal .fd-close:hover{color:#fff}
.fd-modal .fd-m-head h2{margin:0 0 2px;font-size:18px}.fd-modal .fd-m-head p{margin:0 0 12px}
.fd-modal .fd-m-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;overflow:auto;min-height:0}.fd-modal .fd-m-grid h3{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fd-modal .transcript{max-height:60vh;overflow:auto}@media(max-width:800px){.fd-modal .fd-m-grid{grid-template-columns:1fr}}
.fd-set td.vt-pick{min-width:220px}.fd-set td.vt-pick .chips{display:flex;flex-wrap:wrap;gap:4px}.fd-set td.vt-pick .chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;cursor:pointer;white-space:nowrap}.fd-set td.vt-pick .chip input{width:auto;margin:0}.fd-set td.vt-pick .chip:has(input:checked){border-color:var(--accent);color:#fff;background:rgba(56,189,248,.12)}.fd-set td.vt-pick input.vt-hidden{display:none}
.fd-live{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}.fd-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:fdlive 2s infinite}.fd-live.off{color:var(--muted)}.fd-live.off i{background:var(--muted);animation:none}
@keyframes fdlive{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.hs b.bump,.hero-date.bump,.hero-line span.bump{animation:fdbump .6s ease-out}@keyframes fdbump{0%{color:#fff;text-shadow:0 0 18px rgba(56,189,248,.9)}100%{text-shadow:none}}
.nav-badge-wrap{margin-left:auto;display:inline-flex}.nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgba(0,0,0,.25);animation:navpulse 2s infinite}@keyframes navpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.wl-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.wl-form input,.wl-form select{padding:7px 9px;font-size:13px}.wl-actions{white-space:nowrap}.wl-actions form{display:inline}.wl-actions .btn{margin-right:4px}
.wl-modal .wl-modal-box{max-width:720px;text-align:left;position:relative;padding:24px 26px}.wl-modal h2{margin:0 0 4px;font-size:18px}.wl-modal p{margin:0 0 14px}
.wl-form-modal{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.wl-form-modal label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.wl-form-modal label.wide,.wl-form-modal .actions{grid-column:1/-1}
.wl-form-modal input,.wl-form-modal select{width:100%;padding:8px 10px;font-size:14px;color:var(--ink)}.wl-form-modal .actions{margin-top:6px}@media(max-width:700px){.wl-form-modal{grid-template-columns:1fr}}
.noshow-card{margin-top:14px}.noshow-card .head form{display:inline}
.noshow-card .noshow-toggle{margin:4px 0 10px}.noshow-card .noshow-toggle form{display:flex;align-items:center;gap:10px}
.noshow-card .noshow-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin:4px 0 10px}.noshow-card .noshow-actions form{display:flex;align-items:center;gap:10px;margin:0}
/* PERFORMANCE */
.perf .perf-range{flex-wrap:wrap}.perf-kv{grid-template-columns:220px 1fr}.perf-kv dd b.big{font-size:22px}.perf-kv dd b.ok{color:var(--ok)}.perf-kv dd b.bad{color:var(--bad)}
.delta{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;background:rgba(255,255,255,.06);color:var(--muted)}.delta.up{color:var(--ok);background:rgba(52,211,153,.12)}.delta.down{color:var(--bad);background:rgba(251,113,133,.12)}
.perf .small-h{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.perf-cols .col .bar{display:flex;gap:3px;align-items:flex-end;height:90px}.perf-cols .col .bar span{flex:1;border-radius:4px 4px 0 0;min-height:2px}.perf-cols .s-laura{background:#a78bfa}.dot.s-laura{background:#a78bfa}
.perf-foot{margin-top:14px}
@media print{body{background:#fff;color:#111}aside,.side,.topbar,.perf-range,.btn,.fd-live{display:none!important}main{max-width:100%;padding:0}.perf .card,.perf .hero{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;color:#111;break-inside:avoid}.perf .hero *{color:#111!important}.perf .muted,.perf dt{color:#555!important}.perf .delta{border:1px solid #ccc}}

/* ===== REDESIGN 2026-10-17 · modern medical SaaS (light by default; dark kept) ===== */
:root{--r:16px;--r-sm:12px;--pad:20px;--teal:#14b8a6;--cyan:#06b6d4;--lav:#8b5cf6;--blue:#2563eb;--green:#10b981;--orange:#f59e0b}
html[data-theme=light] body{--bg:#f5f8fc;--bg2:#fff;--card:#fff;--card-solid:#fff;--line:#e6ecf5;--line2:#d5deeb;--ink:#0f172a;--ink2:#334155;--muted:#64748b;--brand:#2563eb;--brand2:#8b5cf6;--ok:#059669;--bad:#e11d48;--warn:#d97706;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -16px rgba(15,23,42,.18)}
html[data-theme=light] body::before{background:radial-gradient(900px 400px at 10% -10%,rgba(37,99,235,.06),transparent 60%),radial-gradient(700px 400px at 100% 0%,rgba(6,182,212,.06),transparent 60%),var(--bg)}
html[data-theme=light] body::after{display:none}
html[data-theme=light] .card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:none}
html[data-theme=light] .btn{border-color:var(--line2);color:var(--ink2)}html[data-theme=light] .btn.primary,html[data-theme=light] .btn.primary:hover{background:var(--blue);color:#fff;border-color:transparent;box-shadow:0 6px 16px -8px rgba(37,99,235,.6)}
html[data-theme=light] .btn.ghost{background:#fff}html[data-theme=light] input,html[data-theme=light] select{border-color:var(--line2)}
html[data-theme=light] input:focus,html[data-theme=light] select:focus,html[data-theme=light] .btn:focus-visible,html[data-theme=light] a:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:2px}
/* sidebar */
html[data-theme=light] aside.side{background:#fff;border-right:1px solid var(--line)}
html[data-theme=light] .side-nav a{color:var(--ink2);border:0;border-radius:10px;transition:background .15s,color .15s}
html[data-theme=light] .side-nav a .ico{opacity:.9;color:var(--muted)}html[data-theme=light] .side-nav a:hover{background:#f1f5fb;color:var(--ink)}
html[data-theme=light] .side-nav a.on{background:#e8f0fe;color:var(--blue);box-shadow:none;border:0}html[data-theme=light] .side-nav a.on .ico{color:var(--blue)}
html[data-theme=light] .side-nav a.sub{border-left:2px solid var(--line);color:var(--muted)}html[data-theme=light] .side-nav a.sub.on{background:#e8f0fe;color:var(--blue);border-left-color:var(--blue)}
html[data-theme=light] .side-label{color:#94a3b8}html[data-theme=light] .side-foot{border-top-color:var(--line)}
html[data-theme=light] .user-card{background:#f7f9fd;border:1px solid var(--line)}html[data-theme=light] .user-card .avatar{background:var(--blue);color:#fff}
html[data-theme=light] .side-foot .theme-btn,html[data-theme=light] .side-foot button.link{border:1px solid var(--line);border-radius:10px;padding:7px 12px;color:var(--ink2);background:#fff}
.brand .logo{position:relative;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue),var(--cyan));flex:0 0 34px;box-shadow:0 6px 14px -8px rgba(37,99,235,.7)}
.brand .logo svg{width:18px;height:18px;fill:#fff;stroke:none}.brand .logo .dot{position:absolute;right:-3px;top:-3px;width:9px;height:9px;margin:0;box-shadow:0 0 0 2px var(--bg2)}
html[data-theme=light] .brand .by{color:var(--blue);font-weight:600}
html[data-theme=light] footer{color:var(--muted)}html[data-theme=light] h1,html[data-theme=light] h2{color:var(--ink)}
/* page header */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:0 0 18px}.page-head h1{margin:0;font-size:30px;letter-spacing:-.02em}.page-head .h1sub{margin:4px 0 0;color:var(--muted)}
.perf-range{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.perf-range label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.seg a{padding:7px 14px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink2);text-decoration:none;transition:background .15s,color .15s}.seg a:hover{background:rgba(37,99,235,.08);text-decoration:none}.seg a.on{background:var(--blue);color:#fff;box-shadow:0 6px 14px -8px rgba(37,99,235,.7)}
.bi{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.btn .bi{margin-right:4px}
/* icons */
.pi{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;color:#fff;box-shadow:0 8px 18px -10px rgba(15,23,42,.5)}.pi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pi.sm{width:34px;height:34px;flex-basis:34px;border-radius:10px;box-shadow:none}.pi.sm svg{width:18px;height:18px}
.pi.green{background:var(--green)}.pi.purple{background:var(--lav)}.pi.teal{background:var(--teal)}.pi.cyan{background:var(--cyan)}.pi.orange{background:var(--orange)}.pi.blue{background:var(--blue)}
.pi.sm.blue{background:#e8f0fe;color:var(--blue)}.pi.sm.purple{background:#efe9fe;color:var(--lav)}.pi.sm.orange{background:#fff3e0;color:var(--orange)}
html[data-theme=dark] .pi.sm.blue,html:not([data-theme=light]) .pi.sm.blue{background:rgba(37,99,235,.2);color:#93c5fd}html:not([data-theme=light]) .pi.sm.purple{background:rgba(139,92,246,.2);color:#c4b5fd}html:not([data-theme=light]) .pi.sm.orange{background:rgba(245,158,11,.2);color:#fcd34d}
/* cards */
.pc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:var(--pad);margin-bottom:18px;min-width:0}
.pc-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pc-head h2{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.pc-sub{margin-left:auto;font-size:12px;color:var(--muted)}
.pc-body{min-width:0}.perf-grid3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-bottom:0}.perf-grid3 .pc{margin-bottom:18px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:13.5px}.kv dt{color:var(--ink2)}.kv dd{margin:0;white-space:nowrap}.kv dd b{font-weight:700;color:var(--ink)}.kv dd b.big{font-size:22px}.kv dd small{color:var(--muted);margin-left:6px;white-space:normal}
.delta{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:rgba(100,116,139,.12);color:var(--muted);vertical-align:1px}.delta.up{color:#047857;background:#d1fae5}.delta.down{color:#be123c;background:#ffe4e6}
html:not([data-theme=light]) .delta.up{color:#6ee7b7;background:rgba(16,185,129,.18)}html:not([data-theme=light]) .delta.down{color:#fda4af;background:rgba(244,63,94,.18)}
.empty{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed var(--line2);border-radius:var(--r-sm);color:var(--muted);background:rgba(148,163,184,.05)}.empty p{margin:0}
.small-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
/* hero */
.perf-hero{position:relative;overflow:hidden;display:flex;gap:20px;border-radius:20px;padding:26px 28px;margin-bottom:18px;color:var(--ink);background:linear-gradient(120deg,#e9f1ff 0%,#eef7ff 45%,#e6fbf7 100%);border:1px solid #dbe7fb;box-shadow:var(--shadow)}
html:not([data-theme=light]) .perf-hero{background:linear-gradient(120deg,rgba(37,99,235,.22),rgba(6,182,212,.14) 50%,rgba(20,184,166,.14));border-color:rgba(56,189,248,.25)}
.ph-main{flex:1;min-width:0;position:relative;z-index:1}.ph-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-bottom:6px}
.ph-title{margin:0 0 16px;font-size:30px;letter-spacing:-.02em;text-transform:none;font-weight:800}
.ph-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(6px)}
html:not([data-theme=light]) .pt{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.pt b{display:block;font-size:26px;line-height:1;letter-spacing:-.02em}.pt span{font-size:12px;color:var(--ink2)}
.ph-line{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:14px;font-size:13px;color:var(--ink2)}.ph-line b{color:var(--ink)}.ph-line b.ok{color:var(--ok)}.ph-line b.bad{color:var(--bad)}
.ph-art{position:relative;flex:0 0 240px;display:flex;align-items:center;justify-content:center}.ph-tagline{font-family:'Segoe Script','Brush Script MT',cursive;font-size:22px;line-height:1.3;color:#1e3a8a;margin:0;text-align:center;position:relative;z-index:1}
html:not([data-theme=light]) .ph-tagline{color:#bfdbfe}.leaf{position:absolute;border-radius:70% 0 70% 0;opacity:.35}.leaf.l1{width:160px;height:160px;right:-40px;bottom:-60px;background:linear-gradient(135deg,var(--teal),var(--cyan));transform:rotate(-20deg)}.leaf.l2{width:110px;height:110px;right:70px;bottom:-50px;background:linear-gradient(135deg,var(--cyan),var(--blue));transform:rotate(15deg);opacity:.22}
/* donut */
.donut-row{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.donut{position:relative;width:140px;height:140px}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:12;stroke-linecap:round}.donut .d-bg{stroke:rgba(100,116,139,.15)}.donut .d-reach{stroke:var(--blue);opacity:.55}.donut .d-conf{stroke:var(--green)}
.donut circle.d-reach,.donut circle.d-conf{stroke-dasharray:0 100;transition:stroke-dasharray .8s ease}.donut circle{pathLength:100}
.d-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.d-center b{font-size:26px;line-height:1}.d-center span{font-size:11px;color:var(--muted)}
.d-legend{position:absolute;left:0;right:0;bottom:-22px;text-align:center;font-size:11px;color:var(--muted)}.d-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 8px}.d-legend .s-ok{background:var(--green)}.d-legend .s-brand{background:var(--blue);opacity:.6}
/* slots art + net */
.slots-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.slots-art .cal{position:relative;display:block;width:84px;height:84px;border-radius:16px;background:#e8f0fe;border:1px solid #d5e2fb}.slots-art .cal em{position:absolute;left:12px;right:12px;top:14px;height:8px;border-radius:4px;background:var(--lav);opacity:.6}.slots-art .cal b{position:absolute;right:-8px;bottom:-8px;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 6px 14px -6px rgba(16,185,129,.8)}
html:not([data-theme=light]) .slots-art .cal{background:rgba(37,99,235,.15);border-color:rgba(37,99,235,.3)}
.net{margin-top:14px;padding:12px 16px;border-radius:12px;display:grid;grid-template-columns:auto 1fr;gap:2px 16px;align-items:center}.net.ok{background:#ecfdf5;border:1px solid #bbf7d0}.net.bad{background:#fff1f2;border:1px solid #fecdd3}.net span{font-weight:700;color:var(--ink)}.net b{font-size:22px;text-align:right}.net.ok b{color:#047857}.net.bad b{color:#be123c}.net small{grid-column:1/-1;color:var(--muted);font-size:11px}
html:not([data-theme=light]) .net.ok{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3)}html:not([data-theme=light]) .net.bad{background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.3)}
.fd-row{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.chart-box{position:relative;height:260px}.chart-box canvas{width:100%!important;height:100%!important}
.perf-cols .col .bar{display:flex;gap:3px;align-items:flex-end;height:90px}.perf-cols .col .bar span{flex:1;border-radius:4px 4px 0 0;min-height:2px}.perf-cols .s-laura{background:var(--lav)}.dot.s-laura{background:var(--lav)}.dot.s-brand{background:var(--blue)}
.legend .dot{margin-left:10px}.perf-foot{margin-top:6px}
/* responsive */
@media(max-width:1300px){.perf-grid3{grid-template-columns:1fr 1fr}.perf-grid3 .pc:first-child{grid-column:1/-1}}
@media(max-width:1000px){.ph-art{display:none}.fd-row{grid-template-columns:1fr}}
@media(max-width:760px){.perf-grid3{grid-template-columns:1fr}.donut-row{grid-template-columns:1fr;justify-items:center}.kv{grid-template-columns:1fr}.kv dd{white-space:normal}.page-head h1{font-size:24px}.ph-title{font-size:22px}.perf-range{width:100%}.seg{width:100%;overflow-x:auto}.seg a{flex:1;text-align:center;padding:9px 8px;white-space:nowrap}.perf-hero{padding:18px}.chart-box{height:220px}.slots-row{grid-template-columns:1fr}.slots-art{display:none}}
/* print */
@media print{html[data-theme=light] body,body{background:#fff!important}aside.side,.side,.perf-range,.btn,.fd-live,footer,.msg{display:none!important}main{max-width:100%!important;padding:0!important}.content{display:block}.pc,.perf-hero{box-shadow:none!important;border:1px solid #d5deeb!important;break-inside:avoid;page-break-inside:avoid;background:#fff!important}.perf-hero{color:#0f172a}.pt{background:#f5f8fc!important}.perf-grid3{display:block}.pc{margin-bottom:12px}.chart-box{height:220px}.ph-art{display:none}}
/* FRONT DESK card (performance) */
.pi.amber{background:#f59e0b}.pi.sm.amber{background:#fff4de;color:#d97706}html:not([data-theme=light]) .pi.sm.amber{background:rgba(245,158,11,.2);color:#fcd34d}
.fd-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:4px 0 16px}
.fk{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);min-width:0}
.fk.blue{background:linear-gradient(135deg,#eef5ff,#f6faff)}.fk.teal{background:linear-gradient(135deg,#e9fbf6,#f3fdfa)}.fk.amber{background:linear-gradient(135deg,#fff8ea,#fffcf3)}
html:not([data-theme=light]) .fk.blue{background:rgba(37,99,235,.12)}html:not([data-theme=light]) .fk.teal{background:rgba(16,185,129,.12)}html:not([data-theme=light]) .fk.amber{background:rgba(245,158,11,.12)}
.fk b{display:block;font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.fk b .delta{vertical-align:middle;margin-left:8px}.fk span{font-size:13px;color:var(--ink2)}
.fk .fk-note{margin-left:auto;padding-left:14px;border-left:1px solid var(--line2);color:var(--muted);font-size:12.5px;max-width:200px}
.fd-panels{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}.fd-panel{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--card)}.fd-panel .pc-head{margin-bottom:10px}
.hbars{display:grid;gap:12px}.hb{display:grid;grid-template-columns:150px 1fr 28px;align-items:center;gap:12px;font-size:13.5px}.hb span{color:var(--ink2)}.hb i{display:block;height:9px;border-radius:999px;background:rgba(100,116,139,.14);overflow:hidden}.hb i em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#fb7185,#f87171)}.hb b{text-align:right;color:var(--ink)}
@media(max-width:1000px){.fd-kpis{grid-template-columns:1fr}.fd-panels{grid-template-columns:1fr}.hb{grid-template-columns:110px 1fr 28px}.fk .fk-note{max-width:none}}

/* ===== WELLVISIT and Vaccines (recalls) ===== */
.wv-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.wv-filters select,.wv-filters input[type=search]{padding:6px 8px;border:1px solid var(--line2);border-radius:8px;background:transparent;color:inherit;font:inherit}
.wv-filters .chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.wv-table td{vertical-align:top}.wv-table .tag{margin:0 4px 4px 0}.wv-table tr.wv-overdue td:first-child{box-shadow:inset 3px 0 0 var(--bad,#fb7185)}
.wv-actions{white-space:nowrap}.wv-actions form{display:inline-block;margin:0 4px 4px 0}
.tag.warn{background:rgba(252,211,77,.14);color:#fcd34d;border-color:rgba(252,211,77,.4)}html[data-theme=light] .tag.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}

tr.wv-row{cursor:pointer}tr.wv-row:hover td{background:rgba(56,189,248,.06)}.wv-legend{margin:0 0 10px}.wv-legend .tag{margin-right:2px}
.wv-series table.mini td{vertical-align:top}.wv-all{max-height:28vh;overflow:auto;line-height:1.5}

/* ===== FRONT DESK page redesign (2026-10-17): light medical SaaS, matches the mockup ===== */
.fd-head .dateline{margin-top:6px}.fd-range{justify-content:flex-end}.fd-range input[type=date]{padding:7px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.fd-range .btn{border-radius:10px;padding:8px 14px;font-weight:600}
.fd-banner{position:relative;overflow:hidden;border-radius:20px;padding:22px 26px 24px;margin-bottom:18px;color:var(--ink);background:linear-gradient(120deg,#e4eefc 0%,#e9f3ff 55%,#def6fb 100%);border:1px solid #d6e3f7;box-shadow:var(--shadow)}
.fd-banner::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.22),transparent 65%);pointer-events:none}
html:not([data-theme=light]) .fd-banner{background:linear-gradient(120deg,rgba(37,99,235,.22),rgba(6,182,212,.14) 50%,rgba(20,184,166,.14));border-color:rgba(56,189,248,.25);color:var(--ink)}
.fd-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue)}
.fd-title{font-family:Syne,"Space Grotesk",sans-serif;font-size:28px;font-weight:800;letter-spacing:-.02em;margin:4px 0 16px;color:#0f1b3d}html:not([data-theme=light]) .fd-title{color:#fff}
.fd-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;position:relative}
.fdt{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);box-shadow:0 1px 2px rgba(15,23,42,.04);min-width:0;backdrop-filter:blur(4px)}
html:not([data-theme=light]) .fdt{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.fdt .pi{width:40px;height:40px;flex-basis:40px}.fdt .pi svg{width:20px;height:20px}.fdt>div{min-width:0}
.fdt b{display:block;font-size:26px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.fdt span{display:block;font-size:12.5px;color:var(--ink2);margin-top:3px;font-weight:600}
.fdt small{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.3}
.fdt b.bump,.fd-title.bump,.fdt small.bump{animation:fdbump2 .6s ease-out}@keyframes fdbump2{0%{color:var(--blue)}100%{color:inherit}}
.pi.coral{background:#fb7185}
.fd-grid{margin-bottom:0;grid-template-columns:1.7fr 1fr}.fd-grid .pc{margin-bottom:18px}
.pc-head .pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef3fb;color:var(--ink2);font-weight:600;font-size:12px}html:not([data-theme=light]) .pc-head .pill{background:rgba(148,163,184,.14)}
.pc-h3{margin:18px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.fd-acts{display:flex;flex-direction:column}.fd-act{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.fd-act:first-child{border-top:0}.fd-act time{white-space:nowrap}
.fd-msg{border-top:1px solid var(--line);padding:12px 0}.fd-msg:first-child{border-top:0;padding-top:0}.fd-msg .btn{white-space:nowrap}
.tbl-wrap{overflow-x:auto}.fd-table{width:100%}.fd-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.fd-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13px}.fd-table tr:last-child td{border-bottom:0}.fd-table td.nowrap,.fd-table .nowrap{white-space:nowrap}.fd-table td.sum{max-width:420px}
.tag.info{background:rgba(37,99,235,.12);color:#93c5fd;border-color:rgba(37,99,235,.35)}html[data-theme=light] .tag.info{background:#e8f0fe;color:#1d4ed8;border-color:#c7d7fb}
.wl-add-btn{margin-left:auto}#fd-waitlist .pc-sub{margin-left:0}#fd-waitlist .act-call{color:var(--bad);border-color:#fecdd3;background:#fff1f2}html:not([data-theme=light]) #fd-waitlist .act-call{background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.35);color:#fda4af}
#fd-waitlist .wl-actions{white-space:nowrap}#fd-waitlist .wl-actions form{display:inline-block;margin-right:4px}
@media(max-width:1300px){.fd-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.fd-grid{grid-template-columns:1fr}.fd-range{justify-content:flex-start;width:100%}}
@media(max-width:760px){.fd-tiles{grid-template-columns:repeat(2,1fr)}.fd-title{font-size:22px}.fdt{padding:12px}.fdt b{font-size:22px}.fdt small{white-space:normal}.fd-range label{width:48%}}

/* ===== ROSTER page redesign (2026-10-17): New Patient Roster Verification ===== */
.pi.sm.green{background:#e6f9f1;color:#059669}.pi.sm.teal{background:#e0f7f5;color:#0d9488}.pi.sm.coral{background:#ffe9ec;color:#e11d48}.pi.sm.cyan{background:#e0f6fb;color:#0891b2}
html:not([data-theme=light]) .pi.sm.green{background:rgba(16,185,129,.2);color:#6ee7b7}html:not([data-theme=light]) .pi.sm.teal{background:rgba(20,184,166,.2);color:#5eead4}html:not([data-theme=light]) .pi.sm.coral{background:rgba(244,63,94,.2);color:#fda4af}html:not([data-theme=light]) .pi.sm.cyan{background:rgba(6,182,212,.2);color:#67e8f9}
.nrh-head .h1sub{color:var(--muted)}.nr-controls{justify-content:flex-end}.nr-controls .datebar{margin:0}
.nr-banner{position:relative;overflow:hidden;border-radius:20px;padding:22px 26px 20px;margin-bottom:18px;color:var(--ink);background:linear-gradient(120deg,#e8f0fd 0%,#eaf4ff 50%,#e3f8f3 100%);border:1px solid #d9e5f6;box-shadow:var(--shadow)}
.nr-banner::after{content:"";position:absolute;right:-40px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.25),transparent 65%);pointer-events:none}
html:not([data-theme=light]) .nr-banner{background:linear-gradient(120deg,rgba(37,99,235,.22),rgba(6,182,212,.14) 50%,rgba(20,184,166,.14));border-color:rgba(56,189,248,.25)}
.nr-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue)}
.nr-title{font-family:Syne,"Space Grotesk",sans-serif;font-size:28px;font-weight:800;letter-spacing:-.02em;margin:4px 0 16px;color:#0f1b3d}html:not([data-theme=light]) .nr-title{color:#fff}
.nr-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;position:relative}
.nrt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.9);min-width:0}
html:not([data-theme=light]) .nrt{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.nrt b{display:block;font-size:24px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.nrt span{display:block;font-size:12px;color:var(--ink2);margin-top:3px}
.nr-line{position:relative;margin-top:12px;font-size:12.5px;color:var(--ink2);display:flex;gap:8px;flex-wrap:wrap}.nr-line b{color:var(--ink)}.nr-line .sep{color:var(--muted)}
.nr-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:stretch}.nr-grid .pc{margin-bottom:18px}
.pc-head .pill.ok{background:#dcfce7;color:#166534}.pc-head .pill.live{background:#e8f0fe;color:var(--blue);display:inline-flex;align-items:center;gap:8px}
html:not([data-theme=light]) .pc-head .pill.ok{background:rgba(16,185,129,.18);color:#6ee7b7}html:not([data-theme=light]) .pc-head .pill.live{background:rgba(37,99,235,.2);color:#93c5fd}
.nr-pnum{display:flex;align-items:baseline;gap:8px;margin-top:4px}.nr-pnum b{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--blue)}.nr-pnum .of{font-size:18px;font-weight:600;color:var(--ink2)}.nr-pnum .plabel{font-size:13px;color:var(--ink2);margin-left:4px}
.nr-pbar{height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;margin-top:12px}.nr-pfill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--lav));transition:width .6s ease}
.nr-pmeta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink2);margin-top:8px;flex-wrap:wrap;gap:6px}
.nr-hours{margin:14px 0 0}.nr-runline{margin:10px 0 0}
.nr-run{margin-top:10px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center}.nr-run .btn{grid-row:span 2;min-width:120px;justify-content:center}.nr-run small{display:block}
.nr-run .btn[disabled]{opacity:.55;cursor:not-allowed}
.nr-spend-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nrs{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:0}.nrs .pi{margin-bottom:12px}
.nrs b{display:block;font-size:22px;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.nrs span{display:block;font-size:12.5px;color:var(--ink2);margin-top:4px}.nrs small{display:block;font-size:11.5px;color:var(--muted)}
.nrs.amber b{color:#d97706}
.nr-upload .pc-sub .btn{margin-left:auto}
.nr-upload-form{display:block}.dropzone{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;border:1.5px dashed var(--line2);border-radius:14px;background:#f8fbff;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:10px}
html:not([data-theme=light]) .dropzone{background:rgba(37,99,235,.06)}.dropzone:hover,.dropzone.drag{border-color:var(--blue);background:#eef4ff}html:not([data-theme=light]) .dropzone.drag{background:rgba(37,99,235,.14)}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.dropzone .pi{width:44px;height:44px;flex-basis:44px;border-radius:50%}
.dz-text b{display:block;color:var(--ink);font-size:14px}.dz-text small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.dz-file{grid-column:2}.dz-file:empty{display:none}
.dz-actions{display:flex;gap:8px;align-items:center;grid-column:3;grid-row:1 / span 2}.dropzone.has-file{border-style:solid;border-color:var(--blue)}
.nr-batches{margin:-4px 0 14px}
.nr-frow{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.nr-frow:first-of-type{border-top:0}
.nr-who{display:flex;align-items:center;gap:12px}.avatar-sm{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e8f0fe;color:var(--blue);font-weight:700;font-size:12px;flex:0 0 36px}
html:not([data-theme=light]) .avatar-sm{background:rgba(37,99,235,.2);color:#93c5fd}.nr-who a{text-decoration:none;color:var(--ink)}
.nr-phone{display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}.nr-phone .bi{color:var(--blue)}
.nr-filters{margin-left:auto;gap:8px}.nr-filters select,.nr-filters input{padding:7px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.nr-filters .search{position:relative;display:inline-flex;align-items:center}.nr-filters .search .bi{position:absolute;left:9px;color:var(--muted);margin:0}.nr-filters .search input{padding-left:30px;min-width:220px}
.nr-table code.mid{background:#e8f0fe;color:#1d4ed8;padding:2px 8px;border-radius:999px;font-size:12px}html:not([data-theme=light]) .nr-table code.mid{background:rgba(37,99,235,.2);color:#93c5fd}
.nr-table a,.nr-calls a{color:var(--blue);text-decoration:none}.nr-table a:hover,.nr-calls a:hover{text-decoration:underline}
.empty.center{justify-content:center;text-align:center;border:0;background:transparent}.empty .pi{flex:0 0 34px}.empty small{color:var(--muted)}
@media(max-width:1300px){.nr-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.nr-grid{grid-template-columns:1fr}.nr-frow{grid-template-columns:1fr 1fr;row-gap:8px}.nr-frow form{grid-column:span 2}.nr-controls{justify-content:flex-start;width:100%}.nr-filters{margin-left:0;width:100%}.nr-filters .search input{min-width:0;width:100%}}
@media(max-width:760px){.nr-tiles{grid-template-columns:repeat(2,1fr)}.nr-title{font-size:22px}.nr-spend-tiles{grid-template-columns:1fr}.dropzone{grid-template-columns:auto 1fr}.dz-actions{grid-column:1 / span 2;grid-row:auto}.dz-file{grid-column:1 / span 2}.nr-frow{grid-template-columns:1fr}.nr-frow form{grid-column:auto}.nr-pnum b{font-size:32px}.nr-run{grid-template-columns:1fr}.nr-run .btn{grid-row:auto}}

/* ===== APPOINTMENT CONFIRMATION page redesign (2026-10-17): light hero, white KPI cards, icon card headers ===== */
.ac-head .dateline{margin-top:6px}
html[data-theme=light] .hero.light{color:var(--ink);background:linear-gradient(120deg,#e8f0fd 0%,#eaf4ff 50%,#e3f8f3 100%);border:1px solid #d9e5f6;box-shadow:var(--shadow);border-radius:20px}
html[data-theme=light] .hero.light::before{background:radial-gradient(40% 70% at 95% 10%,rgba(20,184,166,.22),transparent 65%)}
html[data-theme=light] .hero.light .hero-eyebrow{color:var(--blue)}html[data-theme=light] .hero.light .hero-date{color:#0f1b3d}
html[data-theme=light] .hero.light .hero-stats{gap:12px}
html[data-theme=light] .hero.light .hs{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.95);border-radius:14px;padding:12px 16px;min-width:128px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
html[data-theme=light] .hero.light .hs b{color:var(--ink);font-size:28px}html[data-theme=light] .hero.light .hs span{color:var(--ink2)}
html[data-theme=light] .hero.light .hs.ok b{color:#059669}html[data-theme=light] .hero.light .hs.warn b{color:#d97706}html[data-theme=light] .hero.light .hs.bad b{color:#e11d48}html[data-theme=light] .hero.light .hs.laura b{color:#7c3aed}html[data-theme=light] .hero.light .hs.dim b{color:var(--muted)}
html[data-theme=light] .hero.light .hero-line{color:var(--ink2)}html[data-theme=light] .hero.light .hero-line .dim{color:var(--muted)}html[data-theme=light] .hero.light .hero-line .pulse{color:var(--blue)}html[data-theme=light] .hero.light .hero-line .pulse::before{background:var(--blue);box-shadow:0 0 0 0 rgba(37,99,235,.5)}
html[data-theme=light] .hero.light .ring-bg{stroke:rgba(37,99,235,.12)}html[data-theme=light] .hero.light .ring-fg{stroke:var(--blue);filter:none}html[data-theme=light] .hero.light.call .ring-fg{stroke:var(--lav);filter:none}
html[data-theme=light] .hero.light .ring-txt b{color:var(--ink)}html[data-theme=light] .hero.light .ring-txt span{color:var(--muted)}
html[data-theme=light] .hero.light .hero-cta{background:var(--blue);box-shadow:0 8px 18px -10px rgba(37,99,235,.8)}html[data-theme=light] .hero.light .hero-cta:hover{filter:brightness(1.06)}
html[data-theme=light] .hero.light .hs b.bump{color:var(--blue);text-shadow:none}
/* KPI cards */
html[data-theme=light] .kpis.big .kpi{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-theme=light] .kpis.big .kpi b{background:none;-webkit-text-fill-color:#0f172a;color:#0f172a}
html[data-theme=light] .kpis.big .kpi .lbl{color:var(--muted)}html[data-theme=light] .kpis.big .kpi .ksub{color:var(--ink2)}
html[data-theme=light] .kpi.ok .kico.ok{background:#10b981}html[data-theme=light] .kico.blue{background:#2563eb}html[data-theme=light] .kico.laura{background:#8b5cf6}
html[data-theme=light] .kpis.big .kpi.click:hover{border-color:#c7d7fb;transform:translateY(-1px)}
/* chips strip */
html[data-theme=light] .chips{border-radius:16px;box-shadow:var(--shadow)}html[data-theme=light] .chip{background:#f8fafc;border-color:var(--line);color:var(--ink)}html[data-theme=light] .chip:hover{background:#eef4ff;border-color:#c7d7fb}
/* card headers with icons */
.head.pc-head{align-items:center}.head.pc-head h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0}
.head.pc-head>.muted,.head.pc-head>div:last-child,.head.pc-head>.called-badge,.head.pc-head>.tag{margin-left:auto}
.auto-head .pi{flex:none}
/* spend tiles */
html[data-theme=light] .spend .kpi{background:#fff;border:1px solid var(--line);border-radius:14px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
html[data-theme=light] .spend .kpi b{background:none;-webkit-text-fill-color:#0f172a;color:#0f172a;font-size:24px}html[data-theme=light] .spend .kpi.warn b{-webkit-text-fill-color:#d97706;color:#d97706}
html[data-theme=light] .spend .kpi .lbl{color:var(--muted)}
/* generic cards on this page */
html[data-theme=light] .card{border-radius:16px}html[data-theme=light] .auto-card{border-color:var(--line)}
html[data-theme=light] .sched-chip{background:#f8fafc;border:1px solid var(--line);border-radius:12px}
html[data-theme=light] .pending-card .pending-num b{color:#d97706}
@media(max-width:760px){html[data-theme=light] .hero.light .hs{min-width:calc(50% - 6px);flex:1 1 calc(50% - 6px)}html[data-theme=light] .hero.light .hs b{font-size:24px}}
html[data-theme=light] .hero.light .hs+.hs{border-left:0}html[data-theme=light] .hero.light .hs:first-child{padding-left:16px}

/* NEW PATIENT messages + callback tracking */
.fd-msg.newpt{background:#f3f7ff;border-radius:12px;padding:12px;margin-top:8px;border-top:0}html:not([data-theme=light]) .fd-msg.newpt{background:rgba(37,99,235,.1)}
.fd-handled{margin-top:12px}.fd-handled summary{cursor:pointer}.fd-msg.done{opacity:.85}.fd-msg small b.ok{color:#059669}

.fd-timer{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink2)}.fd-timer.warn{color:#d97706}.fd-timer.bad{color:#e11d48}.fd-res{font-weight:600;color:var(--ink2)}

/* ===== FRONT DESK · Messages for the office (compact list, 2026-10-17) ===== */
.fd-msgs .pc-head{margin-bottom:8px}.ml-head{display:inline-flex;align-items:center;gap:12px}.ml-avg{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}.ml-avg b{color:var(--ink);font-weight:700}
.ml-sep{width:1px;height:18px;background:var(--line2)}
.fd-msgs{container-type:inline-size;container-name:fdmsgs}
.ml-cols{display:grid;grid-template-columns:1fr 118px 150px 32px;gap:12px;padding:6px 0 6px 56px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.ml-cols span:last-child{display:none}
.ml-list{max-height:430px;overflow-y:auto;margin:0 -6px;padding:0 6px}
.ml-row{display:grid;grid-template-columns:44px minmax(0,1fr) 118px 150px 32px;gap:12px;align-items:center;min-height:80px;padding:10px 0;border-bottom:1px solid var(--line)}
.ml-row:last-child{border-bottom:0}.ml-row.urgent{background:linear-gradient(90deg,rgba(225,29,72,.05),transparent 40%)}
.ml-av{width:44px;height:44px;flex-basis:44px;font-size:13px;align-self:start;margin-top:2px}.ml-av.c1{background:#e8f0fe;color:#1d4ed8}.ml-av.c2{background:#e6f9f1;color:#047857}.ml-av.c3{background:#efe9fe;color:#6d28d9}.ml-av.c4{background:#ffe9ec;color:#be123c}
html:not([data-theme=light]) .ml-av.c1{background:rgba(37,99,235,.22);color:#93c5fd}html:not([data-theme=light]) .ml-av.c2{background:rgba(16,185,129,.2);color:#6ee7b7}html:not([data-theme=light]) .ml-av.c3{background:rgba(139,92,246,.22);color:#c4b5fd}html:not([data-theme=light]) .ml-av.c4{background:rgba(244,63,94,.2);color:#fda4af}
.ml-main{min-width:0}.ml-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px}.ml-l1 b{color:var(--ink)}.ml-l1 .tag{font-size:11.5px;padding:2px 9px}
.ml-l2{font-size:13px;color:var(--ink2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-row.open .ml-l2{white-space:normal}
.ml-l3{display:block;margin-top:3px}.ml-l3 .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 5px 1px 0;background:var(--muted)}.ml-l3 .dot.ok{background:#10b981}.ml-l3 .dot.amber{background:#f59e0b}
.ml-details{margin:10px 0 2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;font-size:13px}html:not([data-theme=light]) .ml-details{background:rgba(37,99,235,.06)}
.ml-details dd{white-space:normal}.ml-details[hidden]{display:none}
.ml-clock{display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:7px 10px;border-radius:12px;background:#fff4de;color:#b45309;font-weight:700;font-variant-numeric:tabular-nums;font-size:15px;white-space:nowrap}
.ml-clock .bi{width:17px;height:17px;flex-basis:17px;color:#d97706}.ml-clock.warn{background:#ffedd5;color:#9a3412}.ml-clock.bad{background:#ffe4e6;color:#9f1239}.ml-clock.bad .bi{color:#e11d48}
html:not([data-theme=light]) .ml-clock{background:rgba(245,158,11,.18);color:#fcd34d}html:not([data-theme=light]) .ml-clock.bad{background:rgba(244,63,94,.2);color:#fda4af}
.ml-done .btn{white-space:nowrap;border-color:#bfd3fb;color:var(--blue);font-weight:600}.ml-done .btn .bi{margin-right:3px}
.ml-more{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.ml-more:hover{background:#eef4ff;color:var(--blue)}.ml-row.open .ml-more{transform:rotate(90deg);color:var(--blue)}.ml-more .bi{margin:0}
.ml-foot{padding:8px 0 0}
.fd-handled summary{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);cursor:pointer;list-style:none;padding:8px 0}.fd-handled summary::-webkit-details-marker{display:none}.fd-handled summary .bi{transition:transform .15s}.fd-handled[open] summary .bi{transform:rotate(180deg)}
@container fdmsgs (max-width:620px){.ml-cols{display:none}.ml-row{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"av main more" "av clock done";row-gap:8px}.ml-av{grid-area:av}.ml-main{grid-area:main}.ml-more{grid-area:more}.ml-clock{grid-area:clock;justify-self:start}.ml-done{grid-area:done;justify-self:end}}
@media(max-width:900px){.ml-cols{display:none}.ml-row{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"av main more" "av clock done";row-gap:8px}.ml-av{grid-area:av}.ml-main{grid-area:main}.ml-more{grid-area:more}.ml-clock{grid-area:clock;justify-self:start}.ml-done{grid-area:done;justify-self:end}.ml-done .btn,.ml-more{min-height:40px}.ml-more{width:40px}}

.ml-phone{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:8px;background:#f1f5fb}.ml-phone .bi{color:var(--blue);margin:0}.ml-phone:hover{background:#e8f0fe;text-decoration:none}html:not([data-theme=light]) .ml-phone{background:rgba(148,163,184,.14)}

/* ===== WELLVISIT page redesign (2026-10-17) ===== */
.wv-syncbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#e8f8ef;border:1px solid #b7ebcd;color:#166534;margin-bottom:14px;font-size:13.5px}.wv-syncbar.err{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
html:not([data-theme=light]) .wv-syncbar{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.35);color:#6ee7b7}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(37,99,235,.25);border-top-color:var(--blue);animation:wvspin .8s linear infinite;display:inline-block;flex:none}.spin.sm{width:12px;height:12px;vertical-align:-2px;margin-right:4px}@keyframes wvspin{to{transform:rotate(360deg)}}
.wv-head .dateline{margin-top:6px}.wv-actions-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.wv-actions-top .btn{padding:9px 16px;border-radius:12px;font-weight:600}.wv-actions-top .btn[disabled]{opacity:.6;cursor:not-allowed}
.wv-banner .fd-tiles{grid-template-columns:repeat(5,1fr)}.wv-tiles .fdt b.bad{color:#e11d48}.wv-tiles .fdt b.lav{color:#7c3aed}.wv-tiles .fdt b.ok{color:#059669}.pi.grey{background:#94a3b8}
.wv-notes{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--ink2)}.wv-notes span{display:inline-flex;align-items:center;gap:6px}.wv-notes .bi{color:var(--blue)}
.wv-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.wv-card-head h2{margin:0;font-size:20px;letter-spacing:-.01em;text-transform:none}.wv-card-head p{margin:2px 0 0;font-size:13px}
.wv-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:10px}.wv-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.wv-filters label.chk{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--ink2);padding-bottom:9px}
.wv-filters select,.wv-filters input[type=search]{padding:8px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:13px;min-width:120px}
.wv-filters .search{position:relative;display:inline-flex;align-items:center;flex:1 1 260px}.wv-filters .search .bi{position:absolute;left:10px;color:var(--muted)}.wv-filters .search input{padding-left:32px;width:100%}
.wv-filters .btn{padding:8px 16px;border-radius:10px;font-weight:600}
.wv-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}.wv-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.wv-legend .dot.bad{background:#fb7185}.wv-legend .dot.grey{background:#cbd5e1}.wv-legend .bi.info{color:var(--blue);margin-left:6px}
.wv-wrap{overflow:visible}.wv-table thead th{position:sticky;top:0;background:var(--card);z-index:2}
.wv-table td{padding:6px 10px;vertical-align:middle}.wv-table tr.wv-row{height:52px}.wv-table tr.wv-row td:first-child{padding-left:14px}
.wv-table tr.wv-overdue td:first-child{box-shadow:inset 3px 0 0 #fb7185}.wv-table tr.wv-due td:first-child{box-shadow:inset 3px 0 0 #cbd5e1}
.wv-pt b{display:block;color:var(--ink)}.wv-pt small{display:block;font-size:11.5px}
.wv-due-cell .tag{margin:0 4px 2px 0;white-space:nowrap}.wv-due-cell small{display:block}
.tag.due{background:#eef2f7;color:#475569;border-color:#e2e8f0}html:not([data-theme=light]) .tag.due{background:rgba(148,163,184,.14);color:#cbd5e1;border-color:rgba(148,163,184,.3)}
.tag.muted-tag{background:#fff1f2;color:#9f1239;border-color:#fecdd3;font-weight:500}html:not([data-theme=light]) .tag.muted-tag{background:rgba(244,63,94,.12);color:#fda4af;border-color:rgba(244,63,94,.3)}
.tag.st-pending{background:#eef2f7;color:#475569;border-color:#e2e8f0}.tag.st-calling{background:#e8f0fe;color:#1d4ed8;border-color:#c7d7fb}.tag.st-called{background:#fff4de;color:#b45309;border-color:#fde68a}.tag.st-booked{background:#dcfce7;color:#166534;border-color:#bbf7d0}.tag.st-declined,.tag.st-excluded{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}.tag.st-done{background:#eef2f7;color:#64748b;border-color:#e2e8f0}
.wv-table td small{display:block;margin-top:2px}.wv-table td small.ok{color:#059669}
.wv-actions{white-space:nowrap;text-align:right;width:1%}.wv-actions form{display:inline-block;margin:0 0 0 6px}.wv-actions .btn{border-radius:9px;padding:5px 10px;font-weight:600;font-size:12.5px}.wv-actions .btn .bi{width:13px;height:13px;flex-basis:13px}.wv-table td.wv-pt{min-width:150px}
.wv-table th.wv-th-actions{text-align:right}
.wv-pager{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);margin-top:4px}.wv-pager .wv-per select{padding:5px 8px;border-radius:8px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:12.5px;margin-left:4px}
.wv-pages{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.wv-pg{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:9px;border:1px solid var(--line2);color:var(--ink2);text-decoration:none;font-size:13px;font-weight:600}.wv-pg:hover{background:#eef4ff;text-decoration:none}.wv-pg.on{background:var(--blue);color:#fff;border-color:transparent}.wv-ell{color:var(--muted);padding:0 4px}
.wv-pages .btn[aria-disabled=true]{opacity:.45;pointer-events:none}
@media(max-width:1300px){.wv-banner .fd-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.wv-wrap{overflow-x:auto}.wv-table thead th{position:static}.wv-actions-top{width:100%}.wv-notes{flex-direction:column;gap:6px}}
@media(max-width:760px){.wv-banner .fd-tiles{grid-template-columns:repeat(2,1fr)}.wv-filters label,.wv-filters select{width:100%}.wv-filters .btn{flex:1}.wv-pages{margin-left:0;flex-wrap:wrap}.wv-table tr.wv-row{height:auto}.wv-actions{white-space:normal}.wv-actions form{margin:4px 4px 0 0}}

/* ===== SCRIBER (AI medical scribe) — mobile first ===== */
.sc-head .h1sub{color:var(--muted)}.sc-back{display:inline-block;font-size:13px;color:var(--blue);text-decoration:none;margin-bottom:4px}
.sc-banner .fd-title{font-size:26px}
.sc-group{margin-bottom:14px}.sc-list{display:flex;flex-direction:column}
.sc-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line);text-decoration:none;color:inherit;min-height:64px;background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;font:inherit}
.sc-row:first-child{border-top:0}.sc-row:hover{background:#f8fbff;text-decoration:none}.sc-row.open{background:#f3f7ff}
.sc-main{flex:1;min-width:0}.sc-main b{display:block;color:var(--ink);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-main small{display:block;margin-top:2px}
.sc-go{color:var(--blue);font-weight:700;white-space:nowrap}.sc-row .btn{white-space:nowrap;min-height:40px}
.sc-steps{display:flex;gap:6px;list-style:none;margin:0 0 16px;padding:0;overflow-x:auto}.sc-steps li{flex:1 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:12.5px;color:var(--muted);white-space:nowrap}
.sc-steps li b{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2f7;color:var(--ink2);font-size:12px}
.sc-steps li.now{border-color:var(--blue);color:var(--blue)}.sc-steps li.now b{background:var(--blue);color:#fff}.sc-steps li.done{color:#047857;border-color:#bbf7d0;background:#f0fdf4}.sc-steps li.done b{background:#10b981;color:#fff}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sc-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.sc-grid label.wide{grid-column:1 / -1}
.sc-grid input,.sc-grid select{padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.sc-consent{margin-top:14px;padding:14px;border:1.5px dashed var(--line2);border-radius:12px}.sc-consent.on{border-style:solid;border-color:#86efac;background:#f0fdf4}
.sc-consent .chk.big{display:flex;gap:12px;align-items:flex-start;font-size:14px;cursor:pointer}.sc-consent .chk.big input{width:22px;height:22px;margin-top:2px;flex:none}
.sc-locked{opacity:.6}.sc-rec{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sc-recbtn{min-height:52px;padding:0 22px;font-size:15px;border-radius:14px}
.sc-transcript{max-height:50vh;overflow:auto;font-size:14px;line-height:1.5}.sc-transcript p{margin:0 0 8px}.sc-transcript b{color:var(--blue);margin-right:6px}
.sc-sec{padding:12px 0;border-top:1px solid var(--line)}.sc-sec:first-child{border-top:0}.sc-sec-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sc-sec-head h3{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);flex:1}
.sc-sec textarea{width:100%;min-height:72px;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font:inherit;font-size:14px;line-height:1.5;resize:vertical}
.sc-sec.missing textarea{border-style:dashed;background:#fffbeb}.sc-sec.missing textarea::placeholder{color:#b45309}.sc-sec.edited textarea{border-color:#93c5fd}
.sc-note-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.sc-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.sc-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.sc-tpl{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--card)}.sc-tpl.off{opacity:.55}
.sc-tpl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.sc-tpl-head b{font-size:15px;color:var(--ink);margin-right:4px}
.sc-tpl-secs{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.sc-tpl-secs b{color:var(--ink2);font-weight:600}
.tag.big{font-size:13px;padding:6px 12px}
@media(max-width:760px){.sc-grid{grid-template-columns:1fr}.sc-steps li{padding:8px 10px}.sc-steps li span{display:none}.sc-row{padding:12px 0}.sc-main b{font-size:16px}.sc-rec .btn{width:100%;justify-content:center}.sc-note-actions .btn{flex:1;justify-content:center;min-height:44px}.sc-sec-head .btn{min-height:36px}.wv-actions-top .btn{flex:1 1 45%;justify-content:center;min-height:42px}}

/* SCRIBER recorder */
.sc-audio{margin-bottom:12px}.sc-audio audio{width:100%;max-width:560px;display:block;margin-bottom:8px}.sc-audio-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sc-timer{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;font-weight:700;font-size:18px;color:var(--ink)}.sc-timer i{width:10px;height:10px;border-radius:50%;background:#cbd5e1}.sc-timer.live i{background:#e11d48;animation:scblink 1s infinite}@keyframes scblink{50%{opacity:.25}}
.sc-upload{cursor:pointer}.sc-rec-status{flex-basis:100%;margin-top:4px}.sc-rec-status.bad{color:#9f1239}
.sc-progress{flex-basis:100%;height:6px;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.sc-progress div{height:100%;width:0;background:var(--blue);transition:width .2s}
.btn.danger-solid.sc-recbtn{background:#e11d48;color:#fff;border-color:transparent}

/* SCRIBER paso 4: proceso de IA, transcripción editable, modo demo */
.sc-processing{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line, #E3E9F2);border-left:4px solid #4F7CFF;border-radius:16px;padding:14px 18px;margin:0 0 16px}
.sc-processing b{display:block;font-weight:600}.sc-processing small{display:block;color:var(--muted, #64748B);margin-top:2px;line-height:1.4}
.sc-processing.bad{border-left-color:#E5484D}.sc-processing.bad .bi{width:22px;height:22px;color:#E5484D;flex:none}
.sc-processing form{margin-left:auto}
.sc-processing .spin{flex:none;width:22px;height:22px;border-radius:50%;border:3px solid #DCE6FF;border-top-color:#4F7CFF;animation:scspin .9s linear infinite}
@keyframes scspin{to{transform:rotate(360deg)}}
.sc-generate{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#F0F5FF;border:1px solid #D6E2FF;border-radius:16px;padding:14px 18px;margin:0 0 16px}
.sc-generate small{display:inline;color:var(--muted, #64748B);line-height:1.45}
.sc-generate .btn{white-space:nowrap}
.sc-transcript p.demo{background:#FFF7E6;border:1px dashed #F0B429;border-radius:10px;padding:8px 10px;font-style:italic}
#sc-tr-form textarea{width:100%;min-height:220px;border:1px solid var(--line, #E3E9F2);border-radius:12px;padding:12px;font:inherit;font-size:14px;line-height:1.5;resize:vertical}
.pc-sub form.inline{display:inline;margin-left:6px}
@media (max-width:800px){.sc-generate{flex-direction:column;align-items:stretch}.sc-generate .btn{width:100%;justify-content:center}.sc-processing{flex-wrap:wrap}.sc-processing form{margin-left:0;width:100%}.sc-processing form .btn{width:100%;justify-content:center}}

/* Confirmación (tema claro): tarjeta blanca 16px, icono Lucide con tono, texto alineado a la izquierda, acciones a la derecha */
html[data-theme=light] .modal-bg{background:rgba(15,23,42,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
html[data-theme=light] .modal{background:#fff;border:1px solid #E3E9F2;border-radius:16px;padding:24px 24px 20px;max-width:440px;text-align:left;box-shadow:0 24px 64px -16px rgba(15,23,42,.35),0 2px 8px rgba(15,23,42,.06)}
html[data-theme=light] .modal h2{font-size:18px;font-weight:700;color:#0F172A;margin:0 0 6px;letter-spacing:-.01em}
html[data-theme=light] .modal p{color:#475569;font-size:14px;line-height:1.5;margin:0 0 6px}
html[data-theme=light] .modal p.small:empty{display:none}
html[data-theme=light] .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px}
html[data-theme=light] .modal-actions .btn{padding:10px 18px;border-radius:10px}
html[data-theme=light] .modal-actions .btn.primary{background:#4F7CFF;color:#fff;border-color:#4F7CFF}
html[data-theme=light] .modal-actions .btn.danger-solid{background:#E5484D;color:#fff;border-color:#E5484D}
html[data-theme=light] .modal-icon{margin:0 0 14px;box-shadow:none;border:0;background:#EEF3FF;width:48px;height:48px;font-size:22px}
.modal-icon.svg svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.modal-icon.svg.info{background:#EEF3FF;color:#4F7CFF}.modal-icon.svg.ok{background:#E8F7EE;color:#1B9A59}.modal-icon.svg.danger{background:#FDECEC;color:#E5484D}.modal-icon.svg.warn{background:#FFF4E0;color:#C77700}
html:not([data-theme=light]) .modal-icon.svg{background:rgba(56,189,248,.15);color:#7dd3fc}
@media (max-width:800px){html[data-theme=light] .modal-bg{align-items:flex-end;padding:0}html[data-theme=light] .modal{max-width:none;border-radius:20px 20px 0 0;padding:22px 20px calc(18px + env(safe-area-inset-bottom));animation:sheet .22s ease-out}
  html[data-theme=light] .modal-actions{flex-direction:column-reverse}html[data-theme=light] .modal-actions .btn{width:100%;justify-content:center;padding:13px 18px}}
@keyframes sheet{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}

/* ================= SCRIBER APP (móvil): shell tipo app, grabación primero ================= */
:root{--sa-bg:#F5F8FC;--sa-card:#fff;--sa-line:#E3E9F2;--sa-ink:#0F172A;--sa-mute:#64748B;--sa-blue:#4F7CFF;--sa-red:#E5484D;--sa-green:#1B9A59;--sa-amber:#C77700}
body.sc-app{margin:0;background:var(--sa-bg);color:var(--sa-ink);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;min-height:100vh;min-height:100dvh}
.sc-app [hidden]{display:none!important}
.sc-app svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sa-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:rgba(245,248,252,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--sa-line);min-height:56px}
.sa-brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.sa-brand i{width:36px;height:36px;border-radius:11px;background:var(--sa-blue);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.sa-brand i svg{width:20px;height:20px}
.sa-brand b{display:block;font-size:17px;letter-spacing:-.01em}.sa-brand small{display:block;color:var(--sa-mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-top-title{flex:1;min-width:0}.sa-top-title b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-top-title small{display:block;color:var(--sa-mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-top-acts{display:flex;gap:6px}.sa-icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--sa-ink);background:#fff;border:1px solid var(--sa-line);flex:none}.sa-icon svg{width:20px;height:20px}
.sa-main{padding:14px 16px calc(84px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}
.sa-date{color:var(--sa-mute);font-size:13px;margin:2px 0 12px}
.sa-flash{margin-bottom:12px}.sa-msg{background:#fff;border:1px solid var(--sa-line);border-left:4px solid var(--sa-blue);border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:8px}.sa-msg.error{border-left-color:var(--sa-red)}.sa-msg.warning{border-left-color:var(--sa-amber)}.sa-msg.success{border-left-color:var(--sa-green)}
.sa-hero{display:flex;align-items:baseline;gap:10px;background:linear-gradient(135deg,#4F7CFF,#6D5DFC);color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:18px;box-shadow:0 14px 30px -16px rgba(79,124,255,.7)}.sa-hero b{font-size:40px;font-weight:800;line-height:1}.sa-hero span{font-size:15px;opacity:.9}
.sa-group{margin-bottom:18px}.sa-group h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--sa-mute);margin:0 0 8px 4px;font-weight:700}.sa-group h2 small{font-weight:600;background:#E6ECF7;color:var(--sa-mute);border-radius:999px;padding:1px 8px;margin-left:6px;font-size:11px}
.sa-group form{margin:0}
.sa-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--sa-card);border:1px solid var(--sa-line);border-radius:16px;padding:12px 12px 12px 14px;margin-bottom:8px;color:var(--sa-ink);text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:transform .08s}.sa-card:active{transform:scale(.985)}.sa-card:disabled{opacity:.6}
.sa-av{width:42px;height:42px;border-radius:50%;background:#E8EEFF;color:var(--sa-blue);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none}
.sa-card-main{flex:1;min-width:0}.sa-card-main b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-card-main small{display:block;color:var(--sa-mute);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-card-side{display:flex;align-items:center;gap:6px;flex:none;color:#A3AEC2}.sa-card-side svg{width:18px;height:18px}
.sa-pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#EEF2F8;color:var(--sa-mute);white-space:nowrap}.sa-pill.info{background:#E8EEFF;color:var(--sa-blue)}.sa-pill.ok{background:#E8F7EE;color:var(--sa-green)}.sa-pill.busy{background:#FFF4E0;color:var(--sa-amber)}.sa-pill.warn{background:#FFF4E0;color:var(--sa-amber)}
.sa-empty{text-align:center;padding:40px 20px;color:var(--sa-mute)}.sa-empty i{width:56px;height:56px;border-radius:50%;background:#E8EEFF;color:var(--sa-blue);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.sa-empty i svg{width:26px;height:26px}.sa-empty b{display:block;color:var(--sa-ink);font-size:16px;margin-bottom:6px}.sa-empty p{margin:0;font-size:14px;line-height:1.5}
.sa-tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:#fff;border-top:1px solid var(--sa-line);padding-bottom:env(safe-area-inset-bottom)}
.sa-tabs a,.sa-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;color:var(--sa-mute);font:inherit;font-size:11px;font-weight:600;background:none;border:0;text-decoration:none}.sa-tabs svg{width:22px;height:22px}.sa-tabs .on{color:var(--sa-blue)}
.sa-fab{position:fixed;right:18px;bottom:calc(74px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:var(--sa-blue);color:#fff;border:0;box-shadow:0 12px 24px -8px rgba(79,124,255,.8);display:flex;align-items:center;justify-content:center;z-index:21}.sa-fab svg{width:26px;height:26px}
.sa-sheet-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:40;display:flex;align-items:flex-end}.sa-sheet-bg[hidden]{display:none}
.sa-sheet{background:#fff;width:100%;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:10px 20px calc(16px + env(safe-area-inset-bottom));animation:sheet .22s ease-out}.sa-grip{width:40px;height:4px;border-radius:2px;background:#D8DFEA;margin:0 auto 14px}
.sa-sheet h3{margin:0 0 4px;font-size:18px}.sa-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 4px;border:0;border-bottom:1px solid var(--sa-line);background:none;font:inherit;font-size:15px;color:var(--sa-ink);text-decoration:none;text-align:left}.sa-item svg{width:20px;height:20px;color:var(--sa-mute)}.sa-item.danger{color:var(--sa-red)}.sa-item.danger svg{color:var(--sa-red)}.sa-sheet form{margin:0}.sa-sheet .sa-btn{margin-top:14px}
.sa-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 16px;border-radius:14px;border:1px solid transparent;font:inherit;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none}.sa-btn svg{width:20px;height:20px}
.sa-btn.pri{background:var(--sa-blue);color:#fff;box-shadow:0 10px 20px -10px rgba(79,124,255,.8)}.sa-btn.ghost{background:#fff;border-color:var(--sa-line);color:var(--sa-ink)}.sa-btn.big{padding:17px 16px;font-size:17px}.sa-btn+ .sa-btn{margin-top:8px}
.sa-form label{display:block;font-size:13px;font-weight:600;color:var(--sa-mute);margin:12px 0 0}.sa-form input:not([type=checkbox]):not([type=radio]),.sa-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--sa-line);border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--sa-ink)}
.sa-form .sa-btn{margin-top:16px}.sa-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sa-seg{display:flex;background:#E9EEF7;border-radius:12px;padding:3px;margin-bottom:4px}.sa-seg label{flex:1;margin:0}.sa-seg input{position:absolute;opacity:0;width:0;height:0}.sa-seg span{display:block;text-align:center;padding:9px;border-radius:10px;font-size:14px;font-weight:600;color:var(--sa-mute)}.sa-seg input:checked+span{background:#fff;color:var(--sa-ink);box-shadow:0 1px 3px rgba(15,23,42,.12)}
.sa-script{margin-top:14px;background:#F0F5FF;border:1px solid #D6E2FF;border-radius:14px;padding:14px 16px;font-size:16px;line-height:1.5;color:#1E293B}.sa-script b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--sa-blue);margin-bottom:6px}
.sa-switch{display:flex!important;align-items:center;gap:12px;margin:16px 0 0!important;font-size:15px!important;font-weight:600!important;color:var(--sa-ink)!important}.sa-switch input{position:absolute;opacity:0;width:0;height:0}.sa-sw{width:50px;height:30px;border-radius:15px;background:#CBD5E1;position:relative;flex:none;transition:background .15s}.sa-sw::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}.sa-switch input:checked+.sa-sw{background:var(--sa-green)}.sa-switch input:checked+.sa-sw::after{left:23px}
.sa-steps{display:flex;gap:6px;list-style:none;margin:0 0 14px;padding:0}.sa-steps li{flex:1;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#A3AEC2}.sa-steps li i{flex:1;height:4px;border-radius:2px;background:#E3E9F2;order:-1}.sa-steps li.now{color:var(--sa-blue)}.sa-steps li.now i{background:var(--sa-blue)}.sa-steps li.done{color:var(--sa-green)}.sa-steps li.done i{background:var(--sa-green)}
.sa-panel{background:#fff;border:1px solid var(--sa-line);border-radius:18px;padding:16px;margin-bottom:14px}.sa-panel h2{margin:0 0 6px;font-size:17px}.sa-panel-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.sa-panel-head h2{flex:1;margin:0}
.sa-details{background:#fff;border:1px solid var(--sa-line);border-radius:16px;margin-bottom:12px;overflow:hidden}.sa-details summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}.sa-details summary::-webkit-details-marker{display:none}.sa-details summary>svg{width:20px;height:20px;color:var(--sa-blue);flex:none}.sa-consent-ok summary>svg{color:var(--sa-green)}.sa-details summary span{flex:1;min-width:0}.sa-details summary b{display:block;font-size:15px}.sa-details summary small{display:block;color:var(--sa-mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-details summary em{font-style:normal;color:var(--sa-blue);font-size:13px;font-weight:600}.sa-details[open] summary{border-bottom:1px solid var(--sa-line)}.sa-details .sa-form,.sa-transcript{padding:4px 14px 14px}
.sa-processing{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--sa-line);border-left:4px solid var(--sa-blue);border-radius:16px;padding:14px 16px;margin-bottom:14px;flex-wrap:wrap}.sa-processing b{display:block;font-size:15px}.sa-processing small{display:block;color:var(--sa-mute);line-height:1.4;margin-top:2px}.sa-processing>div{flex:1;min-width:0}.sa-processing .spin{flex:none;width:24px;height:24px;border-radius:50%;border:3px solid #DCE6FF;border-top-color:var(--sa-blue);animation:scspin .9s linear infinite}.sa-processing.bad{border-left-color:var(--sa-red)}.sa-processing.bad>svg{width:24px;height:24px;color:var(--sa-red);flex:none}.sa-processing form{width:100%}
.sa-rec{background:#fff;border:1px solid var(--sa-line);border-radius:22px;padding:18px 16px 16px;margin-bottom:14px;text-align:center}
.sa-audio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-align:left;background:#E8F7EE;border-radius:14px;padding:10px 12px;margin-bottom:16px}.sa-audio>svg{width:20px;height:20px;color:var(--sa-green);flex:none}.sa-audio span{flex:1;min-width:0}.sa-audio b{display:block;font-size:14px;color:var(--sa-green)}.sa-audio small{display:block;color:var(--sa-mute);font-size:12px}.sa-audio audio{width:100%;height:36px}
.sa-timer{display:block;font-size:44px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--sa-ink);margin:4px 0 12px}.sa-timer i{display:inline-block;width:12px;height:12px;border-radius:50%;background:#CBD5E1;margin-right:10px;vertical-align:middle}.sa-timer.live i{background:var(--sa-red);animation:sapulse 1s infinite}
.sa-recbtn{width:96px;height:96px;border-radius:50%;border:0;background:var(--sa-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(229,72,77,.12),0 14px 30px -10px rgba(229,72,77,.8);margin:10px 0 14px;cursor:pointer;transition:transform .1s}.sa-recbtn:active{transform:scale(.95)}.sa-recbtn svg{width:40px;height:40px}.sa-recbtn:disabled{background:#CBD5E1;box-shadow:none}
.sa-rec-ctl{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.sa-rec-ctl:empty{display:none}.sa-ctl{padding:14px 22px;border-radius:14px;border:1px solid var(--sa-line);background:#fff;font:inherit;font-size:16px;font-weight:700;color:var(--sa-ink);display:inline-flex;align-items:center;gap:8px}.sa-ctl svg{width:18px;height:18px}.sa-ctl.stop{background:var(--sa-ink);color:#fff;border-color:var(--sa-ink);flex:1;justify-content:center}.sa-ctl.paused{background:#FFF4E0;border-color:#F0B429}
.sa-rec[data-state=rec] .sa-recbtn,.sa-rec[data-state=paused] .sa-recbtn,.sa-rec[data-state=done] .sa-recbtn,.sa-rec[data-state=upload] .sa-recbtn,.sa-rec[data-state=sending] .sa-recbtn{display:none}
.sa-rec-status{color:var(--sa-mute);font-size:14px;line-height:1.45;min-height:20px}.sa-rec-status.bad{color:var(--sa-red)}.sa-rec .sc-progress{margin:12px auto 0;max-width:260px}.sa-rec [data-retry-slot] .sa-btn{margin-top:12px}
.sa-link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:8px 4px;font:inherit;font-size:14px;font-weight:600;color:var(--sa-blue);cursor:pointer;text-decoration:none}.sa-link svg{width:16px;height:16px}.sa-link.danger{color:var(--sa-red)}.sa-rec .sa-link{margin-top:10px}
.sa-send{margin:0 0 14px}.sa-send small{display:block;text-align:center;margin-top:8px;color:var(--sa-mute);font-size:12px}.sa-del{text-align:center;margin:4px 0 10px}
.sa-sec{padding:12px 0;border-top:1px solid var(--sa-line)}.sa-sec:first-of-type{border-top:0}.sa-sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.sa-sec-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--sa-mute)}.sa-copy{background:#EEF2F8;border:0;border-radius:8px;padding:5px 10px;font:inherit;font-size:12px;font-weight:700;color:var(--sa-blue)}
.sa-sec p{margin:0;font-size:15px;line-height:1.55;white-space:pre-wrap}.sa-missing{color:var(--sa-amber);font-style:italic}.sa-sec.missing{background:#FFFBF2;margin:0 -16px;padding:12px 16px}
.sa-note .sa-btn{margin-top:14px}.sa-hint{color:var(--sa-mute);font-size:13px;text-align:center;margin:10px 0 0;line-height:1.45}.sa-hint.ok{color:var(--sa-green)}
.sa-transcript{font-size:14px;line-height:1.55;max-height:60vh;overflow:auto}.sa-transcript p{margin:0 0 8px}.sa-transcript b{color:var(--sa-blue);margin-right:6px}.sa-transcript p.demo{background:#FFF7E6;border:1px dashed #F0B429;border-radius:10px;padding:8px 10px;font-style:italic}
.sc-app .modal-bg{align-items:flex-end;padding:0}.sc-app .modal{max-width:none;border-radius:20px 20px 0 0;text-align:left;padding:22px 20px calc(18px + env(safe-area-inset-bottom));animation:sheet .22s ease-out}.sc-app .modal-actions{flex-direction:column-reverse;gap:8px;margin-top:18px}.sc-app .modal-actions .btn{width:100%;justify-content:center;padding:13px 18px;border-radius:12px}
.sc-app .sc-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#0F172A;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:60}
@keyframes sapulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (min-width:700px){.sa-tabs{max-width:640px;margin:0 auto;border-left:1px solid var(--sa-line);border-right:1px solid var(--sa-line)}}
.sc-app .sa-panel h2,.sc-app .sa-sheet h3{text-transform:none;letter-spacing:-.01em;font-weight:700}
.sa-rec-again .sa-rec{border:0;border-radius:0;margin:0}
.sa-rec-again summary>svg{color:var(--sa-red)}

/* SCRIBER paso 3: subida y edición de plantillas */
.sc-tpl-head{flex-wrap:wrap}.sc-tpl-acts{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.sc-tpl-acts form{display:inline-flex;gap:6px;margin:0}
.sc-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px dashed #C7D2E3;border-radius:14px;padding:22px 16px;text-align:center;cursor:pointer;background:#F8FAFD;margin-bottom:4px;transition:border-color .15s,background .15s}
.sc-drop .bi{width:26px;height:26px;color:#4F7CFF;margin-bottom:4px}.sc-drop b{font-size:14px}.sc-drop small{color:var(--muted,#64748B)}.sc-drop.over{border-color:#4F7CFF;background:#EEF3FF}.sc-drop.has{border-style:solid;border-color:#1B9A59;background:#F0FDF4}
.sc-tpl-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}@media (max-width:1000px){.sc-tpl-grid{grid-template-columns:1fr}}
.sc-secs-edit{list-style:none;margin:0;padding:0}.sc-sec-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line,#E3E9F2)}.sc-sec-row:first-child{border-top:0}.sc-sec-row.dragging{opacity:.45}
.sc-drag{cursor:grab;color:#A3AEC2;padding:10px 2px 0;flex:none}.sc-drag svg{width:18px;height:18px;fill:currentColor;stroke:none}
.sc-sec-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.sc-sec-fields input{width:100%;padding:9px 12px;border:1px solid var(--line2,#D8DFEA);border-radius:10px;font:inherit;font-weight:600;font-size:14px;background:var(--card,#fff);color:var(--ink,#0F172A)}
.sc-sec-fields textarea{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line2,#D8DFEA);border-radius:10px;font:inherit;font-size:13px;line-height:1.45;background:var(--card,#fff);color:var(--ink2,#475569);resize:vertical}
.sc-sec-x{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--line2,#D8DFEA);background:#fff;color:#64748B;font-size:18px;line-height:1;cursor:pointer;margin-top:6px}.sc-sec-x:hover{color:#E5484D;border-color:#E5484D}
.sc-grid.one{grid-template-columns:1fr}.sc-raw{white-space:pre-wrap;font:12px/1.5 ui-monospace,Consolas,monospace;max-height:420px;overflow:auto;background:#F8FAFD;border:1px solid var(--line,#E3E9F2);border-radius:12px;padding:12px;color:#334155;margin:0}
.btn.danger{color:#E5484D;border-color:#F3B4B6}
.sc-grid.one label.chk{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ink,#0F172A)}.sc-grid.one label.chk input{width:18px;height:18px;margin:0;flex:none}

/* ================= FORMS (WIC) ================= */
.fm-tiles{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.fm-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fm-filters{display:flex;gap:6px;flex-wrap:wrap}.fm-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:13px;font-weight:500;text-decoration:none}
.fm-pill em{font-style:normal;font-size:11px;font-weight:700;background:#EEF2F8;color:var(--muted);border-radius:999px;padding:1px 7px}.fm-pill.on{background:#4F7CFF;border-color:#4F7CFF;color:#fff}.fm-pill.on em{background:rgba(255,255,255,.25);color:#fff}
.fm-search input{padding:8px 12px;border:1px solid var(--line2);border-radius:10px;font:inherit;font-size:13px;min-width:240px;background:var(--card);color:var(--ink)}
.fm-table td{vertical-align:middle}.fm-row{cursor:pointer;height:56px}.fm-row:hover td{background:#F7F9FD}
.fm-pt{display:flex;align-items:center;gap:10px}.fm-pt b{display:block;color:var(--ink)}.fm-pt a{text-decoration:none}.fm-pt small,.fm-table td small{display:block}
.fm-act{text-align:right;white-space:nowrap;width:1%}.fm-act .btn{margin-right:6px}.fm-go{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;color:var(--muted);text-decoration:none;font-size:20px}.fm-go:hover{background:#EEF3FF;color:#4F7CFF}
.fm-left{display:block;font-size:11px;color:#C77700;margin-top:3px}.fm-left.bad{color:#E5484D}
.tag[class*=fm-st-]{white-space:nowrap}
.tag.fm-st-pending,html[data-theme=light] .tag.fm-st-pending{background:#FFF4E0;color:#B26A00;border-color:#FBE1B0}.tag.fm-st-printed,html[data-theme=light] .tag.fm-st-printed{background:#F1EDFF;color:#6D4AE0;border-color:#DDD3FF}
.tag.fm-st-ready,html[data-theme=light] .tag.fm-st-ready{background:#E3F6F5;color:#0F8B83;border-color:#BDE9E6}.tag.fm-st-delivered,html[data-theme=light] .tag.fm-st-delivered{background:#E8F7EE;color:#1B9A59;border-color:#C2EBD2}
.tag.fm-st-expired,.tag.fm-st-cancelled,html[data-theme=light] .tag.fm-st-expired,html[data-theme=light] .tag.fm-st-cancelled{background:#EEF2F8;color:#64748B}
.fm-pages{display:inline-flex;gap:8px;margin-left:auto}
.fm-actions-card{padding:16px 18px}.fm-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.fm-steps span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted)}
.fm-steps b{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#EEF2F8;font-size:11px}
.fm-steps .now{border-color:#4F7CFF;color:#4F7CFF}.fm-steps .now b{background:#4F7CFF;color:#fff}.fm-steps .done{border-color:#BBF7D0;background:#F0FDF4;color:#047857}.fm-steps .done b{background:#1B9A59;color:#fff}
.fm-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fm-actions form{display:contents}.fm-hint{margin:12px 0 0}
.fm-alert{display:flex;gap:12px;align-items:flex-start;border-radius:14px;padding:12px 16px;margin:0 0 16px;border:1px solid}.fm-alert .bi{width:20px;height:20px;flex:none;margin-top:2px}
.fm-alert b{display:block}.fm-alert small{display:block;margin-top:2px;line-height:1.45}.fm-alert.bad{background:#FDECEC;border-color:#F7C5C6;color:#9B1C1F}.fm-alert.warn{background:#FFF7E6;border-color:#F5D58A;color:#7A4B00}
.fm-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}@media (max-width:1000px){.fm-grid{grid-template-columns:1fr}}
.fm-measures{width:100%;border-collapse:collapse}.fm-measures th{text-align:left;font-weight:600;color:var(--ink2);padding:10px 8px 10px 0;width:30%}.fm-measures td{padding:10px 8px;border-top:1px solid var(--line)}.fm-measures th{border-top:1px solid var(--line)}
.fm-measures tr:first-child th,.fm-measures tr:first-child td{border-top:0}.fm-measures .fm-chk{text-align:right}.fm-measures tr.lv-missing th,.fm-measures tr.lv-stale th{color:#B45309}
.fm-notes{margin:12px 0 0;padding-left:18px;color:var(--ink2);font-size:13px;line-height:1.5}.fm-notes li{margin-bottom:4px}
.kv dd.wrap{white-space:normal}.fm-req label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--ink2)}
.fm-req input,.fm-req select{padding:8px 10px;border:1px solid var(--line2);border-radius:10px;font:inherit;font-weight:400;background:var(--card);color:var(--ink)}
.fm-history{list-style:none;margin:0;padding:0}.fm-history li{padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}.fm-history li:first-child{border-top:0}

.fm-notify{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;border-radius:12px;background:#F0F5FF;border:1px solid #D6E2FF}
.fm-notify .bi{width:18px;height:18px;flex:none;color:#4F7CFF}.fm-notify>div{flex:1;min-width:0}.fm-notify b{display:block;font-size:13.5px}.fm-notify small{display:block;color:var(--muted);margin-top:2px}
.fm-notify form{display:block;margin:0}.fm-notify.fm-nt-answered,.fm-notify.fm-nt-voicemail{background:#F0FDF4;border-color:#BBF7D0}.fm-notify.fm-nt-answered .bi,.fm-notify.fm-nt-voicemail .bi{color:#1B9A59}
.fm-notify.fm-nt-no_answer,.fm-notify.fm-nt-failed,.fm-notify.fm-nt-skipped{background:#FFF7E6;border-color:#F5D58A}.fm-notify.fm-nt-no_answer .bi,.fm-notify.fm-nt-failed .bi,.fm-notify.fm-nt-skipped .bi{color:#C77700}
.fm-pickup{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;background:#EEF2FF;color:#3B5BDB}
.fm-pickup.fm-pk-yes{background:#E8F8F1;color:#1B9A59}.fm-pickup.fm-pk-no{background:#FEF2F2;color:#DC2626}.fm-pickup.fm-pk-unsure{background:#FFF7E6;color:#C77700}
small.fm-pickup{display:table;margin-top:4px;font-size:11px;padding:1px 8px}.fm-nsum{display:block;margin-top:4px;color:var(--ink2);font-style:italic}
.fm-nt{display:block;font-size:11px;margin-top:3px;color:#4F7CFF}.fm-nt.fm-nt-answered,.fm-nt.fm-nt-voicemail{color:#1B9A59}.fm-nt.fm-nt-no_answer,.fm-nt.fm-nt-failed,.fm-nt.fm-nt-skipped{color:#C77700}

/* ================= Billing by clinic (rediseño 3.16) ================= */
.bl-page,.bl-modal-bg{--bl-gain:#059669;--bl-loss:#dc2626;--bl-loss-bg:#fef2f2;--bl-soft:#f8fafd;--bl-blue-soft:#eef4ff;}
.bl-page{position:relative}
html[data-theme=dark] .bl-page,html[data-theme=dark] .bl-modal-bg{--bl-gain:#34d399;--bl-loss:#f87171;--bl-loss-bg:rgba(248,113,113,.12);--bl-soft:rgba(255,255,255,.03);--bl-blue-soft:rgba(37,99,235,.16)}
.bl-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.bl-page .gain{color:var(--bl-gain)}.bl-page .loss{color:var(--bl-loss)}.bl-page .r{text-align:right}.bl-page .c{text-align:center}
.bl-page .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bl-head{align-items:center}.bl-export{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:12px;font-weight:600}
.bl-export:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}
html[data-theme=dark] .bl-page .btn.ghost,html[data-theme=dark] .bl-modal .btn.ghost{background:rgba(255,255,255,.04);color:var(--ink)}html[data-theme=dark] .bl-page .bl-edit{color:#93b4ff!important}
/* filtros */
.bl-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.bl-fcard{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px 14px;min-width:0}
.bl-fcard:first-child{flex:1 1 640px}.bl-rates{flex:0 1 auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;font-size:13px;color:var(--ink2)}
.bl-seg{display:inline-flex;background:var(--bl-soft);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px}
.bl-seg a,.bl-seg button{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);padding:7px 13px;border-radius:8px;cursor:pointer;text-decoration:none;white-space:nowrap}
.bl-seg a:hover,.bl-seg button:hover{background:var(--bl-blue-soft);text-decoration:none}
.bl-seg .on,.bl-seg .on:hover{background:var(--blue);color:#fff;box-shadow:0 6px 14px -8px rgba(37,99,235,.7)}
.bl-range,.bl-month{display:flex;align-items:center;gap:8px;margin:0}
.bl-range label,.bl-month label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600;margin:0}
.bl-range input,.bl-month input{height:36px;padding:0 10px;border:1px solid var(--line2);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.bl-range input:focus,.bl-month input:focus{outline:2px solid rgba(37,99,235,.35);border-color:var(--blue)}
.bl-range.focus input{border-color:var(--blue)}.bl-dash{color:var(--muted)}
.bl-apply{height:36px;padding:0 16px;border-radius:10px}.bl-month{padding-left:12px;border-left:1px solid var(--line)}
.bl-ferr{flex-basis:100%;margin:0;color:var(--bl-loss);font-size:12.5px;font-weight:600}
.bl-rate,.bl-cycles{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bl-rate{color:var(--ink);font-weight:600}.bl-rate:hover{color:var(--blue);text-decoration:none}
.bl-rate .bi,.bl-cycles .bi{color:var(--blue)}
/* resumen */
.bl-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.05fr);gap:14px;margin-bottom:18px;position:relative}
.bl-kpi,.bl-meta{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;min-width:0}
.bl-kpi>div,.bl-meta{min-width:0}.bl-kpi b{display:block;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.bl-kpi b.muted{color:var(--muted)}.bl-kpi b.gain{color:var(--bl-gain)}.bl-kpi b.loss{color:var(--bl-loss)}
.bl-kpi span{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-top:4px}.bl-kpi small{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.35}
.bl-kpi abbr{text-decoration:underline dotted;cursor:help}
.bl-tag-loss{font-style:normal;font-size:11px;font-weight:700;color:var(--bl-loss);background:var(--bl-loss-bg);border-radius:6px;padding:1px 6px;margin-left:4px}
.bl-meta{flex-direction:column;justify-content:center;gap:4px;background:var(--bl-soft)}.bl-meta b{font-size:14px;color:var(--ink);white-space:normal}.bl-meta span{font-size:12px;color:var(--muted)}
.bl-ico{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
.bl-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bl-ico.sm{flex-basis:34px;width:34px;height:34px;border-radius:10px}.bl-ico.sm svg{width:17px;height:17px}
.bl-ico.violet{background:#f1ecff;color:#7c3aed}.bl-ico.rose{background:#fff0f3;color:#e11d48}.bl-ico.green{background:#e8f8f1;color:#059669}.bl-ico.blue{background:#eaf1ff;color:#2563eb}.bl-ico.amber{background:#fff6e5;color:#d97706}
html[data-theme=dark] .bl-ico.violet{background:rgba(124,58,237,.18)}html[data-theme=dark] .bl-ico.rose{background:rgba(225,29,72,.16)}html[data-theme=dark] .bl-ico.green{background:rgba(5,150,105,.18)}html[data-theme=dark] .bl-ico.blue{background:rgba(37,99,235,.2)}html[data-theme=dark] .bl-ico.amber{background:rgba(217,119,6,.18)}
/* carga */
.bl-page.bl-loading .bl-summary,.bl-page.bl-loading .bl-card,.bl-page.bl-loading .bl-bottom,.bl-page.bl-loading .bl-full{opacity:.45;pointer-events:none;transition:opacity .15s}
.bl-page.bl-loading .bl-filters::after{content:"Loading…";position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:70;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--blue);box-shadow:var(--shadow)}
/* tabla de clínicas */
.bl-card{padding:0;overflow:hidden}.bl-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 20px 14px}
.bl-card-head h2{margin:0;font-size:17px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}.bl-card-head p{margin:3px 0 0;font-size:13px}
.bl-tools{display:flex;gap:10px;flex-wrap:wrap}
.bl-search,.bl-sort{display:flex;align-items:center;gap:6px;height:38px;border:1px solid var(--line2);border-radius:10px;padding:0 10px;background:var(--card);margin:0}
.bl-search svg,.bl-sort svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bl-search input,.bl-sort select{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;height:100%;min-width:0;padding:0;box-shadow:none}.bl-search input{width:170px}
.bl-search:focus-within,.bl-sort:focus-within{border-color:var(--blue)}
.bl-table-wrap{overflow-x:auto}
.bl-table{width:100%;border-collapse:collapse;font-size:13.5px}
.bl-table thead th{background:var(--bl-soft);color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}
.bl-table thead th.r{text-align:right}
.bl-row td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink2)}
.bl-row{cursor:pointer;transition:background .12s}.bl-row:hover{background:var(--bl-soft)}.bl-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.bl-row td.strong{color:var(--ink);font-weight:700}
.bl-cl{display:flex;align-items:center;gap:10px;min-width:0}.bl-cl b{display:block;color:var(--ink);font-weight:600}.bl-cl small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.bl-cl-ico{flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:var(--bl-blue-soft);color:var(--blue);display:inline-flex;align-items:center;justify-content:center}
.bl-cl-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bl-est{color:#b45309;font-weight:700;margin-right:2px;cursor:help}
.bl-toggle{width:30px;height:30px;border-radius:8px;border:1px solid var(--line2);background:var(--card);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.bl-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.bl-clinic.open .bl-toggle{background:var(--blue);border-color:var(--blue);color:#fff}.bl-clinic.open .bl-toggle svg{transform:rotate(180deg)}
.bl-clinic.open .bl-row{background:var(--bl-blue-soft)}.bl-clinic.open .bl-row td{border-bottom-color:transparent}
.bl-detail-row{display:none}.bl-clinic.open .bl-detail-row{display:table-row}
.bl-detail-row>td{padding:0 14px 16px;border-bottom:1px solid var(--line);background:var(--bl-blue-soft)}
.bl-detail{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:default}
.bl-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.bl-detail-head h3{margin:0;font-size:15px;color:var(--ink)}.bl-detail-head h3 span{color:var(--muted);font-weight:500}
.bl-edit{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-weight:600;color:var(--blue)!important;border-color:rgba(37,99,235,.35)!important}.bl-edit:hover{background:var(--bl-blue-soft)}
.bl-empty{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bl-soft);border:1px dashed var(--line2);color:var(--muted);font-size:13px;margin-bottom:12px}
.bl-empty svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
.bl-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.bl-mini>div{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.bl-mini b{display:block;color:var(--ink);font-size:15px}.bl-mini span{display:block;color:var(--muted);font-size:12px}
.bl-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.bl-box-mods{grid-column:1/-1}
@media (min-width:1600px){.bl-detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}.bl-box-mods{grid-column:auto}}
.bl-box{border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.bl-box h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.bl-modt{width:100%;border-collapse:collapse;font-size:13px}
.bl-modt th{font-size:11px;color:var(--muted);font-weight:700;text-align:left;padding:4px 6px 6px;border-bottom:1px solid var(--line);white-space:nowrap;background:none;text-transform:none;letter-spacing:0}.bl-modt th.r{text-align:right}
.bl-modt td{padding:8px 6px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}.bl-modt tr:last-child td{border-bottom:0}
.bl-modt td small{display:block;color:var(--muted);font-size:11.5px}
.bl-share{display:flex;align-items:center;gap:8px;min-width:90px}.bl-share span{font-size:12px;color:var(--muted);width:34px;text-align:right}
.bl-share i,.bl-bar i{flex:1;height:7px;border-radius:99px;background:var(--line);overflow:hidden;display:block}
.bl-share b,.bl-bar b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.bl-dl{margin:0;font-size:13px}.bl-dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.bl-dl dt{color:var(--ink2);font-weight:500}.bl-dl dt small{display:block;color:var(--muted);font-size:11.5px;font-weight:400}.bl-dl dd{margin:0;text-align:right;color:var(--ink)}
.bl-dl>div.tot{border-bottom:0;font-weight:700}.bl-dl>div.tot dt{color:var(--ink);font-weight:700}
.bl-dl>div:not(.tot)+div.tot{border-top:1px solid var(--line2);margin-top:2px}
.bl-note{margin:8px 0 0;font-size:11.5px;color:#b45309}
.bl-feeline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--bl-soft);font-size:12.5px;color:var(--ink2)}
.bl-feeline .bi{color:var(--blue)}.bl-feeline span{flex:1;min-width:200px}
.bl-feeline em{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-left:4px}
.bl-feeline em.own{color:var(--blue);border-color:rgba(37,99,235,.35)}
.bl-link{border:0;background:none;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;padding:0}.bl-link:hover{text-decoration:underline}
.bl-table tfoot th{padding:13px 14px;background:var(--bl-soft);color:var(--ink);font-weight:700;border-top:1px solid var(--line2);text-align:left;white-space:nowrap}.bl-table tfoot th.r{text-align:right}
.bl-noresults{padding:18px 20px;margin:0}.bl-none{padding:14px 6px;text-align:center}
/* abajo */
.bl-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}
.bl-usage .bl-card-head{padding:0;margin-bottom:12px}.bl-how h2{margin:0 0 8px;font-size:17px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}
.bl-bar{display:grid;grid-template-columns:minmax(120px,190px) 1fr 90px 40px;align-items:center;gap:12px;padding:7px 0;font-size:13px;color:var(--ink2)}
.bl-bar i{height:9px}.bl-bar em{font-style:normal;text-align:right;color:var(--ink);font-weight:600}.bl-bar small{text-align:right;color:var(--muted)}
.bl-how-i{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:13px;color:var(--ink2)}.bl-how-i b{color:var(--ink)}
.bl-how-i small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.4}
.bl-full{padding:0}.bl-full summary{list-style:none;display:flex;align-items:center;gap:8px;padding:16px 20px;cursor:pointer;font-weight:600;color:var(--blue)}
.bl-full summary::-webkit-details-marker{display:none}.bl-full summary span{flex:1}.bl-sum-chev{transition:transform .18s}.bl-full[open] .bl-sum-chev{transform:rotate(180deg)}
.bl-full[open] summary{border-bottom:1px solid var(--line)}
.bl-matrix{width:100%;border-collapse:collapse;font-size:12.5px}
.bl-matrix th,.bl-matrix td{white-space:nowrap;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}.bl-matrix .r{text-align:right}
.bl-matrix thead th{background:var(--bl-soft);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.bl-matrix td small,.bl-matrix th small{display:block;font-weight:400;font-size:11px;margin-top:2px;color:var(--muted)}.bl-matrix small.bl-cost{color:#b4536a}
.bl-matrix tfoot th{background:var(--bl-soft);color:var(--ink)}
/* modal de cuotas */
html[data-theme] .modal.bl-modal{max-width:620px;text-align:left;padding:0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}
html[data-theme=light] .modal.bl-modal{border-color:var(--line);box-shadow:0 30px 80px -20px rgba(15,23,42,.35)}
.bl-modal-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--line)}
.bl-modal-head h2{margin:0;font-size:18px}.bl-modal-head p{margin:3px 0 0;font-size:13px}
.bl-x{border:0;background:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;height:30px}.bl-x:hover{color:var(--ink)}
.bl-modal form{display:flex;flex-direction:column;min-height:0;margin:0}
.bl-fees-rows{overflow:auto;padding:6px 20px}
.bl-fee{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.bl-fee:last-child{border-bottom:0}
.bl-fee-name b{display:block;color:var(--ink);font-size:14px}.bl-fee-name small{display:block;color:var(--muted);font-size:12px}
.bl-fee-opts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bl-opt{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);border:1px solid var(--line2);border-radius:9px;padding:6px 10px;cursor:pointer;margin:0;white-space:nowrap}
.bl-opt input{accent-color:var(--blue);margin:0;width:auto;height:auto}.bl-opt em{font-style:normal;color:var(--muted)}
.bl-opt:has(input:checked){border-color:var(--blue);background:var(--bl-blue-soft);color:var(--ink)}
.bl-amt{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line2);border-radius:9px;padding:0 9px;height:34px;background:var(--card);font-size:13px;color:var(--muted)}
.bl-amt input{width:84px;border:0;outline:0;background:transparent;font:inherit;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;padding:0;box-shadow:none;height:100%}
.bl-amt:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.bl-amt.off{opacity:.45}
.bl-fee-msg{grid-column:1/-1;color:var(--bl-loss);font-size:12px;font-weight:600}.bl-fee-msg:empty{display:none}
.bl-fee.bad .bl-amt{border-color:var(--bl-loss);box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.bl-fees-note{margin:0;padding:10px 20px;font-size:12px;color:var(--muted);background:var(--bl-soft);border-top:1px solid var(--line)}
.bl-fees-err{margin:0;padding:10px 20px 0;color:var(--bl-loss);font-size:13px;font-weight:600}
.bl-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px}.bl-modal-actions .btn{padding:10px 18px;border-radius:10px}
.bl-modal-actions .btn.busy{opacity:.75;cursor:progress}
.bl-toast{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:12px;padding:12px 16px;font-size:13.5px;font-weight:600;box-shadow:0 18px 40px -16px rgba(15,23,42,.6);animation:pop .2s ease-out;transition:opacity .3s}
.bl-toast svg{width:18px;height:18px;fill:none;stroke:#34d399;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.bl-toast.out{opacity:0}.bl-toast[hidden]{display:none}
/* responsive */
@media (max-width:1300px){.bl-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-meta{grid-column:1/-1}}
@media (max-width:900px){.bl-bottom{grid-template-columns:1fr}.bl-month{border-left:0;padding-left:0}}
@media (max-width:760px){
  .bl-head{flex-direction:column;align-items:stretch}.bl-export{justify-content:center}
  .bl-fcard{padding:12px}.bl-seg{display:flex;width:100%}.bl-seg a,.bl-seg button{flex:1;text-align:center;padding:8px 6px}
  .bl-range{flex-wrap:wrap;width:100%}.bl-range label{flex:1 1 130px}.bl-range input{width:100%;min-width:0}.bl-dash{display:none}.bl-apply{flex:1 1 100%}
  .bl-month,.bl-month label{width:100%}.bl-month input{flex:1;min-width:0}.bl-rates{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.bl-rate,.bl-cycles{white-space:normal}
  .bl-summary{grid-template-columns:1fr 1fr;gap:10px}.bl-kpi{flex-direction:column;gap:8px;padding:14px}.bl-kpi b{font-size:20px}.bl-ico{width:36px;height:36px;flex-basis:36px}
  .bl-card-head{padding:16px}.bl-tools,.bl-search,.bl-sort{width:100%}.bl-search input{width:100%}.bl-sort select{flex:1}
  .bl-table thead{display:none}.bl-table,.bl-table tbody,.bl-table tfoot,.bl-table tr,.bl-table td,.bl-table th{display:block;width:100%}
  .bl-clinic{border-top:1px solid var(--line)}.bl-clinic[hidden]{display:none}
  .bl-row{display:grid!important;grid-template-columns:1fr 1fr;padding:12px 16px;gap:2px 14px;position:relative}
  .bl-row td{padding:4px 0;border:0;text-align:left!important;width:auto}.bl-row td:first-child{grid-column:1/-1;padding-right:44px;margin-bottom:6px}
  .bl-row td[data-label]::before,.bl-table tfoot th[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  .bl-row td.bl-tg{position:absolute;top:12px;right:16px;width:auto;padding:0}
  .bl-table .bl-detail-row{display:none}.bl-table .bl-clinic.open .bl-detail-row{display:block}.bl-detail-row>td{padding:0 10px 12px}.bl-detail{padding:12px}
  .bl-mini,.bl-detail-grid{grid-template-columns:1fr}.bl-edit{width:100%;justify-content:center}
  .bl-modt thead{display:none}.bl-modt,.bl-modt tbody,.bl-modt tr,.bl-modt td{display:block;width:100%}
  .bl-modt tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line)}.bl-modt td{border:0;padding:2px 0;text-align:left!important;width:auto}
  .bl-modt td:first-child{grid-column:1/-1;font-weight:600;color:var(--ink)}.bl-modt td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted)}
  .bl-table tfoot tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:14px 16px;background:var(--bl-soft)}.bl-table tfoot th{padding:0;border:0;text-align:left!important;background:none;width:auto}
  .bl-table tfoot th:first-child{grid-column:1/-1}.bl-table tfoot th.bl-tg{display:none}
  .bl-bar{grid-template-columns:1fr auto;gap:4px 10px}.bl-bar i{grid-column:1/-1;grid-row:2}.bl-bar small{display:none}
  .bl-modal-bg{padding:0;align-items:flex-end}html[data-theme] .modal.bl-modal{max-width:100%;max-height:92vh;border-radius:18px 18px 0 0}
  .bl-fee{grid-template-columns:1fr}.bl-fee-opts{justify-content:flex-start}.bl-opt{flex:1 1 auto;padding:10px}.bl-amt{flex:1 1 100%;height:44px}.bl-amt input{flex:1;font-size:16px}
  .bl-modal-actions .btn{flex:1}
  .bl-toast{left:16px;right:16px;bottom:16px;justify-content:center}
}
@media (max-width:420px){.bl-summary{grid-template-columns:1fr}}
@media print{.bl-filters,.bl-tools,.bl-toggle,.bl-edit,.bl-link,.bl-export{display:none!important}.bl-detail-row{display:table-row!important}}

/* Forms: regresar, menú ⋮ de la lista, tabla de llamadas */
.fm-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:7px 14px 7px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--blue);font-size:14px;font-weight:600;text-decoration:none;box-shadow:var(--shadow);transition:background .15s,border-color .15s}
.fm-back:hover{background:#eef4ff;border-color:var(--blue);text-decoration:none}
.fm-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html[data-theme=dark] .fm-back:hover{background:rgba(37,99,235,.16)}
.fm-act{width:90px;text-align:right;white-space:nowrap}.fm-act .fm-menu{vertical-align:middle;margin-right:6px}
.fm-menu{position:relative;display:inline-block}
.fm-kebab{list-style:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fm-kebab::-webkit-details-marker{display:none}.fm-kebab:hover,.fm-menu[open] .fm-kebab{border-color:var(--blue);color:var(--blue);background:#eef4ff}
html[data-theme=dark] .fm-kebab:hover,html[data-theme=dark] .fm-menu[open] .fm-kebab{background:rgba(37,99,235,.16)}
.fm-kebab svg{width:18px;height:18px;fill:currentColor}
.fm-menu-list{position:fixed;z-index:60;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(15,23,42,.35);padding:6px;text-align:left}
.fm-menu:not(.placed) .fm-menu-list{visibility:hidden}
.fm-menu-list form{margin:0;display:contents}
.fm-menu-list a,.fm-menu-list button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;background:none;border-radius:8px;color:var(--ink);font:inherit;font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;text-align:left;white-space:nowrap}
.fm-menu-list a:hover,.fm-menu-list button:hover{background:#eef4ff;color:var(--blue);text-decoration:none}
html[data-theme=dark] .fm-menu-list a:hover,html[data-theme=dark] .fm-menu-list button:hover{background:rgba(37,99,235,.16)}
.fm-menu-list .bi{color:var(--blue)}
tr.fm-call{cursor:pointer}tr.fm-call:hover td{background:rgba(37,99,235,.05)}tr.fm-call.loading{opacity:.6}
tr.fm-call:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
@media (max-width:760px){.fm-menu-list{min-width:180px}.fm-back{padding:9px 14px 9px 10px}}
/* Popup de llamadas (Front Desk y Forms): el estilo claro de .modal (440px) no debe encogerlo */
html[data-theme] .fd-modal .modal.fd-modal-box{max-width:1000px;width:100%;text-align:left;padding:22px 26px}
.fd-modal .fd-m-grid dl.kv{align-content:start;min-width:0}.fd-modal .fd-m-grid dl.kv dd{white-space:normal;overflow-wrap:anywhere;min-width:0}

/* Forms: cuenta regresiva para recoger */
.fm-count{display:inline-flex;flex-direction:column;gap:4px;min-width:118px;font-size:12px;color:#1B9A59}
.fm-count-top{display:inline-flex;align-items:center;gap:5px;font-weight:700;white-space:nowrap}
.fm-count svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fm-count i{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden;max-width:130px}
.fm-count i b{display:block;height:100%;border-radius:99px;background:currentColor}
.fm-count small{color:var(--muted);font-size:11px}
.fm-count.warn{color:#C77700}.fm-count.bad{color:#E5484D}
.fm-count.idle{color:var(--muted)}.fm-count.idle .fm-count-top{font-weight:500}
.fm-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.fm-head-right .fm-count{align-items:flex-end}.fm-head-right .fm-count i{width:130px}

/* Forms: tipo de formulario en la lista y vacunas del CH-205 */
.fm-type b{display:block;font-weight:600;color:var(--ink)}.fm-type small{display:block;font-size:11.5px}
.fm-vax td{line-height:1.9}.fm-dose{display:inline-block;margin:0 6px 2px 0;padding:1px 7px;border-radius:6px;background:var(--bg2,#f5f8fc);border:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}
#fm-new-form [hidden]{display:none!important}
.fm-vax .fm-chk .tag{white-space:nowrap}
.fm-hist dd{line-height:1.5}.fm-hist .tag{margin:0 4px 4px 0}
/* POPUPS de listas (KPI, To confirm, transfers): anchos y altos de verdad en ambos temas.
   El tema claro fijaba .modal{max-width:440px} con mas especificidad y encogia los .modal.wide */
.modal.wide, html[data-theme=light] .modal.wide{max-width:min(1320px,94vw);width:94vw;padding:22px 24px 18px;text-align:left}
.modal.wide .modal-table, .modal.wide #cat-body .modal-table{max-height:72vh}
.modal.wide table.mini{width:100%}.modal.wide table.mini td{white-space:normal;word-break:break-word}
@media (max-width:800px){.modal.wide, html[data-theme=light] .modal.wide{width:100%;max-width:none}.modal.wide .modal-table{max-height:60vh}}

/* ATT_OUTCOME: filtros del popup Attended */
.cat-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px}.cat-filters .cf-sep{margin-left:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cat-filters .btn.on{border-color:var(--brand);color:var(--brand)}

/* REPORT: informe en "papel" */
.report{background:#fff;color:#0f172a;border-radius:16px;padding:26px 30px 34px;box-shadow:0 20px 60px -30px rgba(0,0,0,.5);max-width:1500px;margin:0 auto}
.report h1{color:#0f172a;font-size:26px}.report .rp-sub{color:#64748b;margin:2px 0 0}.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rp-range{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rp-range .pill-date{background:#fff;border-color:#e2e8f0;color:#64748b}.rp-range .pill-date input{color:#0f172a}
.report .btn{color:#0f172a;border-color:#e2e8f0;background:#fff}.report .btn.primary{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.report .btn.ghost:hover{border-color:#0ea5e9}
.rp-period{color:#64748b;font-size:12.5px;margin:6px 0 16px}
.rp-overview{background:linear-gradient(135deg,#eaf6ff,#f2fbf6);border:1px solid #dbe7f3;border-radius:14px;padding:18px 22px;margin-bottom:16px}
.rp-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#0369a1;font-weight:700}.rp-big{font-size:26px;font-weight:800;margin:4px 0 14px;color:#0f172a;text-transform:none;letter-spacing:-.02em}
.rp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.rp-tile{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.rp-tile i{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:14px}.rp-tile b{font-size:22px;font-weight:800;line-height:1.1}.rp-tile span{color:#64748b;font-size:12px}
.t-blue{background:#e0f2fe;color:#0369a1}.t-green{background:#dcfce7;color:#15803d}.t-purple{background:#ede9fe;color:#6d28d9}
.rp-note{color:#475569;font-size:12.5px;margin:12px 0 0}
.rp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.rp-grid3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:1000px){.rp-grid2,.rp-grid3{grid-template-columns:1fr}}
.rp-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px}.rp-card h3{margin:0 0 10px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#334155}
.rp-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rp-card-head i{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:800}.rp-card-head h3{margin:0}.rp-card-head small{color:#64748b;font-size:12px}
.rp-bar{display:grid;grid-template-columns:170px 1fr 36px 42px;gap:10px;align-items:center;margin:9px 0;font-size:13px}.rp-bar i{display:block;height:12px;border-radius:999px;background:#f1f5f9;overflow:hidden}.rp-bar i em{display:block;height:100%;border-radius:999px;background:#3b82f6;min-width:6px}
.rp-bar em.ok{background:#10b981}.rp-bar em.bad{background:#f43f5e}.rp-bar em.warn{background:#f59e0b}.rp-bar em.cb{background:#8b5cf6}.rp-bar em.nr{background:#3b82f6}.rp-bar em.purple{background:#a78bfa}
.rp-bar b{text-align:right;font-variant-numeric:tabular-nums}.rp-bar small{color:#64748b;text-align:right}
.rp-table{width:100%;border-collapse:collapse;font-size:12.5px}.rp-table th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:6px 8px;border-bottom:1px solid #e2e8f0}.rp-table td{padding:7px 8px;border-bottom:1px solid #f1f5f9;vertical-align:top}.rp-table td.num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.rp-table td.pad{padding-left:22px;color:#475569}
.rp-table a{color:#0369a1}.report .muted{color:#64748b}.rp-patients{margin-top:0}
.rp-link{white-space:nowrap}
@media print{aside.side,footer,.rp-range,.datebar{display:none !important}body,body::before,body::after{background:#fff !important}.content main{padding:0}.report{box-shadow:none;border-radius:0;max-width:none;padding:0}.rp-card,.rp-overview{break-inside:avoid}}

/* JOURNEY: recorrido del paciente */
.journey{padding:18px 20px 20px}
.jy-summary{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;align-items:stretch;padding:16px 18px;border-radius:14px;margin-bottom:16px;background:linear-gradient(120deg,rgba(56,189,248,.12),rgba(52,211,153,.10));border:1px solid var(--line)}
.jy-main b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.jy-main small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.jy-stat{border-left:1px solid var(--line2);padding-left:16px}.jy-stat b{display:block;font-size:30px;font-weight:800;color:var(--brand);line-height:1}.jy-stat span{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}.jy-stat strong{color:var(--ink)}.jy-stat span small{display:block;font-size:11px;margin-top:2px}.jy-stat span small svg{width:12px;height:12px;vertical-align:-2px}
.jy-stat.alt{border-left:0;background:var(--card-solid);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.jy-stat.alt b{color:var(--ink);font-size:24px}
.jy-flow{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center}
.jy-root{display:flex;align-items:center;justify-content:center;position:relative}.jy-root::after{content:"";position:absolute;right:-22px;top:50%;width:22px;border-top:2px solid var(--line2)}
.jy-branches{display:flex;flex-direction:column;gap:10px;position:relative;padding-left:22px}.jy-branches::before{content:"";position:absolute;left:0;top:28px;bottom:28px;border-left:2px solid var(--line2);border-radius:10px}
.jy-row{display:grid;grid-template-columns:260px 70px 1fr;gap:10px;align-items:center;position:relative}.jy-row::before{content:"";position:absolute;left:-22px;top:50%;width:22px;border-top:2px solid var(--line2)}
.jy-arrow{display:block;height:2px;background:var(--line2);position:relative}.jy-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--line2)}
.jy-results{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.jy-results .jy-arrow{width:22px;flex:none}
.jy-node{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card-solid);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;min-height:48px}
.jy-node:hover{transform:translateY(-1px);border-color:var(--brand)}.jy-node:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.jy-node.sel{border-color:var(--brand);box-shadow:0 0 0 3px rgba(56,189,248,.25)}
.jy-node i{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.jy-node i svg{width:16px;height:16px}
.jy-node span{display:flex;flex-direction:column;line-height:1.15;font-size:13px}.jy-node span b{font-size:18px;font-weight:800}.jy-node span small{color:var(--muted);font-size:11px;font-weight:500}
.jy-node em{margin-left:auto;width:16px;height:16px;color:var(--muted);opacity:.7}.jy-node em svg{width:14px;height:14px}
.jy-node.root{background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;border:0;padding:16px 22px}.jy-node.root i{background:rgba(255,255,255,.22);color:#fff;width:40px;height:40px}.jy-node.root span b{font-size:26px}
.jy-node.br.ok i{background:rgba(52,211,153,.18);color:#10b981}.jy-node.br.warn i{background:rgba(251,191,36,.2);color:#d97706}.jy-node.br.nr i{background:rgba(148,163,184,.2);color:#64748b}.jy-node.br.cb i{background:rgba(96,165,250,.2);color:#3b82f6}.jy-node.br.bad i{background:rgba(251,113,133,.2);color:#e11d48}.jy-node.br.purple i{background:rgba(167,139,250,.22);color:#7c3aed}
.jy-node.br.ok{border-color:rgba(52,211,153,.4)}.jy-node.br.warn{border-color:rgba(251,191,36,.45)}.jy-node.br.bad{border-color:rgba(251,113,133,.45)}.jy-node.br.purple{border-color:rgba(167,139,250,.45)}.jy-node.br.cb{border-color:rgba(96,165,250,.45)}
.jy-node.res.ok{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.4)}.jy-node.res.ok i{background:rgba(52,211,153,.2);color:#10b981}
.jy-node.res.bad{background:rgba(251,113,133,.12);border-color:rgba(251,113,133,.4)}.jy-node.res.bad i{background:rgba(251,113,133,.2);color:#e11d48}
.jy-node.res.cyan{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.4)}.jy-node.res.cyan i{background:rgba(34,211,238,.2);color:#0891b2}
.jy-node.res.purple{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.4)}.jy-node.res.purple i{background:rgba(167,139,250,.2);color:#7c3aed}
.jy-node.res.warn{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.45)}.jy-node.res.warn i{background:rgba(251,191,36,.22);color:#d97706}
.jy-node.res.cb{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.4)}.jy-node.res.cb i{background:rgba(96,165,250,.2);color:#3b82f6}
.jy-node.res.dim,.jy-node.br.dim{opacity:.8}.jy-node.br.dim i{background:rgba(148,163,184,.2);color:#64748b}
.jy-pending{color:var(--muted);font-size:12.5px;padding:8px 12px;border:1px dashed var(--line2);border-radius:10px}
.jy-base{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line2)}.jy-dash{flex:1;min-width:60px;border-top:2px dashed var(--line2);position:relative}.jy-dash::after{content:"";position:absolute;right:-1px;top:-6px;border:5px solid transparent;border-left-color:var(--line2)}
.jy-drawer{position:fixed;top:0;right:0;bottom:0;width:min(1180px,96vw);background:var(--card-solid);border-left:1px solid var(--line2);box-shadow:-30px 0 60px -30px rgba(0,0,0,.6);z-index:60;padding:18px 20px;overflow:auto;animation:jyIn .2s ease-out}
@keyframes jyIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.jy-drawer-btns{display:flex;gap:8px;flex:none}
.jy-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.jy-drawer-head h2{font-size:16px;text-transform:none;letter-spacing:0;color:var(--ink);margin:2px 0}
.jy-drawer .modal-table{max-height:none;border:0}
.jy-drawer .mini th,.jy-drawer .mini td{font-size:12.5px;padding:7px 8px}.jy-drawer .mini td:nth-child(2),.jy-drawer .mini td:nth-child(3),.jy-drawer .mini td:nth-child(6){white-space:nowrap}
html[data-theme=light] .journey{background:#fff}html[data-theme=light] .jy-summary{background:linear-gradient(120deg,#e8f3ff,#e9fbf3);border-color:#dbe7f3}html[data-theme=light] .jy-node{background:#fff}html[data-theme=light] .jy-node.res.ok{background:#ecfdf5}html[data-theme=light] .jy-node.res.bad{background:#fff1f2}html[data-theme=light] .jy-node.res.cyan{background:#ecfeff}html[data-theme=light] .jy-node.res.purple{background:#f5f3ff}html[data-theme=light] .jy-node.res.cb{background:#eff6ff}html[data-theme=light] .jy-node.res.warn{background:#fffbeb}html[data-theme=light] .jy-node.br.warn{background:#fffbeb}html[data-theme=light] .jy-node.br.ok{background:#f0fdf4}html[data-theme=light] .jy-node.br.bad{background:#fff1f2}html[data-theme=light] .jy-node.br.purple{background:#f5f3ff}html[data-theme=light] .jy-node.br.nr{background:#f8fafc}
@media(max-width:1000px){.jy-summary{grid-template-columns:1fr}.jy-stat{border-left:0;padding-left:0}.jy-flow{grid-template-columns:1fr}.jy-root::after{display:none}.jy-branches{padding-left:0}.jy-branches::before{display:none}.jy-row{grid-template-columns:1fr;gap:6px}.jy-row::before{display:none}.jy-arrow{display:none}.jy-results{padding-left:14px;border-left:2px solid var(--line2)}}

/* JY_CALL_POPUP: detalle de llamada en popup sobre el panel del recorrido */
#jy-call-modal{z-index:70}#jy-call-modal .modal{text-align:left}#jy-call-body{max-height:72vh;overflow:auto;padding-right:4px}#jy-call-body .grid2{margin-top:0}#jy-call-body h2.mt{margin-top:16px}

/* CLINIC_TABS: Administration → Clinic settings (pestañas, tabla de estados, barra inferior) */
.cf{max-width:1420px;margin:0 auto;padding-bottom:8px}
.cf-crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin:4px 0 10px}.cf-crumb a{color:var(--muted);text-decoration:none}.cf-crumb a:hover{color:var(--brand);text-decoration:underline}
.cf-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.cf-head-l{display:flex;align-items:center;gap:14px}.cf-head h1{margin:0;font-size:28px;letter-spacing:-.02em}.cf-head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.cf-ico{width:52px;height:52px;border-radius:14px;background:rgba(37,99,235,.12);color:#2563eb;display:inline-flex;align-items:center;justify-content:center;flex:none}.cf-ico svg{width:26px;height:26px}
.cf-head-r{display:flex;gap:8px;flex-wrap:wrap}.cf-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card-solid);font-size:13.5px;font-weight:600;color:var(--ink2)}.cf-pill i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.cf-pill.on{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#047857}.cf-pill.on i{background:#10b981}.cf-pill.off{background:rgba(148,163,184,.14);color:var(--muted)}
.cf-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 18px;overflow-x:auto;scrollbar-width:thin}.cf-tabs [role=tab]{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:inherit;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;margin-bottom:-1px;border-radius:8px 8px 0 0}.cf-tabs [role=tab] svg{width:18px;height:18px}.cf-tabs [role=tab]:hover{color:var(--ink);background:rgba(37,99,235,.06)}.cf-tabs [role=tab][aria-selected=true]{color:#2563eb;border-bottom-color:#2563eb}.cf-tabs [role=tab]:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.cf-panel[hidden]{display:none}
.cf-card{background:var(--card-solid);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 10px 24px -20px rgba(15,23,42,.35)}.cf-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.cf-card-head h2{margin:0;font-size:18px;text-transform:none;letter-spacing:0;color:var(--ink)}.cf-card-head p{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.cf-rules-head h2{margin:0;font-size:24px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}.cf-rules-head p{margin:4px 0 16px;color:var(--muted)}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.cf-span{grid-column:1/-1}.cf-stack{display:flex;flex-direction:column;gap:2px}.cf-stack>small{margin:-4px 0 10px}
.cf label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13.5px;font-weight:600;color:var(--ink2)}.cf label input,.cf label select,.cf label textarea{font-weight:400;min-height:40px;border-radius:10px}.cf label textarea{min-height:64px}.cf label small{font-weight:400}.cf label.check{flex-direction:row;align-items:center;gap:10px;font-weight:500}.cf label.check input{width:18px;height:18px;min-height:0;margin:0;accent-color:#2563eb}.cf .has-err input,.cf .has-err select,.cf .has-err textarea{border-color:var(--bad)}
.cf .status-field{margin-bottom:12px}.cf .status-field .flabel{font-weight:600}
.cf-rules{display:grid;grid-template-columns:7fr 3fr;gap:18px;align-items:start}.cf-main .cf-card-head{align-items:center}
.cf-count{display:inline-flex;align-items:center;padding:7px 14px;border-radius:10px;background:rgba(37,99,235,.1);color:#2563eb;font-weight:700;font-size:13.5px;white-space:nowrap}
.cf-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.cf-search{flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:10px;padding:0 12px;background:var(--card-solid);min-width:220px;margin:0}.cf-search svg{width:18px;height:18px;color:var(--muted);flex:none}.cf-search input{border:0;background:none;flex:1;min-height:40px;padding:0;font-weight:400}.cf-search input:focus{outline:none}
.cf-seg{display:inline-flex;border:1px solid var(--line2);border-radius:10px;overflow:hidden}.cf-seg button{border:0;background:none;padding:9px 16px;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}.cf-seg button.on{background:rgba(37,99,235,.1);color:#2563eb;font-weight:600}.cf-seg button:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.cf-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}.cf-table{width:100%;border-collapse:collapse;font-size:14px}.cf-table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);padding:11px 12px;background:rgba(148,163,184,.08);border-bottom:1px solid var(--line)}.cf-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.cf-table tr:last-child td{border-bottom:0}.cf-table .cb{width:44px;text-align:center}.cf-table .cb input{width:18px;height:18px;margin:0;accent-color:#2563eb;min-height:0}.cf-table td.code{font-weight:600}.cf-table td.code label{display:inline;margin:0;font-weight:600;cursor:pointer}.cf-table tr.on td{background:rgba(37,99,235,.07)}.cf-table tr[hidden]{display:none}
.cf-state{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:rgba(148,163,184,.14);color:var(--muted);font-size:12.5px}.cf-state i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.cf-state b{font-weight:600}.cf-state.on{background:rgba(16,185,129,.12);color:#047857}.cf-state.on i{background:#10b981}
.cf-empty{padding:16px;text-align:center;color:var(--muted);margin:0}.cf-table-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 2px;font-size:13px;color:var(--muted)}
.cf-selected{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);font-size:13.5px}.cf-selected b{color:var(--ink2)}.cf-chip{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(37,99,235,.1);color:#2563eb;font-weight:600;font-size:13px}
.cf-adv{border-top:1px solid var(--line);padding-top:10px}.cf-adv summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:8px 0;color:var(--ink2);font-size:14px}.cf-adv summary::-webkit-details-marker{display:none}.cf-adv summary svg{width:18px;height:18px;color:var(--muted)}.cf-adv summary svg:last-child{margin-left:auto;transition:transform .15s}.cf-adv[open] summary svg:last-child{transform:rotate(180deg)}.cf-adv summary:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:6px}.cf-adv label{margin-top:8px}
.cf-side .cf-card{margin-bottom:14px}.cf-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.18);color:var(--ink2);font-size:13px}.cf-note svg{width:18px;height:18px;color:#2563eb;flex:none;margin-top:1px}
.cf-wf{margin:8px 0 0}
.cf-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card-solid);box-shadow:0 -10px 30px -22px rgba(15,23,42,.5)}.cf-bar-btns{display:flex;gap:8px;flex-wrap:wrap}.cf-bar .btn.primary{background:#2563eb;color:#fff;box-shadow:none}.cf-bar .btn.primary:hover{filter:brightness(1.06)}.cf-bar .btn[disabled]{opacity:.55;cursor:not-allowed}
.cf-dirty{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.cf-dirty i{width:10px;height:10px;border-radius:50%;background:#94a3b8}.cf-dirty[data-n]:not([data-n="0"]){color:#b45309;font-weight:600}.cf-dirty[data-n]:not([data-n="0"]) i{background:#f59e0b}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:1000px){.cf-rules{grid-template-columns:1fr}.cf-grid{grid-template-columns:1fr}.cf-tabs [role=tab]{padding:10px 12px;font-size:14px}}
@media(max-width:600px){.cf-head h1{font-size:22px}.cf-table th:nth-child(3),.cf-table td:nth-child(3){display:none}.cf-bar{border-radius:14px 14px 0 0}}

/* FRONT DESK: pestañas de la tarjeta de mensajes (Messages / Waiting for Doctor / Done) */
.ml-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.ml-tabs::-webkit-scrollbar{display:none}
.ml-tabs [role=tab]{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;margin-bottom:-1px;border-radius:8px 8px 0 0}
.ml-tabs [role=tab]:hover{color:var(--ink);background:rgba(37,99,235,.06)}.ml-tabs [role=tab][aria-selected=true]{color:#2563eb;border-bottom-color:#2563eb}
.ml-tabs [role=tab]:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.ml-tabs .pill{font-size:11.5px;padding:1px 8px}
.pill.doc,.tag.doc{background:#efe9fe;color:#6d28d9}html:not([data-theme=light]) .pill.doc,html:not([data-theme=light]) .tag.doc{background:rgba(139,92,246,.22);color:#c4b5fd}
.ml-pane[hidden]{display:none}.ml-pane.fd-handled{margin-top:0}.ml-pane.fd-handled .fd-msg{padding:10px 0}
.ml-done{display:flex;flex-direction:column;gap:6px;align-items:stretch}.ml-done form{margin:0}.ml-done .btn{width:100%;justify-content:center}
.ml-done .btn.ml-fwd{border-color:#d9ccfb;color:#6d28d9}.ml-done .btn.ml-fwd:hover{background:#f5f0ff}
.ml-done .btn.ml-back{border-color:var(--line2);color:var(--ink2)}
html:not([data-theme=light]) .ml-done .btn.ml-fwd{border-color:rgba(139,92,246,.45);color:#c4b5fd}
.ml-l3 .dot.doc{background:#8b5cf6}
@media(max-width:900px){.ml-done{flex-direction:row}.ml-done .btn{width:auto}}

/* FRONT DESK: mensaje devuelto por el doctor a la MA */
.ml-row.returned{background:linear-gradient(90deg,rgba(139,92,246,.08),transparent 45%);box-shadow:inset 3px 0 0 #8b5cf6}
.ml-row.returned.urgent{background:linear-gradient(90deg,rgba(225,29,72,.06),rgba(139,92,246,.05) 30%,transparent 50%)}
.tag.ml-ret{display:inline-flex;align-items:center;gap:4px;font-weight:600}.tag.ml-ret .bi{width:13px;height:13px;flex-basis:13px;margin:0}
.ml-ret-txt{color:#6d28d9;font-weight:600}html:not([data-theme=light]) .ml-ret-txt{color:#c4b5fd}

/* JY_ONELINE */
.jy-row{grid-template-columns:180px 24px 1fr}.jy-flow{grid-template-columns:150px 1fr;gap:16px}.jy-root::after{right:-16px;width:16px}.jy-branches{padding-left:18px}.jy-row::before{left:-18px;width:18px}
.jy-results{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 4px;gap:8px;scrollbar-width:thin}.jy-results .jy-arrow{width:10px;flex:none}
.jy-node.res{padding:5px 8px;min-height:36px;gap:6px;flex:none}.jy-node.res i{display:none}
.jy-node.res span{flex-direction:row;align-items:baseline;gap:6px;white-space:nowrap;font-size:12.5px}.jy-node.res span b{font-size:15px}.jy-node.res span small{display:inline;font-size:11px}
.jy-node.res em{display:none}
.jy-node.br{padding:8px 12px;min-height:44px}.jy-node.br span{font-size:12.5px}.jy-node.br span b{font-size:16px}.jy-node.br span small{display:inline;margin-left:4px}
.jy-pending{padding:6px 10px;font-size:12px;white-space:nowrap;flex:none}
.jy-base .jy-node.res span{white-space:nowrap}
@media(max-width:1000px){.jy-results{flex-wrap:wrap;overflow:visible}}

/* SCRIBER: órdenes dichas en la visita */
.sc-orders{list-style:none;margin:0;padding:0}.sc-order{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line,#E3E9F2)}.sc-order:first-child{border-top:0}.sc-order.done .sc-order-main b{text-decoration:line-through;color:var(--muted,#64748B)}
.sc-order-chk{position:relative;flex:none;width:22px;height:22px;cursor:pointer}.sc-order-chk input{position:absolute;opacity:0;width:0;height:0}.sc-order-chk span{display:block;width:22px;height:22px;border-radius:7px;border:2px solid #C7D2E3;background:#fff;transition:all .12s}.sc-order-chk input:checked+span{background:#1B9A59;border-color:#1B9A59}.sc-order-chk input:checked+span::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sc-order-kind{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:6px;background:#EEF2F8;color:#64748B}.sc-order-kind.lab{background:#E8EEFF;color:#4F7CFF}.sc-order-kind.imaging{background:#F1E8FF;color:#7C3AED}.sc-order-kind.referral{background:#E8F7EE;color:#1B9A59}.sc-order-kind.medication{background:#FFF4E0;color:#C77700}.sc-order-kind.vaccine{background:#E0F7F4;color:#0F766E}
.sc-order-main{flex:1;min-width:0;font-size:14px}.sc-order-main b{font-weight:600}.sc-order-main small{display:block;font-size:12px}.sc-order-ecw{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.sa-orders .sa-order{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--sa-line)}.sa-orders .sa-order:first-of-type{border-top:0}.sa-order input{position:absolute;opacity:0;width:0;height:0}.sa-sw.small{width:42px;height:26px;border-radius:13px}.sa-sw.small::after{width:20px;height:20px}.sa-order input:checked+.sa-sw{background:var(--sa-green)}.sa-order input:checked+.sa-sw.small::after{left:19px}
.sa-order-main{flex:1;min-width:0}.sa-order-main b{display:block;font-size:15px}.sa-order.done .sa-order-main b{text-decoration:line-through;color:var(--sa-mute)}.sa-order-main small{display:block;color:var(--sa-mute);font-size:12px}.sa-order-main .sa-order-ecw{color:var(--sa-blue);font-weight:600}
.sc-labs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.sc-labs .tag{font-size:12px}

/* SCRIBER: sugerencias de facturación */
.sc-bill-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}@media (max-width:1000px){.sc-bill-grid{grid-template-columns:1fr}}
.sc-bill h3,.sc-em h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#64748B);margin:6px 0 6px}.sc-bill h3 small,.sc-em h3 small{text-transform:none;letter-spacing:0;font-weight:500}
.sc-dx{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--line,#E3E9F2)}.sc-dx:first-of-type{border-top:0}.sc-dx.off .sc-dx-main{opacity:.45;text-decoration:line-through}
.sc-dx .sc-order-chk{margin-top:2px}.sc-prim{position:relative;flex:none;margin-top:1px}.sc-prim input{position:absolute;opacity:0;width:0;height:0}.sc-prim span{display:inline-block;font-size:10px;font-weight:700;padding:4px 7px;border-radius:999px;border:1px solid #C7D2E3;color:#94A3B8;cursor:pointer}.sc-prim input:checked+span{background:#4F7CFF;border-color:#4F7CFF;color:#fff}
.sc-dx-main{flex:1;min-width:0;font-size:14px;line-height:1.4}.sc-dx-main b{font-family:ui-monospace,Consolas,monospace;font-size:14px;margin-right:4px}.sc-dx-main small{display:block;font-style:italic;font-size:12px;margin-top:2px}
.sc-dx-tags{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.sc-em{background:#F8FAFD;border:1px solid var(--line,#E3E9F2);border-radius:14px;padding:12px 14px}.sc-em.off .sc-em-code{opacity:.45;text-decoration:line-through}
.sc-em-code{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.sc-em-code b{font-size:26px;font-weight:800;letter-spacing:-.02em;font-family:ui-monospace,Consolas,monospace}.sc-em-code span{font-size:13px;color:var(--muted,#64748B);line-height:1.3}
.sc-mdm{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 8px;font-size:13px}.sc-mdm dt{font-weight:700;color:var(--muted,#64748B)}.sc-mdm dd{margin:0}
.sc-em-why{font-size:13px;color:#334155;margin:0;line-height:1.45}
.sa-billing .sa-prim{font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--sa-blue);margin-left:6px}.sa-order-ecw.warn{color:var(--sa-amber)}

/* ================= MONITOR: Infrastructure overview (superadmin, inicio) ================= */
.ix{--ix-blue:#3b82f6;--ix-purple:#8b5cf6;--ix-green:#10b981;--ix-amber:#f59e0b;--ix-red:#ef4444;--ix-soft:#f8fafd;--ix-ok-bg:#ecfdf3;--ix-ok-line:#bbf7d0;--ix-ok-ink:#166534;--ix-bad-bg:#fef2f2;--ix-bad-line:#fecaca;--ix-bad-ink:#b91c1c;--ix-warn-bg:#fffbeb;--ix-warn-line:#fde68a;--ix-warn-ink:#92400e;--ix-info-bg:#eff6ff;--ix-info-ink:#1d4ed8;--ix-track:#e8edf5}
html[data-theme=dark] .ix{--ix-soft:rgba(255,255,255,.03);--ix-ok-bg:rgba(16,185,129,.1);--ix-ok-line:rgba(16,185,129,.35);--ix-ok-ink:#6ee7b7;--ix-bad-bg:rgba(239,68,68,.1);--ix-bad-line:rgba(239,68,68,.4);--ix-bad-ink:#fca5a5;--ix-warn-bg:rgba(245,158,11,.1);--ix-warn-line:rgba(245,158,11,.4);--ix-warn-ink:#fcd34d;--ix-info-bg:rgba(59,130,246,.14);--ix-info-ink:#93c5fd;--ix-track:rgba(148,163,184,.18)}
.ix svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ix-title h2,.ix .ix-sec h3{text-transform:none}.ix-title h2{margin:0;font-size:22px;letter-spacing:-.01em;color:var(--ink);font-weight:700}.ix-title p,.ix-sec p{margin:2px 0 0;color:var(--muted);font-size:13px}
.ix-banner{display:flex;align-items:center;gap:12px;margin:16px 0 12px;padding:14px 18px;border-radius:12px;border:1px solid}
.ix-banner>i{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}.ix-banner>i svg{width:18px;height:18px;stroke-width:2.4}
.ix-banner>div{flex:1;min-width:0}.ix-banner b{display:block;font-size:15px}.ix-banner small{display:block;font-size:12.5px;margin-top:2px;opacity:.9}
.ix-banner.ok{background:var(--ix-ok-bg);border-color:var(--ix-ok-line);color:var(--ix-ok-ink)}.ix-banner.ok>i{background:#16a34a}.ix-banner.ok>i svg circle{display:none}
.ix-banner.bad{background:var(--ix-bad-bg);border-color:var(--ix-bad-line);color:var(--ix-bad-ink)}.ix-banner.bad>i{background:var(--ix-red)}
.ix-banner.warn{background:var(--ix-warn-bg);border-color:var(--ix-warn-line);color:var(--ix-warn-ink)}.ix-banner.warn>i{background:var(--ix-amber)}
.ix-upd{font-size:12.5px;color:var(--muted);white-space:nowrap}.ix-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);white-space:nowrap;margin-left:14px}.ix-live i{width:8px;height:8px;border-radius:50%;background:var(--ix-green);animation:fdlive 2s infinite}.ix-live.off i{background:var(--ix-amber);animation:none}
.ix-kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;padding:14px 0;margin-bottom:22px}
.ix-kpi{display:flex;align-items:center;gap:14px;padding:4px 24px;border-left:1px solid var(--line);min-width:0}.ix-kpi:first-child{border-left:0}
.ix-kpi>i{color:var(--ix-blue)}.ix-kpi>i svg{width:30px;height:30px;stroke-width:1.6}.ix-kpi b{display:block;font-size:22px;line-height:1.2}.ix-kpi b.sm{font-size:14.5px}.ix-kpi small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ix-kpi em.bad,.ix .bad{color:var(--ix-bad-ink);font-style:normal}
.ix-sec{margin:0 0 12px}.ix-sec h3{margin:0;font-size:17px}.ix-sec.row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;align-items:start}
.ix-srv{position:relative;border:1px solid var(--line);border-radius:12px;padding:14px 16px 10px;background:var(--card-solid)}
.ix-srv.warn{border-color:var(--ix-warn-line)}.ix-srv.down{border-color:var(--ix-bad-line);background:var(--ix-bad-bg)}
.ix-srv-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.ix-srv-name>b{display:inline-block;max-width:calc(100% - 170px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.ix-auto .ix-srv-head{padding-right:0}
.ix-ico{width:34px;height:34px;border-radius:9px;background:var(--ix-info-bg);color:var(--ix-blue);display:flex;align-items:center;justify-content:center;flex:none}.ix-ico.plain{background:none}.ix-ico.plain svg{width:26px;height:26px}
.ix-srv-name{flex:1;min-width:0}.ix-srv-name b{font-size:16px;margin-right:8px}.ix-srv-name small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.ix-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid;vertical-align:1px}.ix-tag.ok{background:var(--ix-ok-bg);color:var(--ix-ok-ink);border-color:var(--ix-ok-line)}.ix-tag.warn{background:var(--ix-warn-bg);color:var(--ix-warn-ink);border-color:var(--ix-warn-line)}.ix-tag.bad{background:var(--ix-bad-bg);color:var(--ix-bad-ink);border-color:var(--ix-bad-line)}
.ix-bars{display:flex;flex-direction:column;gap:10px}
.ix-bar{display:grid;grid-template-columns:48px 1fr 44px;column-gap:12px;align-items:center}.ix-bar span{font-size:12px;color:var(--muted)}
.ix-bar i{display:block;height:7px;border-radius:999px;background:var(--ix-track);overflow:hidden}.ix-bar em{display:block;height:100%;border-radius:999px;min-width:4px;transition:width .6s}
.ix-bar em.cpu{background:var(--ix-blue)}.ix-bar em.ram{background:var(--ix-purple)}.ix-bar em.disk{background:var(--ix-green)}.ix-bar em.mid{background:var(--ix-amber)}.ix-bar em.hot{background:var(--ix-red)}
.ix-bar b{text-align:right;font-size:13.5px;font-variant-numeric:tabular-nums}.ix-bar small{grid-column:2/4;color:var(--muted);font-size:11.5px;margin-top:3px}
.ix-err{color:var(--ix-bad-ink);font-size:13px;margin:4px 0 8px}.ix-none{color:var(--muted);font-size:12px;margin:10px 0 2px}
.ix details summary{list-style:none;cursor:pointer;user-select:none}.ix details summary::-webkit-details-marker{display:none}
.ix-more>summary{position:absolute;top:16px;right:14px;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted)}.ix-more>summary:hover{color:var(--ink)}.ix-more>summary svg{width:14px;height:14px;transition:transform .15s}.ix-more[open]>summary svg{transform:rotate(90deg)}
.ix-more dl{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--ix-soft);font-size:12.5px}.ix-more dt{color:var(--muted)}.ix-more dd{margin:0;word-break:break-word}
.ix-conts{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
.ix-conts>summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);padding:2px 0}.ix-conts>summary svg{width:14px;height:14px;color:var(--muted);transition:transform .15s}.ix-conts[open]>summary svg{transform:rotate(90deg)}
.ix-count{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--ix-track);color:var(--ink2)}
.ix-conts table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.ix-conts th{text-align:left;font-weight:600;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line)}.ix-conts td{padding:5px 6px;border-bottom:1px solid var(--line);word-break:break-all}
.ix-conts td:first-child{display:flex;align-items:center;gap:7px}.ix-conts td i{width:7px;height:7px;border-radius:50%;background:var(--ix-green);flex:none}.ix-conts tr.down td{color:var(--ix-bad-ink)}.ix-conts tr.down td i{background:var(--ix-red)}.ix-conts td:last-child{color:var(--muted);white-space:nowrap}
.ix-auto .ix-srv-head{align-items:center}.ix-auto .ix-srv-name>b{max-width:none}
.ix-wf{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;margin-bottom:6px}.ix-wf:hover{border-color:var(--ix-blue)}.ix-wf>i{color:var(--ix-blue);display:inline-flex}.ix-wf b{flex:1;font-size:13.5px;font-weight:600}.ix-wf>svg{width:16px;height:16px;color:var(--muted)}
.ix-bk{display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px}.ix-bk>i{color:var(--ix-blue);display:inline-flex}.ix-bk b{flex:1;font-weight:600}.ix-bk span{color:var(--muted);font-size:13px;text-align:right}.ix-bk span.bad{color:var(--ix-bad-ink)}
.ix-bk.sub{padding-left:42px;border-top:1px solid var(--line)}.ix-bk.sub b{font-weight:500}
.ix-checks{border:1px solid var(--line);border-radius:12px;padding:16px 18px 12px}
.ix-refresh{margin:0}.ix-refresh .btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px}.ix-refresh .btn svg{width:15px;height:15px}.ix-refresh.busy .btn svg{animation:ixspin 1s linear infinite}
.ix-table{overflow-x:auto}.ix-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.ix-table th{text-align:left;font-weight:600;font-size:12.5px;color:var(--muted);background:var(--ix-soft);padding:9px 12px}.ix-table td{padding:8px 12px;border-top:1px solid var(--line)}
.ix-svc{display:inline-flex;align-items:center;gap:10px}.ix-svc i{color:var(--muted);display:inline-flex}.ix-svc svg{width:17px;height:17px}
.ix-pill{display:inline-flex;align-items:center;gap:7px;padding:2px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.ix-pill i{width:7px;height:7px;border-radius:50%}
.ix-pill.ok{background:var(--ix-ok-bg);color:var(--ix-ok-ink)}.ix-pill.ok i{background:var(--ix-green)}.ix-pill.info{background:var(--ix-info-bg);color:var(--ix-info-ink)}.ix-pill.info i{background:var(--ix-blue)}.ix-pill.bad{background:var(--ix-bad-bg);color:var(--ix-bad-ink)}.ix-pill.bad i{background:var(--ix-red)}
.ix-note{color:var(--muted)}.ix-foot{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:10px 0 0}.ix-foot svg{width:15px;height:15px}
@keyframes ixspin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.ix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.ix-kpis{grid-template-columns:repeat(2,1fr);row-gap:14px}.ix-kpi:nth-child(3){border-left:0}}
@media(max-width:640px){.ix-kpis{grid-template-columns:1fr}.ix-kpi{border-left:0;padding:4px 16px}.ix-banner{flex-wrap:wrap}.ix-live{margin-left:0}.ix-grid{grid-template-columns:1fr}.ix-srv-head{padding-right:0}.ix-more>summary{position:static;margin-top:10px}.ix-srv-name>b{max-width:none}.ix-banner>div{flex:1 1 calc(100% - 44px)}.ix-upd{margin-left:40px}.ix-checks{padding:12px}.ix-table td,.ix-table th{padding:7px 8px}}

/* LEGACY_KPIS */
.kpis.big[hidden],.chips[hidden]{display:none}

/* REFILLS */
.fm-grid>div{min-width:0}
.rf-period{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}.rf-period label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.rf-period input[type=date]{padding:6px 8px;border-radius:10px;border:1px solid var(--line2);background:var(--card-solid);color:var(--ink);font:inherit;font-size:13px}
.rf-table td small,.rf-reason{display:block}.rf-table td .small b{display:block}
.rf-msg{margin:0;padding:14px 16px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font:12.5px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink2);background:rgba(120,140,190,.07);border:1px solid var(--line);border-radius:12px}
.rf-rules input:not([type=checkbox]),.rf-rules textarea{width:100%;padding:7px 9px;border-radius:10px;border:1px solid var(--line2);background:var(--card-solid);color:var(--ink);font:inherit;font-size:13px;box-sizing:border-box}
.rf-rules textarea{resize:vertical;min-height:38px}.rf-rules td:nth-child(1){width:22%}.rf-rules td:nth-child(3){width:96px}.rf-rules td:nth-child(4){width:60px;text-align:center}.rf-rules td{vertical-align:top}
.rf-new td{background:rgba(56,189,248,.05)}
.rf-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px;align-items:start}.rf-form label{display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.rf-form label.chk{flex-direction:row;align-items:center;gap:8px;align-self:center}.rf-form .actions{grid-column:1/-1}
.rf-form select,.rf-form input[type=number]{padding:8px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--card-solid);color:var(--ink);font:inherit;max-width:260px}
.rf-rules{table-layout:fixed;width:100%}.rf-rules th:nth-child(1){width:20%}.rf-rules th:nth-child(3){width:110px}.rf-rules th:nth-child(4){width:70px}.rf-rules th:nth-child(5){width:150px}

/* JY_ROOT_LIGHT: el nodo "Called" conserva el degradado azul en el tema claro */
html[data-theme=light] .jy-node.root{background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;border:0}html[data-theme=light] .jy-node.root i{background:rgba(255,255,255,.22);color:#fff}html[data-theme=light] .jy-node.root span,html[data-theme=light] .jy-node.root span b{color:#fff}

/* SMS_INBOX */
.tx{display:grid;grid-template-columns:340px 1fr;gap:16px;min-height:540px}
.tx-list{background:var(--card-solid);border:1px solid var(--line);border-radius:14px;overflow:auto;max-height:72vh}
.tx-conv{display:block;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;position:relative}.tx-conv:hover{background:rgba(37,99,235,.05)}.tx-conv.on{background:rgba(37,99,235,.09)}
.tx-conv b{display:block;font-size:14px}.tx-conv small{display:block;color:var(--muted);font-size:12px}.tx-prev{display:block;color:var(--ink2);font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-conv.unread b,.tx-conv.unread .tx-prev{font-weight:700}
.tx-badge{position:absolute;right:12px;top:12px;background:#2563eb;color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px}
.tx-thread{background:var(--card-solid);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;min-width:0}
.tx-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.tx-head b{display:block}.tx-head small{color:var(--muted)}.tx-stop{color:var(--bad);font-weight:600}
.tx-msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:56vh}
.tx-msg{max-width:72%;padding:9px 12px;border-radius:14px;background:rgba(148,163,184,.14)}.tx-msg p{margin:0;white-space:pre-wrap;font-size:14px}.tx-msg small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.tx-msg.in{align-self:flex-start;border-bottom-left-radius:4px}.tx-msg.out{align-self:flex-end;background:rgba(37,99,235,.12);border-bottom-right-radius:4px}.tx-msg.out.autoreply,.tx-msg.out.link{background:rgba(148,163,184,.1);border:1px dashed var(--line2)}.tx-fail{color:var(--bad)}
.tx-reply{border-top:1px solid var(--line);padding:12px 16px}.tx-reply textarea{width:100%;min-height:60px;border-radius:10px;resize:vertical}.tx-reply-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.tx-ro{padding:12px 16px}
.alert.ok{background:rgba(16,185,129,.12);color:#047857;border-color:rgba(16,185,129,.35)}
@media(max-width:900px){.tx{grid-template-columns:1fr}.tx-list{max-height:260px}.tx-msg{max-width:90%}}
/* LOGIN_HARDENING: 2FA */
.login-card .qr-box{background:#fff;border-radius:12px;padding:8px;width:200px;margin:8px auto}.login-card .qr-box svg{width:100%;height:auto;display:block}
.login-card code.secret{word-break:break-all;font-size:12px}.login-card .resend{margin-top:4px}
.login-card .ok-note{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35);padding:9px 13px;border-radius:10px}
.backup-codes{columns:2;font-size:14px;margin:10px 0 6px;padding-left:22px}.backup-codes li{margin:3px 0}
.login-card a.btn.wide{display:block;text-align:center;box-sizing:border-box;margin-top:14px}.backup-codes{margin-bottom:12px}
/* VISIT_REASON: tabla de frases por tipo de visita (ficha de clínica) */
.vr-table{width:100%;border-collapse:collapse;margin-top:6px}.vr-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 8px}.vr-table td{padding:5px 8px;vertical-align:middle;border-top:1px solid var(--line)}.vr-table td:first-child{white-space:nowrap;width:22%}.vr-table input[type=text]{width:100%;margin:0}
/* ADMIN_REORG: administración del superusuario (Overview, buscador, ficha en 7 áreas, módulos como interruptores) */
.side-label.sub-label{font-size:10px;letter-spacing:.1em;padding:8px 12px 2px;opacity:.8}
.adm-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.adm-search{position:relative;width:min(380px,100%)}.adm-search .cf-search{min-width:0}.adm-search input{border:0;background:none;outline:0;padding:9px 0;width:100%;font:inherit;color:var(--ink)}
.adm-results{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:var(--card-solid);border:1px solid var(--line2);border-radius:12px;padding:6px;box-shadow:var(--shadow);max-height:60vh;overflow:auto}
.adm-results a,.adm-set{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px}.adm-results>a:hover,.adm-results>a:focus{background:rgba(37,99,235,.1)}.adm-results small{color:var(--muted)}.adm-results p{margin:8px 10px}
.adm-k{display:inline-block;min-width:58px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.adm-in{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0 58px}.adm-in a{display:inline;padding:2px 8px;border:1px solid var(--line2);border-radius:999px;font-size:12px}.adm-in a:hover{border-color:#2563eb;color:#2563eb}
.ov-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.ov-kpi{background:var(--card-solid);border:1px solid var(--line);border-radius:14px;padding:16px 18px;color:var(--ink);text-decoration:none}.ov-kpi b{display:block;font-size:28px;line-height:1.1}.ov-kpi small{color:var(--muted)}.ov-kpi.warn b{color:var(--warn)}
.ov-alert{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;margin-bottom:8px;text-decoration:none;color:var(--ink);background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3)}.ov-alert.danger{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.35)}.ov-alert i{font-style:normal;font-weight:700;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--warn);color:#1f1300;flex:none}.ov-alert.danger i{background:var(--bad)}.ov-alert span{flex:1}.ov-alert em{font-style:normal;color:var(--muted);font-size:20px}
.ov-alert-g{margin-bottom:8px}.ov-alert-g>summary{list-style:none;cursor:pointer}.ov-alert-g>summary::-webkit-details-marker{display:none}.ov-alert-g>summary .ov-alert{margin:0}.ov-alert-g ul{margin:6px 0 4px 46px;padding:0;color:var(--ink2);font-size:14px}.ov-alert-g li{margin:3px 0}.ov-alert-g li a{color:inherit}.ov-allok{color:var(--ok);margin:4px 0}.ov-table .tag{margin-right:4px}.ov .head{display:flex;gap:8px;align-items:center}.ov .head h2{flex:1}
.cf-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.cf-tabs.cf-areas{flex-direction:column;border-bottom:0;margin:0;position:sticky;top:12px;gap:2px;overflow:visible}
.cf-tabs.cf-areas [role=tab]{width:100%;justify-content:flex-start;border:0;border-left:3px solid transparent;border-radius:0 10px 10px 0;padding:10px 12px;margin:0;font-size:14.5px}
.cf-tabs.cf-areas [role=tab][aria-selected=true]{background:rgba(37,99,235,.1);border-left-color:#2563eb}
.cf-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--line);color:var(--ink2);flex:none}.cf-areas [aria-selected=true] .cf-num{background:#2563eb;color:#fff}
.cf-aname{flex:1;text-align:left}.cf-st{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.cf-st.ok{color:var(--ok)}.cf-st.warn{background:var(--warn);color:#1f1300}
.cf-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--ink2);font-weight:600}
.cf-area-warn{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:12px;padding:10px 14px;margin-bottom:14px}.cf-area-warn p{margin:2px 0}
.cf-mod .cf-card-head{margin-bottom:6px}.cf-mod-state{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--line);color:var(--muted)}.cf-mod.on .cf-mod-state{background:rgba(16,185,129,.15);color:var(--ok)}
.cf .cf-mod-switch label.check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:40px;min-width:40px;height:22px;border-radius:11px;background:var(--line2);position:relative;cursor:pointer;flex:none;margin:0;transition:background .15s}.cf .cf-mod-switch label.check input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.cf .cf-mod-switch label.check input[type=checkbox]:checked{background:#2563eb}.cf .cf-mod-switch label.check input[type=checkbox]:checked::after{left:21px}.cf .cf-mod-switch label.check input[type=checkbox]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.cf .cf-mod-switch label.check{font-weight:600;color:var(--ink)}.cf-mod-body{border-top:1px dashed var(--line2);margin-top:8px;padding-top:12px}.cf-mod-body[hidden]{display:none}
.cf-found{outline:2px solid #f59e0b;outline-offset:4px;border-radius:6px;animation:cf-found 2.5s ease-out 1}@keyframes cf-found{0%{background:rgba(245,158,11,.25)}100%{background:transparent}}
.cf-seg a{display:inline-block;padding:7px 14px;font-size:14px;color:var(--muted);text-decoration:none}.cf-seg a.on{background:rgba(37,99,235,.1);color:#2563eb;font-weight:600}
html[data-theme=light] .cf-st.warn,html[data-theme=light] .ov-alert i{color:#422006}html[data-theme=light] .ov-alert{background:#fffbeb;border-color:#fde68a}html[data-theme=light] .ov-alert.danger{background:#fff1f2;border-color:#fecdd3}html[data-theme=light] .cf-area-warn{background:#fffbeb;border-color:#fde68a}
@media(max-width:1000px){.cf-layout{grid-template-columns:1fr}.cf-tabs.cf-areas{flex-direction:row;overflow-x:auto;position:static}.cf-tabs.cf-areas [role=tab]{width:auto;border-left:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0}.cf-tabs.cf-areas [role=tab][aria-selected=true]{border-bottom-color:#2563eb}.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ANNOUNCEMENTS: módulo de avisos (3.99: rediseño — envío dentro de "Who gets it", prueba en la columna lateral) */
.an{--an-soft:rgba(255,255,255,.03);--an-neu-bg:rgba(148,163,184,.14);--an-neu-ink:#cbd5e1;--an-ok-bg:rgba(16,185,129,.14);--an-ok-ink:#6ee7b7;--an-warn-bg:rgba(245,158,11,.14);--an-warn-ink:#fcd34d;--an-warn-line:rgba(245,158,11,.35);--an-bad-bg:rgba(239,68,68,.14);--an-bad-ink:#fca5a5;--an-bad-line:rgba(239,68,68,.4);--an-info-bg:rgba(59,130,246,.16);--an-info-ink:#93c5fd}
html[data-theme=light] .an{--an-soft:#f8fafd;--an-neu-bg:#f1f5f9;--an-neu-ink:#334155;--an-ok-bg:#ecfdf3;--an-ok-ink:#166534;--an-warn-bg:#fffbeb;--an-warn-ink:#92400e;--an-warn-line:#fde68a;--an-bad-bg:#fef2f2;--an-bad-ink:#b91c1c;--an-bad-line:#fecaca;--an-info-bg:#eff6ff;--an-info-ink:var(--brand)}
.an .an-head h1{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.an-head-btns{display:flex;gap:8px}
.an-crumb{margin:0 0 4px;font-size:13px}.an-crumb a{color:var(--muted);text-decoration:none}.an-crumb a:hover{color:var(--ink)}
.an-meta{color:var(--muted);font-size:12.5px;font-weight:400}.an .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.an-note{padding:10px 14px;border-radius:10px;margin:0 0 16px;font-size:13.5px;border:1px solid var(--line);background:var(--an-soft);color:var(--ink2)}
.an-note.warn{background:var(--an-warn-bg);border-color:var(--an-warn-line);color:var(--an-warn-ink)}.an-note.bad{background:var(--an-bad-bg);border-color:var(--an-bad-line);color:var(--an-bad-ink)}
/* chips de estado: pálidos, tinta del mismo tono */
.an-chip{display:inline-flex;align-items:center;flex:none;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap;background:var(--an-neu-bg);color:var(--an-neu-ink);vertical-align:middle}
.an-st-running,.an-c-pending,.an-c-calling,.an-s-pending{background:var(--an-info-bg);color:var(--an-info-ink)}
.an-st-done,.an-c-reached,.an-c-transferred,.an-s-sent{background:var(--an-ok-bg);color:var(--an-ok-ink)}
.an-c-voicemail,.an-c-no_answer,.an-c-busy{background:var(--an-warn-bg);color:var(--an-warn-ink)}
.an-st-stopped,.an-c-failed,.an-s-failed,.an-bad{background:var(--an-bad-bg);color:var(--an-bad-ink)}
/* tarjetas */
.an .an-card h2{font-size:16px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;margin:0}
.an-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 14px}
.an-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.an-layout .card{margin-bottom:18px}
.an-msg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.an-msg-grid>div{padding:0 20px 0 0}.an-msg-grid>div+div{padding:0 0 0 20px;border-left:1px solid var(--line)}
.an-lang{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}.an-msg-grid p{margin:0;font-size:16px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.an-rail .an-msg-grid{grid-template-columns:1fr}.an-rail .an-msg-grid>div{padding:0}.an-rail .an-msg-grid>div+div{padding:12px 0 0;margin-top:12px;border-left:0;border-top:1px solid var(--line)}.an-rail .an-msg-grid p{font-size:15px}
.an-foot-note{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
/* franja de cifras: un solo contenedor partido por líneas finas */
.an-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 16px}
.an-strip>div{background:var(--card-solid);padding:12px 16px;min-width:0}.an-strip small{display:block;font-size:12.5px;color:var(--muted)}
.an-strip b{display:block;font-size:24px;font-weight:600;line-height:1.25;margin-top:2px;color:var(--ink);font-variant-numeric:tabular-nums}.an-strip em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.an-strip .is-warn b{color:var(--warn)}.an-strip .is-ok b{color:var(--ok)}
/* filtros plegables */
.an-filters{margin:0 0 14px;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.an-filters summary{cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink2);display:flex;align-items:center;gap:8px}
.an-filters form{margin-top:10px}.an-filters fieldset{border:0;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:4px 16px}.an-filters legend{font-size:12px;color:var(--muted);margin-bottom:4px;padding:0}
.an-filters label.check{display:flex;align-items:center;gap:6px;margin:0;color:var(--ink2);font-size:13.5px}.an-filters label.check input{width:auto;display:inline;margin:0;accent-color:var(--brand)}
/* tablas: cabeceras en minúscula, sin bandas, cifras alineadas */
.an-scroll{overflow-x:auto}.an .an-table{width:100%;font-size:13.5px}
.an .an-table th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--muted);padding:8px 10px;white-space:nowrap}
.an .an-table td{padding:10px;vertical-align:middle;white-space:nowrap}.an .an-table td.who{white-space:normal;min-width:150px}.an .an-results .an-table td:last-child{white-space:normal;min-width:110px}.an .an-table th:first-child,.an .an-table td:first-child{padding-left:0}
.an .an-table .who{color:var(--ink);font-weight:500}.an .an-table .who a{color:var(--ink);text-decoration:none}.an .an-table .who a:hover{color:var(--brand)}
.an .an-table th.num,.an .an-list td.num{text-align:right}.an-sub{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}
.an-nophone td{color:var(--muted)}
.an-empty-row{padding:16px 18px;border:1px dashed var(--line2);border-radius:10px;color:var(--ink2);font-size:14px}
/* barra de envío: pie de "Who gets it" */
.an-sendbar{margin:18px -20px -18px;padding:16px 20px;border-top:1px solid var(--line);background:var(--an-soft);border-radius:0 0 var(--r) var(--r)}
.an-launch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center}.an-launch>.btn{grid-column:2;grid-row:1/span 2;padding:10px 20px}
.an-launch label.check{display:flex;gap:10px;align-items:flex-start;margin:0;color:var(--ink);font-size:14px}.an-launch label.check input{width:18px;height:18px;flex:none;display:inline;margin:1px 0 0;accent-color:var(--brand)}
.an-launch .an-meta{margin:0}.an-launch-off .an-meta{grid-row:1/span 2;font-size:13.5px;color:var(--ink2)}.an-launch-off .an-meta a{color:var(--brand)}
/* columna lateral: prueba e historial */
.an-rail .an-card h2{margin-bottom:6px}.an-test .an-meta{display:block;margin:0 0 12px}.an-testform{display:flex;flex-direction:column;gap:8px}.an-testform input{width:100%}
.an-tests{list-style:none;margin:8px 0 0;padding:0}.an-tests li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}.an-tests li:first-child{border-top:0}.an-tests li .an-meta{width:100%}
.an-del{margin:0;display:contents}.btn.danger{color:var(--bad)}
/* lista vacía */
.an-empty{text-align:center;padding:36px 10px}.an .an-empty h2{font-size:18px;color:var(--ink);text-transform:none;letter-spacing:0}.an-empty p{color:var(--muted);max-width:560px;margin:8px auto 18px}
/* formulario */
.an-row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.an .an-field{display:flex;flex-direction:column;gap:6px;margin:0;color:var(--ink);font-size:13.5px;font-weight:500}.an .an-field input,.an .an-field textarea{margin:0;width:100%}.an .an-field textarea{min-height:120px;resize:vertical}
.an-field-foot{display:flex;justify-content:space-between;gap:12px}.an-count{white-space:nowrap;font-variant-numeric:tabular-nums}.an-field .err,.an-form .err{color:var(--bad);font-size:12.5px;font-weight:400}
.an-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.an .an-opt{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;cursor:pointer;color:var(--ink);font-size:13.5px;transition:border-color .15s,background .15s}
.an .an-opt:hover{border-color:var(--brand)}.an .an-opt:has(input:checked){border-color:var(--brand);outline:1px solid var(--brand);outline-offset:-2px;background:var(--an-info-bg)}
.an .an-opt input{width:16px;height:16px;flex:none;display:inline;margin:2px 0 0;accent-color:var(--brand)}.an-opt b{display:block;font-weight:600;margin-bottom:2px}
.an-form{max-width:960px}.an-actions{margin:4px 0 24px}
.an-name{display:block}.an-m-only{display:none}
.an-layout{align-items:stretch}.an-main{display:flex;flex-direction:column}.an-main>.card:last-child{flex:1;display:flex;flex-direction:column}.an-main>.card:last-child>.an-sendbar{margin-top:auto}.an-who .an-strip+.an-sendbar,.an-who .an-filters+.an-sendbar{margin-top:auto}.an-rail{align-self:start}
@media(max-width:1100px){.an-layout{grid-template-columns:minmax(0,1fr);gap:0}.an-rail{display:contents}.an-msg{order:1}.an-main{order:2}.an-test{order:3}.an-testlog{order:4}.an-rail .an-msg-grid{grid-template-columns:1fr 1fr}.an-rail .an-msg-grid>div{padding:0 20px 0 0}.an-rail .an-msg-grid>div+div{padding:0 0 0 20px;margin-top:0;border-top:0;border-left:1px solid var(--line)}}
@media(max-width:760px){.an-msg-grid,.an-row2,.an-rail .an-msg-grid{grid-template-columns:1fr}.an-rail .an-msg-grid>div{padding:0}.an-rail .an-msg-grid>div+div{padding:14px 0 0;margin-top:14px;border-left:0;border-top:1px solid var(--line)}.an-msg-grid>div{padding:0}.an-msg-grid>div+div{padding:14px 0 0;margin-top:14px;border-left:0;border-top:1px solid var(--line)}
  .an-strip{grid-auto-flow:row;grid-template-columns:1fr 1fr}.an-strip>div:last-child:nth-child(odd){grid-column:span 2}
  .an-launch{grid-template-columns:1fr}.an-launch>.btn{grid-column:1;grid-row:auto;width:100%}.an-launch-off .an-meta{grid-row:auto}
  .an-sendbar{margin:16px -16px -16px;padding:14px 16px}.an-head-btns{width:100%}.an-head-btns .btn{flex:1;text-align:center}}
@media(max-width:600px){ /* filas apiladas en el móvil: hora + paciente(s), debajo teléfono y el resto */
  .an .an-table:not(.an-list) thead{display:none}.an .an-table:not(.an-list),.an .an-table:not(.an-list) tbody{display:block}
  .an .an-table:not(.an-list) tr{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
  .an .an-table:not(.an-list) td{display:block;padding:0;border:0;min-width:0;white-space:normal}.an .an-table:not(.an-list) td:nth-child(n+3){grid-column:2}
  .an .an-table:not(.an-list) td:nth-child(n+4){color:var(--muted);font-size:12.5px}.an .an-table:not(.an-list) td:empty{display:none}.an-m-only{display:inline}.an .an-table td.an-d-only{display:none}.an-scroll{overflow:visible}}

/* SUPPORT: chat de cada clínica con soporte (4.01) */
.nav-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--bad);margin-left:auto;box-shadow:0 0 0 2px var(--card-solid)}
.sp .sp-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.sp-thread{display:flex;flex-direction:column;gap:12px;padding:20px;max-height:min(62vh,640px);min-height:260px;overflow-y:auto}
.sp-msg{max-width:min(620px,82%);padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card-solid);color:var(--ink)}
.sp-msg.mine{align-self:flex-end;border-color:transparent;background:color-mix(in srgb,var(--brand) 14%,var(--card-solid))}
.sp-msg.theirs{align-self:flex-start}
.sp-msg header{display:flex;gap:10px;align-items:baseline;margin-bottom:4px;font-size:12.5px}.sp-msg header b{font-weight:600;color:var(--ink)}
.sp-msg time{color:var(--muted);font-variant-numeric:tabular-nums}
.sp-text{font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.sp-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:500;color:var(--brand);text-decoration:none}
.sp-link:hover{text-decoration:underline}.sp-link svg{width:15px;height:15px}
.sp-empty{margin:auto;max-width:460px;text-align:center;color:var(--muted);font-size:14px;line-height:1.55;padding:24px 8px}.sp-empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.sp-compose{border-top:1px solid var(--line);padding:14px 20px 16px;margin:0}
.sp-compose textarea{width:100%;min-height:76px;resize:vertical;margin:0 0 10px}
.sp-compose-foot,.sp-report-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sp-hint{color:var(--muted);font-size:12.5px}
.sp-inbox{width:100%}.sp-inbox th{text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--muted)}.sp-inbox th.num,.sp-inbox td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.sp-inbox .sp-clinic{white-space:nowrap}.sp-inbox .sp-clinic a{color:var(--ink);font-weight:500;text-decoration:none}.sp-inbox .sp-clinic .nav-dot{margin:0 8px 1px 0}
.sp-inbox tr.is-unread .sp-clinic a,.sp-inbox tr.is-unread .sp-prev{font-weight:600;color:var(--ink)}.sp-prev{color:var(--ink2)}
/* Report issue: botón plegable en el detalle de una llamada */
.sp-report{position:relative;display:inline-block}
.sp-report>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.sp-report>summary::-webkit-details-marker{display:none}
.sp-report>summary svg{width:15px;height:15px}
.sp-report-form{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(360px,calc(100vw - 32px));padding:14px;border:1px solid var(--line2);border-radius:12px;background:var(--card-solid);box-shadow:0 12px 32px rgba(0,0,0,.28);text-align:left}
.sp-report-form label{display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin:0 0 6px}
.sp-report-form textarea{width:100%;min-height:80px;margin:0 0 10px;resize:vertical}
@media(max-width:600px){.sp-thread{padding:14px;max-height:none}.sp-msg{max-width:92%}.sp-compose{padding:12px 14px}.sp-compose-foot{flex-direction:column;align-items:stretch}.sp-compose-foot .btn{width:100%}
  .sp-inbox thead{display:none}.sp-inbox tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.sp-inbox td{border:0;padding:0}.sp-inbox .sp-prev{grid-column:1/-1}.sp-inbox td:last-child{grid-row:1;grid-column:2}.sp-inbox td.num{display:none}
  .sp-report-form{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}}
.sp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-report-foot .btn,.sp-compose-foot .btn{white-space:nowrap;flex:none}
