/* account.css — patient account layout */

.account-layout { display: grid; grid-template-columns: 240px 1fr; gap: 28px; align-items: start; }
@media (max-width: 860px) { .account-layout { grid-template-columns: 1fr; } }

.account-nav { position: sticky; top: 84px; }
@media (max-width: 860px) {
  /* Below this width the header's hamburger menu (.mobile-nav) provides the
     same links, so hide this always-visible sidebar copy instead of showing
     both at once. */
  .account-nav { display: none; }
}
.account-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; border-radius: 10px;
  font-weight: 600; font-size: 14px; color: var(--ink-soft);
  margin-bottom: 4px;
}
.account-nav a:hover { background: var(--plum-50); text-decoration: none; }
.account-nav a.active { background: var(--plum-100); color: var(--plum-800); }

.appt-card { padding: 20px; margin-bottom: 14px; }
.appt-card .top-row { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 10px; }
.appt-card .datebox {
  background: var(--navy-900); color: #fff; border-radius: 10px;
  width: 56px; text-align: center; padding: 8px 0; flex-shrink: 0;
}
.appt-card .datebox .d { font-size: 20px; font-weight: 800; line-height: 1; }
.appt-card .datebox .m { font-size: 10.5px; text-transform: uppercase; letter-spacing: .03em; }
.appt-card .body { display: flex; gap: 14px; }
.appt-card .actions { display: flex; gap: 8px; flex-wrap: wrap; }

.account-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.account-tab { padding: 8px 16px; border-radius: 999px; font-weight: 700; font-size: 13.5px; cursor: pointer; border: 1px solid var(--line); background: #fff; color: var(--muted); }
.account-tab.active { background: var(--navy-900); color: #fff; border-color: var(--navy-900); }
