:root{--blue:#075ea8;--navy:#073766;--bg:#eef5fa;--line:#d7e4ef;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:#18334d}.top{background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.top a{color:#fff;text-decoration:none}.shell{max-width:1100px;margin:28px auto;padding:0 16px}.auth{max-width:460px;margin:55px auto}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 36px rgba(7,55,102,.08);margin-bottom:16px}h1,h2,h3{color:var(--navy)}label{display:block;font-weight:700;margin:12px 0 6px}input,textarea,select{width:100%;padding:12px;border:1px solid #b9cad9;border-radius:10px;font-size:1rem}.btn,button{display:inline-block;border:0;border-radius:10px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.btn.secondary{background:#e8f1f8;color:var(--navy)}.muted{color:#63788c}.notice{padding:12px;border-radius:10px;background:#eef8ff;border:1px solid #a9d8f6;margin:12px 0}.error{background:#fff0ef;border-color:#f1aaa4;color:#8f1d16}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tile{padding:16px;border-radius:14px;border:1px solid var(--line);background:#f9fcff}.list{width:100%;border-collapse:collapse}.list th,.list td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9f6ef;color:#17643b;font-size:.82rem}.footer{text-align:center;color:#708399;padding:25px}.code{font-size:1.5rem;letter-spacing:.3rem;text-align:center}.warning{background:#fff8e8;border-color:#efca6a;color:#775300}
.portal-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.security-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:700;white-space:nowrap}.security-pill.basic{background:#fff4d6;color:#7a5200}.security-pill.verified{background:#e8f7ee;color:#14643a}.privacy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn.inline{margin-left:auto}.locked{border-style:dashed;background:#f8fbfd}.locked h2{margin-top:0}@media(max-width:650px){.portal-heading{display:block}.security-pill{margin-top:8px}.list{display:block;overflow-x:auto}}
select,input[type=date],input[type=time],textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}select:disabled{background:#f1f5f9;color:#64748b}label{display:block;font-weight:700;margin:14px 0 6px}.notice{border-left:4px solid #2563eb}.notice.error{border-left-color:#dc2626;background:#fef2f2;color:#991b1b}button:disabled{opacity:.55;cursor:not-allowed}
.tm-list{display:grid;gap:12px}.tm-appointment{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f9fcff}.tm-appointment>div{display:grid;gap:5px}.tm-appointment small,.tm-appointment span{display:block}.tm-waiting{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid #7dd3fc;background:#f0f9ff;border-radius:14px}.tm-waiting p{margin:4px 0}.tm-pulse{width:18px;height:18px;border-radius:50%;background:#0ea5e9;box-shadow:0 0 0 0 rgba(14,165,233,.55);animation:tmPulse 1.6s infinite}.tm-checks{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 18px}.tm-checks label{font-weight:600;margin:0}.tm-checks input{width:auto}@keyframes tmPulse{70%{box-shadow:0 0 0 14px rgba(14,165,233,0)}100%{box-shadow:0 0 0 0 rgba(14,165,233,0)}}@media(max-width:700px){.tm-appointment{align-items:flex-start;flex-direction:column}}

/* v76.2 Videollamada integrada */
.tm-video-card{padding:16px}.tm-video-frame{height:min(70vh,680px);min-height:460px;background:#071b2f;border-radius:16px;overflow:hidden;border:1px solid #b9c9d8}.tm-video-frame iframe{width:100%!important;height:100%!important;border:0}.tm-video-start{font-size:1.05rem;padding:13px 18px}@media(max-width:700px){.tm-video-frame{height:62vh;min-height:360px}}
