/* Pulso de la clínica: menú vivo, inicio del día, buscador Ctrl+K y avisos. Usa solo los tokens de la paleta. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Menú: ayuda bajo cada nombre, contadores y estado del sistema ===== */
@media(min-width:901px){.frame.exp{--sb:250px}}
nav a{position:relative}
.exp nav a{height:auto!important;min-height:44px;padding:7px 12px 7px 14px!important}
nav a .lb{min-width:0;flex:1;line-height:1.25}
nav a .lb small{display:block;font-size:10.5px;font-weight:500;opacity:.66;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nb{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#fff;color:var(--p3);font:800 10.5px/18px 'Plus Jakarta Sans',sans-serif;font-style:normal;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.2);pointer-events:none}
.nb.accent{background:var(--acc);color:#fff}
.nb.hot{background:#E5566D;color:#fff}
.exp nav .nb{position:static;margin-left:auto;flex:none}
nav a.on .nb:not(.hot):not(.accent){background:var(--tint);color:var(--deep)}
.mnav a{position:relative}
.drawer a span{flex:1;min-width:0}.drawer a small{display:block;font-size:12px;font-weight:500;color:var(--mute)}
.drawer .nb{position:static}
.sbh{display:none;width:calc(100% - 24px);margin:0 auto 2px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);font-size:11.5px;flex:none}
.exp .sbh{display:grid;gap:5px}
.sbh div{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.sbh b{margin-left:auto;color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.sbh i{width:7px;height:7px;border-radius:50%;flex:none;background:#7FDDB6}
.sbh i.wr{background:#F7C57A}.sbh i.bad{background:#F58B9D}
@media(max-height:760px){.exp .sbh{display:none}}

/* ===== Cabecera: buscador como botón ===== */
.sbtn{display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;color:var(--mute);width:100%}
.sbtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}
.sbtn span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbtn:hover{color:var(--ink)}
.sbtn kbd,.cmdk kbd{font:700 10.5px 'Plus Jakarta Sans',sans-serif;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;color:var(--mute);background:var(--snow);white-space:nowrap}
@media(max-width:520px){.sbtn kbd{display:none}}

/* ===== Inicio ===== */
.ph-date{text-transform:capitalize}
@media(max-width:900px){.ph-wide{display:none!important}}
.ph-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap;margin-bottom:14px}
.ph-head>div:first-child{min-width:0;flex:1 1 220px}
.card .ph-head h3{margin:0 0 3px}
.ph-head p{color:var(--mute);font-size:12.5px;line-height:1.45}
.ph-link{background:none;border:0;color:var(--deep);font:700 12.5px 'Plus Jakarta Sans',sans-serif;cursor:pointer;text-decoration:none;padding:4px 0;white-space:nowrap}
[data-theme=dark] .ph-link{color:var(--deepd)}
.ph-link:hover{text-decoration:underline}

.ph-setup{margin-bottom:18px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--deep) 35%,transparent),var(--sh)}
.ph-more{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--mute)}
.ph-more:empty{display:none}
.ph-more a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:4px 11px;font-weight:600;background:var(--card)}
.ph-more a:hover{border-color:var(--deep)}
.ph-more .ph-link{margin-left:auto}
.ph-meter{width:min(180px,100%);height:7px;border-radius:99px;background:var(--mist);overflow:hidden;margin-top:8px;flex:none}
.ph-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--p1),var(--acc))}
.ph-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px}
.ph-step{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s;background:var(--card);min-width:0}
.ph-step:hover{border-color:var(--deep);transform:translateY(-1px)}
.ph-step>span:last-child{min-width:0}
.ph-step b{display:block;font-size:13.5px;line-height:1.35}
.ph-step b em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--deep);background:color-mix(in srgb,var(--deep) 12%,var(--card));padding:2px 7px;border-radius:99px;margin-left:4px;white-space:nowrap}
[data-theme=dark] .ph-step b em{color:var(--deepd)}
.ph-step small{display:block;color:var(--mute);font-size:12px;line-height:1.45;margin-top:3px}
.ph-step.done{opacity:.62}
.ph-num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:color-mix(in srgb,var(--deep) 14%,var(--card));color:var(--deep)}
[data-theme=dark] .ph-num{color:var(--deepd)}
.ph-step.done .ph-num{background:var(--ok);color:#fff}

.ph-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin-bottom:18px}
.ph-stat{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);transition:transform .15s;padding:18px;min-width:0}
.ph-stat:hover{transform:translateY(-2px)}
.ph-stat>span:last-child{min-width:0}
.ph-stat .ph-ico{width:38px;height:38px;border-radius:12px}
.ph-stat b{display:block;font-size:clamp(20px,2vw,26px);font-weight:800;line-height:1.1;white-space:nowrap}
.ph-stat strong{display:block;font-size:13px;margin-top:4px}
.ph-stat small{display:block;font-size:11.5px;color:var(--mute);margin-top:2px;line-height:1.4}
.ph-stat.alert{box-shadow:0 0 0 2px var(--warn),var(--sh)}
.ph-bad{color:var(--bad);font-style:normal;font-weight:700}
.ph-ico{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--deep) 14%,var(--card));color:var(--deep)}
[data-theme=dark] .ph-ico{color:var(--deepd)}
.ph-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ph-ico.ok{background:color-mix(in srgb,var(--ok) 16%,var(--card));color:var(--ok)}
.ph-ico.wr{background:color-mix(in srgb,var(--warn) 20%,var(--card));color:#C2741F}
[data-theme=dark] .ph-ico.wr{color:var(--warn)}
.ph-ico.est{background:color-mix(in srgb,var(--acc) 16%,var(--card));color:var(--acc)}
.ph-ico.pro{background:color-mix(in srgb,var(--pro) 16%,var(--card));color:var(--pro)}

.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;margin-bottom:18px;align-items:start}
@media(max-width:1180px){.ph-grid{grid-template-columns:minmax(0,1fr)}}

.ph-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.ph-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 12px 12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.ph-item>i{width:10px;height:10px;border-radius:50%;background:var(--pro);align-self:start;margin-top:5px;box-shadow:0 0 0 4px color-mix(in srgb,var(--pro) 18%,transparent)}
.ph-item.lv-danger{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:color-mix(in srgb,var(--bad) 6%,var(--card))}
.ph-item.lv-danger>i{background:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 22%,transparent)}
.ph-item.lv-warn>i{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb,var(--warn) 24%,transparent)}
.ph-item b{display:block;font-size:13.5px;line-height:1.35;color:var(--ink)}
.ph-item small{display:block;color:var(--mute);font-size:12px;line-height:1.45;margin-top:2px}
@media(max-width:620px){.ph-item{grid-template-columns:auto minmax(0,1fr)}.ph-item>.btn{grid-column:2;justify-self:start}}
.ph-calm{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:26px 10px;color:var(--mute);font-size:12.5px}
.ph-calm svg{width:36px;height:36px;fill:none;stroke:var(--ok);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.ph-calm b{color:var(--ink);font-size:14px}

.ph-timeline{list-style:none;display:flex;flex-direction:column}
.ph-appt{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}
.ph-appt:last-child{border-bottom:0}
.ph-time{font-weight:800;font-size:13px;color:var(--deep)}
[data-theme=dark] .ph-time{color:var(--deepd)}
.ph-appt>div:nth-child(2){min-width:0}
.ph-appt b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-appt small{display:block;color:var(--mute);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-appt small em{color:var(--bad);font-style:normal;font-weight:700}
.ph-act{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ph-appt.atendida,.ph-appt.noasistio{opacity:.55}
.ph-appt.late .ph-time{color:var(--bad)}
.ph-appt.sala{background:color-mix(in srgb,var(--deep) 6%,transparent);border-radius:12px}
.ph-now{display:flex;align-items:center;gap:8px;color:var(--acc);font-size:11px;font-weight:800;padding:5px 2px}
.ph-now i{flex:1;height:2px;background:var(--acc);border-radius:2px}
.ph-now em{font-style:normal;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:520px){.ph-appt{grid-template-columns:42px minmax(0,1fr)}.ph-act{grid-column:2;justify-content:flex-start}}

.ph-sales{margin-bottom:18px}
.ph-big{text-align:right}
.ph-big b{display:block;font-size:24px;font-weight:800;line-height:1.1}
.ph-big small{color:var(--mute);font-size:12px}
@media(max-width:520px){.ph-big{text-align:left}}
.ph-chart svg{display:block;width:100%;height:130px}
.ph-months{display:flex;justify-content:space-between;gap:4px;font-size:11px;color:var(--mute);padding:6px 8px 0}
.ph-months span{padding:2px 6px;border-radius:99px}
.ph-months .on{background:var(--deep);color:#fff;font-weight:700}
.ph-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px 24px;margin-top:16px}
.ph-areas>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font-size:12.5px}
.ph-areas .bar{display:block}
.ph-areas .bar i{background:var(--deep)}
@media(max-width:520px){.ph-months{font-size:9.5px;padding:6px 0 0}.ph-months span{padding:2px 3px}}

/* ===== Buscador Ctrl+K ===== */
.cmdk{position:fixed;inset:0;z-index:120;background:rgba(10,10,30,.45);display:flex;justify-content:center;align-items:flex-start;padding:min(13vh,110px) 16px 16px;backdrop-filter:blur(3px)}
.cmdk-box{width:min(620px,100%);max-height:min(580px,calc(100vh - 130px));display:flex;flex-direction:column;background:var(--card);border-radius:22px;box-shadow:0 30px 70px -20px rgba(0,0,0,.55);overflow:hidden;border:1px solid var(--line)}
.cmdk-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cmdk-in svg{width:19px;height:19px;fill:none;stroke:var(--mute);stroke-width:2;stroke-linecap:round;flex:none}
.cmdk-in input{flex:1;min-width:0;border:0;background:transparent;font:500 15px 'Plus Jakarta Sans',sans-serif;color:var(--ink);outline:none}
.cmdk-in input::placeholder{color:var(--mute)}
#cmdk-list{overflow:auto;padding:4px 8px 10px;overscroll-behavior:contain}
.cmdk-g{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:800;padding:12px 10px 4px}
.cmdk-it{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;cursor:pointer;color:var(--ink)}
.cmdk-it[aria-selected=true]{background:var(--mist)}
.cmdk-it.muted{cursor:default;color:var(--mute)}
.cmdk-it>i{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--deep) 12%,var(--card));color:var(--deep);font-style:normal;font-weight:800}
[data-theme=dark] .cmdk-it>i{color:var(--deepd)}
.cmdk-it>i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cmdk-it>span{flex:1;min-width:0}
.cmdk-it b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdk-it small{display:block;font-size:11.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdk-it .btn{flex:none}
.cmdk-empty{padding:22px 12px;text-align:center;color:var(--mute);font-size:13px}
.cmdk-foot{display:flex;gap:16px;flex-wrap:wrap;padding:9px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--mute)}
@media(max-width:520px){.cmdk{padding:10px}.cmdk-box{max-height:calc(100vh - 20px)}.cmdk-foot{display:none}}

/* ===== Avisos ===== */
.toast{display:flex;align-items:center;gap:10px;cursor:pointer}
.toast>i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px;background:rgba(255,255,255,.22);color:#fff}
.toast.good>i{background:var(--ok)}
