/* Mediflow · tema premium (se carga después de style.css; no cambia funciones) */
:root{--bg:#f5f7fb;--ink:#141d45;--mut:#6b7590;--line:#e6eaf2;--pri:#121b4d;--teal:#0eacbb;--tealbg:#e9f7fa;--r:18px}
body{font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--pri)}
h1{font-weight:900;letter-spacing:-.01em;color:var(--ink)}h2{font-size:18px;font-weight:900;color:var(--ink);margin-bottom:14px}h3{color:var(--ink)}
/* sidebar */
.sbh,.sbf{display:none}
@media(min-width:900px){
 body{padding-left:270px}
 .top{display:none}
 nav.tabs{width:270px;padding:28px 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;overflow-y:auto}
 nav.tabs .sbh{display:block;padding:0 22px 18px}
 .sblogo{height:46px;display:block;margin:0 0 22px 6px}
 .sbclin{display:flex;align-items:center;gap:12px;background:#f1f4f9;border-radius:14px;padding:12px 14px}
 .sbclin b{display:block;font-size:15px;color:var(--ink)}.sbclin small{color:var(--mut);font-size:12.5px}
 .sbav{width:38px;height:38px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;font-weight:900;flex:none}
 nav.tabs a{position:relative;margin:2px 16px;padding:13px 18px 13px 22px;border-radius:12px;font-size:15.5px;font-weight:700;color:#5b6582}
 nav.tabs a span{display:none}
 nav.tabs a:hover{background:#f5f7fb;color:var(--ink)}
 nav.tabs a.on{background:var(--tealbg);color:var(--ink)}
 nav.tabs a.on:before{content:"";position:absolute;left:-16px;top:6px;bottom:6px;width:4px;border-radius:0 4px 4px 0;background:var(--teal)}
 nav.tabs .sbf{display:block;margin-top:auto;border-top:1px solid var(--line);padding:12px 0 18px}
 .sbu{display:flex;align-items:center;gap:12px;padding:14px 22px 0}
 .sbu b{display:block;font-size:14.5px}.sbu small{color:var(--mut);font-size:12.5px}.sbu small a{color:var(--mut);text-decoration:underline}
 .sbav2{width:40px;height:40px;border-radius:50%;background:#e6ebf7;color:var(--pri);display:grid;place-items:center;font-weight:900;font-size:14px;flex:none}
 main{max-width:1340px;padding:34px 44px 40px}
 .atop{margin:0 -44px;padding:10px 44px 6px;top:0}
 .gh{top:calc(0px + var(--at,190px))}
}
nav.tabs .nb2{background:#e5484d}
/* page header */
.ph{display:flex;align-items:flex-start;gap:20px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.ph h1.pt{font-size:34px;font-weight:900;letter-spacing:-.02em;margin:0;line-height:1.1}
.ph p{margin:6px 0 0;color:var(--mut);font-size:15.5px}
.ph .pill{margin-left:auto}
.pill{display:inline-block;background:var(--tealbg);color:#0a8e9b;font-weight:900;font-size:12.5px;letter-spacing:.06em;padding:8px 16px;border-radius:999px;white-space:nowrap;text-transform:uppercase}
@media(max-width:899px){.ph{margin-bottom:14px;padding-bottom:12px}.ph h1.pt{font-size:24px}.ph p{font-size:13.5px}.ph .pill{display:none}}
/* cards, botones, formularios */
.card{border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin-bottom:18px;box-shadow:0 1px 2px rgba(18,27,77,.03)}
.btn{border-radius:12px;border-color:#dfe4ee;font-weight:700;padding:10px 18px;min-height:42px}
.btn.p{background:var(--pri);border-color:var(--pri)}
.btn.s{border-radius:10px;padding:6px 12px}
input,select,textarea{border-color:#dde3ee;border-radius:12px;padding:10px 14px}
input:focus,select:focus,textarea:focus{outline:2px solid #bfeaf0;border-color:var(--teal)}
label{color:#4a5472;font-weight:700}
.tag{border-radius:999px;padding:4px 12px;font-weight:700;background:#eef1f7;color:#4a5472}
.tag.ok{background:#e6f6ef;color:#1b8a5a}.tag.red{background:#fdecee;color:#c2414b}.tag.amb{background:#fef4e2;color:#b26b10}
.flash{border-radius:14px}
table{border-collapse:collapse;width:100%}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:700;text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid var(--line)}
/* indicadores */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:20px}
.kc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.kc span{display:block;font-size:13.5px;color:var(--mut);font-weight:700}.kc b{display:block;font-size:34px;font-weight:900;letter-spacing:-.02em;margin-top:8px;color:var(--ink)}.kc b.neg{color:#c2414b}
/* listas */
.ci{background:#fff;border:1px solid var(--line);border-left:4px solid #b8c1d6;border-radius:12px;padding:12px 16px;margin:8px 0}
.ci b{font-size:15px}.ci .h{color:#4a5472}
.ci.debe{background:#fdf3f4;border-color:#f3d2d6;border-left-color:#d4545e}
.ci.confirmada{border-left-color:#22a06b}.ci.llego{background:#f0faf8;border-left-color:#14857a}
/* agenda día */
.week a{border-radius:14px;padding:8px 0;border-color:var(--line)}.week a.on{background:var(--pri)}
.gwrap{border-radius:var(--r);padding:12px 10px 10px;border-color:var(--line)}
.gh{border-radius:12px;margin:0 4px 8px;padding:12px 16px;font-size:15px;font-weight:900}
.gh.gax{background:transparent}
.gcol{border-left:0}
.gc{border-radius:10px;padding:5px 10px;border-left-width:4px;background:#f1f4f9;box-shadow:0 0 0 2px #fff;font-size:13px}
.gc span{color:#5b6582}
.gc.confirmada{background:#e8f6ef}.gc.llego{background:#e6f5f3}.gc.no_acudio,.gc.debe{background:#fcecee}
.gc.nuevo{background:#f2eefc;box-shadow:0 0 0 2px #b9a5f0,0 0 0 1px #fff}
.gs{border-color:#f0f2f7!important}
/* agenda semana */
.wd{border-radius:16px;padding:10px;border-color:var(--line)}.wd.hoy{outline:2px solid var(--teal)}
.wh{font-weight:700;color:var(--ink)}
.wc{border-radius:10px;padding:6px 9px;background:#f1f4f9}
/* expediente: solo el marco y las pestañas (el odontograma y periodontograma no cambian) */
.tabsx{gap:12px;margin:16px 0 18px}
.tabsx button,.tabsx .btn{border-radius:14px!important;padding:12px 26px!important;font-weight:700;background:#fff;border:1px solid var(--line)!important;color:#5b6582;min-height:46px}
.tabsx button.on{background:var(--pri)!important;color:#fff!important;border-color:var(--pri)!important}
.tabsx .btn.p{background:var(--pri)!important;color:#fff!important}
.kp div{background:#fff!important;border-radius:16px!important;padding:16px 18px!important}.kp b{font-size:28px!important;font-weight:900}
/* interesados */
.pk{gap:16px}
.pc{background:#eef1f7!important;border:0!important;border-radius:var(--r)!important;padding:12px!important}
.pc h3{background:#fff!important;color:var(--ink)!important;border-radius:12px!important;padding:12px 14px!important;font-weight:900}
.pi{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:none!important}
.ci.confirmada,.ci.llego,.ci.no_acudio{border-color:var(--line)}.ci.confirmada{border-left-color:#22a06b}.ci.llego{border-left-color:#14857a}.ci.no_acudio{border-left-color:#d4545e}
.hbar{height:180px;gap:14px}.hbar div{background:var(--teal)!important;border-radius:10px 10px 4px 4px}.hbar div:last-child{background:var(--pri)!important}
.kpi{font-size:32px;font-weight:900;letter-spacing:-.02em}
@media(min-width:900px){.sbu small{display:flex;gap:6px}}
@media(min-width:900px){nav.tabs .sbu a.sbx{margin:0 0 0 auto;padding:6px 10px;font-size:12.5px;color:var(--mut);border:1px solid var(--line);border-radius:10px}nav.tabs .sbu a.sbx:before{display:none}}
.demob{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(90deg,#121b4d,#1b3a8a);color:#fff;border-radius:16px;padding:12px 18px;margin-bottom:22px}
.demob span{opacity:.8;font-size:13.5px}.demob .btn{margin-left:auto;background:#0eacbb;border-color:#0eacbb}
