:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #64748b;
  --line: #dbe3ee;
  --primary: #2563eb;
  --primary-strong: #1d4ed8;
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --radius: 14px;
  --shadow: 0 8px 28px rgba(15, 23, 42, .08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--bg); color: var(--text); }
body { margin: 0 auto; max-width: 1440px; min-height: 100vh; padding: 28px clamp(16px, 3vw, 40px) 48px; background: var(--bg); line-height: 1.5; }
h1 { margin: 0 0 20px; font-size: clamp(1.75rem, 3vw, 2.35rem); letter-spacing: -.035em; color: #0f172a; }
h2 { margin: 0 0 14px; font-size: 1.15rem; color: #1e293b; }
h3 { color: #334155; }
a { color: var(--primary); text-decoration: none; font-weight: 600; }
a:hover { color: var(--primary-strong); text-decoration: underline; }
nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 24px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 2px 10px rgba(15,23,42,.04); font-size: 0; }
nav a { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 12px; border-radius: 10px; font-size: .92rem; }
nav a:hover { background: #eff6ff; text-decoration: none; }
section { margin: 0 0 18px; padding: clamp(16px,2vw,24px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
form { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; margin: 0 0 18px; }
section form:last-child { margin-bottom: 0; }
label { display: flex; flex-direction: column; gap: 6px; min-width: 150px; color: #334155; font-size: .9rem; font-weight: 650; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; min-height: 42px; padding: 9px 11px; color: var(--text); border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; outline: none; transition: border-color .15s, box-shadow .15s; }
textarea { min-height: 96px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(37,99,235,.13); }
button, input[type="submit"] { min-height: 42px; padding: 9px 16px; border: 0; border-radius: 10px; background: var(--primary); color: white; font-weight: 700; cursor: pointer; box-shadow: 0 4px 12px rgba(37,99,235,.18); }
button:hover, input[type="submit"]:hover { background: var(--primary-strong); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(37,99,235,.28); outline-offset: 2px; }
ul, ol { padding-left: 1.25rem; }
li { margin: 8px 0; }
section > ul, section > ol { margin: 0; padding: 0; list-style: none; }
section > ul > li, section > ol > li { padding: 12px 14px; border: 1px solid #e5eaf1; border-radius: 10px; background: var(--surface-soft); }
table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
th, td { padding: 11px 12px; border-bottom: 1px solid #e8edf4; text-align: left; vertical-align: top; }
th { color: #475569; background: #f8fafc; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; }
tr:last-child td { border-bottom: 0; }
p[role="status"], .messages { padding: 11px 14px; border-left: 4px solid var(--primary); border-radius: 8px; background: #eff6ff; color: #1e3a8a; }
.errorlist { margin: 4px 0; padding: 8px 12px; list-style: none; border-radius: 8px; background: #fef2f2; color: var(--danger); }
small, .muted { color: var(--muted); }
hr { border: 0; border-top: 1px solid var(--line); }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
pre { overflow-x: auto; padding: 14px; border-radius: 10px; background: #0f172a; color: #e2e8f0; }
body > form:not([style]) { padding: clamp(16px,2vw,24px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
body > form:not([style]) + p { color: var(--muted); }
@media (max-width: 720px) {
  body { padding: 16px 12px 32px; }
  body > nav, .page-shell > nav, .dashboard-nav { position: sticky; top: 8px; z-index: 10; overflow-x: auto; flex-wrap: nowrap; }
  body > nav a, .page-shell > nav a, .dashboard-nav a { white-space: nowrap; }
  section { padding: 15px; }
  form { display: grid; grid-template-columns: 1fr; }
  label { min-width: 0; width: 100%; }
  button, input[type="submit"] { width: 100%; }
  table { display: block; overflow-x: auto; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

/* PHASE132_DESKTOP_COMMERCIAL_POLISH */
:root {
  --brand-ink: #0b1f3a;
  --brand-soft: #eaf2ff;
  --surface-raised: rgba(255, 255, 255, .94);
  --line-strong: #cbd7e6;
  --shadow-soft: 0 10px 30px rgba(15, 23, 42, .07);
  --shadow-hover: 0 14px 34px rgba(15, 23, 42, .10);
}

html {
  background:
    radial-gradient(circle at 8% 0%, rgba(37, 99, 235, .08), transparent 30rem),
    linear-gradient(180deg, #f7faff 0%, var(--bg) 34rem);
}

body {
  background: transparent;
}

body::before {
  content: "AGENDA SALUD";
  display: block;
  width: fit-content;
  margin: 0 0 7px 2px;
  color: var(--primary-strong);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
  line-height: 1;
}

h1 {
  position: relative;
  padding-bottom: 12px;
  color: var(--brand-ink);
}

h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 52px;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--primary), #60a5fa);
}

h2 {
  color: var(--brand-ink);
  letter-spacing: -.015em;
}

nav {
  gap: 6px;
  padding: 8px 10px;
  border-color: rgba(203, 215, 230, .9);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 5px 18px rgba(15, 23, 42, .055);
  backdrop-filter: blur(10px);
}

nav a {
  color: #334155;
  font-weight: 700;
  transition: color .15s ease, background .15s ease, transform .15s ease;
}

nav a:hover {
  color: var(--primary-strong);
  background: var(--brand-soft);
  transform: translateY(-1px);
}

nav > a:first-child {
  color: var(--primary-strong);
  background: #eff6ff;
}

section,
body > form:not([style]) {
  border-color: #e2e9f2;
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
}

section {
  transition: border-color .15s ease, box-shadow .15s ease;
}

section:hover {
  border-color: #d8e2ef;
  box-shadow: var(--shadow-hover);
}

section > h2:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf1f6;
}

section > h2:first-child::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #60a5fa;
  box-shadow: 0 0 0 4px #eff6ff;
}

input,
select,
textarea {
  border-color: var(--line-strong);
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .025);
}

input:hover,
select:hover,
textarea:hover {
  border-color: #aebdd0;
}

button,
input[type="submit"] {
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

button:hover,
input[type="submit"]:hover {
  box-shadow: 0 7px 17px rgba(37, 99, 235, .22);
  transform: translateY(-1px);
}

button:active,
input[type="submit"]:active {
  transform: translateY(0);
}

table {
  border-color: #dfe7f0;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .035);
}

th {
  color: #36465c;
  background: linear-gradient(180deg, #fbfdff, #f4f7fb);
  font-weight: 800;
}

tbody tr {
  transition: background .12s ease;
}

tbody tr:hover td {
  background: #f8fbff;
}

section > ul > li,
section > ol > li {
  border-color: #e3eaf3;
  background: linear-gradient(180deg, #fbfdff, var(--surface-soft));
}

p[role="status"],
.messages {
  border-left-color: #3b82f6;
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .08);
}

.errorlist {
  border: 1px solid #fecaca;
}

code:not(pre code) {
  padding: .15rem .38rem;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  color: #334155;
}

@media (min-width: 721px) {
  body { padding-top: 30px; }
  nav { min-height: 52px; }
}

@media (max-width: 720px) {
  body::before { margin-left: 4px; }
  h1 { padding-bottom: 10px; }
  nav { background: rgba(255, 255, 255, .96); }
  section:hover { box-shadow: var(--shadow-soft); }
}

@media (prefers-reduced-motion: reduce) {
  nav a, section, button, input[type="submit"], tbody tr { transition: none !important; }
  nav a:hover, button:hover, input[type="submit"]:hover { transform: none !important; }
}


/* PHASE134_UX_OPERATIONAL */
.quick-actions { background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.96)); border-color: rgba(13,148,136,.20); }
.quick-actions h2 { margin-bottom: 16px; }
.quick-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.quick-action { display: flex; min-height: 108px; flex-direction: column; justify-content: center; gap: 5px; padding: 16px; border: 1px solid #dbe8e7; border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 4px 16px rgba(15,23,42,.05); color: var(--text); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.quick-action strong { color: #0f766e; font-size: 1rem; }
.quick-action span { color: var(--muted); font-size: .88rem; font-weight: 500; line-height: 1.4; }
.quick-action:hover { transform: translateY(-1px); border-color: rgba(13,148,136,.42); box-shadow: 0 10px 24px rgba(15,23,42,.08); text-decoration: none; }
#agenda-hoy, #nuevo-paciente, #buscar-paciente, #disponibilidad { scroll-margin-top: 90px; }
@media (max-width: 720px) { .quick-action-grid { grid-template-columns: 1fr 1fr; } .quick-action { min-height: 96px; padding: 14px; } }
@media (max-width: 430px) { .quick-action-grid { grid-template-columns: 1fr; } }


/* PHASE133_MULTI_INTERVAL_AVAILABILITY */
.help-text { color: var(--muted); margin-top: -.25rem; }
.schedule-days { display: grid; gap: 14px; margin: 14px 0 18px; }
.schedule-day { border: 1px solid #dfe7f0; border-radius: 14px; padding: 14px; background: #fbfdff; }
.schedule-day-head { display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 10px; }
.schedule-day-head strong { font-size: 1.02rem; }
.interval-list { display: grid; gap: 10px; margin: 8px 0; }
.interval-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(120px,1fr) auto; gap: 10px; align-items: end; }
button.secondary { background: #eef4fb; color: #334155; box-shadow: none; }
button.secondary:hover { background: #e2ebf6; box-shadow: none; }
.add-interval { margin-top: 4px; }
@media (max-width: 720px) { .schedule-day { padding: 12px; } .schedule-day-head { align-items: stretch; } .schedule-day-head label { width: 100%; } .schedule-day-head select { width: 100%; } .interval-row { grid-template-columns: 1fr 1fr; } .interval-row button { grid-column: 1 / -1; width: 100%; } }
@media (max-width: 430px) { .interval-row { grid-template-columns: 1fr; } .interval-row button { grid-column: auto; } }


/* PHASE133_MOBILE_PROFESSIONAL_RESPONSIVE */
[hidden] { display: none !important; }
.professional-list-item { overflow: hidden; }
.professional-state-form { display: inline-block; margin-left: 8px; vertical-align: middle; max-width: 100%; }
.professional-state-form button { width: auto; max-width: 100%; }
@media (max-width: 720px) {
  .professional-state-form { display: block; width: 100%; margin: 10px 0 0; }
  .professional-state-form button { width: 100%; }
}


/* PHASE133_OVERTURN */
.checkbox-row { flex-direction: row; align-items: flex-start; gap: 10px; }
.checkbox-row input[type="checkbox"] { width: auto; min-height: 0; margin-top: 4px; flex: 0 0 auto; }
.checkbox-row span { display: grid; gap: 3px; }
.checkbox-row small { font-weight: 500; line-height: 1.4; }
.overbook-badge { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px; background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; font-size: .72rem; font-weight: 800; letter-spacing: .035em; vertical-align: middle; }

/* PHASE133_SUCCESS_BANNERS */
.message-banner.success {
  background: #ecfdf3;
  color: #14532d;
  border-left: 6px solid #16a34a;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(21, 128, 61, .18), 0 2px 6px rgba(21, 128, 61, .10), inset 0 0 0 1px rgba(34, 197, 94, .16);
  font-weight: 700;
  padding: 13px 16px;
  margin: 14px 0 18px;
}
.message-banner.success::before {
  content: "\2713 ";
  font-weight: 800;
  margin-right: 4px;
}
.message-banner.warning {
  background: #fffbeb;
  color: #92400e;
  border-left: 6px solid #f59e0b;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(180, 83, 9, .16), 0 2px 6px rgba(180, 83, 9, .08), inset 0 0 0 1px rgba(245, 158, 11, .16);
  font-weight: 700;
  padding: 13px 16px;
  margin: 14px 0 18px;
}

/* PATIENT_DETAIL_MODERN_UI_20260814 */
body.patient-detail-page { max-width: none; padding: 22px clamp(14px,3vw,32px) 38px; }
body.patient-detail-page::before { display:none; }
.patient-shell { max-width: 1040px; margin: 0 auto; }
.patient-brandbar { display:flex; align-items:center; justify-content:space-between; margin:0 4px 18px; }
.patient-brand { display:inline-flex; align-items:center; gap:10px; color:#0b1f3a; text-decoration:none; }
.patient-brand:hover { text-decoration:none; }
.patient-brand-icon { width:42px; height:42px; display:grid; place-items:center; border:3px solid #2563eb; border-radius:9px; color:#2563eb; font-size:1.75rem; font-weight:800; line-height:1; }
.patient-brand span:last-child { display:grid; line-height:1.02; letter-spacing:.02em; }
.patient-brand strong { font-size:1.02rem; }
.patient-brand b { color:#2563eb; font-size:1.08rem; }
.patient-hero { position:relative; overflow:hidden; display:flex; align-items:center; gap:30px; min-height:190px; margin:0 0 20px; padding:32px 40px; border:0; border-radius:24px; background:linear-gradient(120deg,#0649cc 0%,#0b62e6 48%,#168cff 100%); box-shadow:0 18px 38px rgba(20,84,190,.20); color:white; }
.patient-hero:hover { border-color:transparent; box-shadow:0 18px 38px rgba(20,84,190,.20); }
.patient-avatar { flex:0 0 116px; width:116px; height:116px; display:grid; place-items:center; border:4px solid rgba(255,255,255,.92); border-radius:50%; background:linear-gradient(135deg,#fff,#e9f2ff); color:#0d55d8; font-size:2.4rem; font-weight:800; box-shadow:0 8px 24px rgba(7,45,118,.18); }
.patient-hero-copy { position:relative; z-index:1; }
.patient-hero h1 { margin:0 0 11px; padding:0; color:#fff; font-size:clamp(1.8rem,4vw,2.5rem); }
.patient-hero h1::after { display:none; }
.patient-role { display:inline-flex; align-items:center; padding:6px 13px; border-radius:10px; background:rgba(72,163,255,.52); font-weight:750; }
.patient-hero-copy p { margin:10px 0 0; color:#eaf4ff; }
.patient-heart { position:absolute; right:48px; top:30px; color:rgba(255,255,255,.15); font-size:8rem; line-height:1; transform:rotate(-5deg); }
.patient-tabs { position:static; display:flex; justify-content:space-around; gap:8px; margin:0 0 20px; padding:10px 16px; overflow-x:auto; border:1px solid #e5ebf4; border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.patient-tabs a { position:relative; gap:8px; min-height:54px; padding:10px 14px; color:#243652; font-size:.96rem; white-space:nowrap; }
.patient-tabs a span { color:#31578f; font-size:1.15rem; }
.patient-tabs a.active { color:#0d57dd; background:transparent; }
.patient-tabs a.active::after { content:""; position:absolute; left:12px; right:12px; bottom:-10px; height:3px; border-radius:99px; background:#2563eb; }
.patient-info-card,.patient-history-card { margin:0 0 18px; padding:28px; border:1px solid #e6edf6; border-radius:24px; background:rgba(255,255,255,.96); box-shadow:0 12px 30px rgba(15,23,42,.055); }
.patient-info-card:hover,.patient-history-card:hover { box-shadow:0 12px 30px rgba(15,23,42,.055); }
.patient-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 36px; }
.patient-info-item { display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; min-width:0; }
.patient-info-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:16px; background:#edf4ff; color:#0b5de7; font-size:1.45rem; }
.patient-info-item div { min-width:0; }
.patient-info-item small { display:block; margin-bottom:5px; color:#243652; font-size:.9rem; }
.patient-info-item strong { display:block; color:#0b5de7; font-size:1rem; font-weight:650; overflow-wrap:anywhere; }
.patient-info-item:nth-child(4) strong { color:#5b6b84; font-weight:500; line-height:1.45; }
.patient-stats { display:grid; grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(90px,.7fr)); align-items:center; gap:0; margin-top:26px; padding-top:20px; border-top:1px dashed #d9e3ef; }
.patient-stats-title { display:flex; gap:12px; align-items:center; color:#0d57dd; }
.patient-stats-title > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#edf4ff; }
.patient-stat { display:grid; place-items:center; min-height:58px; border-left:1px solid #d8e1ee; color:#52627a; }
.patient-stat b { color:#1558de; font-size:1.45rem; line-height:1.15; }
.patient-stat.success b,.patient-stat.success span { color:#0aaf60; }
.patient-stat.danger b,.patient-stat.danger span { color:#ed2638; }
.patient-history-card { padding:22px; }
.patient-history-head { display:flex; align-items:center; justify-content:space-between; margin:0 0 12px; }
.patient-history-head h2 { display:flex; align-items:center; gap:10px; margin:0; padding:0; border:0; font-size:1.2rem; }
.patient-history-head h2::before { display:none !important; }
.patient-history-head h2 span { color:#40597e; }
.patient-appointments { display:grid; gap:10px; }
.patient-appointment { display:grid; grid-template-columns:116px 1fr auto; align-items:center; gap:20px; min-height:104px; padding:8px 18px 8px 8px; border:1px solid #e1e8f1; border-radius:18px; background:#fff; box-shadow:0 5px 16px rgba(15,23,42,.045); }
.patient-datebox { overflow:hidden; display:grid; place-items:center; align-content:center; height:88px; border-radius:15px; background:#f4f7fb; color:#0b1f3a; }
.patient-datebox b { font-size:1.65rem; line-height:1; }
.patient-datebox span { margin:2px 0 5px; font-size:.78rem; font-weight:750; }
.patient-datebox em { width:100%; padding:4px; background:linear-gradient(90deg,#0a55de,#1889ff); color:#fff; font-style:normal; font-size:.78rem; font-weight:750; text-align:center; }
.patient-appointment.is-cancelled .patient-datebox em { background:#9aa9bd; }
.patient-appointment-main { display:grid; gap:9px; justify-items:start; }
.patient-appointment-main > strong { color:#102848; font-size:1rem; }
.patient-status { display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; background:#eef3fb; color:#34506f; font-size:.82rem; font-weight:650; }
.status-cancelado { background:#ffe8eb; color:#df2638; }
.status-atendido { background:#e7f8ef; color:#078748; }
.status-confirmado { background:#e7f2ff; color:#0d57dd; }
.patient-history-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 13px; border:1px solid #d8e5f7; border-radius:12px; background:#f3f7ff; color:#0c57dd; }
.patient-history-link:hover { text-decoration:none; background:#eaf2ff; }
.patient-history-link b { margin-left:8px; color:#70849f; font-size:1.45rem; line-height:1; }
.patient-empty { padding:28px; border:1px dashed #d7e0eb; border-radius:16px; color:#64748b; text-align:center; }
.patient-footer { display:flex; justify-content:center; align-items:center; gap:10px; padding:18px 20px; border:1px solid #e5edf7; border-radius:20px; background:#f1f6fe; color:#52647f; font-size:.86rem; text-align:center; }
.patient-footer > strong,.patient-footer strong { color:#0d57dd; }
@media (max-width:760px) {
  body.patient-detail-page { padding:14px 12px 28px; }
  .patient-brandbar { margin-bottom:12px; }
  .patient-hero { min-height:0; gap:18px; padding:24px 20px; border-radius:20px; }
  .patient-avatar { flex-basis:82px; width:82px; height:82px; font-size:1.8rem; }
  .patient-heart { right:18px; top:30px; font-size:5rem; }
  .patient-hero h1 { font-size:1.65rem; }
  .patient-tabs { justify-content:flex-start; padding:8px; border-radius:17px; }
  .patient-tabs a { min-height:48px; padding:8px 12px; }
  .patient-tabs a.active::after { bottom:-8px; }
  .patient-info-card,.patient-history-card { padding:18px 14px; border-radius:20px; }
  .patient-info-grid { grid-template-columns:1fr; gap:16px; }
  .patient-info-item { grid-template-columns:50px 1fr; }
  .patient-info-icon { width:50px; height:50px; border-radius:14px; }
  .patient-stats { grid-template-columns:1fr 1fr 1fr; row-gap:14px; }
  .patient-stats-title { grid-column:1/-1; }
  .patient-stat:first-of-type { border-left:0; }
  .patient-appointment { grid-template-columns:82px 1fr; gap:12px; padding:8px; }
  .patient-datebox { height:84px; }
  .patient-history-link { grid-column:2; justify-self:start; padding:7px 11px; min-height:38px; }
  .patient-history-link b { display:none; }
}
@media (max-width:430px) {
  .patient-brand-icon { width:36px; height:36px; font-size:1.45rem; }
  .patient-hero { align-items:flex-start; }
  .patient-avatar { flex-basis:64px; width:64px; height:64px; border-width:3px; font-size:1.5rem; }
  .patient-hero h1 { font-size:1.35rem; }
  .patient-heart { display:none; }
  .patient-stats-title { font-size:.9rem; }
  .patient-stat span { font-size:.74rem; }
  .patient-appointment-main > strong { font-size:.92rem; }
}

/* PATIENT_DETAIL_V2_20260814 */
body.patient-detail-page.patient-v2{max-width:none;padding:18px clamp(12px,3vw,28px) 34px;background:linear-gradient(180deg,#f7fbff 0,#f4f7fb 100%)}
body.patient-detail-page.patient-v2::before{display:none}.patient-v2 .patient-shell{max-width:1180px;margin:0 auto}.patient-v2 .patient-brandbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;padding:0 4px}.patient-v2 .patient-brand{display:inline-flex;align-items:center;gap:11px;color:#0b1f3a;text-decoration:none}.patient-v2 .brand-calendar{position:relative;width:42px;height:42px;border:3px solid #1167e8;border-radius:9px;display:grid;place-items:center;color:#1167e8;font-size:26px;font-weight:800;line-height:1}.patient-v2 .brand-calendar:before,.patient-v2 .brand-calendar:after{content:"";position:absolute;top:-7px;width:4px;height:10px;border-radius:4px;background:#1167e8}.patient-v2 .brand-calendar:before{left:8px}.patient-v2 .brand-calendar:after{right:8px}.patient-v2 .brand-copy{display:grid;line-height:.95;font-size:1.02rem;letter-spacing:.02em}.patient-v2 .brand-copy b{color:#2176ef;margin-top:5px}
.patient-v2 .patient-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:190px;margin:0 0 20px;padding:30px 38px;border:0;border-radius:24px;background:linear-gradient(120deg,#0745c8 0%,#0b62e6 52%,#168cff 100%);box-shadow:0 18px 40px rgba(20,84,190,.18);color:#fff}.patient-v2 .patient-hero:after{content:"";position:absolute;right:-70px;bottom:-100px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 67%)}.patient-v2 .patient-avatar{position:relative;z-index:1;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#e8f2ff);border:3px solid rgba(255,255,255,.86);color:#0c5ddf;font-size:2.5rem;font-weight:800;box-shadow:0 10px 24px rgba(0,45,130,.18)}.patient-v2 .patient-hero-copy{position:relative;z-index:1}.patient-v2 .patient-hero h1{margin:0 0 12px;padding:0;color:#fff;font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.035em}.patient-v2 .patient-hero h1:after{display:none}.patient-v2 .patient-role{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:12px;background:rgba(255,255,255,.13);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);font-weight:750}.patient-v2 .patient-hero-copy p{margin:12px 0 0;color:#edf6ff;font-size:1rem}.patient-v2 .hero-heart{position:relative;z-index:1;font-size:3.2rem;font-weight:300;color:rgba(255,255,255,.55)}
.patient-v2 .patient-tabs{position:static;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(135px,1fr);gap:4px;margin:0 0 20px;padding:8px;border:1px solid #e3eaf3;border-radius:20px;background:#fff;box-shadow:0 9px 26px rgba(15,23,42,.07);overflow-x:auto}.patient-v2 .patient-tabs a{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:10px 14px;border-radius:14px;color:#18304f;font-size:.98rem;font-weight:750;white-space:nowrap;text-decoration:none}.patient-v2 .patient-tabs a:hover{background:#f5f9ff;color:#0b63df}.patient-v2 .patient-tabs a.active{color:#0b63df;background:#f2f7ff}.patient-v2 .patient-tabs a.active:after{content:"";position:absolute;left:18%;right:18%;bottom:-8px;height:4px;border-radius:999px;background:#1778ff}
.patient-v2 .patient-info-card,.patient-v2 .patient-history-card{margin:0 0 18px;padding:26px;border:1px solid #e4ebf4;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.065)}.patient-v2 .patient-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 38px}.patient-v2 .patient-info-item{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;min-width:0}.patient-v2 .patient-info-icon{width:54px;height:54px;border-radius:15px;background:#eef5ff;display:grid;place-items:center;color:#0b63df}.patient-v2 .patient-info-item small{display:block;margin-bottom:3px;color:#64748b;font-size:.88rem}.patient-v2 .patient-info-item strong{display:block;color:#0d2b50;font-size:1.02rem;overflow-wrap:anywhere}.patient-v2 .patient-info-item:nth-child(1) strong,.patient-v2 .patient-info-item:nth-child(2) strong{color:#0964df}.patient-v2 .patient-stats{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(3,1fr);align-items:stretch;margin-top:26px;padding-top:20px;border-top:1px solid #e7edf5}.patient-v2 .patient-stats-title,.patient-v2 .patient-stat{min-height:82px;display:flex;align-items:center;justify-content:center}.patient-v2 .patient-stats-title{justify-content:flex-start;gap:10px;padding:0 16px;color:#0b63df;background:#f4f8ff;border-radius:14px}.patient-v2 .patient-stat{flex-direction:column;border-left:1px solid #dfe7f1}.patient-v2 .patient-stat b{color:#0b63df;font-size:1.9rem;line-height:1}.patient-v2 .patient-stat span{margin-top:6px;color:#52637a}.patient-v2 .patient-stat.success b,.patient-v2 .patient-stat.success span{color:#0b9b50}.patient-v2 .patient-stat.danger b,.patient-v2 .patient-stat.danger span{color:#e11d48}
.patient-v2 .patient-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.patient-v2 .patient-history-head h2{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0;color:#0d2b50;font-size:1.25rem}.patient-v2 .patient-history-head h2:before{display:none}.patient-v2 .patient-appointments{display:grid;gap:10px}.patient-v2 .patient-appointment{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:20px;padding:8px 12px 8px 8px;border:1px solid #e2e9f3;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.045)}.patient-v2 .patient-datebox{overflow:hidden;min-height:92px;border-radius:14px;display:grid;grid-template-rows:auto auto 26px;align-content:center;text-align:center;background:linear-gradient(180deg,#f7faff,#eef5ff)}.patient-v2 .patient-datebox b{font-size:1.75rem;line-height:1;color:#0d2b50}.patient-v2 .patient-datebox span{margin:2px 0 5px;color:#155fd3;font-size:.8rem;font-weight:800}.patient-v2 .patient-datebox em{display:grid;place-items:center;background:#1268e7;color:#fff;font-size:.86rem;font-style:normal;font-weight:750}.patient-v2 .is-cancelled .patient-datebox{opacity:.68}.patient-v2 .is-cancelled .patient-datebox em{background:#94a3b8}.patient-v2 .patient-appointment-main{display:grid;gap:8px;justify-items:start}.patient-v2 .patient-appointment-main strong{color:#102d52;font-size:1.06rem}.patient-v2 .patient-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#eef5ff;color:#155fd3;font-size:.86rem;font-weight:750}.patient-v2 .status-cancelado{background:#fff0f3;color:#e11d48}.patient-v2 .status-atendido{background:#ecfdf3;color:#0b8f49}.patient-v2 .status-confirmado{background:#edfdf8;color:#087f5b}.patient-v2 .patient-history-link{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;border-radius:12px;background:#f3f7ff;color:#0b63df;text-decoration:none;font-weight:750}.patient-v2 .patient-history-link b{font-size:1.7rem;line-height:1;color:#526b88}.patient-v2 .patient-footer{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;padding:15px 18px;border:1px solid #e2eaf4;border-radius:18px;background:#f3f7ff;color:#53677f;text-align:left;font-size:.88rem}.patient-v2 .patient-footer strong{color:#0b63df}.patient-v2 .shield-icon{width:30px;height:34px;display:grid;place-items:center;border:2px solid #1572ed;border-radius:45% 45% 55% 55%;color:#1572ed;font-weight:900}
.patient-v2 .ui-icon,.patient-v2 .patient-info-icon{position:relative;flex:0 0 auto}.patient-v2 .ui-icon{width:22px;height:22px}.patient-v2 .user-icon:before{content:"";position:absolute;left:7px;top:2px;width:7px;height:7px;border:2px solid currentColor;border-radius:50%}.patient-v2 .user-icon:after{content:"";position:absolute;left:3px;bottom:1px;width:15px;height:8px;border:2px solid currentColor;border-radius:9px 9px 3px 3px}.patient-v2 .grid-icon:before{content:"";position:absolute;inset:2px;border:2px solid currentColor;border-radius:3px;box-shadow:9px 0 0 -7px currentColor,0 9px 0 -7px currentColor,9px 9px 0 -7px currentColor}.patient-v2 .calendar-icon:before{content:"";position:absolute;inset:3px 2px 2px;border:2px solid currentColor;border-radius:4px}.patient-v2 .calendar-icon:after{content:"+";position:absolute;right:-2px;bottom:-4px;width:13px;height:13px;display:grid;place-items:center;border-radius:50%;background:currentColor;color:white;font-size:10px}.patient-v2 .edit-icon:before{content:"";position:absolute;left:9px;top:2px;width:5px;height:18px;border:2px solid currentColor;border-radius:4px;transform:rotate(42deg)}.patient-v2 .file-icon:before{content:"";position:absolute;left:4px;top:2px;width:13px;height:17px;border:2px solid currentColor;border-radius:3px}.patient-v2 .chart-icon:before{content:"â–¥";position:absolute;inset:0;display:grid;place-items:center;font-size:22px}.patient-v2 .phone-icon:before{content:"â˜Ž";font-size:26px}.patient-v2 .mail-icon:before{content:"âœ‰";font-size:25px}.patient-v2 .coverage-icon:before{content:"â˜‚";font-size:25px}.patient-v2 .patient-info-icon:before{position:absolute;inset:0;display:grid;place-items:center;color:#0b63df}
@media(max-width:760px){body.patient-detail-page.patient-v2{padding:12px 10px 28px}.patient-v2 .patient-brandbar{margin-bottom:10px}.patient-v2 .patient-hero{grid-template-columns:86px minmax(0,1fr);gap:16px;min-height:0;padding:20px 18px;border-radius:20px}.patient-v2 .patient-avatar{width:86px;height:86px;font-size:1.9rem}.patient-v2 .hero-heart{display:none}.patient-v2 .patient-hero h1{font-size:1.55rem}.patient-v2 .patient-role{padding:6px 10px}.patient-v2 .patient-hero-copy p{margin-top:8px;font-size:.9rem}.patient-v2 .patient-tabs{grid-auto-columns:minmax(128px,1fr);margin-bottom:14px;border-radius:17px}.patient-v2 .patient-tabs a{min-height:52px;padding:9px 10px;font-size:.92rem}.patient-v2 .patient-info-card,.patient-v2 .patient-history-card{padding:18px 15px;border-radius:18px}.patient-v2 .patient-info-grid{grid-template-columns:1fr;gap:16px}.patient-v2 .patient-info-item{grid-template-columns:46px 1fr;gap:12px}.patient-v2 .patient-info-icon{width:46px;height:46px;border-radius:13px}.patient-v2 .patient-stats{grid-template-columns:1fr 1fr 1fr;margin-top:20px;padding-top:16px}.patient-v2 .patient-stats-title{grid-column:1/-1;min-height:48px;margin-bottom:10px}.patient-v2 .patient-stat{min-height:68px}.patient-v2 .patient-stat b{font-size:1.55rem}.patient-v2 .patient-appointment{grid-template-columns:76px minmax(0,1fr) auto;gap:11px;padding:7px}.patient-v2 .patient-datebox{min-height:80px}.patient-v2 .patient-datebox b{font-size:1.45rem}.patient-v2 .patient-history-link{padding:8px 10px}.patient-v2 .patient-history-link>span:not(.ui-icon){display:none}.patient-v2 .patient-history-link .ui-icon{display:none}.patient-v2 .patient-footer{font-size:.8rem}}
@media(max-width:430px){.patient-v2 .brand-calendar{width:36px;height:36px}.patient-v2 .brand-copy{font-size:.88rem}.patient-v2 .patient-hero{grid-template-columns:72px minmax(0,1fr);padding:17px 14px}.patient-v2 .patient-avatar{width:72px;height:72px;font-size:1.55rem}.patient-v2 .patient-hero h1{font-size:1.32rem}.patient-v2 .patient-hero-copy p{font-size:.84rem}.patient-v2 .patient-tabs{grid-auto-columns:minmax(118px,1fr)}.patient-v2 .patient-appointment{grid-template-columns:68px minmax(0,1fr) 34px}.patient-v2 .patient-datebox{min-height:74px}.patient-v2 .patient-datebox b{font-size:1.28rem}.patient-v2 .patient-appointment-main strong{font-size:.95rem}.patient-v2 .patient-status{font-size:.78rem;padding:4px 8px}.patient-v2 .patient-history-link{min-width:34px;width:34px;padding:0;justify-content:center;background:transparent}.patient-v2 .patient-history-link b{font-size:1.55rem}}

/* TURN_HISTORY_HOMOGENEO_20260814 */
.turn-history-page main{max-width:1040px;margin:0 auto}.brand-kicker{font-size:.82rem;font-weight:800;letter-spacing:.18em;color:#2563eb;margin:2px 0 12px}.turn-history-page h1{margin-bottom:22px}.turn-history-nav{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;margin-bottom:22px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.turn-history-nav a{padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:700}.turn-history-nav a:first-child{background:#eff6ff;color:#2563eb}.turn-history-summary,.turn-history-card{background:#fff;border:1px solid #e3eaf4;border-radius:22px;box-shadow:0 12px 32px rgba(15,23,42,.06)}.turn-history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:24px;margin-bottom:20px}.turn-history-summary>div{padding:4px 22px;border-right:1px solid #e5eaf1}.turn-history-summary>div:first-child{padding-left:0}.turn-history-summary>div:last-child{border:0}.turn-history-summary small{display:block;color:#64748b;margin-bottom:7px}.turn-history-summary strong{display:block;color:#102445}.turn-history-card{padding:24px}.turn-history-card h2{margin:0;font-size:1.25rem}.turn-history-help{color:#64748b;margin:6px 0 20px}.turn-history-list{border:1px solid #e1e8f2;border-radius:16px;overflow:hidden}.turn-history-event{position:relative;display:flex;gap:16px;padding:20px;border-bottom:1px solid #e5eaf1}.turn-history-event:last-child{border-bottom:0}.turn-history-dot{width:18px;height:18px;flex:0 0 18px;margin-top:2px;border:4px solid #dbeafe;border-radius:50%;background:#2563eb}.turn-history-event-body{min-width:0;flex:1}.turn-history-event-head{display:flex;justify-content:space-between;gap:15px}.turn-history-event-head time{color:#64748b;font-size:.9rem}.turn-history-event p{margin:7px 0;color:#64748b}.turn-history-change{display:inline-flex;gap:9px;align-items:center;background:#eff6ff;color:#1d4ed8;padding:7px 11px;border-radius:10px}.turn-history-change span{color:#64748b}.turn-history-note{display:flex;gap:12px;align-items:center;margin-top:16px;padding:15px 18px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e40af}.turn-history-note span{color:#475569}@media(max-width:700px){.turn-history-page main{max-width:none}.turn-history-summary{grid-template-columns:1fr 1fr;padding:18px}.turn-history-summary>div{padding:10px 12px;border:0;border-bottom:1px solid #edf1f6}.turn-history-summary>div:first-child{padding-left:12px}.turn-history-summary>div:nth-last-child(-n+2){border-bottom:0}.turn-history-card{padding:18px}.turn-history-event{padding:16px 14px;gap:11px}.turn-history-event-head{display:block}.turn-history-event-head time{display:block;margin-top:4px}.turn-history-note{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:420px){.turn-history-summary{grid-template-columns:1fr}.turn-history-summary>div,.turn-history-summary>div:nth-last-child(-n+2){border-bottom:1px solid #edf1f6}.turn-history-summary>div:last-child{border-bottom:0}.turn-history-nav a{flex:1;text-align:center;padding:11px 8px}}

/* COMMERCIAL_SIMPLE_UI_20260815 */
body.commercial-page{max-width:none;padding:20px clamp(12px,3vw,30px) 40px;background:linear-gradient(180deg,#f7fbff,#f3f6fb)}
body.commercial-page::before{display:none}.commercial-shell{max-width:1050px;margin:0 auto}.commercial-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.commercial-topbar h1{margin:3px 0 4px;color:#102848;font-size:clamp(1.7rem,4vw,2.35rem)}.commercial-topbar p{margin:0;color:#64748b}.commercial-kicker{display:block;color:#2563eb;font-size:.74rem;font-weight:850;letter-spacing:.16em}.commercial-back{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #dce7f5;border-radius:12px;background:#fff;color:#155fd3;font-weight:750;text-decoration:none}.commercial-hero-card,.commercial-included,.commercial-current,.commercial-status-card{margin-bottom:18px;border:1px solid #e2eaf4;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}.commercial-hero-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;padding:28px}.commercial-hero-copy{align-self:center}.commercial-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eaf2ff;color:#155fd3;font-size:.78rem;font-weight:800}.commercial-hero-copy h2{margin:12px 0 8px;color:#102848;font-size:1.5rem}.commercial-hero-copy p{margin:0;color:#64748b;line-height:1.55}.quote-builder{display:grid;gap:14px}.quote-field{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px}.quote-field span{font-weight:800;color:#1e3656}.quote-field small{grid-column:1;color:#64748b}.quote-field input{grid-column:2;grid-row:1/3;width:120px;min-height:48px;border:1px solid #cfdbea;border-radius:12px;background:#fbfdff;text-align:center;font-size:1.08rem;font-weight:800}.quote-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-option{position:relative;display:flex;align-items:center;gap:10px;min-height:72px;padding:12px;border:1px solid #dfe7f1;border-radius:14px;background:#fbfdff;cursor:pointer}.quote-option input{position:absolute;opacity:0;pointer-events:none}.quote-option-copy{display:grid;gap:3px;flex:1}.quote-option-copy strong{color:#173251;font-size:.92rem}.quote-option-copy small{color:#64748b;font-size:.78rem}.quote-check{width:24px;height:24px;display:grid;place-items:center;border:2px solid #c8d6e8;border-radius:7px;color:transparent;font-weight:900}.quote-option:has(input:checked){border-color:#8cb7f1;background:#f2f7ff}.quote-option:has(input:checked) .quote-check{border-color:#2563eb;background:#2563eb;color:#fff}.quote-summary{overflow:hidden;border:1px solid #dfe7f1;border-radius:16px;background:#fff}.quote-summary-row,.quote-total{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid #edf1f6}.quote-summary-row span{color:#64748b}.quote-summary-row strong{color:#102848}.quote-total{align-items:center;border:0;background:#0d5fdd;color:#fff}.quote-total span{font-weight:750}.quote-total strong{font-size:1.45rem}.quote-service-note{display:block;padding:9px 14px;background:#f8fbff;color:#64748b}.quote-refresh{min-height:46px;border-radius:12px;background:#edf4ff;color:#155fd3;box-shadow:none}.quote-error{margin:0;color:#b91c1c;font-weight:700}.commercial-included,.commercial-current,.commercial-status-card{padding:24px}.commercial-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.commercial-section-head h2{margin:3px 0 0;color:#102848;font-size:1.25rem}.commercial-price-chip{padding:8px 12px;border-radius:999px;background:#ecfdf3;color:#087f5b;font-size:.9rem}.commercial-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.commercial-feature-grid article{display:flex;gap:11px;padding:14px;border:1px solid #e5ebf4;border-radius:14px;background:#fbfdff}.commercial-feature-grid article>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e7f8ef;color:#0a8b4d;font-weight:900}.commercial-feature-grid article div{display:grid;gap:3px}.commercial-feature-grid strong{color:#173251}.commercial-feature-grid small{color:#64748b}.current-plan-card{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #e1e8f2;border-radius:16px}.current-plan-card>div{display:grid;gap:5px;padding:16px;border-right:1px solid #e7edf5}.current-plan-card>div:last-child{border:0}.current-plan-card small,.commercial-status-grid small{color:#64748b}.current-plan-card strong,.commercial-status-grid strong{color:#102848}.current-plan-total{background:#f2f7ff}.current-plan-total strong{color:#0d5fdd;font-size:1.2rem}.commercial-status-card h2{margin:0 0 15px;color:#102848;font-size:1.2rem}.commercial-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.commercial-status-grid>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f8fafc}.commercial-safe-note{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#f0f7ff;color:#365675;font-size:.88rem}
@media(max-width:760px){.commercial-topbar{align-items:flex-start;flex-direction:column}.commercial-hero-card{grid-template-columns:1fr;padding:20px}.quote-options,.commercial-feature-grid{grid-template-columns:1fr}.current-plan-card,.commercial-status-grid{grid-template-columns:1fr 1fr}.current-plan-card>div{border-right:0;border-bottom:1px solid #e7edf5}.current-plan-card>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:430px){body.commercial-page{padding:12px 10px 28px}.commercial-hero-card,.commercial-included,.commercial-current,.commercial-status-card{border-radius:18px}.quote-field{grid-template-columns:1fr}.quote-field input{grid-column:1;grid-row:auto;width:100%}.commercial-section-head{align-items:flex-start;flex-direction:column}.current-plan-card,.commercial-status-grid{grid-template-columns:1fr}.current-plan-card>div:nth-last-child(-n+2){border-bottom:1px solid #e7edf5}.current-plan-card>div:last-child{border-bottom:0}}

/* REMINDERS_V1_COMMERCIAL_UI_20260815 */
body.notification-page{max-width:none;padding:20px clamp(12px,3vw,30px) 40px;background:linear-gradient(180deg,#f7fbff,#f3f6fb)}
body.notification-page::before{display:none}.notification-shell{max-width:1120px;margin:0 auto}.notification-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.notification-topbar h1{margin:3px 0 4px;color:#102848;font-size:clamp(1.7rem,4vw,2.35rem)}.notification-topbar p{margin:0;color:#64748b}.notification-kicker{display:block;color:#2563eb;font-size:.74rem;font-weight:850;letter-spacing:.16em}.notification-top-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-top-actions a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #dce7f5;border-radius:12px;background:#fff;color:#155fd3;font-weight:750;text-decoration:none}
.notification-hero,.notification-card,.notification-diagnostics{margin-bottom:18px;border:1px solid #e2eaf4;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}.notification-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;padding:26px}.notification-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#ecfdf3;color:#087f5b;font-size:.78rem;font-weight:800}.notification-hero h2{margin:12px 0 8px;color:#102848}.notification-hero p{margin:0;color:#64748b;line-height:1.55}.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.channel-grid article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e5ebf4;border-radius:14px;background:#fbfdff}.channel-grid article div{display:grid;gap:3px}.channel-grid strong{color:#173251}.channel-grid small{color:#64748b}.channel-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px #f1f5f9}.channel-dot.is-ready{background:#2563eb;box-shadow:0 0 0 5px #eff6ff}.channel-dot.is-live{background:#16a34a;box-shadow:0 0 0 5px #ecfdf3}
.notification-card{padding:24px}.notification-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.notification-section-head h2{margin:3px 0 0;color:#102848;font-size:1.25rem}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.78rem;font-weight:800}.status-pill.ok{background:#ecfdf3;color:#087f5b}.status-pill.off{background:#f1f5f9;color:#64748b}.notification-help{margin:-2px 0 16px;color:#64748b}.policy-form{display:grid;gap:14px}.notification-toggle{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #e2e9f2;border-radius:14px;background:#fbfdff}.notification-toggle input{width:20px;min-height:20px;margin-top:2px;flex:0 0 20px}.notification-toggle span{display:grid;gap:3px}.notification-toggle strong{color:#173251}.notification-toggle small{color:#64748b;font-weight:500}.notification-toggle.compact{padding:10px 12px}.policy-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.policy-times>label{display:grid;gap:7px;padding:13px;border:1px solid #e2e9f2;border-radius:14px;background:#fff}.policy-times>label>span{font-weight:800;color:#173251}.policy-times>label>div{display:grid;grid-template-columns:minmax(90px,140px) 1fr;align-items:center;gap:8px}.policy-times input{width:100%}.policy-times small{color:#64748b}.policy-targets{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.notification-table-wrap{overflow-x:auto;border:1px solid #e1e8f2;border-radius:16px}.notification-table{margin:0;border:0;box-shadow:none;white-space:nowrap}.notification-table th{padding:11px 12px}.notification-table td{padding:11px 12px}.channel-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#155fd3;font-size:.78rem;font-weight:750}.notification-empty{padding:22px;color:#64748b;text-align:center}.failure-list{display:grid;gap:10px}.failure-item{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;align-items:end;gap:16px;padding:14px;border:1px solid #e5ebf4;border-radius:14px;background:#fbfdff}.failure-item>div{display:grid;gap:5px}.failure-item small{color:#64748b}.failure-item form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin:0}.failure-item form label{display:grid;gap:5px}.failure-item button{width:auto}
.notification-diagnostics{overflow:hidden}.notification-diagnostics summary{cursor:pointer;padding:18px 22px;color:#173251;font-weight:800}.notification-diagnostics[open] summary{border-bottom:1px solid #e7edf5}.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.diagnostic-grid article{padding:14px;border:1px solid #e5ebf4;border-radius:14px;background:#fbfdff}.diagnostic-grid h3{margin:0 0 9px;color:#173251}.diagnostic-grid p{margin:5px 0;color:#64748b}
@media(max-width:760px){.notification-topbar{align-items:flex-start;flex-direction:column}.notification-hero{grid-template-columns:1fr;padding:20px}.channel-grid,.policy-times,.policy-targets,.diagnostic-grid{grid-template-columns:1fr}.failure-item{grid-template-columns:1fr}.failure-item form{grid-template-columns:1fr}.failure-item button{width:100%}.notification-card{padding:18px}.notification-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){body.notification-page{padding:12px 10px 28px}.notification-hero,.notification-card,.notification-diagnostics{border-radius:18px}.channel-grid{grid-template-columns:1fr}.notification-top-actions{width:100%}.notification-top-actions a{flex:1;justify-content:center}.policy-times>label>div{grid-template-columns:1fr}.notification-section-head{gap:8px}}


/* PUBLIC_COMMERCIAL_SIGNUP_V1_20260815 */
.auth-page { max-width: 1180px; }
.auth-shell { width: min(760px, 100%); margin: 0 auto; }
.auth-shell-wide { width: min(1040px, 100%); }
.auth-heading { margin-bottom: 20px; }
.auth-heading .eyebrow, .eyebrow { margin: 0 0 6px; color: var(--primary-strong); font-size: .74rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.auth-heading h1 { margin-bottom: 8px; }
.auth-card, .signup-cta, .plan-section, .quote-card { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: var(--shadow-soft); }
.auth-card { padding: clamp(20px, 4vw, 34px); }
.auth-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 14px; margin: 0; }
.auth-form p { margin: 0; }
.auth-form p label { min-width: 0; }
.auth-links { margin-top: 18px; padding-top: 16px; border-top: 1px solid #edf1f6; }
.signup-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding: 22px 26px; }
.signup-cta h2 { margin-bottom: 6px; }
.signup-cta p { margin: 0; color: var(--muted); }
.button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 11px; background: var(--primary); color: white; text-decoration: none; white-space: nowrap; box-shadow: 0 4px 12px rgba(37,99,235,.18); }
.button-link:hover { background: var(--primary-strong); color: white; text-decoration: none; }
.registration-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 0; }
.registration-form label { min-width: 0; }
.full-row { grid-column: 1 / -1; }
.form-actions { display: flex; align-items: center; gap: 16px; padding-top: 4px; }
.commercial-stepper { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.commercial-stepper span { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: .82rem; font-weight: 750; }
.commercial-stepper .active { border-color: #93c5fd; background: #eff6ff; color: var(--primary-strong); }
.commercial-stepper .done { border-color: #bbf7d0; background: #f0fdf4; color: var(--success); }
.plan-form { display: grid; gap: 16px; margin: 0; }
.plan-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 24px; padding: clamp(20px,3vw,28px); align-items: start; }
.plan-section h2 { margin-bottom: 7px; }
.section-copy p:not(.eyebrow) { margin: 0; color: var(--muted); }
.quantity-field { min-width: 0; }
.option-grid, .payment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.option-card, .payment-card { min-width: 0; flex-direction: row; align-items: flex-start; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; cursor: pointer; }
.option-card:has(input:checked), .payment-card:has(input:checked) { border-color: #93c5fd; background: #eff6ff; box-shadow: 0 0 0 2px rgba(37,99,235,.08); }
.option-card input, .payment-card input { width: auto; min-height: 0; margin-top: 3px; }
.option-card span, .payment-card span { display: grid; gap: 3px; }
.option-card small, .payment-card small { font-weight: 500; }
.safe-note { grid-column: 1 / -1; margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; background: #f0fdf4; color: #166534; font-size: .9rem; }
.quote-card { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 22px 26px; position: sticky; bottom: 12px; z-index: 5; }
.quote-card h2 { margin: 0 0 3px; font-size: clamp(1.8rem,4vw,2.4rem); color: var(--brand-ink); }
.quote-card p { margin: 0; }
.message-banner.error, p[role="alert"] { padding: 11px 14px; border-left: 4px solid var(--danger); border-radius: 8px; background: #fef2f2; color: var(--danger); }
@media (max-width: 760px) {
  .auth-form, .registration-form, .plan-section, .option-grid, .payment-grid { grid-template-columns: 1fr; }
  .signup-cta, .quote-card { align-items: stretch; flex-direction: column; }
  .button-link, .quote-card button { width: 100%; }
  .quote-card { position: static; }
  .form-actions { align-items: stretch; flex-direction: column; }
}

/* PAYMENT_PROVIDER_UI_20260815 */
.payment-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.payment-provider-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.payment-provider-card>div{display:flex;flex-direction:column;gap:3px}.payment-provider-card form{margin:0}.payment-provider-card button{white-space:nowrap}.status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:750}.status-pill.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}@media(max-width:720px){.payment-action-grid{grid-template-columns:1fr}.payment-provider-card{align-items:flex-start;flex-direction:column}.payment-provider-card form,.payment-provider-card button{width:100%}}

/* FASE258 commercial visual baseline */
.page-shell{max-width:1180px;margin:0 auto;padding:28px 18px 56px}.page-shell nav{margin-bottom:18px}.page-shell section{background:#fff;border:1px solid #e2e7f0;border-radius:16px;padding:20px;margin:18px 0;box-shadow:0 8px 28px rgba(24,39,75,.05)}.page-shell table{width:100%;border-collapse:collapse}.page-shell th,.page-shell td{padding:10px 8px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.page-shell input,.page-shell select,.page-shell textarea{min-height:42px;border:1px solid #cfd6e2;border-radius:10px;padding:8px 10px;box-sizing:border-box}.page-shell button,.page-shell .button{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer}.status-ok{font-weight:700;color:#166534}.status-review{font-weight:700;color:#9a3412}.operator-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.operator-flow a{display:block;padding:16px;border:1px solid #dfe5ef;border-radius:14px;text-decoration:none;background:#fff}.operator-flow small{display:block;margin-top:5px;color:#64748b}@media(max-width:720px){.page-shell{padding:18px 10px 40px}.page-shell section{padding:14px;overflow-x:auto}}

/* FASE268 notification priority cues */
.priority-vence_pronto{border-left:4px solid #ea580c;background:#fffaf5}.priority-hoy{border-left:4px solid #2563eb}.priority-manana{border-left:4px solid #16a34a}.priority-proximo{border-left:4px solid #94a3b8}



/* FASE269 reminders today visual refinement */
.reminders-today-page{min-height:100vh}.reminders-topbar{align-items:center}.reminders-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.overview-card{position:relative;overflow:hidden;display:grid;gap:4px;padding:18px;border:1px solid #e2eaf4;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.overview-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.overview-card.pending:before{background:#ea580c}.overview-card.reviewed:before{background:#16a34a}.overview-card.upcoming:before{background:#2563eb}.overview-card.included:before{background:#7c3aed}.overview-label{color:#64748b;font-size:.77rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.overview-card strong{color:#102848;font-size:1.65rem;line-height:1.15}.overview-card small{color:#64748b}.reminders-filter-card{padding:16px 18px}.reminders-filter{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px;margin:0}.reminders-filter label{display:grid;gap:6px}.reminders-filter label>span{color:#173251;font-size:.86rem;font-weight:800}.reminders-filter select{min-height:44px;border:1px solid #cfdbea;border-radius:11px;background:#fff;padding:8px 11px}.reminders-filter-actions{display:flex;gap:8px}.reminders-filter-actions button,.secondary-action{min-height:44px}.secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #d9e5f4;border-radius:11px;background:#f5f8fc;color:#315473;font-weight:750;text-decoration:none;box-shadow:none}.secondary-action:hover{background:#edf3fa;text-decoration:none}.reminders-pending-card{border-color:#f0dfd3}.reminders-pending-card .notification-section-head{padding-bottom:4px}.reminder-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 16px}.reminder-main{display:flex;align-items:center;gap:13px;min-width:0}.reminder-copy{display:grid;gap:3px;min-width:0}.reminder-copy strong{overflow:hidden;color:#102848;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.reminder-copy>span{color:#315473;font-size:.84rem;font-weight:750}.reminder-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-row form{display:block}.reminder-row form button{min-height:42px;white-space:nowrap}.priority-vence_pronto{border-left:4px solid #ea580c;background:#fffaf5}.priority-hoy{border-left:4px solid #2563eb;background:#fbfdff}.priority-manana{border-left:4px solid #16a34a;background:#fbfffc}.priority-proximo{border-left:4px solid #94a3b8;background:#fbfcfe}.priority-vence_pronto .status-pill{background:#fff1e8;color:#b9470b}.priority-hoy .status-pill{background:#eff6ff;color:#155fd3}.priority-manana .status-pill{background:#ecfdf3;color:#087f5b}.priority-proximo .status-pill{background:#f1f5f9;color:#52647a}.reminders-reviewed-card .notification-table tbody tr:hover,.reminders-upcoming-card .notification-table tbody tr:hover{background:#f8fbff}.reminders-safe-note{display:flex;align-items:flex-start;gap:9px;margin:2px 0 0;padding:13px 15px;border:1px solid #cfe2ff;border-radius:14px;background:#f1f7ff;color:#42607e;font-size:.9rem}.reminders-safe-note strong{color:#155fd3;white-space:nowrap}
@media(max-width:860px){.reminders-overview{grid-template-columns:1fr 1fr}.reminders-filter{grid-template-columns:1fr}.reminders-filter-actions{justify-content:flex-start}.reminder-row{grid-template-columns:1fr}.reminder-row form button{width:100%}}
@media(max-width:520px){.reminders-overview{grid-template-columns:1fr}.overview-card{padding:15px}.reminders-filter-actions{display:grid;grid-template-columns:1fr}.reminders-filter-actions>*{width:100%}.reminder-main{align-items:flex-start;flex-direction:column;gap:8px}.reminder-copy strong,.reminder-copy small{white-space:normal}.reminders-safe-note{flex-direction:column}.notification-table th,.notification-table td{padding:10px}.reminders-topbar .notification-top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}}
/* FASE270 notification module visual cohesion */
.notification-primary-link{background:#155fd3!important;color:#fff!important;border-color:#155fd3!important;box-shadow:0 6px 16px rgba(21,95,211,.16)}
.notification-primary-link:hover{background:#0f4fb5!important;color:#fff!important}
.notification-hero-link{margin-top:15px!important}.notification-hero-link a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border-radius:10px;background:#eef5ff;color:#155fd3;font-weight:800;text-decoration:none}.notification-hero-link a:hover{background:#e1edff;text-decoration:none}
.dashboard-reminders-card{border:1px solid #d8e7fb!important;border-radius:18px!important;background:linear-gradient(135deg,#f9fcff,#eef6ff)!important;box-shadow:0 10px 26px rgba(37,99,235,.07)!important}
.dashboard-reminders-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.dashboard-reminders-head h2{margin:3px 0 5px;color:#102848}.dashboard-reminders-head p{margin:0;color:#64748b}.dashboard-reminders-cta{min-width:150px;display:grid;gap:2px;padding:14px 17px;border:1px solid #c9ddf8;border-radius:15px;background:#fff;color:#155fd3;text-decoration:none;text-align:center;box-shadow:0 5px 16px rgba(15,23,42,.05)}.dashboard-reminders-cta:hover{text-decoration:none;background:#f8fbff}.dashboard-reminders-cta strong{font-size:1.7rem;line-height:1;color:#102848}.dashboard-reminders-cta span{font-weight:800}.dashboard-reminders-cta small{color:#64748b}.dashboard-reminders-list{margin:16px 0 0;padding:14px 0 0 20px;border-top:1px solid #dfeafb}.dashboard-reminders-list li{margin:7px 0}
@media(max-width:620px){.dashboard-reminders-head{grid-template-columns:1fr}.dashboard-reminders-cta{width:100%;box-sizing:border-box}.notification-top-actions .notification-primary-link{order:-1;width:100%;justify-content:center}}

/* FASE271 DASHBOARD VISUAL COHESION */
body.dashboard-page{max-width:none;padding:20px clamp(12px,3vw,30px) 42px;background:linear-gradient(180deg,#f7fbff,#f3f6fb);color:#16304f}
body.dashboard-page::before{display:none}.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:26px 30px;border-radius:24px;background:linear-gradient(120deg,#0b4bc6,#0d67e7 58%,#1692ff);box-shadow:0 16px 36px rgba(20,84,190,.16);color:#fff}.dashboard-hero h1{margin:3px 0 5px;color:#fff;font-size:clamp(1.8rem,4vw,2.45rem)}.dashboard-hero p{margin:0;color:#eaf4ff}.dashboard-kicker{display:block;color:#2563eb;font-size:.72rem;font-weight:850;letter-spacing:.15em}.dashboard-hero .dashboard-kicker{color:#d7eaff}.dashboard-hero-status{display:grid;gap:3px;min-width:130px;padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.11);text-align:center}.dashboard-hero-status span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.dashboard-hero-status strong{font-size:1.05rem}
.dashboard-nav{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;padding:9px;border:1px solid #e1e9f3;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.dashboard-nav a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border-radius:10px;color:#315473;text-decoration:none;font-weight:700}.dashboard-nav a:hover{background:#eef5ff;color:#155fd3;text-decoration:none}.dashboard-nav{font-size:0}.dashboard-nav a{font-size:.9rem}
.dashboard-card,.dashboard-page .quick-actions{margin:16px 0;padding:22px;border:1px solid #e2eaf4;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(15,23,42,.055)}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.dashboard-section-head h2{margin:3px 0 0;color:#102848;font-size:1.25rem}.setup-progress{display:grid;place-items:center;min-width:64px;height:44px;padding:0 10px;border-radius:13px;background:#eff6ff;color:#155fd3;font-size:1.15rem}.setup-summary{margin:0 0 14px;color:#64748b}.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.setup-step{position:relative;display:grid;grid-template-columns:13px 1fr;gap:2px 9px;padding:12px;border:1px solid #e6ebf2;border-radius:13px;background:#fbfdff}.setup-step>span{grid-row:1/3;width:10px;height:10px;margin-top:4px;border-radius:50%;background:#f59e0b}.setup-step.done>span{background:#16a34a}.setup-step.blocked>span{background:#94a3b8}.setup-step strong{color:#173251;font-size:.9rem}.setup-step small{color:#64748b}.reception-card h2{margin-top:0}.operator-flow a{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.operator-flow a:hover{transform:translateY(-1px);border-color:#b8d3f7;box-shadow:0 8px 18px rgba(15,23,42,.055)}
.agenda-filter{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin:0 0 14px}.agenda-filter label{display:grid;gap:6px}.agenda-filter label>span{font-size:.82rem;font-weight:800;color:#315473}.agenda-filter input,.agenda-filter select{min-height:44px;border:1px solid #cfdbea;border-radius:11px;padding:8px 10px;background:#fff}.agenda-filter button{min-height:44px}.agenda-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.agenda-stats article{display:grid;gap:3px;padding:13px 15px;border:1px solid #e5ebf4;border-radius:14px;background:#f8fbff}.agenda-stats span{color:#64748b;font-size:.78rem;font-weight:750}.agenda-stats strong{color:#102848;font-size:1.5rem}.agenda-stats .confirmed{background:#f0fdf4}.agenda-stats .confirmed strong{color:#0a8b4d}.agenda-stats .pending{background:#fffaf0}.agenda-stats .pending strong{color:#b76a00}.agenda-stats .cancelled{background:#fff5f6}.agenda-stats .cancelled strong{color:#d62f47}.agenda-list,.upcoming-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.agenda-row,.upcoming-list li{padding:13px 14px;border:1px solid #e4eaf2;border-radius:13px;background:#fbfdff}.agenda-row>a{display:inline-flex;margin-left:8px}.agenda-row form{margin-left:8px}.agenda-row select{min-height:36px;border:1px solid #d5deea;border-radius:9px}.agenda-row button{min-height:36px;padding:7px 10px}.upcoming-card{background:linear-gradient(180deg,#fff,#fbfdff)}.upcoming-list li{color:#315473}.subscription-card h2{margin-top:0}.dashboard-reminders-list{list-style:none;padding-left:0}.dashboard-reminders-list li{padding:10px 0;border-bottom:1px solid #dfeafb}.dashboard-reminders-list li:last-child{border-bottom:0}
@media(max-width:820px){.setup-steps{grid-template-columns:1fr 1fr}.agenda-filter{grid-template-columns:1fr 1fr}.agenda-filter button{grid-column:1/-1}.agenda-stats{grid-template-columns:1fr 1fr}.dashboard-hero{align-items:flex-start}.dashboard-nav{overflow-x:auto;flex-wrap:nowrap}.dashboard-nav a{white-space:nowrap}}
@media(max-width:520px){body.dashboard-page{padding:12px 10px 28px}.dashboard-hero{align-items:flex-start;flex-direction:column;padding:21px 18px;border-radius:20px}.dashboard-hero-status{width:100%;box-sizing:border-box}.dashboard-card,.dashboard-page .quick-actions{padding:16px;border-radius:17px}.setup-steps,.agenda-filter,.agenda-stats{grid-template-columns:1fr}.agenda-filter button{grid-column:auto}.dashboard-section-head{align-items:flex-start}.agenda-row{display:grid;gap:8px}.agenda-row>a,.agenda-row form{margin-left:0}.agenda-row form{display:grid!important;grid-template-columns:1fr auto;gap:7px}.dashboard-reminders-list li{display:grid;gap:7px}.dashboard-reminders-list form{display:block!important}.dashboard-reminders-list button{width:100%}}
/* FASE272 appointment and calendar UX */
body.appointment-page,body.calendar-page{max-width:none;padding:20px clamp(12px,3vw,30px) 40px;background:linear-gradient(180deg,#f7fbff,#f3f6fb)}
body.appointment-page::before,body.calendar-page::before{display:none}.appointment-shell,.calendar-shell{max-width:1120px;margin:0 auto}.appointment-topbar,.calendar-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.appointment-topbar h1,.calendar-topbar h1{margin:3px 0 4px;color:#102848;font-size:clamp(1.7rem,4vw,2.35rem)}.appointment-topbar p,.calendar-topbar p{margin:0;color:#64748b}.appointment-kicker{display:block;color:#2563eb;font-size:.74rem;font-weight:850;letter-spacing:.16em}.appointment-actions{display:flex;gap:8px;flex-wrap:wrap}.appointment-actions a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #dce7f5;border-radius:12px;background:#fff;color:#155fd3;font-weight:750;text-decoration:none}.appointment-actions .primary-action{background:#155fd3;color:#fff;border-color:#155fd3}.appointment-card,.calendar-card{padding:24px;border:1px solid #e2eaf4;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}.appointment-form{display:grid;gap:18px;margin:0}.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appointment-grid label,.overbook-option>label,.reschedule-reason{display:grid;gap:6px}.appointment-grid label>span,.overbook-option>label>span,.reschedule-reason>span,.calendar-filter label>span{color:#173251;font-size:.86rem;font-weight:800}.appointment-grid input,.appointment-grid select,.appointment-grid textarea,.overbook-option input,.calendar-filter input,.calendar-filter select{width:100%;min-height:46px;border:1px solid #cfdbea;border-radius:11px;background:#fff;padding:9px 11px;box-sizing:border-box}.appointment-grid textarea{resize:vertical}.appointment-grid small,.overbook-option small{color:#64748b}.appointment-full{grid-column:1/-1}.overbook-option{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;border:1px solid #fed7aa;border-radius:16px;background:#fffaf5}.overbook-option .checkbox-row{display:flex;align-items:flex-start;gap:11px}.overbook-option .checkbox-row input{width:20px;min-height:20px;margin-top:2px;flex:0 0 20px}.overbook-option .checkbox-row span{display:grid;gap:4px}.appointment-submit{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.appointment-submit button,.appointment-submit a{min-width:140px;min-height:44px}.calendar-controls{padding:16px 18px;margin-bottom:14px}.calendar-filter{display:grid;grid-template-columns:.7fr .8fr 1.2fr auto;align-items:end;gap:12px;margin:0}.calendar-filter label{display:grid;gap:6px}.calendar-filter button{min-height:46px}.calendar-period{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:14px;padding:13px 16px;border:1px solid #e1e8f2;border-radius:16px;background:#fff}.calendar-period>a{font-weight:750}.calendar-period>div{display:grid;gap:3px;text-align:center}.calendar-period small{color:#64748b}.calendar-period strong{color:#102848}.calendar-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.calendar-summary article{display:grid;gap:3px;padding:14px;border:1px solid #e5ebf4;border-radius:14px;background:#fff}.calendar-summary span{color:#64748b;font-size:.78rem;font-weight:750}.calendar-summary strong{color:#102848;font-size:1.45rem}.calendar-week{margin-bottom:16px}.calendar-week h2{margin-top:0}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.calendar-day{min-width:0;border:1px solid #e4eaf2;border-radius:14px;background:#fbfdff;overflow:hidden}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 11px;border-bottom:1px solid #e7edf5;background:#f5f8fc;color:#173251}.calendar-day.is-today{border-color:#93c5fd;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.calendar-day.is-today>header{background:#eff6ff;color:#155fd3}.calendar-day>header span{padding:3px 7px;border-radius:999px;background:#155fd3;color:#fff;font-size:.68rem;font-weight:800}.calendar-day ul{list-style:none;margin:0;padding:8px;display:grid;gap:7px}.calendar-event{display:grid;gap:7px;padding:9px;border:1px solid #e3eaf3;border-radius:11px;background:#fff}.calendar-event>div{display:grid;gap:3px;min-width:0}.calendar-event strong{color:#102848;font-size:.84rem}.calendar-event span,.calendar-event small{overflow:hidden;text-overflow:ellipsis}.calendar-event small{color:#64748b}.calendar-event nav{display:flex;gap:8px}.calendar-event nav a{font-size:.78rem;font-weight:750}.calendar-empty{padding:11px;color:#94a3b8;text-align:center;font-size:.82rem}
@media(max-width:900px){.calendar-days{grid-template-columns:repeat(2,1fr)}.calendar-filter{grid-template-columns:1fr 1fr}.calendar-filter button{grid-column:1/-1}.calendar-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body.appointment-page,body.calendar-page{padding:12px 10px 28px}.appointment-topbar,.calendar-topbar{align-items:flex-start;flex-direction:column}.appointment-actions{width:100%}.appointment-actions a{flex:1;justify-content:center}.appointment-card,.calendar-card{padding:16px;border-radius:18px}.appointment-grid,.overbook-option,.calendar-filter,.calendar-days,.calendar-summary{grid-template-columns:1fr}.appointment-full{grid-column:auto}.appointment-submit{display:grid;grid-template-columns:1fr}.appointment-submit button,.appointment-submit a{width:100%;box-sizing:border-box}.calendar-filter button{grid-column:auto}.calendar-period{grid-template-columns:1fr 1fr}.calendar-period>div{grid-column:1/-1;grid-row:1;text-align:left}.calendar-period>a:last-child{text-align:right}}


/* PHASE273_GLOBAL_VISUAL_COHESION */
body.legacy-page{max-width:none;padding:20px clamp(12px,3vw,30px) 42px;background:linear-gradient(180deg,#f7fbff,#f3f6fb)}
body.legacy-page::before{display:none}
.legacy-page>h1,.legacy-page>nav,.legacy-page>section,.legacy-page>form,.legacy-page>p,.legacy-page>ul,.legacy-page>dl,.legacy-page>table,.legacy-page>article,.legacy-page>details{max-width:1120px;margin-left:auto;margin-right:auto}
.legacy-page>h1{margin-bottom:18px;padding:0;color:#102848;font-size:clamp(1.7rem,4vw,2.25rem)}
.legacy-page>h1:after{display:none}
.legacy-page>nav{margin-bottom:18px;border-radius:15px;background:rgba(255,255,255,.94)}
.legacy-page>section,.legacy-page>form:not([style]){border:1px solid #e2eaf4;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(15,23,42,.055)}
.legacy-page>section{padding:22px}
.legacy-page>form:not([style]){padding:20px}
.legacy-page section>h2:first-child,.legacy-page>h2{color:#102848}
.legacy-page form{gap:12px}
.legacy-page label{gap:6px;color:#28415f;font-weight:750}
.legacy-page input,.legacy-page select,.legacy-page textarea{border-color:#cfdbea;border-radius:11px;background:#fbfdff}
.legacy-page button{border-radius:11px}
.legacy-page dl{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr;gap:0;overflow:hidden;border:1px solid #e3eaf3;border-radius:15px;background:#fff}
.legacy-page dt,.legacy-page dd{margin:0;padding:11px 13px;border-bottom:1px solid #edf1f6}
.legacy-page dt{color:#52647a;font-weight:800;background:#f8fafc}.legacy-page dd{color:#173251}
.legacy-page dt:last-of-type,.legacy-page dd:last-of-type{border-bottom:0}
.legacy-page table{border-radius:15px;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.legacy-page table tbody tr:hover{background:#f8fbff}
.legacy-page section>ul>li,.legacy-page section>ol>li{border-color:#e3eaf3;border-radius:12px;background:#fbfdff}
.legacy-page article{padding:14px;border:1px solid #e3eaf3;border-radius:14px;background:#fbfdff}
.legacy-page code{overflow-wrap:anywhere}
.legacy-page .section-status,.legacy-page .message-banner{max-width:1120px;margin-left:auto;margin-right:auto}
/* Shared visual helpers for older operational screens */
.legacy-page .professional-list-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.legacy-page .professional-state-form{display:inline-flex;margin:0}
.legacy-page .professional-state-form button{min-height:36px;padding:7px 10px}
.legacy-page .schedule-days{display:grid;gap:12px;width:100%}.legacy-page .schedule-day{padding:16px;border:1px solid #e3eaf3;border-radius:14px;background:#fbfdff}.legacy-page .schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.legacy-page .interval-list{display:grid;gap:8px}.legacy-page .interval-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px}.legacy-page .add-interval{margin-top:8px}
.legacy-page .help-text{color:#64748b}
@media(max-width:760px){body.legacy-page{padding:12px 10px 30px}.legacy-page>section,.legacy-page>form:not([style]){padding:16px;border-radius:17px}.legacy-page dl{grid-template-columns:1fr}.legacy-page dt{border-bottom:0;padding-bottom:4px}.legacy-page dd{padding-top:4px}.legacy-page .interval-row{grid-template-columns:1fr}.legacy-page .schedule-day-head{align-items:flex-start;flex-direction:column}.legacy-page .professional-state-form{width:100%}.legacy-page .professional-state-form button{width:100%}}

/* PHASE274_INTERNAL_OPERATIONS_POLISH */
body.operations-page::before{display:none}.operations-page{max-width:none;padding:20px clamp(12px,3vw,30px) 44px}.operations-page>h1,.operations-page>nav,.operations-page>section,.operations-page>form,.operations-page>p,.operations-page>ul,.operations-page>h2{max-width:1180px;margin-left:auto;margin-right:auto}.operations-page>h1{margin-bottom:12px}.operations-page>nav{margin-bottom:18px}.operations-page>section{border-radius:18px}.operations-page>form{padding:18px;border:1px solid #e2eaf4;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.operations-page section>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operations-page section>form label:has(textarea),.operations-page section>form .schedule-days,.operations-page section>form button:last-child{grid-column:1/-1}.operations-page #listado-pacientes ul,.operations-page #disponibilidad ul{display:grid;gap:9px}.operations-page #listado-pacientes li,.operations-page #disponibilidad li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.operations-page .professional-state-form{display:inline-flex!important;margin:0;padding:0;border:0;box-shadow:none;background:transparent}.operations-page .professional-state-form button{min-height:34px;padding:6px 10px}.security-settings-page>p{max-width:760px}.security-settings-page>form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.security-settings-page>form button{grid-column:1/-1}.equipo-page>h2,.configuracion-inicial-page>h2{max-width:1180px;margin-top:22px}.configuracion-inicial-page>.schedule-form{max-width:1180px}.configuracion-inicial-page>.schedule-form .schedule-days{grid-column:1/-1}.configuracion-inicial-page>.schedule-form>button{grid-column:1/-1}.equipo-page code{display:block;overflow-wrap:anywhere;margin-top:6px;padding:10px 12px;border-radius:10px;background:#f6f8fb}.equipo-page>ul{list-style:none;padding:0;display:grid;gap:8px}.equipo-page>ul li{padding:12px 14px;border:1px solid #e5eaf1;border-radius:12px;background:#fff}
@media(max-width:700px){.operations-page{padding:12px 10px 30px}.operations-page section>form,.security-settings-page>form{grid-template-columns:1fr}.operations-page section>form label:has(textarea),.operations-page section>form button:last-child,.security-settings-page>form button{grid-column:auto}.operations-page #listado-pacientes li,.operations-page #disponibilidad li{align-items:flex-start;flex-direction:column}}


/* PHASE276_FINE_UX */
body.caja-page::before{display:none}.caja-shell{max-width:1180px;margin:0 auto;padding:0 0 44px}.caja-shell>h1{margin-bottom:8px}.caja-shell>p:first-of-type{color:#64748b}.caja-shell section{border-radius:18px}.caja-shell fieldset{min-width:220px;padding:14px;border:1px solid #e1e8f2;border-radius:14px;background:#fbfdff}.caja-shell legend{padding:0 6px;color:#173251;font-weight:800}.caja-shell .quote-summary{margin:14px 0}.caja-shell table th{white-space:nowrap}.caja-shell nav{margin-bottom:18px}.caja-shell form>button{align-self:end}.operations-page form>button,.appointment-submit button,.reminders-filter-actions button{font-weight:800}.dashboard-page .upcoming-card .dashboard-kicker,.reminders-upcoming-card .notification-kicker{letter-spacing:.1em}.operations-page section>h2,.caja-shell section>h2{font-size:1.18rem}@media(max-width:640px){.caja-shell fieldset{min-width:0;width:100%}.caja-shell table{font-size:.88rem}}



/* FASE286 - CALENDARIO DE DISPONIBILIDAD EN NUEVO TURNO */
.appointment-shell{max-width:1460px}
.appointment-workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:24px;align-items:start}
.appointment-fields{display:grid;gap:13px}
.appointment-fields label{display:grid;gap:6px}
.appointment-fields label>span{color:#173251;font-size:.86rem;font-weight:800}
.appointment-fields input,.appointment-fields select,.appointment-fields textarea{width:100%;min-height:46px;border:1px solid #cfdbea;border-radius:11px;background:#fff;padding:9px 11px;box-sizing:border-box}
.appointment-fields textarea{resize:vertical}
.appointment-fields small{color:#64748b}
.appointment-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.appointment-availability{min-width:0;padding:18px;border:1px solid #d9e6f6;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f6faff)}
.availability-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.availability-header h2{margin:3px 0 4px;color:#102848;font-size:1.18rem}
.availability-header p{margin:0;color:#64748b;font-size:.86rem}
.availability-kicker{color:#2563eb;font-size:.67rem;font-weight:850;letter-spacing:.13em}
.availability-range{flex:0 0 auto;padding:8px 10px;border-radius:10px;background:#eaf3ff;color:#155fd3;font-size:.82rem;font-weight:850}
.availability-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}
.availability-controls button{min-height:38px;padding:7px 9px;border:1px solid #cbdcf2;border-radius:10px;background:#fff;color:#155fd3;font-size:.8rem;font-weight:800}
.availability-controls button:hover{background:#edf5ff}
.availability-legend{display:flex;flex-wrap:wrap;gap:14px;margin:7px 0;color:#52647a;font-size:.78rem}
.availability-legend span{display:inline-flex;align-items:center;gap:6px}
.availability-legend i{width:9px;height:9px;border-radius:50%}
.availability-legend .is-free{background:#16a34a}
.availability-legend .is-busy{background:#e87979}
.availability-status{margin:10px 0;padding:9px 11px;border-radius:10px;background:#eef5ff;color:#315473;font-size:.84rem}
.availability-status.is-loading{color:#155fd3}
.availability-status.is-error{background:#fff1f2;color:#b4233c}
.availability-status.is-success{background:#ecfdf3;color:#08783e}
.availability-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:590px;overflow:auto;padding-right:4px}
.availability-day{min-width:0;overflow:hidden;border:1px solid #dfe8f3;border-radius:13px;background:#fff}
.availability-day-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-bottom:1px solid #e5ebf3;background:#f4f8fd}
.availability-day-header div{display:flex;align-items:baseline;gap:7px}
.availability-day-header strong{color:#102848;font-size:.9rem}
.availability-day-header span,.availability-day-header small{color:#64748b;font-size:.74rem}
.availability-day-header small{padding:3px 7px;border-radius:999px;background:#eaf7ef;color:#08783e;font-weight:800}
.availability-group-title{margin:10px 10px 6px;color:#52647a;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.availability-occupied-list{display:grid;gap:5px;padding:0 9px}
.availability-occupied{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-left:3px solid #e87979;border-radius:8px;background:#fff3f4;font-size:.76rem}
.availability-occupied strong{color:#9f2638}
.availability-occupied span{overflow:hidden;color:#263f5b;text-overflow:ellipsis;white-space:nowrap}
.availability-occupied small{color:#8b5b62}
.availability-occupied.is-current{border-left-color:#2563eb;background:#eef5ff}
.availability-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0 9px 10px}
.availability-slot{min-width:0;min-height:32px;padding:5px;border:1px solid #a9d6b8;border-radius:8px;background:#f0fdf4;color:#08783e;font-size:.76rem;font-weight:850}
.availability-slot:hover{border-color:#16a34a;background:#dcfce7}
.availability-slot.is-selected{border-color:#155fd3;background:#155fd3;color:#fff;box-shadow:0 0 0 2px rgba(21,95,211,.16)}
.availability-empty{grid-column:1/-1;margin:0;padding:9px;color:#94a3b8;text-align:center;font-size:.8rem}
@media(max-width:1050px){.appointment-workspace{grid-template-columns:1fr}.appointment-fields{grid-template-columns:1fr 1fr}.appointment-fields>label:last-child{grid-column:1/-1}.appointment-availability{order:2}.availability-days{max-height:none}}
@media(max-width:700px){.appointment-fields,.appointment-date-row,.availability-days{grid-template-columns:1fr}.appointment-fields>label:last-child{grid-column:auto}.availability-header{display:grid}.availability-range{justify-self:start}.availability-controls{grid-template-columns:1fr}.availability-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.availability-occupied{grid-template-columns:auto minmax(0,1fr)}.availability-occupied small{grid-column:2}}


/* FASE287 - CALENDARIO COMPACTO EN LA SUPERFICIE DERECHA */
.appointment-workspace{grid-template-columns:minmax(300px,350px) minmax(0,1fr);gap:18px}
.appointment-availability{height:430px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding:13px 14px}
.availability-header{margin-bottom:7px}
.availability-header h2{margin:2px 0;font-size:1.08rem}
.availability-header p{font-size:.8rem}
.availability-controls{margin-bottom:6px}
.availability-controls button{min-height:34px;padding:5px 8px}
.availability-legend{margin:4px 0 6px}
.availability-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:6px}
.availability-day-tab{position:relative;display:grid;place-items:center;gap:1px;min-width:0;min-height:43px;padding:4px 2px;border:1px solid #d5e1ef;border-radius:9px;background:#fff;color:#52647a}
.availability-day-tab strong{font-size:.72rem;text-transform:uppercase}
.availability-day-tab span{font-size:.68rem}
.availability-day-tab small{position:absolute;top:2px;right:3px;display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#eaf7ef;color:#08783e;font-size:.68rem;font-weight:900}
.availability-day-tab:hover{border-color:#93bdf2;background:#f5f9ff}
.availability-day-tab.is-active{border-color:#155fd3;background:#155fd3;color:#fff;box-shadow:0 0 0 2px rgba(21,95,211,.12)}
.availability-day-tab.is-active small{background:#fff;color:#155fd3}
.availability-status{flex:0 0 auto;margin:0 0 6px;padding:6px 9px;font-size:.77rem}
.availability-days{display:block;flex:1;min-height:0;max-height:none;overflow:hidden;padding:0}
.availability-day{height:100%;display:flex;flex-direction:column}
.availability-day-header{flex:0 0 auto;padding:7px 9px}
.availability-day-content{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.45fr);gap:0;flex:1;min-height:0;overflow:hidden}
.availability-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 8px 8px}
.availability-column+.availability-column{border-left:1px solid #e5ebf3}
.availability-column .availability-group-title{flex:0 0 auto;margin:7px 1px 5px}
.availability-column .availability-occupied-list,.availability-column .availability-slots{min-height:0;overflow:auto;padding:0 2px 2px}
.availability-column .availability-occupied-list{display:grid;align-content:start;gap:5px}
.availability-column .availability-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));align-content:start;gap:5px}
.availability-column .availability-empty{padding:8px 3px}
@media(min-width:781px) and (max-width:1050px){
  .appointment-workspace{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}
  .appointment-fields{grid-template-columns:1fr}
  .appointment-fields>label:last-child{grid-column:auto}
  .appointment-availability{order:initial}
  .availability-days{max-height:none}
  .availability-day-content{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr)}
}
@media(max-width:780px){
  .appointment-workspace{grid-template-columns:1fr}
  .appointment-availability{height:auto;min-height:430px}
  .availability-day-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .availability-day-content{grid-template-columns:1fr}
  .availability-column+.availability-column{border-left:0;border-top:1px solid #e5ebf3}
  .availability-days{overflow:visible}
  .availability-day{height:auto}
  .availability-day-content{overflow:visible}
  .availability-column{overflow:visible}
  .availability-column .availability-occupied-list,.availability-column .availability-slots{overflow:visible}
}/* FASE326 - Agenda del dÃ­a operativa - UI simplificada */
.agenda-help{margin:4px 0 0;color:#64748b}.agenda-cash-status{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#9a4d00;font-size:.8rem;font-weight:800;text-decoration:none}.agenda-cash-status.is-open{border-color:#bbf7d0;background:#f0fdf4;color:#087443}.agenda-stats-six{grid-template-columns:repeat(6,1fr)}.agenda-stats .attended{background:#f0fdf4}.agenda-stats .attended strong{color:#087443}.agenda-stats .absent{background:#f8fafc}.agenda-stats .absent strong{color:#475569}.agenda-operational-list{gap:12px}.agenda-operational-row{display:grid;gap:10px;padding:16px 18px;border-left:4px solid #cbd5e1}.agenda-operational-row.status-confirmado{border-left-color:#16a34a}.agenda-operational-row.status-atendido{border-left-color:#0f9f6e}.agenda-operational-row.status-pendiente{border-left-color:#f59e0b}.agenda-operational-row.status-ausente{border-left-color:#64748b}.agenda-operational-row.status-cancelado{border-left-color:#e11d48;opacity:.82}.agenda-turn-head{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px}.agenda-turn-time{display:grid;place-items:center;min-height:52px;border-radius:12px;background:#eff6ff;color:#155fd3;font-size:1.2rem;font-weight:900}.agenda-turn-main{display:grid;gap:2px;min-width:0}.agenda-turn-main strong{color:#102848;font-size:1.02rem}.agenda-turn-main span{color:#315473}.agenda-turn-main small{color:#64748b}.agenda-status-badge{padding:6px 10px;border-radius:999px;background:#eef2f7;color:#334155;font-size:.75rem;font-weight:850}.agenda-primary-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-top:2px}.agenda-primary-actions form{margin:0}.agenda-primary-actions button{min-height:35px;padding:7px 11px}.agenda-primary-actions a{font-size:.82rem;font-weight:800}.agenda-action-confirm{background:#ecfdf5!important;color:#087443!important;border:1px solid #bbf7d0!important;box-shadow:none!important}.agenda-action-absent{background:#fff!important;color:#475569!important;border:1px solid #cbd5e1!important;box-shadow:none!important}.agenda-more-actions{width:max-content;max-width:100%;font-size:.82rem}.agenda-more-actions>summary{cursor:pointer;color:#64748b;font-weight:750}.agenda-state-form{display:grid;grid-template-columns:minmax(200px,280px) auto;align-items:end;gap:8px;margin-top:8px;padding:10px;border:1px solid #e7edf5;border-radius:10px;background:#f8fafc}.agenda-state-form label{display:grid;gap:5px}.agenda-state-form label span{color:#315473;font-size:.76rem;font-weight:800}.agenda-state-form select{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #cfdbea;border-radius:10px;background:#fff;padding:7px 9px}.agenda-attention-panel{margin-top:2px;border:1px solid #dce7f5;border-radius:13px;background:#f8fbff;overflow:hidden}.agenda-attention-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none;color:#155fd3}.agenda-attention-panel>summary::-webkit-details-marker{display:none}.agenda-attention-panel>summary>span{display:grid;gap:2px}.agenda-attention-panel>summary small{color:#64748b;font-weight:500}.agenda-attention-panel>summary>b{font-size:1.2rem}.agenda-attention-panel[open]>summary{border-bottom:1px solid #dce7f5;background:#fff}.agenda-attention-panel[open]>summary>b{transform:rotate(45deg)}.agenda-attention-body{padding:14px}.agenda-attention-form{display:grid;gap:12px}.attention-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:12px;border:1px solid #e1e8f2;border-radius:11px;background:#fff}.attention-group legend{padding:0 6px;color:#173251;font-size:.82rem;font-weight:850}.attention-group label{display:grid;gap:5px}.attention-group label span{color:#315473;font-size:.76rem;font-weight:800}.attention-group input,.attention-group select{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #cfdbea;border-radius:10px;background:#fff;padding:7px 9px}.attention-group .attention-concept{grid-column:1/-1}.agenda-cash-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#7c4a03}.agenda-cash-warning>div{display:grid;gap:2px}.agenda-cash-warning span{font-size:.82rem}.agenda-cash-warning a{white-space:nowrap;font-weight:850}.agenda-attention-submit{display:flex;align-items:center;gap:12px;justify-content:flex-end}.agenda-attention-submit a{font-size:.82rem;font-weight:800}.coverage-quick-add{margin:10px 0 0;padding:0;border:0;background:transparent}.coverage-quick-add>summary{cursor:pointer;color:#155fd3;font-size:.8rem;font-weight:800}.coverage-quick-add form{display:grid;grid-template-columns:1fr 180px auto;align-items:end;gap:9px;margin-top:9px;padding:10px;border:1px dashed #c9d8ea;border-radius:10px;background:#fff}.coverage-quick-add label{display:grid;gap:5px}.coverage-quick-add label span{color:#315473;font-size:.74rem;font-weight:800}.coverage-quick-add input,.coverage-quick-add select{width:100%;min-height:38px;box-sizing:border-box;border:1px solid #cfdbea;border-radius:9px;background:#fff;padding:7px 9px}.agenda-attention-saved{margin-top:2px;padding:0;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;overflow:hidden}.agenda-attention-saved>summary{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;color:#087443}.agenda-attention-saved>summary span{color:#315473;font-size:.82rem}.agenda-attention-saved-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 13px 13px}.agenda-attention-saved-grid>div{display:grid;gap:2px}.agenda-attention-saved-grid span{color:#64748b;font-size:.72rem;font-weight:750}.agenda-attention-saved-grid b{color:#173251;font-size:.84rem}.agenda-overbook{font-size:.82rem;color:#7c2d12}.agenda-empty{padding:18px;text-align:center;color:#64748b}
@media(max-width:980px){.agenda-stats-six{grid-template-columns:repeat(3,1fr)}.agenda-attention-saved-grid{grid-template-columns:1fr 1fr}.coverage-quick-add form{grid-template-columns:1fr 1fr}.coverage-quick-add button{grid-column:1/-1}}
@media(max-width:620px){.agenda-stats-six,.attention-group,.agenda-attention-saved-grid,.coverage-quick-add form{grid-template-columns:1fr}.agenda-turn-head{grid-template-columns:62px 1fr}.agenda-status-badge{grid-column:1/-1;justify-self:start}.agenda-state-form{grid-template-columns:1fr}.attention-group .attention-concept{grid-column:auto}.agenda-attention-submit{display:grid;justify-content:stretch}.agenda-attention-submit button{width:100%}.agenda-cash-warning{align-items:flex-start;flex-direction:column}.agenda-attention-saved>summary{display:grid}}

/* FASE326_COVERAGE_UX */
.coverage-inline-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.coverage-inline-actions .coverage-quick-add{margin:0;flex:0 1 520px}.coverage-manage-link{font-size:.82rem;font-weight:800;text-decoration:none}.coverage-admin-shell{max-width:1050px}.coverage-admin-nav{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.coverage-admin-head{margin-bottom:16px}.coverage-admin-head h1{margin:4px 0}.coverage-admin-head p{margin:0;color:#64748b}.coverage-admin-card{margin:14px 0;padding:18px;border:1px solid #e2eaf4;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}.coverage-admin-card h2{margin-top:0}.coverage-admin-add{display:grid;grid-template-columns:1fr 220px auto;gap:10px;align-items:end}.coverage-admin-add label,.coverage-admin-row label{display:grid;gap:5px}.coverage-admin-add label span,.coverage-admin-row label span{font-size:.76rem;color:#315473;font-weight:800}.coverage-admin-add input,.coverage-admin-add select,.coverage-admin-row input,.coverage-admin-row select{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #cfdbea;border-radius:10px;background:#fff;padding:7px 9px}.coverage-admin-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.coverage-admin-title span{color:#64748b;font-size:.82rem}.coverage-admin-list{display:grid;gap:9px}.coverage-admin-row{display:grid;grid-template-columns:minmax(220px,1fr) 190px 150px auto;gap:10px;align-items:end;padding:12px;border:1px solid #e4eaf2;border-radius:13px;background:#fbfdff}.coverage-admin-row.is-inactive{opacity:.7;background:#f8fafc}.coverage-admin-row button{min-height:40px}@media(max-width:760px){.coverage-admin-add,.coverage-admin-row{grid-template-columns:1fr}.coverage-admin-row button{width:100%}}

/* FASE326 quick coverage always visible */
.coverage-inline-visible{align-items:flex-end}.coverage-inline-visible .coverage-quick-add{flex:1 1 760px}.coverage-quick-label{margin:0 0 6px;color:#173251;font-size:.8rem;font-weight:850}.coverage-inline-visible .coverage-quick-add form{margin-top:0}.coverage-inline-visible .coverage-manage-link{margin-bottom:9px;white-space:nowrap}

/* F326 coverage inline positioning */
.coverage-inline-editor{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(180px,1fr) 170px auto auto;gap:9px;align-items:end;margin-top:2px;padding:10px;border:1px dashed #c9d8ea;border-radius:10px;background:#f8fbff}.coverage-inline-editor-title{align-self:center;color:#315473;font-size:.78rem;font-weight:850;white-space:nowrap}.coverage-inline-editor label{display:grid;gap:5px}.coverage-inline-editor label span{color:#315473;font-size:.74rem;font-weight:800}.coverage-inline-editor input,.coverage-inline-editor select{width:100%;min-height:38px;box-sizing:border-box;border:1px solid #cfdbea;border-radius:9px;background:#fff;padding:7px 9px}.coverage-inline-editor button{min-height:38px}.coverage-inline-editor .coverage-manage-link{align-self:center;white-space:nowrap}.coverage-external-form{display:none}@media(max-width:980px){.coverage-inline-editor{grid-template-columns:1fr 1fr}.coverage-inline-editor-title,.coverage-inline-editor .coverage-manage-link{grid-column:1/-1}.coverage-inline-editor button{grid-column:1/-1}}@media(max-width:620px){.coverage-inline-editor{grid-template-columns:1fr}.coverage-inline-editor-title,.coverage-inline-editor .coverage-manage-link,.coverage-inline-editor button{grid-column:auto}}

/* PRE-UAT_VISUAL_REVIEW_20260822 */
.availability-controls,
.calendar-event nav {
  position: static;
  top: auto;
  z-index: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: inherit;
}
.availability-controls { overflow: visible; }
.calendar-event nav { margin: 0; overflow: visible; flex-wrap: wrap; }
@media (max-width: 720px), (pointer: coarse) {
  button, input[type=submit],
  input:not([type=checkbox]):not([type=radio]), select, textarea,
  nav a, .agenda-cash-status, .patient-history-link, .notification-hero-link a, .commercial-back {
    min-height: 44px;
  }
}


/* SETTINGS_HUB_NAV_REORGANIZATION_20260823 */

body.settings-page::before{display:none}.settings-page{max-width:none;padding:24px clamp(12px,3vw,34px) 48px}.settings-shell{max-width:1120px;margin:0 auto}.settings-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.settings-topbar h1{margin:3px 0 4px;color:#102848;font-size:clamp(1.8rem,4vw,2.45rem)}.settings-topbar p{margin:0;color:#64748b}.settings-kicker{display:block;color:#2563eb;font-size:.72rem;font-weight:850;letter-spacing:.15em}.settings-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #dce7f5;border-radius:12px;background:#fff;color:#155fd3;font-weight:750;text-decoration:none}.settings-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:18px;padding:22px 24px;border:1px solid #dbe7f5;border-radius:20px;background:linear-gradient(120deg,#f8fbff,#eef6ff);box-shadow:0 9px 28px rgba(15,23,42,.045)}.settings-intro h2{margin:0 0 5px;color:#102848;font-size:1.3rem}.settings-intro p{margin:0;max-width:760px;color:#52647a}.settings-progress{min-width:132px;display:grid;place-items:center;gap:1px;padding:13px 16px;border-radius:15px;background:#fff;color:#315473;text-align:center;box-shadow:0 5px 16px rgba(15,23,42,.05)}.settings-progress strong{color:#155fd3;font-size:1.55rem;line-height:1}.settings-progress span{font-weight:800}.settings-progress small{color:#64748b}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.settings-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:132px;padding:18px;border:1px solid #e0e8f2;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 22px rgba(15,23,42,.045);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.settings-card:hover{transform:translateY(-1px);border-color:#b9d4f7;box-shadow:0 12px 28px rgba(15,23,42,.07);text-decoration:none}.settings-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;color:#155fd3;font-size:.78rem;font-weight:900}.settings-card h2{margin:0 0 5px;color:#102848;font-size:1.05rem}.settings-card p{margin:0;color:#64748b;font-size:.9rem;line-height:1.45}.settings-card small{display:block;margin-top:6px;color:#52647a}.settings-card-action{color:#155fd3;font-size:.82rem;font-weight:850;white-space:nowrap}.settings-card-commercial{border-color:#cfe0f8;background:linear-gradient(135deg,#fff,#f8fbff)}.settings-card-group{align-items:start}.settings-inline-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.settings-inline-links a{display:inline-flex;min-height:36px;align-items:center;padding:6px 10px;border:1px solid #d9e5f4;border-radius:9px;background:#f8fbff;font-size:.8rem}.settings-checklist{margin-top:18px;padding:22px;border:1px solid #e2eaf4;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(15,23,42,.045)}.settings-checklist h2{margin:3px 0 14px;color:#102848}.settings-checklist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.settings-step{display:grid;grid-template-columns:12px 1fr;gap:9px;padding:11px;border:1px solid #e5eaf1;border-radius:12px;background:#fbfdff}.settings-step>span{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#f59e0b}.settings-step.done>span{background:#16a34a}.settings-step.blocked>span{background:#94a3b8}.settings-step strong,.settings-step small{display:block}.settings-step strong{color:#173251;font-size:.88rem}.settings-step small{margin-top:2px;color:#64748b}.settings-subnav{max-width:1180px;margin:0 auto 16px}.dashboard-subscription-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px!important;border-color:#fed7aa!important;background:#fffaf5!important}.dashboard-subscription-alert strong{color:#9a4d00}.dashboard-subscription-alert span{color:#6b7280}.dashboard-subscription-alert a{white-space:nowrap}.dashboard-nav{gap:6px}.dashboard-nav>a{min-height:42px}.dashboard-logout-form{display:block!important;margin:0!important}.dashboard-logout-form button{min-height:42px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:#315473;box-shadow:none;font-size:.92rem;font-weight:700}.dashboard-logout-form button:hover{background:#eff6ff;color:#155fd3}

@media(max-width:760px){.settings-page{padding:12px 10px 30px}.settings-topbar{align-items:flex-start;flex-direction:column}.settings-back{width:100%;box-sizing:border-box}.settings-intro{grid-template-columns:1fr;padding:18px}.settings-progress{width:100%;box-sizing:border-box}.settings-grid{grid-template-columns:1fr}.settings-card{min-height:0}.settings-checklist{padding:17px}.settings-checklist-grid{grid-template-columns:1fr 1fr}.dashboard-subscription-alert{grid-template-columns:1fr}.dashboard-subscription-alert a{white-space:normal}.settings-subnav{position:static!important;overflow:visible!important;flex-wrap:wrap!important}.settings-subnav a{min-height:44px}}

@media(max-width:430px){.settings-card{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px}.settings-card-icon{width:42px;height:42px}.settings-card-action{grid-column:2}.settings-checklist-grid{grid-template-columns:1fr}}
/* ELIXIR_AGENDA_COMMERCIAL_AUTH_V2_20260825 */
body.auth-page.agenda-auth-page{max-width:none;width:100%;padding:0 0 56px;margin:0;background:linear-gradient(180deg,#f7fbff 0,#f2f7fb 52%,#eef4f8 100%);color:#0d2540}
body.auth-page.agenda-auth-page::before{display:none!important;content:none!important}
.agenda-auth-topbar{position:relative;z-index:20;background:linear-gradient(135deg,#041728,#072b4a);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 30px rgba(4,23,40,.12)}
.agenda-auth-topbar-inner{width:min(1120px,92%);height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.agenda-auth-brand{display:flex;align-items:center;gap:11px;color:#fff}.agenda-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#0797ef,#22b8ff);font-weight:900;font-size:20px;box-shadow:0 9px 22px rgba(7,151,239,.28)}
.agenda-auth-brand strong,.agenda-auth-brand b{font-size:17px;letter-spacing:.01em}.agenda-auth-brand b{color:#29b8ff;margin-left:2px}.agenda-auth-brand small{display:block;margin-top:1px;color:#a9c6dc;font-size:9px;font-weight:500;letter-spacing:.04em}
.agenda-top-link{display:inline-flex;min-height:40px;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;font-size:.86rem;font-weight:750}.agenda-top-link:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.agenda-top-context{color:#c7ddeb;font-size:.88rem;font-weight:700}
.agenda-onboarding-shell,.agenda-login-shell,.agenda-recovery-shell{margin-top:42px}.agenda-onboarding-shell{width:min(1080px,92%)}.agenda-login-shell{width:min(1040px,92%)}.agenda-recovery-shell{width:min(720px,92%)}
.agenda-auth-hero{margin:0 0 22px;padding:0;border:0;background:transparent;box-shadow:none}.agenda-auth-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:48px;align-items:center}
.agenda-auth-hero-copy h1,.agenda-plan-heading h1,.agenda-login-value h1{font-size:clamp(2rem,4.5vw,3.35rem);line-height:1.04;letter-spacing:-.045em;color:#0b2540;margin:8px 0 18px}.agenda-auth-lead,.agenda-login-value>p{max-width:700px;color:#60788c;font-size:1.05rem;line-height:1.7}
.agenda-trial-badge{display:flex;flex-direction:column;gap:2px;width:fit-content;margin-top:18px;padding:12px 15px;border:1px solid #b9ddf3;border-radius:13px;background:#eef9ff;color:#0b608e}.agenda-trial-badge strong{font-size:.95rem}.agenda-trial-badge span{font-size:.8rem;color:#58788b}
.agenda-calendar-preview{padding:20px;border:1px solid #d5e4ef;border-radius:22px;background:#fff;box-shadow:0 22px 55px rgba(10,48,78,.12);transform:rotate(1deg)}.agenda-preview-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #e6eef4;color:#193b55;font-weight:800}.agenda-preview-head b{font-size:.72rem;color:#159261;background:#eaf9f1;border-radius:999px;padding:5px 8px}.agenda-preview-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:15px 0}.agenda-preview-days span{text-align:center;padding:7px 4px;border-radius:8px;color:#7a8e9f;font-size:.72rem;font-weight:750}.agenda-preview-days .active{background:#e9f6ff;color:#087fc4}.agenda-preview-slot{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:center;margin-top:9px;padding:11px 12px;border-left:3px solid #82c9ee;border-radius:9px;background:#f5faff}.agenda-preview-slot.accent{border-left-color:#7559da;background:#f7f5ff}.agenda-preview-slot time{color:#526d80;font-size:.8rem;font-weight:800}.agenda-preview-slot strong,.agenda-preview-slot small{display:block}.agenda-preview-slot strong{font-size:.85rem}.agenda-preview-slot small{margin-top:2px;font-size:.7rem;color:#7d91a0}
.agenda-auth-card{border:1px solid #d9e5ee;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(10,48,78,.08)}.agenda-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.agenda-card-heading h2{font-size:1.5rem;margin:3px 0 4px;color:#102d46}.agenda-card-heading p{margin:0;color:#6d8292}.agenda-secure-note{padding:7px 10px;border-radius:999px;background:#edf9f3;color:#168252;font-size:.72rem;font-weight:800}
.agenda-registration-form label,.agenda-login-form label,.agenda-recovery-form label,.agenda-quantity-field{color:#28465d;font-weight:750}.agenda-registration-form input,.agenda-login-form input,.agenda-recovery-form input,.agenda-quantity-field input{min-height:48px;border-color:#cbdbe6;border-radius:11px;background:#fbfdff}.agenda-registration-form input:focus,.agenda-login-form input:focus,.agenda-recovery-form input:focus,.agenda-quantity-field input:focus{border-color:#2ca7ee;box-shadow:0 0 0 3px rgba(31,169,239,.12)}
.agenda-form-actions{justify-content:space-between;border-top:1px solid #edf2f6;margin-top:4px;padding-top:20px}.agenda-form-actions button{min-width:180px;min-height:46px;border-radius:10px;background:linear-gradient(135deg,#087fd6,#0ca8f1)}.agenda-form-actions span{color:#7b8e9c;font-size:.78rem}
.agenda-plan-heading{margin-bottom:24px}.agenda-plan-heading h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:13px}.agenda-plan-form{gap:18px}.agenda-plan-section{border-color:#d8e5ee;border-radius:18px;box-shadow:0 12px 35px rgba(10,48,78,.06)}.agenda-plan-section h2{font-size:1.35rem;color:#13324b}.agenda-feature-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.agenda-feature-chips span{padding:6px 9px;border:1px solid #d7e8f2;border-radius:999px;background:#f4faff;color:#447085;font-size:.72rem;font-weight:750}.agenda-choice-card{transition:border-color .15s,box-shadow .15s,transform .15s}.agenda-choice-card:hover{border-color:#a9cee4;transform:translateY(-1px)}.agenda-choice-card em{font-style:normal;color:#78909f;font-size:.74rem;font-weight:500;line-height:1.45}.agenda-quote-card{border-color:#b9dbed;background:linear-gradient(135deg,#fafdff,#f2f9fd);box-shadow:0 18px 44px rgba(8,91,143,.12)}.agenda-quote-card button{min-height:46px;padding-inline:22px;background:linear-gradient(135deg,#087fd6,#0ca8f1)}
.commercial-stepper{gap:9px;margin:16px 0}.commercial-stepper span{padding:7px 12px;border-color:#d4e1ea;background:rgba(255,255,255,.75)}.commercial-stepper .active{border-color:#82c9ee;background:#eaf7ff;color:#0877b9}.commercial-stepper .done{border-color:#b9e2ca;background:#f0faf4;color:#168252}
.agenda-login-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(390px,.8fr);gap:62px;align-items:center;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.agenda-login-value{padding:22px 6px}.agenda-login-value h1{font-size:clamp(2.25rem,5vw,3.7rem)}.agenda-value-list{display:grid;gap:11px;margin-top:28px}.agenda-value-list span{display:flex;align-items:center;gap:10px;color:#35586e;font-size:.92rem}.agenda-value-list b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9f8f0;color:#16905a;font-size:.74rem}.agenda-login-panel{min-width:0}.agenda-login-panel>.agenda-card-heading{padding:0 4px}.agenda-login-card{margin:0;padding:28px}.agenda-login-form{display:grid;grid-template-columns:1fr;gap:16px}.agenda-login-form p{margin:0}.agenda-login-form button{width:100%;min-height:48px;margin-top:2px;background:linear-gradient(135deg,#087fd6,#0ca8f1)}.agenda-form-errors{grid-column:1/-1}.agenda-auth-links{text-align:center}.agenda-auth-links a{font-size:.82rem}.agenda-signup-inline{display:flex;justify-content:center;gap:7px;margin-top:16px;color:#6b8292;font-size:.82rem}.agenda-signup-inline a{font-weight:800}
.agenda-recovery-heading{text-align:center}.agenda-recovery-heading .agenda-auth-lead{margin-inline:auto}.agenda-recovery-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.agenda-recovery-form button{grid-column:1/-1;min-height:48px;background:linear-gradient(135deg,#087fd6,#0ca8f1)}.agenda-recovery-help{margin:18px 0 0;padding-top:16px;border-top:1px solid #edf2f6;color:#788d9b;font-size:.78rem;text-align:center}
body.agenda-auth-page .message-banner{border-radius:12px;box-shadow:none}body.agenda-auth-page .message-banner.error{border-left-color:#c93c3c;background:#fff1f1}body.agenda-auth-page .errorlist{margin:4px 0 0}
@media(max-width:820px){.agenda-auth-hero-grid,.agenda-login-layout{grid-template-columns:1fr;gap:28px}.agenda-calendar-preview{max-width:560px;transform:none}.agenda-login-value{padding:0}.agenda-login-value h1{font-size:2.45rem}.agenda-login-layout{align-items:stretch}}
@media(max-width:620px){body.auth-page.agenda-auth-page{padding-bottom:34px}.agenda-auth-topbar-inner{height:68px;width:min(94%,1120px)}.agenda-auth-brand small{display:none}.agenda-top-context{display:none}.agenda-top-link{padding:7px 10px;font-size:.78rem}.agenda-onboarding-shell,.agenda-login-shell,.agenda-recovery-shell{width:min(92%,1080px);margin-top:26px}.agenda-auth-hero-copy h1,.agenda-plan-heading h1,.agenda-login-value h1{font-size:2.05rem}.agenda-auth-lead,.agenda-login-value>p{font-size:.95rem}.agenda-calendar-preview{padding:15px}.agenda-registration-form,.agenda-recovery-form{grid-template-columns:1fr}.agenda-recovery-form button{grid-column:auto}.agenda-card-heading{display:block}.agenda-secure-note{display:inline-block;margin-top:10px}.agenda-form-actions{align-items:stretch}.agenda-form-actions button{width:100%}.agenda-form-actions span{text-align:center}.agenda-login-card{padding:20px}.agenda-signup-inline{flex-direction:column;text-align:center}.agenda-plan-section{padding:18px}.agenda-quote-card{padding:18px}.agenda-quote-card button{width:100%}}



/* F376_GLOBAL_VISUAL_SYSTEM_20260904 */
:root{
  --as-brand:#1464d2;--as-brand-2:#1fb7b0;--as-ink:#10213a;--as-text:#334155;
  --as-muted:#6b7a90;--as-bg:#f5f8fc;--as-card:#fff;--as-line:#e3eaf3;
  --as-blue-soft:#edf5ff;--as-green-soft:#ecfbf5;--as-violet-soft:#f4f0ff;
  --as-amber-soft:#fff7e8;--as-red-soft:#fff1f2;--as-radius:16px;
  --as-shadow:0 8px 28px rgba(31,52,82,.07);--as-shadow-hover:0 14px 34px rgba(31,52,82,.1);
}
html{background:var(--as-bg)}
body.as-ui-ready{max-width:none!important;width:100%;margin:0!important;padding:0!important;background:var(--as-bg)!important;color:var(--as-text)}
body.as-ui-ready::before,body.as-ui-ready::after{display:none!important;content:none!important}
.as-app{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh;background:var(--as-bg)}
.as-sidebar{position:sticky;top:0;z-index:80;height:100vh;display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid var(--as-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.as-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;color:var(--as-ink);text-decoration:none}
.as-brand:hover{text-decoration:none}.as-brand-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto}.as-brand-mark svg{width:38px;height:38px;display:block}.as-brand-copy{display:grid;line-height:1.05}.as-brand-copy strong{font-size:1.08rem;letter-spacing:-.025em}.as-brand-copy span{margin-top:4px;color:var(--as-muted);font-size:.68rem;font-weight:600}
.as-sidebar-nav{display:grid;gap:4px;margin:2px 0;padding:0;border:0;background:transparent;box-shadow:none;font-size:inherit}
.as-sidebar-nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;border-radius:11px;color:#42526a;font-size:.88rem;font-weight:720;text-decoration:none}
.as-sidebar-nav a:hover{background:#f3f7fc;color:var(--as-brand);text-decoration:none}.as-sidebar-nav a.is-active{background:#eaf2ff;color:#155fce}.as-sidebar-nav a.is-active::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:#2563eb}
.as-nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto;color:currentColor}.as-nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.as-sidebar-footer{margin-top:auto;padding:12px 8px 4px}.as-help{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #dce8f5;border-radius:13px;background:#f8fbff;color:#46617c}.as-help b{display:block;color:#173251;font-size:.78rem}.as-help small{display:block;margin-top:2px;color:#6f8297;font-size:.68rem}.as-help-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f8f6;color:#14978f;font-weight:900}
.as-stage{min-width:0;display:grid;grid-template-rows:68px minmax(0,1fr)}
.as-topbar{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:18px;height:68px;padding:0 26px;border-bottom:1px solid var(--as-line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.as-topbar-left,.as-topbar-right{display:flex;align-items:center;gap:10px;min-width:0}.as-menu-toggle{display:none;width:40px;height:40px;padding:0;border:1px solid var(--as-line);border-radius:10px;background:#fff;color:#315473;box-shadow:none}.as-topbar-title{min-width:0}.as-topbar-title b{display:block;overflow:hidden;color:var(--as-ink);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.as-topbar-title small{display:block;color:var(--as-muted);font-size:.68rem}.as-top-action{display:grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:50%;background:#fff;color:#52647a;text-decoration:none}.as-top-action:hover{border-color:#dce7f4;background:#f8fbff;text-decoration:none}.as-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eaf2ff;color:#155fd3;font-size:.72rem;font-weight:900}
.as-main{min-width:0;width:100%;padding:24px clamp(18px,2.7vw,36px) 42px}.as-main>.page-shell,.as-main>.dashboard-shell,.as-main>.settings-shell,.as-main>.calendar-shell,.as-main>.appointment-shell,.as-main>.notification-shell,.as-main>.commercial-shell,.as-main>.patient-shell{max-width:1280px;margin-inline:auto}
body.as-ui-ready h1{padding:0;margin:0 0 8px;color:var(--as-ink);font-size:clamp(1.65rem,2.6vw,2.2rem);letter-spacing:-.035em}body.as-ui-ready h1::after{display:none}body.as-ui-ready h2{color:#173251;letter-spacing:-.015em}
body.as-ui-ready section{border:1px solid var(--as-line);border-radius:var(--as-radius);background:var(--as-card);box-shadow:var(--as-shadow)}
body.as-ui-ready table{border-color:var(--as-line);border-radius:13px;box-shadow:none}body.as-ui-ready th{background:#f8fafc;color:#65758a;font-size:.72rem;letter-spacing:.04em}body.as-ui-ready th,body.as-ui-ready td{padding:12px 13px;border-color:#edf1f6}body.as-ui-ready tbody tr:hover td{background:#fbfdff}
body.as-ui-ready input,body.as-ui-ready select,body.as-ui-ready textarea{border-color:#d7e0eb;border-radius:10px;background:#fff}body.as-ui-ready input:focus,body.as-ui-ready select:focus,body.as-ui-ready textarea:focus{border-color:#7eb0f3;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
body.as-ui-ready button,body.as-ui-ready input[type=submit],body.as-ui-ready .button-link,body.as-ui-ready a.primary-action{border-radius:10px;background:#1464d2;color:#fff;box-shadow:0 5px 14px rgba(20,100,210,.16)}body.as-ui-ready button:hover,body.as-ui-ready input[type=submit]:hover,body.as-ui-ready .button-link:hover,body.as-ui-ready a.primary-action:hover{background:#0d55ba;color:#fff;text-decoration:none}
body.as-ui-ready nav:not(.as-sidebar-nav){gap:7px;margin-bottom:18px;padding:7px;border:1px solid var(--as-line);border-radius:12px;background:#fff;box-shadow:none;font-size:inherit}body.as-ui-ready nav:not(.as-sidebar-nav) a{min-height:36px;padding:7px 10px;border-radius:9px;font-size:.82rem;color:#315473}body.as-ui-ready nav:not(.as-sidebar-nav) a:hover{background:#edf5ff;color:#155fd3;text-decoration:none}
body.as-ui-ready .message-banner,body.as-ui-ready p[role=status]{border:1px solid #cfe0f8;border-left:4px solid #3b82f6;border-radius:11px;background:#f4f8ff;color:#234e82}
body.as-ui-ready .message-banner.success{border-color:#bde8cf;border-left-color:#22a06b;background:#f1fbf5;color:#17633f}body.as-ui-ready .message-banner.warning{border-color:#f7d9a7;border-left-color:#f59e0b;background:#fff9ed;color:#845315}body.as-ui-ready .message-banner.error{border-color:#fecdd3;border-left-color:#ef4444;background:#fff4f5;color:#9f2638}
.as-ui-ready .dashboard-hero,.as-ui-ready .appointment-topbar,.as-ui-ready .calendar-topbar,.as-ui-ready .notification-topbar,.as-ui-ready .patient-brandbar,.as-ui-ready .settings-topbar{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.as-ui-ready .dashboard-hero{margin-bottom:14px}.as-ui-ready .dashboard-kicker,.as-ui-ready .appointment-kicker,.as-ui-ready .notification-kicker,.as-ui-ready .settings-kicker{color:#1d73d6!important;font-size:.68rem!important;letter-spacing:.12em!important}
.as-ui-ready .dashboard-nav{position:static!important;display:flex!important;overflow:visible!important}.as-ui-ready .dashboard-nav a{min-height:38px}.as-ui-ready .dashboard-card,.as-ui-ready .overview-card,.as-ui-ready .settings-card,.as-ui-ready .calendar-card,.as-ui-ready .appointment-card,.as-ui-ready .commercial-card{border-color:var(--as-line)!important;border-radius:15px!important;box-shadow:var(--as-shadow)!important}
.as-ui-ready .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.as-ui-ready .settings-card{min-height:126px}.as-ui-ready .settings-card:hover{transform:translateY(-2px);box-shadow:var(--as-shadow-hover)!important}.as-ui-ready .settings-card-icon{background:#edf5ff;color:#155fd3}
.as-ui-ready .agenda-stats article,.as-ui-ready .quote-summary,.as-ui-ready .patient-summary-card{border-radius:14px!important;box-shadow:none!important}
.as-ui-ready .agenda-operational-row{border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(31,52,82,.04)}
.as-ui-ready .calendar-event{border-radius:10px}.as-ui-ready .availability-slot{border-radius:8px}
.as-ui-ready .clinical-status,.as-ui-ready .agenda-status-badge,.as-ui-ready .status-badge{border-radius:999px}
.as-ui-ready .page-shell>section,.as-ui-ready .legacy-page>section{margin-bottom:14px}
.as-ui-ready .page-shell{width:100%}
body.public-care-page{background:linear-gradient(180deg,#f7fbff,#f1f6fb)!important}body.public-care-page::before{content:"Agenda Salud";display:block!important;width:min(760px,92%);margin:28px auto 10px;color:#1464d2;font-size:1.15rem;font-weight:900;letter-spacing:-.025em}body.public-care-page .wrap{width:min(760px,92%);margin:0 auto 40px}body.public-care-page .card{border:1px solid #dce6f1;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(23,50,81,.09)}body.public-care-page h1{color:#10213a}body.public-care-page .slot{border-radius:10px}body.public-care-page button,body.public-care-page .button{border-radius:10px}
@media(max-width:1080px){.as-app{grid-template-columns:218px minmax(0,1fr)}.as-sidebar{padding-inline:10px}.as-sidebar-nav a.is-active::before{left:-10px}.as-ui-ready .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.as-app{display:block}.as-sidebar{position:fixed;left:0;top:0;z-index:120;width:260px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 50px rgba(15,23,42,.15)}body.as-nav-open .as-sidebar{transform:translateX(0)}body.as-nav-open::after{content:""!important;display:block!important;position:fixed;inset:0;z-index:110;background:rgba(15,23,42,.35)}.as-stage{display:block}.as-topbar{height:62px;padding:0 14px}.as-menu-toggle{display:grid;place-items:center}.as-main{padding:18px 12px 32px}.as-ui-ready .settings-grid{grid-template-columns:1fr}.as-ui-ready nav:not(.as-sidebar-nav){position:static!important;overflow-x:auto;flex-wrap:nowrap}.as-ui-ready nav:not(.as-sidebar-nav) a{white-space:nowrap}.as-topbar-title small{display:none}}
@media(max-width:520px){.as-topbar-right .as-top-action{display:none}.as-main{padding-inline:9px}.as-ui-ready section{padding:14px}.as-brand-copy span{display:none}body.public-care-page::before{margin-top:18px}}


/* F376_SAFE_FIXED_SHELL_PATCH */
body.as-ui-ready{padding:92px 26px 42px 272px!important;max-width:none!important;width:100%!important;margin:0!important}
body.as-ui-ready>.as-sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;height:100vh}
body.as-ui-ready>.as-topbar{position:fixed;left:246px;right:0;top:0;z-index:70;height:68px}
body.as-ui-ready>.page-shell,body.as-ui-ready>.dashboard-shell,body.as-ui-ready>.settings-shell,body.as-ui-ready>.calendar-shell,body.as-ui-ready>.appointment-shell,body.as-ui-ready>.notification-shell,body.as-ui-ready>.commercial-shell,body.as-ui-ready>.patient-shell{max-width:1280px;margin-inline:auto}
@media(max-width:1080px){body.as-ui-ready{padding-left:242px!important}body.as-ui-ready>.as-sidebar{width:218px}body.as-ui-ready>.as-topbar{left:218px}}
@media(max-width:820px){body.as-ui-ready{padding:78px 10px 32px!important}body.as-ui-ready>.as-sidebar{width:260px;transform:translateX(-105%)}body.as-nav-open>.as-sidebar{transform:translateX(0)}body.as-ui-ready>.as-topbar{left:0;height:62px}.as-menu-toggle{display:grid;place-items:center}}
