/* ==========================================================================
   IAPA Portal — design system
   Visual language: docs/refarance/ui.html ("Meridian" clinic-admin mockup).
   Scope & components: docs/design.md §5. Naming: iapa- BEM, js- hooks
   (docs/TECH_STACK.md §5). No mockup class names carry over.
   ========================================================================== */

:root {
  /* Brand purple sampled from iapaassociation.com/register-now/ Continue button. */
  --iapa-ink: #2a2740;
  --iapa-ink-soft: #3a365f;
  --iapa-paper: #f5f3f0;
  --iapa-surface: #ffffff;
  --iapa-primary: #464177;
  --iapa-primary-dark: #3a365f;
  --iapa-primary-tint: #f1eff8;
  --iapa-line: #e6e4ee;
  --iapa-line-strong: #c9c6d6;
  --iapa-muted: #6b6978;
  --iapa-muted-soft: #9a98a8;
  --iapa-amber: #c3922a;
  --iapa-amber-tint: #f8efd8;
  --iapa-red: #b42318;
  --iapa-red-tint: #f8e6e4;
  --iapa-live: #2fbe7a;
  --iapa-gold: #d4a017;
  /* Parent site (iapaassociation.com) status tones */
  --iapa-site-teal: #1c4b42;
  --iapa-site-lime: #b4e717;
  --iapa-site-amber: #fcb900;
  --iapa-site-orange: #ff6900;
  --iapa-site-green: #00d084;
  --iapa-site-red: #cf2e2e;
  --iapa-site-sand: #f0e1b9;
  --iapa-radius-sm: 8px;
  --iapa-radius: 12px;
  --iapa-radius-lg: 16px;
  --iapa-font: "Public Sans", -apple-system, "Segoe UI", sans-serif;
  --iapa-serif: "Fraunces", Georgia, serif;
  --iapa-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --iapa-shadow-sm: 0 1px 2px rgba(42, 39, 64, 0.06);
  --iapa-shadow: 0 4px 16px rgba(42, 39, 64, 0.07);
  --iapa-sidebar-w: 248px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

.iapa-body {
  background: var(--iapa-paper);
  color: var(--iapa-ink);
  font-family: var(--iapa-font);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: clip;
  -webkit-tap-highlight-color: rgba(70, 65, 119, 0.12);
}

.iapa-body h1,
.iapa-body h2,
.iapa-body h3 { margin: 0; font-family: var(--iapa-font); color: var(--iapa-ink); }

.iapa-body p { margin: 0; }
.iapa-body ul { list-style: none; margin: 0; padding: 0; }
.iapa-body a { color: inherit; text-decoration: none; }
.iapa-body button { font-family: inherit; cursor: pointer; }
.iapa-body a,
.iapa-body button,
.iapa-body .iapa-dock__item,
.iapa-body input,
.iapa-body select,
.iapa-body textarea,
.iapa-body label {
  touch-action: manipulation;
}
.iapa-body :focus-visible {
  outline: 2px solid var(--iapa-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

.iapa-mono { font-family: var(--iapa-mono); font-variant-numeric: tabular-nums; }

.iapa-icon {
  width: 18px; height: 18px;
  stroke: currentColor; fill: none; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0;
}

/* ==========================================================================
   Shell
   ========================================================================== */

.iapa-shell { display: flex; min-height: 100vh; min-height: 100dvh; }

/* ---------- sidebar ---------- */

.iapa-shell__sidebar {
  width: var(--iapa-sidebar-w); flex-shrink: 0;
  background: linear-gradient(180deg, #2a2740 0%, #3a365f 58%, #464177 100%);
  color: #eceaf6;
  display: flex; flex-direction: column;
  position: fixed; top: 0; left: 0; bottom: 0;
  z-index: 40;
  transition: transform 0.18s ease;
}

.iapa-shell__brand {
  display: flex; align-items: center; gap: 11px;
  padding: 22px 20px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.iapa-brand-logo {
  display: block;
  object-fit: contain;
  flex-shrink: 0;
}
.iapa-shell__brand-logo {
  width: 36px;
  height: 36px;
  padding: 3px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
}
.iapa-site-nav__logo,
.iapa-auth__logo,
.iapa-member-login__logo { width: 36px; height: 36px; }
.iapa-pwa__logo { width: 40px; height: 40px; }
.iapa-site-foot__logo { width: 20px; height: 20px; }
.iapa-shell__brand-mark { width: 34px; height: 34px; flex-shrink: 0; }
.iapa-shell__brand-word { display: flex; flex-direction: column; }
.iapa-shell__brand-name {
  font-weight: 700; font-size: 16px; letter-spacing: 0.2px; color: #fff;
}
.iapa-shell__brand-portal {
  font-size: 11.5px;
  font-weight: 600;
  color: #dcd9ea;
  letter-spacing: 0.2px;
  line-height: 1.2;
  margin-top: 1px;
}
.iapa-shell__brand-org {
  font-size: 9.5px;
  color: #a8a5b8;
  letter-spacing: 0.45px;
  text-transform: uppercase;
  margin-top: 3px;
  line-height: 1.25;
  max-width: 16rem;
}
.iapa-shell__brand-sub {
  font-size: 11px; color: #a8a5b8; letter-spacing: 0.4px;
  text-transform: uppercase; margin-top: 1px;
  line-height: 1.25;
  max-width: 16rem;
}

.iapa-shell__nav { padding: 16px 12px; flex: 1; overflow-y: auto; }
.iapa-shell__nav-label {
  font-size: 10.5px; letter-spacing: 1px; text-transform: uppercase;
  color: #9a98a8; margin: 16px 10px 8px; font-weight: 600;
}
.iapa-shell__nav-label:first-child { margin-top: 4px; }

.iapa-shell__nav-link {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 12px; margin-bottom: 2px;
  border-radius: var(--iapa-radius-sm);
  font-size: 13.5px; font-weight: 500;
  color: #c5c2d4;
  position: relative;
  transition: background 0.15s ease, color 0.15s ease;
}
.iapa-shell__nav-link .iapa-icon { width: 17px; height: 17px; opacity: 0.85; }
.iapa-shell__nav-link:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.iapa-shell__nav-link--active,
.iapa-shell__nav-link--active:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  box-shadow: inset 3px 0 0 #fff;
}
.iapa-shell__nav-link--active .iapa-icon { opacity: 1; }
.iapa-shell__nav-link--muted,
.iapa-shell__nav-link--muted:hover {
  opacity: 0.45; pointer-events: none; background: none; color: #c5c2d4;
}

.iapa-shell__nav-badge {
  margin-left: auto; font-family: var(--iapa-mono); font-size: 10.5px;
  background: rgba(255, 255, 255, 0.12); color: #eeeaf8;
  padding: 1px 6px; border-radius: 20px; line-height: 1.5;
}
.iapa-shell__nav-link--active .iapa-shell__nav-badge {
  background: rgba(255, 255, 255, 0.22);
}

.iapa-shell__nav-group { margin-bottom: 2px; }
.iapa-shell__nav-group .iapa-shell__nav-link { margin-bottom: 0; }
.iapa-shell__nav-caret {
  margin-left: auto;
  width: 14px;
  height: 14px;
  opacity: 0.7;
  transition: transform 0.15s ease;
}
.iapa-shell__nav-group.is-open .iapa-shell__nav-caret { transform: rotate(180deg); }
.iapa-shell__nav-sub {
  display: none;
  padding: 4px 0 6px 28px;
}
.iapa-shell__nav-group.is-open .iapa-shell__nav-sub { display: block; }
.iapa-shell__nav-sublink {
  display: block;
  padding: 7px 10px;
  margin-bottom: 1px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #b7b4c8;
}
.iapa-shell__nav-sublink:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.iapa-shell__nav-sublink.is-active,
.iapa-shell__nav-sublink.is-active:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.iapa-shell__foot {
  padding: 12px 14px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.iapa-shell__logout {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  background: transparent;
  color: #d5d2e0;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.iapa-shell__logout:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.iapa-shell__foot-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 6px;
}
.iapa-shell__foot-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--iapa-live); flex-shrink: 0;
}
.iapa-shell__foot-text { font-size: 11px; color: #a8a5b8; line-height: 1.4; }
.iapa-shell__foot-text b { color: #d5d2e0; font-weight: 600; }

/* ---------- main column ---------- */

.iapa-shell__main {
  flex: 1; margin-left: var(--iapa-sidebar-w); min-width: 0;
  display: flex; flex-direction: column;
}

.iapa-shell__topbar {
  height: 64px; flex-shrink: 0;
  background: var(--iapa-surface);
  border-bottom: 1px solid var(--iapa-line);
  display: flex; align-items: center;
  padding: 0 24px; gap: 16px;
  position: sticky; top: 0; z-index: 30;
  transition: box-shadow 0.2s ease;
}
.iapa-shell__topbar.is-scrolled { box-shadow: var(--iapa-shadow-sm); }

.iapa-shell__menu-btn {
  display: none; background: none; border: none; padding: 6px;
  color: var(--iapa-ink); border-radius: var(--iapa-radius-sm);
}
.iapa-shell__menu-btn:hover { background: var(--iapa-paper); }

.iapa-shell__search {
  display: flex; align-items: center; gap: 9px;
  background: var(--iapa-paper); border: 1px solid var(--iapa-line);
  border-radius: 9px; padding: 8px 12px;
  width: 340px; max-width: 100%; color: var(--iapa-muted-soft);
}
.iapa-shell__search input {
  border: none; background: none; outline: none; width: 100%;
  font-family: inherit; font-size: 13.5px; color: var(--iapa-ink);
}
.iapa-shell__search input::placeholder { color: var(--iapa-muted-soft); }
.iapa-shell__search input:disabled { cursor: not-allowed; }
.iapa-shell__search .iapa-icon { width: 16px; height: 16px; }

.iapa-shell__topbar-right {
  margin-left: auto; display: flex; align-items: center; gap: 6px;
  position: relative;
  flex: 0 0 auto;
}

.iapa-shell__icon-btn {
  position: relative; width: 38px; height: 38px; border-radius: 9px;
  border: 1px solid transparent; background: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--iapa-ink-soft);
  text-decoration: none;
  flex-shrink: 0;
}
.iapa-shell__icon-btn:hover:not(:disabled) {
  background: var(--iapa-paper); border-color: var(--iapa-line);
}
.iapa-shell__icon-btn:disabled { cursor: not-allowed; opacity: 0.55; }
.iapa-shell__icon-btn .iapa-shell__icon-dot {
  position: absolute; top: 8px; right: 8px; width: 7px; height: 7px;
  border-radius: 50%; background: var(--iapa-red);
  border: 1.5px solid var(--iapa-surface);
}
.iapa-shell__icon-btn .iapa-shell__icon-dot[hidden] { display: none !important; }
.iapa-shell__icon-btn .iapa-shell__icon-count {
  position: absolute;
  top: 1px;
  right: 1px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 16px;
  text-align: center;
  box-shadow: 0 0 0 2px var(--iapa-surface);
}
.iapa-shell__icon-btn .iapa-shell__icon-count[hidden] { display: none !important; }

.iapa-shell__divider {
  width: 1px; height: 26px; background: var(--iapa-line); margin: 0 6px;
}

.iapa-shell__profile {
  display: flex; align-items: center; gap: 10px;
  padding: 5px 8px 5px 5px; border-radius: 10px;
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.iapa-shell__profile:hover { background: var(--iapa-paper); }
.iapa-shell__profile-text { display: flex; flex-direction: column; line-height: 1.3; }
.iapa-shell__profile-name { font-size: 13px; font-weight: 600; color: var(--iapa-ink); }
.iapa-shell__profile-role { font-size: 11px; color: var(--iapa-muted); }
.iapa-shell__profile .iapa-icon { width: 15px; height: 15px; color: var(--iapa-muted-soft); }

.iapa-shell__overlay {
  display: none; position: fixed; inset: 0; z-index: 35;
  background: rgba(42, 39, 64, 0.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

.iapa-shell__content {
  padding: 26px 28px 60px; max-width: 1400px; width: 100%;
}

/* Standalone page title used by the simpler public template set. */
.iapa-shell__title {
  font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}

/* ---------- avatar ---------- */

.iapa-avatar {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 12.5px; font-family: var(--iapa-mono);
}
.iapa-avatar--photo {
  object-fit: cover;
  padding: 0;
  border: 1px solid var(--iapa-line);
  background: var(--iapa-paper);
}

/* ==========================================================================
   Page head & buttons
   ========================================================================== */

.iapa-page-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 22px; flex-wrap: wrap; gap: 14px;
}
.iapa-page-head h1 { font-size: 23px; font-weight: 700; letter-spacing: -0.2px; }
.iapa-page-head__meta {
  font-size: 12.5px; color: var(--iapa-muted); margin-top: 5px;
  display: flex; align-items: center; gap: 7px;
}
.iapa-page-head__meta .iapa-icon {
  width: 14px; height: 14px; color: var(--iapa-muted-soft);
}

.iapa-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 16px; border-radius: 9px;
  font-size: 13.5px; font-weight: 600;
  border: 1px solid transparent;
  background: var(--iapa-primary); color: #fff;
  box-shadow: var(--iapa-shadow-sm);
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease, transform 0.12s ease;
}
.iapa-btn:active:not(:disabled) { transform: scale(0.98); }
.iapa-btn--block { width: 100%; }
/* Beat `.iapa-body a { color: inherit }` so link-styled primary buttons stay white. */
.iapa-body a.iapa-btn,
.iapa-btn:hover:not(:disabled),
.iapa-body a.iapa-btn:hover {
  color: #fff;
}
.iapa-btn:hover:not(:disabled) { background: var(--iapa-primary-dark); }
.iapa-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.iapa-btn[hidden] { display: none !important; }
.iapa-btn .iapa-icon { width: 16px; height: 16px; color: currentColor; }

.iapa-btn--ghost {
  background: var(--iapa-surface); color: var(--iapa-ink-soft);
  border-color: var(--iapa-line); box-shadow: none;
}
.iapa-body a.iapa-btn--ghost,
.iapa-btn--ghost:hover:not(:disabled),
.iapa-body a.iapa-btn--ghost:hover {
  color: var(--iapa-ink-soft);
}
.iapa-btn--ghost:hover:not(:disabled) {
  background: var(--iapa-surface); border-color: var(--iapa-line-strong);
}

.iapa-btn--danger { background: var(--iapa-red); color: #fff; }
.iapa-body a.iapa-btn--danger,
.iapa-btn--danger:hover:not(:disabled),
.iapa-body a.iapa-btn--danger:hover { color: #fff; }
.iapa-btn--danger:hover:not(:disabled) { background: #8c3535; }

.iapa-btn--sm { padding: 7px 12px; font-size: 12px; border-radius: 8px; }
.iapa-btn--sm .iapa-icon { width: 14px; height: 14px; }

/* ==========================================================================
   KPI cards
   ========================================================================== */

.iapa-kpis {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px; margin-bottom: 20px;
}
.iapa-kpis--2 { grid-template-columns: repeat(2, 1fr); }
.iapa-kpis[hidden],
.iapa-grid-2[hidden] {
  display: none !important;
}

.iapa-kpi {
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  padding: 18px 18px 16px; position: relative; overflow: hidden;
}
.iapa-kpi__wave {
  position: absolute; right: -6px; bottom: -4px;
  width: 96px; height: 44px; color: var(--iapa-primary); opacity: 0.08;
}
.iapa-kpi__top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.iapa-kpi__label {
  font-size: 12px; color: var(--iapa-muted); font-weight: 600; letter-spacing: 0.2px;
}
.iapa-kpi__icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
}
.iapa-kpi__icon--amber { background: var(--iapa-amber-tint); color: var(--iapa-amber); }
.iapa-kpi__icon--red { background: var(--iapa-red-tint); color: var(--iapa-red); }
.iapa-kpi__icon .iapa-icon { width: 16px; height: 16px; }
.iapa-kpi__value {
  font-family: var(--iapa-mono); font-size: 27px; font-weight: 600;
  color: var(--iapa-ink); letter-spacing: -0.5px; line-height: 1.15;
}
.iapa-kpi__value--text { font-size: 20px; letter-spacing: 0; }
.iapa-kpi__meta {
  display: flex; align-items: center; gap: 5px;
  margin-top: 8px; font-size: 12px; font-weight: 500; color: var(--iapa-muted);
}
.iapa-kpi__meta .iapa-icon { width: 13px; height: 13px; }
.iapa-kpi__meta--up { color: var(--iapa-primary-dark); font-weight: 600; }
.iapa-kpi__meta--down { color: var(--iapa-red); font-weight: 600; }
.iapa-kpi__meta--warn { color: var(--iapa-amber); font-weight: 600; }

/* ==========================================================================
   Panels & layout grids
   ========================================================================== */

.iapa-grid-2 {
  display: grid; grid-template-columns: 1.7fr 1fr;
  gap: 18px; align-items: start; margin-bottom: 18px;
}
.iapa-col-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

.iapa-panel {
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius); overflow: hidden;
}
.iapa-panel__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 18px; border-bottom: 1px solid var(--iapa-line); gap: 10px;
}
.iapa-panel__head h2 { font-size: 14.5px; font-weight: 700; }
.iapa-panel__sub {
  font-size: 11.5px; color: var(--iapa-muted); margin-top: 2px; font-weight: 500;
  line-height: 1.45;
}
.iapa-panel__body { padding: 18px 22px 20px; }

.iapa-link-more {
  font-size: 12.5px; font-weight: 600; color: var(--iapa-primary-dark);
  display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}
.iapa-link-more:hover { color: var(--iapa-primary); }
.iapa-link-more .iapa-icon { width: 13px; height: 13px; }

/* ==========================================================================
   Tables
   ========================================================================== */

.iapa-table-wrap { overflow-x: auto; }
.iapa-table { width: 100%; border-collapse: collapse; }
.iapa-table-wrap .iapa-table { min-width: 520px; }
.iapa-table thead th {
  text-align: left; font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.5px; color: var(--iapa-muted-soft); font-weight: 600;
  padding: 10px 18px; border-bottom: 1px solid var(--iapa-line);
  background: #fbfcfc; white-space: nowrap;
}
.iapa-table tbody td {
  padding: 13px 18px; border-bottom: 1px solid var(--iapa-line);
  font-size: 13.3px; vertical-align: middle;
}
.iapa-table tbody tr:last-child td { border-bottom: none; }
.iapa-table tbody tr:hover { background: #fafbfb; }
.iapa-table tbody tr.iapa-row--muted { opacity: 0.55; }
.iapa-table tbody tr.iapa-row--muted:hover { background: none; }

.iapa-time {
  font-family: var(--iapa-mono); font-weight: 600;
  color: var(--iapa-ink-soft); white-space: nowrap;
}

.iapa-person { display: flex; align-items: center; gap: 10px; }
.iapa-person__avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--iapa-paper); border: 1px solid var(--iapa-line);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; color: var(--iapa-ink-soft);
  font-family: var(--iapa-mono); flex-shrink: 0;
}
.iapa-person__name {
  font-weight: 600; color: var(--iapa-ink); font-size: 13.3px; display: block;
}
.iapa-person__sub {
  font-family: var(--iapa-mono); font-size: 11px; color: var(--iapa-muted-soft);
  display: block;
}

.iapa-venue { font-size: 12px; color: var(--iapa-muted); }

.iapa-row-action {
  background: none; border: none; color: var(--iapa-muted-soft);
  width: 26px; height: 26px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.iapa-row-action:hover:not(:disabled) { background: var(--iapa-paper); color: var(--iapa-ink); }
.iapa-row-action:disabled { cursor: default; opacity: 0.6; }

/* ==========================================================================
   Status pills
   ========================================================================== */

.iapa-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 20px;
  font-size: 11.5px; font-weight: 600; white-space: nowrap;
  background: var(--iapa-paper); color: var(--iapa-muted);
}
.iapa-pill__dot {
  width: 6px; height: 6px; border-radius: 50%; background: currentColor;
  flex-shrink: 0;
}
.iapa-pill--booked,
.iapa-pill--paid,
.iapa-pill--granted,
.iapa-pill--active {
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
}
.iapa-pill--pending { background: var(--iapa-amber-tint); color: var(--iapa-amber); }
.iapa-pill--cancelled,
.iapa-pill--rejected,
.iapa-pill--revoked,
.iapa-pill--expired,
.iapa-pill--failed {
  background: var(--iapa-red-tint); color: var(--iapa-red);
}

/* ==========================================================================
   Queue (manager approvals)
   ========================================================================== */

.iapa-queue { padding: 8px 10px; }
.iapa-queue__item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 10px; border-radius: 9px;
}
.iapa-queue__item:hover { background: var(--iapa-paper); }
.iapa-queue__item + .iapa-queue__item { margin-top: 2px; }
.iapa-queue__num {
  width: 28px; height: 28px; border-radius: 7px;
  background: var(--iapa-paper); border: 1px solid var(--iapa-line);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--iapa-mono); font-size: 11.5px; font-weight: 700;
  color: var(--iapa-ink-soft); flex-shrink: 0;
}
.iapa-queue__body { min-width: 0; }
.iapa-queue__name { font-size: 13px; font-weight: 600; color: var(--iapa-ink); }
.iapa-queue__meta {
  font-size: 11px; color: var(--iapa-muted); margin-top: 1px;
  overflow: hidden; text-overflow: ellipsis;
}
.iapa-queue__wait {
  margin-left: auto; font-family: var(--iapa-mono);
  font-size: 11.5px; color: var(--iapa-muted); text-align: right;
  flex-shrink: 0;
}
.iapa-queue__wait b {
  display: block; color: var(--iapa-ink-soft); font-size: 12.5px;
}
.iapa-queue__actions {
  display: flex; gap: 6px; margin-left: 12px; flex-shrink: 0;
  flex-wrap: wrap; justify-content: flex-end;
}

.iapa-menu {
  position: relative;
  display: inline-block;
}
.iapa-menu__pop {
  display: none;
  z-index: 220;
  padding: 6px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: var(--iapa-surface);
  box-shadow: 0 14px 32px rgba(42, 39, 64, 0.16);
}
.iapa-menu.is-open .iapa-menu__pop { display: block; }
.iapa-menu__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
  border: none;
  border-radius: 8px;
  background: none;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-ink);
  text-align: left;
  cursor: pointer;
}
.iapa-menu__item:hover {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}

/* ==========================================================================
   Activity timeline
   ========================================================================== */

.iapa-activity { padding: 16px 18px; }
.iapa-tl { display: flex; gap: 12px; padding-bottom: 16px; position: relative; }
.iapa-tl:last-child { padding-bottom: 0; }
.iapa-tl::before {
  content: ""; position: absolute; left: 5px; top: 16px; bottom: 0;
  width: 1px; background: var(--iapa-line);
}
.iapa-tl:last-child::before { display: none; }
.iapa-tl__dot {
  width: 11px; height: 11px; border-radius: 50%;
  background: var(--iapa-surface); border: 2px solid var(--iapa-primary);
  margin-top: 2px; flex-shrink: 0; position: relative; z-index: 1;
}
.iapa-tl__dot--muted { border-color: var(--iapa-muted-soft); }
.iapa-tl__dot--warn { border-color: var(--iapa-amber); }
.iapa-tl__text { font-size: 12.8px; color: var(--iapa-ink-soft); }
.iapa-tl__text b { font-weight: 600; color: var(--iapa-ink); }
.iapa-tl__time {
  font-family: var(--iapa-mono); font-size: 11px;
  color: var(--iapa-muted-soft); margin-top: 3px;
}

/* ==========================================================================
   Alerts
   ========================================================================== */

.iapa-alerts { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.iapa-alert {
  display: flex; gap: 11px; padding: 12px; border-radius: 9px;
  border: 1px solid var(--iapa-line); background: var(--iapa-surface);
}
.iapa-alert--warn { background: var(--iapa-amber-tint); border-color: #ebdbbb; }
.iapa-alert--crit { background: var(--iapa-red-tint); border-color: #e7c7c4; }
.iapa-alert__icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: var(--iapa-paper); color: var(--iapa-muted);
}
.iapa-alert--warn .iapa-alert__icon { background: #efddb6; color: var(--iapa-amber); }
.iapa-alert--crit .iapa-alert__icon { background: #e3b9b6; color: var(--iapa-red); }
.iapa-alert__icon .iapa-icon { width: 15px; height: 15px; }
.iapa-alert__title { font-size: 12.8px; font-weight: 700; color: var(--iapa-ink); }
.iapa-alert__desc { font-size: 11.8px; color: var(--iapa-muted); margin-top: 2px; }
.iapa-alert__desc a { color: var(--iapa-primary-dark); font-weight: 600; }
.iapa-alert__desc a:hover { text-decoration: underline; }

/* ==========================================================================
   Clinic-access list (membership page)
   ========================================================================== */

.iapa-access { padding: 8px 10px; }
.iapa-access__item {
  display: flex; align-items: center; gap: 11px;
  padding: 10px 8px; border-radius: 9px;
}
.iapa-access__item:hover { background: var(--iapa-paper); }
.iapa-access__icon {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center;
}
.iapa-access__icon .iapa-icon { width: 15px; height: 15px; }
.iapa-access__body { min-width: 0; }
.iapa-access__name { font-size: 13px; font-weight: 600; color: var(--iapa-ink); }
.iapa-access__meta { font-size: 11px; color: var(--iapa-muted); margin-top: 1px; }
.iapa-access__right {
  margin-left: auto; display: flex; align-items: center; gap: 8px;
  flex-shrink: 0;
}
.iapa-access__expires {
  font-family: var(--iapa-mono); font-size: 10.5px; color: var(--iapa-muted-soft);
  display: block; text-align: right; margin-top: 2px;
}
.iapa-access__group {
  font-size: 10.5px; letter-spacing: 0.8px; text-transform: uppercase;
  color: var(--iapa-muted-soft); font-weight: 600;
  padding: 10px 8px 4px;
}
.iapa-access__group:first-child { padding-top: 6px; }

/* ==========================================================================
   States: empty, error, skeleton loading
   ========================================================================== */

.iapa-empty {
  padding: 28px 18px; text-align: center;
  color: var(--iapa-muted); font-size: 13px;
}

.iapa-error {
  padding: 22px 18px; text-align: center;
  color: var(--iapa-muted); font-size: 13px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.iapa-error .iapa-icon { width: 20px; height: 20px; color: var(--iapa-muted-soft); }

.iapa-skeleton {
  position: relative; overflow: hidden;
  background: var(--iapa-paper); border-radius: 6px;
  min-height: 12px;
}
.iapa-skeleton::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent);
  transform: translateX(-100%);
  animation: iapaShimmer 1.4s ease-in-out infinite;
}
.iapa-skeleton--row { height: 44px; margin: 8px 18px; }
.iapa-skeleton--line { height: 12px; margin: 10px 18px; width: 55%; }
.iapa-skeleton--kpi { height: 27px; width: 64px; margin-top: 2px; }

@keyframes iapaShimmer { to { transform: translateX(100%); } }

/* ==========================================================================
   Pulse divider & footer
   ========================================================================== */

.iapa-pulse {
  height: 26px; margin: 2px 0 16px; color: var(--iapa-line-strong);
  width: 100%;
}
.iapa-pulse path { stroke: currentColor; }

.iapa-foot {
  text-align: center; padding: 20px;
  font-size: 11.5px; color: var(--iapa-muted-soft);
}

/* ==========================================================================
   Public marketing site (Meridian landing/directory/login visual language,
   iapa- BEM, IAPA patient-booking copy — see 2026-08-26-public-marketing-ui)
   ========================================================================== */

.iapa-body--public {
  background: var(--iapa-surface);
  font-size: 15px;
  line-height: 1.6;
}

.iapa-display {
  font-family: var(--iapa-serif);
  font-weight: 600;
  letter-spacing: -0.3px;
}

.iapa-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

.iapa-btn--lg { padding: 15px 26px; font-size: 15px; }

/* ---- site nav ---- */

.iapa-site-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--iapa-line);
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
.iapa-site-nav__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 72px;
  gap: 16px;
}
.iapa-site-nav__brand {
  display: flex; align-items: center; gap: 10px; flex-shrink: 0;
  justify-self: start;
}
.iapa-site-nav__brand-name {
  font-weight: 800; font-size: 18px; color: var(--iapa-ink);
}
.iapa-site-nav__links {
  display: flex; gap: 28px; justify-self: center;
  font-size: 13.8px; font-weight: 600; color: var(--iapa-ink-soft);
}
.iapa-site-nav__links a:hover,
.iapa-site-nav__links a.is-current { color: var(--iapa-primary-dark); }
.iapa-site-nav__right {
  justify-self: end;
  display: flex; align-items: center; gap: 14px; flex-shrink: 0;
}
.iapa-site-nav__text-link {
  background: none; border: none; padding: 0;
  font: inherit; font-size: 13.8px; font-weight: 600;
  color: var(--iapa-ink-soft); cursor: pointer; white-space: nowrap;
}
.iapa-site-nav__text-link:hover { color: var(--iapa-primary-dark); }
.iapa-site-nav__cta {
  white-space: nowrap;
}
.iapa-site-nav__staff {
  font-size: 12.5px; font-weight: 600; color: var(--iapa-muted-soft);
}
.iapa-site-nav__staff:hover { color: var(--iapa-muted); }
.iapa-site-nav__menu {
  display: none; background: none; border: none; padding: 6px; color: var(--iapa-ink);
  justify-self: end;
}

.iapa-site-nav__drawer {
  display: none; flex-direction: column; gap: 12px;
  padding: 8px 28px 18px; border-top: 1px solid var(--iapa-line);
}
.iapa-site-nav__drawer a {
  font-size: 14px; font-weight: 600; color: var(--iapa-ink-soft); padding: 6px 0;
}
.iapa-site-nav__drawer .iapa-btn,
.iapa-site-nav__drawer-cta {
  width: 100%;
  margin-top: 8px;
}
.iapa-site-nav__drawer-btn {
  display: flex; align-items: center; width: 100%;
  background: none; border: none; padding: 6px 0;
  font: inherit; font-size: 14px; font-weight: 600;
  color: var(--iapa-ink-soft); cursor: pointer; text-align: left;
}
.iapa-site-nav.is-open .iapa-site-nav__drawer { display: flex; }
.iapa-body--public:has(.iapa-site-nav.is-open) { overflow: hidden; }

/* ---- eyebrow ---- */

.iapa-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.4px;
  text-transform: uppercase; color: var(--iapa-primary-dark);
  background: var(--iapa-primary-tint); padding: 7px 13px; border-radius: 20px;
  margin-bottom: 20px;
}
.iapa-eyebrow__dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--iapa-primary);
}

/* ---- landing hero ---- */

.iapa-hero { padding: 88px 0 100px; overflow: hidden; }
.iapa-hero__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
}
.iapa-hero h1 {
  font-family: var(--iapa-serif); font-weight: 600;
  font-size: 47px; line-height: 1.12; margin-bottom: 20px; letter-spacing: -0.3px;
}
.iapa-hero h1 em { font-style: italic; color: var(--iapa-primary-dark); }
.iapa-hero__sub {
  font-size: 16.5px; color: var(--iapa-muted); max-width: 460px;
  margin-bottom: 30px; line-height: 1.65;
}
.iapa-hero__ctas {
  display: flex; align-items: center; gap: 16px; margin-bottom: 26px; flex-wrap: wrap;
}
.iapa-hero__trust {
  font-size: 12.5px; color: var(--iapa-muted-soft);
}

.iapa-hero-visual { position: relative; }
.iapa-browser {
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 20px; box-shadow: 0 24px 60px rgba(42, 39, 64, 0.14); overflow: hidden;
}
.iapa-browser__bar {
  display: flex; align-items: center; gap: 6px; padding: 12px 16px;
  border-bottom: 1px solid var(--iapa-line); background: #fbfcfc;
}
.iapa-browser__bar span {
  width: 9px; height: 9px; border-radius: 50%; background: var(--iapa-line-strong);
}
.iapa-browser__body { padding: 22px; background: var(--iapa-paper); }
.iapa-mini-kpis {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px;
}
.iapa-mini-kpi {
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 9px; padding: 12px 13px;
}
.iapa-mini-kpi__label { font-size: 10px; color: var(--iapa-muted); font-weight: 600; }
.iapa-mini-kpi__value {
  font-family: var(--iapa-mono); font-size: 17px; font-weight: 600;
  color: var(--iapa-ink); margin-top: 5px;
}
.iapa-mini-table {
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 9px; padding: 6px;
}
.iapa-mini-row {
  display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 7px;
}
.iapa-mini-row__time {
  font-family: var(--iapa-mono); font-size: 11px; color: var(--iapa-muted); width: 44px;
}
.iapa-mini-row__avatar {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  font-family: var(--iapa-mono); font-size: 9.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.iapa-mini-row__name { font-size: 11.8px; font-weight: 600; color: var(--iapa-ink); flex: 1; }
.iapa-mini-row__pill {
  font-size: 9.5px; font-weight: 700; padding: 3px 8px; border-radius: 20px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
}
.iapa-float-badge {
  position: absolute; top: -18px; right: -22px;
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 12px; padding: 12px 14px;
  box-shadow: 0 24px 60px rgba(42, 39, 64, 0.14);
  display: flex; align-items: center; gap: 10px;
}
.iapa-float-badge__icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center;
}
.iapa-float-badge__icon .iapa-icon { width: 16px; height: 16px; }
.iapa-float-badge__t { font-size: 11.5px; font-weight: 700; color: var(--iapa-ink); }
.iapa-float-badge__s { font-size: 10px; color: var(--iapa-muted); }

/* ---- logos / trust strip ---- */

.iapa-logos {
  padding: 44px 0; border-top: 1px solid var(--iapa-line);
  border-bottom: 1px solid var(--iapa-line); background: var(--iapa-paper);
}
.iapa-logos__label {
  text-align: center; font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.6px; text-transform: uppercase;
  color: var(--iapa-muted-soft); margin-bottom: 26px;
}
.iapa-logos__row {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 24px;
}
.iapa-logos__item {
  font-family: var(--iapa-serif); font-weight: 600; font-size: 19px;
  color: var(--iapa-muted-soft); opacity: 0.75;
}

/* ---- features ---- */

.iapa-features { padding: 100px 0; }
.iapa-section-head {
  text-align: center; max-width: 600px; margin: 0 auto 56px;
}
.iapa-section-head h2 {
  font-family: var(--iapa-serif); font-weight: 600;
  font-size: 34px; line-height: 1.25; margin-bottom: 14px;
}
.iapa-section-head p { font-size: 15.5px; color: var(--iapa-muted); }
.iapa-feature-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
}
.iapa-feature {
  border: 1px solid var(--iapa-line); border-radius: 14px;
  padding: 28px 24px; background: var(--iapa-surface);
  transition: box-shadow 0.15s, border-color 0.15s;
}
.iapa-feature:hover {
  box-shadow: var(--iapa-shadow-sm); border-color: var(--iapa-line-strong);
}
.iapa-feature__icon {
  width: 44px; height: 44px; border-radius: 11px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
}
.iapa-feature h3 {
  font-family: var(--iapa-font); font-size: 17px; font-weight: 600; margin-bottom: 9px;
}
.iapa-feature p { font-size: 13.5px; color: var(--iapa-muted); line-height: 1.6; }

/* ---- stats band ---- */

.iapa-stats {
  background: var(--iapa-ink); color: #d8d6e6; padding: 76px 0;
  position: relative; overflow: hidden;
}
.iapa-stats__art { position: absolute; inset: 0; opacity: 0.7; pointer-events: none; }
.iapa-stats__grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center;
}
.iapa-stats__num {
  font-family: var(--iapa-mono); font-size: 36px; font-weight: 600; color: #fff;
}
.iapa-stats__cap {
  font-size: 12.5px; color: #a8a5b8; margin-top: 8px; font-weight: 500;
}

/* ---- testimonial / CTA ---- */

.iapa-quote { padding: 100px 0; }
.iapa-quote__card { max-width: 760px; margin: 0 auto; text-align: center; }
.iapa-quote__text {
  font-family: var(--iapa-serif); font-size: 27px; line-height: 1.5;
  color: var(--iapa-ink); margin-bottom: 30px; font-weight: 500;
}
.iapa-quote__attrib {
  display: flex; align-items: center; justify-content: center; gap: 12px;
}
.iapa-quote__name { font-size: 13.5px; font-weight: 700; color: var(--iapa-ink); text-align: left; }
.iapa-quote__role { font-size: 12px; color: var(--iapa-muted); text-align: left; }

.iapa-cta-final { padding: 0 0 100px; }
.iapa-cta-card {
  background: var(--iapa-primary-tint); border-radius: 20px;
  padding: 64px 40px; text-align: center;
}
.iapa-cta-card h2 {
  font-family: var(--iapa-serif); font-size: 32px; margin-bottom: 14px;
}
.iapa-cta-card p {
  font-size: 15px; color: var(--iapa-ink-soft); margin-bottom: 30px;
}
.iapa-cta-card .iapa-hero__ctas { justify-content: center; }

/* ---- site footer ---- */

.iapa-site-foot {
  border-top: 1px solid var(--iapa-line); padding: 56px 0 30px;
}
.iapa-site-foot__grid {
  display: grid; grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 32px; margin-bottom: 44px;
}
.iapa-site-foot__brand-name {
  font-weight: 800; font-size: 17px; color: var(--iapa-ink);
  margin-bottom: 10px; display: block;
}
.iapa-site-foot__brand-copy {
  font-size: 13px; color: var(--iapa-muted); max-width: 260px; line-height: 1.6;
}
.iapa-site-foot__col h4 {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.4px; color: var(--iapa-muted-soft); margin-bottom: 14px;
}
.iapa-site-foot__col a {
  display: block; font-size: 13.3px; color: var(--iapa-ink-soft); margin-bottom: 10px;
}
.iapa-site-foot__col a:hover { color: var(--iapa-primary-dark); }
.iapa-site-foot__bottom {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 26px; border-top: 1px solid var(--iapa-line);
  font-size: 12px; color: var(--iapa-muted-soft); flex-wrap: wrap; gap: 12px;
}
.iapa-site-foot__brand-inline {
  display: flex; align-items: center; gap: 9px;
  font-weight: 800; font-size: 14.5px; color: var(--iapa-ink-soft);
}

/* ---- directory page ---- */

.iapa-page-hero { padding: 56px 0 34px; text-align: center; }
.iapa-page-hero h1 {
  font-family: var(--iapa-serif); font-size: 38px; line-height: 1.2;
  margin: 0 auto 14px; max-width: 620px;
}
.iapa-page-hero p {
  font-size: 15.5px; color: var(--iapa-muted); max-width: 520px; margin: 0 auto;
}

.iapa-how {
  display: flex; align-items: center; justify-content: center;
  gap: 36px; padding: 22px 0 44px; flex-wrap: wrap;
}
.iapa-how__step {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--iapa-ink-soft); font-weight: 600;
}
.iapa-how__num {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--iapa-ink); color: #fff;
  font-family: var(--iapa-mono); font-size: 11px;
  display: flex; align-items: center; justify-content: center;
}
.iapa-how__sep { color: var(--iapa-line-strong); }

.iapa-filter {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 18px; background: var(--iapa-paper); border: 1px solid var(--iapa-line);
  border-radius: 14px; margin-bottom: 32px;
}
.iapa-filter__search {
  display: flex; align-items: center; gap: 9px;
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 9px; padding: 10px 13px; flex: 1; min-width: 220px;
}
.iapa-filter__search input {
  border: none; outline: none; width: 100%; font-size: 13.8px;
  background: none; color: var(--iapa-ink);
}
.iapa-filter__search input::placeholder { color: var(--iapa-muted-soft); }
.iapa-filter__search .iapa-icon { width: 16px; height: 16px; color: var(--iapa-muted-soft); }
.iapa-filter__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.iapa-chip {
  padding: 9px 15px; border-radius: 20px; font-size: 12.6px; font-weight: 600;
  border: 1px solid var(--iapa-line); background: var(--iapa-surface); color: var(--iapa-muted);
}
.iapa-chip:hover { border-color: var(--iapa-line-strong); color: var(--iapa-ink); }
.iapa-chip.is-active {
  background: var(--iapa-ink); color: #fff; border-color: var(--iapa-ink);
}

.iapa-result-count {
  font-size: 12.5px; color: var(--iapa-muted); margin-bottom: 18px;
}
.iapa-result-count b { color: var(--iapa-ink-soft); }

.iapa-prac-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 22px; padding-bottom: 80px;
}
.iapa-prac {
  border: 1px solid var(--iapa-line); border-radius: 14px;
  background: var(--iapa-surface); overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.iapa-prac:hover {
  box-shadow: var(--iapa-shadow-sm); border-color: var(--iapa-line-strong);
}
.iapa-prac__top {
  padding: 24px 22px 18px; display: flex; gap: 14px; align-items: flex-start;
}
.iapa-prac__avatar {
  width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--iapa-mono); font-weight: 700; font-size: 17px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
}
.iapa-prac__avatar--gold { background: #f1e8d2; color: #b08d3e; }
.iapa-prac__avatar--clay { background: #f0e1da; color: #a15a3e; }
.iapa-prac__name {
  font-size: 16.5px; font-weight: 700; color: var(--iapa-ink);
}
.iapa-prac__cred { font-size: 12px; color: var(--iapa-muted); margin-top: 1px; }
.iapa-prac__body { padding: 0 22px 20px; flex: 1; }
.iapa-prac__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.iapa-prac__tag {
  font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 20px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
}
.iapa-prac__bio {
  font-size: 13px; color: var(--iapa-muted); line-height: 1.6; margin-bottom: 14px;
}
.iapa-prac__meta {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--iapa-muted); margin-bottom: 6px;
}
.iapa-prac__meta .iapa-icon { width: 14px; height: 14px; color: var(--iapa-muted-soft); }
.iapa-prac__foot {
  padding: 16px 22px; border-top: 1px solid var(--iapa-line);
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: #fbfcfc;
}
.iapa-prac__slot-label {
  font-size: 10px; color: var(--iapa-muted-soft); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.3px;
}
.iapa-prac__slot-value {
  font-family: var(--iapa-mono); font-size: 12.8px; color: var(--iapa-ink-soft);
  font-weight: 600; margin-top: 2px;
}
.iapa-prac__foot .iapa-btn { padding: 9px 15px; font-size: 12.8px; }

.iapa-trust-band {
  border-top: 1px solid var(--iapa-line); background: var(--iapa-paper); padding: 56px 0;
}
.iapa-trust-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; text-align: center;
}
.iapa-trust__icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 14px;
}
.iapa-trust-item h3 {
  font-family: var(--iapa-font); font-size: 15px; font-weight: 600; margin-bottom: 6px;
}
.iapa-trust-item p {
  font-size: 12.8px; color: var(--iapa-muted); max-width: 240px; margin: 0 auto; line-height: 1.6;
}

/* ---- auth split panel ---- */

.iapa-auth { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; min-height: 100dvh; }
.iapa-auth__brand {
  background: var(--iapa-ink); color: #d8d6e6; position: relative; overflow: hidden;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 44px 48px;
}
.iapa-auth__art {
  position: absolute; inset: 0; z-index: 1; opacity: 0.9; pointer-events: none;
}
.iapa-auth__brand-top,
.iapa-auth__quote,
.iapa-auth__brand-foot {
  position: relative; z-index: 2;
}
.iapa-auth__brand-top {
  display: flex; align-items: center; gap: 11px;
}
.iapa-auth__brand-name { font-weight: 700; font-size: 17px; color: #fff; }
.iapa-auth__brand-sub {
  font-size: 11px; color: #a8a5b8; letter-spacing: 0.6px; text-transform: uppercase; margin-top: 1px;
}
.iapa-auth__quote { max-width: 420px; }
.iapa-auth__quote-eyebrow {
  font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase;
  color: #5edcb4; font-weight: 700; margin-bottom: 16px;
}
.iapa-auth__quote h2 {
  font-size: 26px; line-height: 1.35; font-weight: 600; color: #f2f7f5;
  margin: 0 0 20px; letter-spacing: -0.2px; font-family: var(--iapa-font);
}
.iapa-auth__quote p { font-size: 13.5px; color: #9bb2ac; line-height: 1.6; margin: 0; }
.iapa-auth__brand-foot { font-size: 11.5px; color: #9a98a8; }

.iapa-auth__form {
  display: flex; align-items: center; justify-content: center; padding: 40px 32px;
  background: var(--iapa-paper);
}
.iapa-auth__card { width: 100%; max-width: 380px; }
.iapa-auth__card h1 {
  font-size: 24px; font-weight: 700; letter-spacing: -0.2px; margin: 0 0 6px;
  font-family: var(--iapa-font);
}
.iapa-auth__sub { font-size: 13px; color: var(--iapa-muted); margin-bottom: 28px; }
.iapa-auth__sub a { color: var(--iapa-primary-dark); font-weight: 600; }

.iapa-consent {
  margin: 18px 0 20px;
  padding: 14px 16px;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: var(--iapa-paper);
}
.iapa-consent__notice {
  margin: 0 0 12px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--iapa-muted);
}
.iapa-consent__label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.45;
  color: var(--iapa-ink);
  cursor: pointer;
}
.iapa-consent__label input {
  margin-top: 3px;
  flex-shrink: 0;
}

.iapa-auth__dev-hint {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff8e6;
  border: 1px solid #f0dca0;
  font-size: 13px;
  color: #6b4f00;
}

.iapa-body p.iapa-auth__sub--above-action {
  margin: 4px 0 10px;
  text-align: left;
}
.iapa-auth__or {
  display: flex; align-items: center; gap: 12px;
  margin: 22px 0;
  color: var(--iapa-muted-soft); font-size: 12px; font-weight: 600;
}
.iapa-auth__or::before,
.iapa-auth__or::after {
  content: '';
  flex: 1; height: 1px; background: var(--iapa-line);
}

.iapa-field-input {
  display: flex; align-items: center; gap: 9px;
  border: 1px solid var(--iapa-line); border-radius: 9px;
  padding: 11px 13px; background: var(--iapa-surface);
  transition: border-color 0.15s;
}
.iapa-field-input:focus-within {
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-field-input .iapa-icon { width: 16px; height: 16px; color: var(--iapa-muted-soft); }
.iapa-field-input input {
  border: none; outline: none; width: 100%; font-size: 13.5px;
  color: var(--iapa-ink); background: none; margin: 0; padding: 0;
}
.iapa-field-input input::placeholder { color: var(--iapa-muted-soft); }

/* Fixed +91 country code — never part of the editable value. */
.iapa-phone-input {
  display: flex; align-items: stretch;
  border: 1px solid var(--iapa-line); border-radius: 9px;
  background: var(--iapa-surface); overflow: hidden;
  transition: border-color 0.15s;
}
.iapa-phone-input:focus-within {
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-phone-input__prefix {
  display: inline-flex; align-items: center; flex-shrink: 0;
  padding: 0 12px; font-family: var(--iapa-mono); font-size: 13.5px;
  font-weight: 600; color: var(--iapa-ink-soft);
  background: var(--iapa-paper); border-right: 1px solid var(--iapa-line);
  user-select: none; pointer-events: none;
}
.iapa-phone-input > input {
  border: none; outline: none; flex: 1; min-width: 0;
  padding: 11px 13px; font-family: var(--iapa-mono); font-size: 13.5px;
  color: var(--iapa-ink); background: transparent; margin: 0;
}
.iapa-phone-input > input::placeholder { color: var(--iapa-muted-soft); }
.iapa-phone-input--readonly { background: var(--iapa-paper); }
.iapa-phone-input--readonly .iapa-phone-input__prefix { background: #eef2f0; }
.iapa-phone-input--readonly > input {
  color: var(--iapa-muted); cursor: default;
}
.iapa-phone-input.is-invalid {
  border-color: var(--iapa-red);
}
.iapa-phone-input.is-invalid:focus-within {
  border-color: var(--iapa-red);
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12);
}

.iapa-password-input {
  display: flex; align-items: stretch;
  border: 1px solid var(--iapa-line); border-radius: 9px;
  background: var(--iapa-surface);
  transition: border-color 0.15s;
}
.iapa-password-input:focus-within {
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-password-input > input {
  border: none; outline: none; flex: 1; min-width: 0;
  padding: 11px 8px 11px 14px; font-family: inherit; font-size: 13.5px;
  color: var(--iapa-ink); background: transparent; margin: 0;
}
.iapa-password-input > input::placeholder { color: var(--iapa-muted-soft); }
.iapa-password-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; width: 42px; margin: 0; padding: 0; border: 0;
  background: transparent; color: var(--iapa-muted); cursor: pointer;
}
.iapa-password-toggle:hover,
.iapa-password-toggle:focus-visible {
  color: var(--iapa-ink);
}
.iapa-password-toggle:focus-visible {
  outline: 2px solid var(--iapa-primary);
  outline-offset: -4px;
  border-radius: 8px;
}
.iapa-password-toggle .iapa-icon { width: 18px; height: 18px; }

.iapa-field-error {
  margin: 6px 0 0;
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--iapa-red);
}
.iapa-field-error[hidden] { display: none !important; }

.iapa-field { margin-bottom: 18px; }
.iapa-field__hint {
  display: block;
  margin-top: 6px;
  color: var(--iapa-muted);
  font-size: 12px;
  line-height: 1.4;
}
.iapa-free-label[hidden] { display: none !important; }
.iapa-field > label {
  display: block; font-size: 12.5px; font-weight: 600;
  color: var(--iapa-ink-soft); margin-bottom: 8px;
}
.iapa-field select,
.iapa-field textarea,
.iapa-field > input {
  width: 100%; border: 1px solid var(--iapa-line); border-radius: 9px;
  padding: 11px 14px; font-family: inherit; font-size: 13.5px;
  color: var(--iapa-ink); background: var(--iapa-surface);
  box-sizing: border-box;
}
.iapa-field select:focus,
.iapa-field textarea:focus,
.iapa-field > input:focus {
  outline: none; border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-field > input.iapa-field-fixed {
  background: var(--iapa-paper);
  color: var(--iapa-ink);
  cursor: default;
  pointer-events: none;
}
.iapa-field > input.iapa-field-fixed:focus {
  border-color: var(--iapa-line);
  box-shadow: none;
}
.iapa-field select[hidden],
.iapa-field > input[hidden] {
  display: none !important;
}
.iapa-field textarea { min-height: 88px; resize: vertical; }
.iapa-field-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 0;
}
.iapa-field-row > .iapa-field { min-width: 0; }
.iapa-form {
  padding: 20px 22px 22px;
}
.iapa-form__section + .iapa-form__section {
  margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--iapa-line);
}
.iapa-form__label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--iapa-muted-soft);
  margin-bottom: 14px;
}
.iapa-field-hint {
  font-size: 12.5px;
  color: var(--iapa-muted-soft);
  margin: -6px 0 14px;
}
.iapa-field-hint.is-error { color: #b42318; }
.iapa-pw-advice {
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius-sm);
  background: var(--iapa-paper);
}
.iapa-pw-advice[hidden] { display: none !important; }
.iapa-pw-advice__text {
  margin: 0 0 8px;
  font-size: 12.5px;
  color: var(--iapa-muted);
}
.iapa-pw-advice ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.iapa-pw-advice li {
  position: relative;
  padding-left: 18px;
  margin: 4px 0 0;
  font-size: 12.5px;
  color: var(--iapa-muted-soft);
}
.iapa-pw-advice li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
}
.iapa-pw-advice li.is-ok { color: var(--iapa-primary-dark); }
.iapa-pw-advice li.is-ok::before { content: "✓"; }
.iapa-pw-advice li.is-miss { color: var(--iapa-muted); }
.iapa-pw-advice[data-strength="3"] {
  border-color: var(--iapa-line-strong);
  background: var(--iapa-primary-tint);
}
.iapa-pw-advice[data-strength="3"] .iapa-pw-advice__text {
  color: var(--iapa-primary-dark);
}
.iapa-form__foot {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--iapa-line);
}
.iapa-form__foot .iapa-auth__msg { margin: 0; min-height: 0; }
.iapa-panel__body > .iapa-field:last-of-type { margin-bottom: 14px; }
.iapa-panel__body > .iapa-auth__msg { margin-top: 10px; margin-bottom: 0; }
.iapa-panel__body > .iapa-actions { margin-bottom: 0; }
.iapa-drawer {
  border: 1px solid var(--iapa-line); border-radius: var(--iapa-radius);
  background: var(--iapa-surface); padding: 18px; margin-bottom: 18px;
}
.iapa-drawer[hidden] { display: none !important; }
.iapa-drawer__title {
  font-size: 15px; font-weight: 700; margin: 0 0 14px;
}

/* ---- modals ---- */
body.iapa-modal-open { overflow: hidden; }
.iapa-modal {
  position: fixed; inset: 0; z-index: 80;
  display: flex; align-items: center; justify-content: center;
  padding: 24px 16px;
}
.iapa-modal[hidden] { display: none !important; }
.iapa-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(42, 39, 64, 0.45);
}
.iapa-modal__dialog {
  position: relative; z-index: 1;
  width: min(560px, 100%);
  max-height: min(88vh, 840px);
  display: flex;
  flex-direction: column;
  overflow: visible;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(42, 39, 64, 0.22);
}
.iapa-modal--sm .iapa-modal__dialog {
  width: min(400px, 100%);
}
.iapa-modal__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 16px 18px 0;
  flex-shrink: 0;
}
.iapa-modal__title {
  margin: 0; font-size: 17px; font-weight: 700;
}
.iapa-modal__close {
  border: none; background: transparent; cursor: pointer;
  font-size: 24px; line-height: 1; color: var(--iapa-muted);
  padding: 4px 8px;
}
.iapa-modal__close:hover { color: var(--iapa-ink); }
.iapa-modal__body {
  padding: 14px 18px 18px;
  overflow: auto;
  min-height: 0;
}
.iapa-modal--review .iapa-modal__dialog {
  width: min(560px, 100%);
  max-height: min(90vh, 840px);
}
.iapa-review__person {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 16px;
}
.iapa-review__photo {
  width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
  border: 1px solid var(--iapa-line); background: var(--iapa-paper); flex-shrink: 0;
}
.iapa-review__photo--empty { background: var(--iapa-primary-tint); }
.iapa-review__who { min-width: 0; }
.iapa-review__who strong { display: block; font-size: 16px; }
.iapa-review__who div { font-size: 13px; color: var(--iapa-muted); margin-top: 2px; }
.iapa-review__fields { margin: 0; }
.iapa-review__row {
  display: grid; grid-template-columns: minmax(110px, 36%) 1fr;
  gap: 8px 14px; padding: 8px 0;
  border-top: 1px solid var(--iapa-line);
}
.iapa-review__row dt {
  font-size: 12px; font-weight: 600; color: var(--iapa-ink-soft);
}
.iapa-review__row dd { margin: 0; font-size: 13px; color: var(--iapa-ink); }
.iapa-review__list { margin: 0; padding-left: 18px; }
.iapa-review__docs { margin-top: 16px; }
.iapa-review__docs h4 { margin: 0 0 10px; font-size: 13px; }
.iapa-review__doc { margin-bottom: 12px; }
.iapa-review__doc-label { font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.iapa-review__doc img {
  max-width: 100%; max-height: 220px; border-radius: 8px;
  border: 1px solid var(--iapa-line); display: block;
}
@media (max-width: 640px) {
  .iapa-review__row { grid-template-columns: 1fr; gap: 2px 0; }
}

.iapa-modal--otp .iapa-modal__backdrop {
  background: rgba(8, 16, 14, 0.78);
}

.iapa-modal--otp .iapa-modal__dialog {
  width: min(420px, 100%);
  border-radius: 20px;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.iapa-modal--otp .iapa-modal__head {
  padding: 22px 24px 0;
}

.iapa-modal--otp .iapa-modal__title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.iapa-modal--otp .iapa-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 8px;
  font-size: 0;
}

.iapa-modal--otp .iapa-modal__close .iapa-icon {
  width: 18px;
  height: 18px;
  color: var(--iapa-muted);
}

.iapa-modal--otp .iapa-modal__close:hover {
  background: var(--iapa-paper);
}

.iapa-modal--otp .iapa-modal__close:hover .iapa-icon {
  color: var(--iapa-ink);
}

.iapa-modal--otp .iapa-modal__body {
  padding: 10px 24px 24px;
}

.iapa-modal__intro {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--iapa-muted);
}

.iapa-modal--otp .iapa-field {
  margin-bottom: 18px;
}

.iapa-modal--otp .iapa-field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-ink);
}

.iapa-modal--otp .iapa-field-input {
  gap: 10px;
  border: none;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.iapa-modal--otp .iapa-field-input:focus-within {
  border-color: transparent;
  box-shadow: none;
}

.iapa-modal--otp .iapa-field-input .iapa-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--iapa-muted);
}

.iapa-modal--otp .iapa-field-input input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--iapa-primary-dark);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--iapa-surface);
  font-size: 14px;
}

.iapa-modal--otp .iapa-field-input input:focus {
  outline: none;
  border-color: var(--iapa-primary-dark);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}

.iapa-modal--otp .iapa-field-input input:focus-visible {
  outline: none;
}

.iapa-modal--otp .iapa-btn--otp {
  width: 100%;
  padding: 13px 18px;
  font-size: 14px;
  border-radius: 10px;
}

.iapa-modal .iapa-modal__body .iapa-btn,
.iapa-modal .iapa-modal__body a.iapa-btn {
  margin-top: 8px;
}

.iapa-modal--otp .iapa-auth__msg {
  margin-top: 12px;
  min-height: 1.2em;
}

.iapa-modal--otp .iapa-modal__actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}

.iapa-modal--otp .iapa-modal__actions .iapa-btn,
.iapa-modal--otp .iapa-modal__actions a.iapa-btn {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  justify-content: center;
  text-align: center;
  padding: 13px 18px;
  font-size: 14px;
  border-radius: 10px;
}

.iapa-otp-digits {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 0 18px;
}

.iapa-otp-digit {
  width: 44px;
  height: 52px;
  padding: 0;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  font-family: var(--iapa-mono, 'IBM Plex Mono', monospace);
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: var(--iapa-surface);
  color: var(--iapa-ink);
}

.iapa-otp-digit:focus {
  outline: none;
  border-color: var(--iapa-primary-dark);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}

.iapa-otp-digits__sep {
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: var(--iapa-muted-soft);
  margin: 0 2px;
  flex-shrink: 0;
}

.iapa-day-chips {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.iapa-day-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 10px; border-radius: 999px;
  border: 1px solid var(--iapa-line); background: var(--iapa-paper);
  font-size: 12.5px; font-weight: 600; color: var(--iapa-ink-soft);
  cursor: pointer; user-select: none;
}
.iapa-day-chip:has(input:checked) {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-day-chip input { accent-color: var(--iapa-primary); }
.iapa-date-add {
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.iapa-date-add input[type="date"],
.iapa-date-add input[type="number"] {
  flex: 1;
  min-width: 0;
  width: auto;
  border: 1px solid var(--iapa-line);
  border-radius: 9px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--iapa-ink);
  background: var(--iapa-surface);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iapa-date-add input[type="date"]:focus,
.iapa-date-add input[type="number"]:focus {
  outline: none;
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-date-add input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.55;
}
.iapa-date-add input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 0.9;
}
.iapa-date-add .iapa-btn {
  flex-shrink: 0;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.iapa-field > .iapa-date-add + .iapa-date-chips + .iapa-field-hint,
.iapa-field > .iapa-date-add + .iapa-field-hint {
  margin-top: 8px;
  margin-bottom: 0;
}

/* ---- custom datepicker (branded calendar) ---- */
.iapa-datepicker {
  position: relative;
  flex: 1;
  min-width: 0;
}
.iapa-datepicker__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 11px 14px;
  border: 1px solid var(--iapa-line);
  border-radius: 9px;
  background: var(--iapa-surface);
  font: inherit;
  font-size: 13.5px;
  color: var(--iapa-ink);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iapa-datepicker__trigger:hover {
  border-color: var(--iapa-line-strong);
}
.iapa-datepicker.is-open .iapa-datepicker__trigger,
.iapa-datepicker__trigger:focus {
  outline: none;
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-datepicker__value.is-placeholder {
  color: var(--iapa-muted-soft);
}
.iapa-datepicker__icon {
  width: 18px;
  height: 18px;
  color: var(--iapa-muted);
  flex-shrink: 0;
}
.iapa-datepicker__pop {
  position: fixed;
  z-index: 200;
  width: min(320px, calc(100vw - 24px));
  max-height: calc(100vh - 16px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  background: var(--iapa-surface);
  box-shadow: 0 16px 40px rgba(42, 39, 64, 0.16);
}
.iapa-datepicker__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.iapa-datepicker__month {
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-datepicker__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}
.iapa-datepicker__jump {
  appearance: none;
  margin: 0;
  padding: 6px 22px 6px 10px;
  border: 1px solid var(--iapa-line);
  border-radius: 8px;
  background: var(--iapa-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--iapa-ink);
  cursor: pointer;
  min-width: 0;
  line-height: 1.2;
}
.iapa-datepicker__jump:hover {
  border-color: var(--iapa-primary);
  background-color: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-datepicker__hint {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-datepicker__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--iapa-line);
  border-radius: 8px;
  background: var(--iapa-paper);
  color: var(--iapa-ink-soft);
  cursor: pointer;
}
.iapa-datepicker__nav-btn:hover {
  background: var(--iapa-primary-tint);
  border-color: var(--iapa-primary);
  color: var(--iapa-primary-dark);
}
.iapa-datepicker__nav-btn .iapa-icon {
  width: 16px;
  height: 16px;
}
.iapa-datepicker__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.iapa-datepicker__grid.is-years {
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.iapa-datepicker__grid.is-months {
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.iapa-datepicker__year,
.iapa-datepicker__month-cell {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 8px 4px;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: var(--iapa-paper);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
  cursor: pointer;
}
.iapa-datepicker__year.is-empty,
.iapa-datepicker__month-cell.is-empty {
  visibility: hidden;
  pointer-events: none;
}
.iapa-datepicker__year:hover,
.iapa-datepicker__month-cell:hover {
  background: var(--iapa-primary-tint);
  border-color: var(--iapa-primary);
  color: var(--iapa-primary-dark);
}
.iapa-datepicker__year.is-today,
.iapa-datepicker__month-cell.is-today {
  box-shadow: inset 0 0 0 1.5px var(--iapa-primary);
}
.iapa-datepicker__year.is-selected,
.iapa-datepicker__year.is-selected:hover,
.iapa-datepicker__month-cell.is-selected,
.iapa-datepicker__month-cell.is-selected:hover {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
  color: #fff;
  box-shadow: none;
}
.iapa-datepicker__dow {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--iapa-muted-soft);
  padding: 4px 0 8px;
}
.iapa-datepicker__day {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 9px;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
  cursor: pointer;
}
.iapa-datepicker__day.is-empty {
  visibility: hidden;
  pointer-events: none;
}
.iapa-datepicker__day:hover {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-datepicker__day.is-today {
  box-shadow: inset 0 0 0 1.5px var(--iapa-primary);
  color: var(--iapa-primary-dark);
}
.iapa-datepicker__day.is-selected,
.iapa-datepicker__day.is-selected:hover {
  background: var(--iapa-primary);
  color: #fff;
  box-shadow: none;
}
.iapa-datepicker__foot {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-datepicker__link {
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
  cursor: pointer;
}
.iapa-datepicker__link:hover {
  color: var(--iapa-primary);
}

/* ---- custom timepicker ---- */
.iapa-timepicker {
  position: relative;
  width: 100%;
}
.iapa-timepicker__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 11px 14px;
  border: 1px solid var(--iapa-line);
  border-radius: 9px;
  background: var(--iapa-surface);
  font: inherit;
  font-size: 13.5px;
  color: var(--iapa-ink);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iapa-timepicker__trigger:hover {
  border-color: var(--iapa-line-strong);
}
.iapa-timepicker.is-open .iapa-timepicker__trigger,
.iapa-timepicker__trigger:focus {
  outline: none;
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}
.iapa-timepicker__value.is-placeholder {
  color: var(--iapa-muted-soft);
}
.iapa-timepicker__icon {
  width: 18px;
  height: 18px;
  color: var(--iapa-muted);
  flex-shrink: 0;
}
.iapa-timepicker__pop {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 90;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  background: var(--iapa-surface);
  box-shadow: 0 16px 40px rgba(42, 39, 64, 0.16);
  overflow: hidden;
}
.iapa-timepicker.is-open-up .iapa-timepicker__pop {
  top: auto;
  bottom: calc(100% + 8px);
}
.iapa-timepicker__list {
  max-height: 240px;
  overflow-y: auto;
  padding: 6px;
  scrollbar-width: thin;
}
.iapa-timepicker__option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
  border: none;
  border-radius: 8px;
  background: transparent;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
  text-align: left;
  cursor: pointer;
}
.iapa-timepicker__option:hover {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-timepicker__option.is-selected,
.iapa-timepicker__option.is-selected:hover {
  background: var(--iapa-primary);
  color: #fff;
}
.iapa-date-chips {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 10px; min-height: 0;
}
.iapa-date-chips:empty { display: none; }
.iapa-date-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 8px 5px 10px; border-radius: 999px;
  border: 1px solid var(--iapa-line); background: var(--iapa-paper);
  font-family: var(--iapa-mono); font-size: 12px; font-weight: 500;
  color: var(--iapa-ink-soft);
}
.iapa-date-chip__remove {
  border: none; background: transparent; cursor: pointer;
  color: var(--iapa-muted); font-size: 16px; line-height: 1;
  padding: 0 2px;
}
.iapa-date-chip__remove:hover { color: #b42318; }
.iapa-field__label {
  display: block; font-size: 12.5px; font-weight: 600;
  color: var(--iapa-ink-soft); margin-bottom: 6px;
}
.iapa-choice-row {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.iapa-choice {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 12px; border-radius: 10px;
  border: 1px solid var(--iapa-line); background: var(--iapa-paper);
  font-size: 13px; font-weight: 600; color: var(--iapa-ink-soft);
  cursor: pointer;
}
.iapa-choice:has(input:checked) {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-choice input { accent-color: var(--iapa-primary); }
.iapa-toolbar {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin-bottom: 16px;
}
.iapa-toolbar .iapa-field { margin: 0; min-width: 160px; }
.iapa-cal-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
}
.iapa-cal-dow {
  text-align: center; font-size: 11px; font-weight: 600;
  color: var(--iapa-muted-soft); text-transform: uppercase; padding: 6px 0;
  letter-spacing: 0.04em;
}
.iapa-cal-day {
  min-height: 68px; border: 1px solid var(--iapa-line); border-radius: 10px;
  padding: 8px; background: var(--iapa-surface); cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.iapa-cal-day:hover:not(.iapa-cal-day--muted) {
  border-color: var(--iapa-line-strong);
  background: #fafcfb;
}
.iapa-cal-day--muted {
  opacity: 0.35; cursor: default; pointer-events: none;
  background: transparent; border-color: transparent;
}
.iapa-cal-day--today {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
}
.iapa-cal-day--busy:not(.iapa-cal-day--today):not(.iapa-cal-day--selected) {
  background: linear-gradient(180deg, #fff 0%, #f3faf7 100%);
}
.iapa-cal-day--selected {
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 2px var(--iapa-primary);
  background: var(--iapa-surface);
}
.iapa-cal-day--today.iapa-cal-day--selected {
  background: var(--iapa-primary-tint);
}
.iapa-cal-day__num {
  font-family: var(--iapa-mono); font-size: 12.5px; font-weight: 600;
  color: var(--iapa-ink-soft); line-height: 1;
}
.iapa-cal-day--today .iapa-cal-day__num { color: var(--iapa-primary-dark); }
.iapa-cal-day__marks {
  display: flex; align-items: center; gap: 3px; flex-wrap: wrap;
  margin-top: 10px; min-height: 8px;
}
.iapa-cal-day__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--iapa-primary);
}
.iapa-cal-day__dot--muted { background: var(--iapa-muted-soft); }
.iapa-cal-day__more {
  font-family: var(--iapa-mono); font-size: 10px; font-weight: 600;
  color: var(--iapa-primary-dark); margin-left: 1px;
}
.iapa-cal-nav {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--iapa-surface); border: 1px solid var(--iapa-line);
  border-radius: 999px; padding: 4px;
}
.iapa-cal-nav__label {
  min-width: 132px; text-align: center; font-size: 13px; font-weight: 600;
  color: var(--iapa-ink-soft); padding: 0 4px;
}
.iapa-cal-nav .iapa-btn--sm { border-radius: 999px; min-width: 34px; padding-left: 10px; padding-right: 10px; }
.iapa-cal-legend {
  display: flex; gap: 14px; align-items: center;
  font-size: 11.5px; color: var(--iapa-muted); font-weight: 500;
}
.iapa-cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.iapa-cal-legend__swatch {
  width: 10px; height: 10px; border-radius: 3px; display: inline-block;
  border: 1px solid var(--iapa-line);
}
.iapa-cal-legend__swatch--today {
  background: var(--iapa-primary-tint); border-color: var(--iapa-primary);
}
.iapa-cal-legend__swatch--busy {
  background: linear-gradient(180deg, #fff, #e8f5f0); border-color: var(--iapa-line-strong);
}
.iapa-day-list { display: flex; flex-direction: column; gap: 8px; }
.iapa-day-item {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  grid-template-areas:
    "time body status"
    "time body actions";
  gap: 4px 12px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--iapa-line);
  border-radius: 10px; background: var(--iapa-surface);
}
.iapa-day-item--muted { opacity: 0.55; }
.iapa-day-item__time {
  grid-area: time; font-size: 12.5px; font-weight: 600;
  color: var(--iapa-primary-dark); align-self: start; padding-top: 2px;
}
.iapa-day-item__body { grid-area: body; min-width: 0; }
.iapa-day-item__status { grid-area: status; justify-self: end; }
.iapa-day-item__actions { grid-area: actions; justify-self: end; }
.iapa-day-item .iapa-person { gap: 10px; }
@media (max-width: 520px) {
  .iapa-day-item {
    grid-template-columns: 44px 1fr;
    grid-template-areas:
      "time body"
      "time status"
      "time actions";
  }
  .iapa-day-item__status,
  .iapa-day-item__actions { justify-self: start; }
}

.iapa-drawer--notes {
  margin-top: 14px;
  animation: iapa-drawer-in 0.18s ease;
}
.iapa-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 6px;
}
.iapa-drawer__head .iapa-drawer__title { margin: 0; }
.iapa-drawer--notes .iapa-panel__sub { margin-bottom: 14px; }
@keyframes iapa-drawer-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

.iapa-actions--tight { margin-top: 4px; gap: 8px; }
.iapa-field input:disabled {
  background: var(--iapa-paper); color: var(--iapa-muted); cursor: not-allowed;
}
.iapa-profile-card {
  display: flex; gap: 16px; align-items: center;
}
.iapa-profile-card__photo {
  width: 88px; height: 88px; border-radius: 18px; flex-shrink: 0;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--iapa-mono); font-weight: 700; font-size: 24px;
  border: 1px solid var(--iapa-line); box-shadow: var(--iapa-shadow-sm);
  background-size: cover; background-position: center;
}
.iapa-profile-card__photo.has-image {
  color: transparent; border-color: var(--iapa-line-strong);
}
.iapa-profile-card__meta { min-width: 0; }
.iapa-profile-card__id {
  font-size: 13px; font-weight: 600; color: var(--iapa-ink-soft);
  margin-bottom: 4px;
}
.iapa-profile-card__hint {
  font-size: 11.5px; color: var(--iapa-muted-soft); margin: 0 0 12px;
  line-height: 1.4;
}
.iapa-profile-card__upload {
  display: inline-flex !important; cursor: pointer;
}

.iapa-profile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 760px;
  margin-bottom: 18px;
}
.iapa-profile-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.iapa-profile-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  text-align: left;
  color: var(--iapa-ink);
  text-decoration: none;
  cursor: pointer;
}
.iapa-profile-action:hover {
  background: var(--iapa-paper);
}
.iapa-profile-action[hidden] { display: none !important; }
.iapa-profile-action.is-installed,
.iapa-profile-action.is-pending {
  cursor: default;
}
.iapa-profile-action.is-installed .iapa-accordion__icon,
.iapa-profile-action.is-approved .iapa-accordion__icon {
  background: #dcfce7;
  color: #166534;
}
.iapa-profile-action.is-pending .iapa-accordion__icon {
  background: #fef3c7;
  color: #92400e;
}
.iapa-profile-action.is-correction .iapa-accordion__icon,
.iapa-profile-action.is-rejected .iapa-accordion__icon {
  background: #ffedd5;
  color: #9a3412;
}
.iapa-profile-action .iapa-accordion__chevron {
  flex-shrink: 0;
  transform: none;
}
@media (max-width: 560px) {
  .iapa-profile-action { padding: 12px 14px; }
}
.iapa-sessions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.iapa-sessions__summary {
  display: flex;
  align-items: center;
  gap: 10px;
}
.iapa-sessions__summary strong {
  font-size: 15px;
  letter-spacing: -0.02em;
}
.iapa-sessions__badge,
.iapa-sessions__device {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--iapa-primary-tint);
  font-size: 18px;
  line-height: 1;
}
.iapa-sessions__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iapa-sessions__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-sessions__item.is-current {
  border-color: #c4bfde;
  background: var(--iapa-primary-tint);
}
.iapa-sessions__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.iapa-sessions__current {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-primary);
}
.iapa-sessions__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-sessions__active {
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-sessions__login {
  font-size: 11px;
  color: var(--iapa-muted-soft);
}
.iapa-sessions .js-sessions-logout-others {
  align-self: flex-start;
}
.iapa-accordion {
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  overflow: hidden;
}
.iapa-accordion__head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: var(--iapa-surface);
  border: 0;
  text-align: left;
  color: var(--iapa-ink);
}
.iapa-accordion__head:hover {
  background: var(--iapa-paper);
}
.iapa-accordion.is-open .iapa-accordion__head {
  border-bottom: 1px solid var(--iapa-line);
}
.iapa-accordion__lead {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.iapa-accordion__icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iapa-accordion__icon .iapa-icon { width: 18px; height: 18px; }
.iapa-accordion__title-wrap {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.iapa-accordion__title {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.3;
}
.iapa-accordion__sub {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--iapa-muted);
  line-height: 1.4;
}
.iapa-accordion__aside {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.iapa-accordion__chevron {
  width: 18px;
  height: 18px;
  color: var(--iapa-muted);
  transition: transform 0.18s ease;
  flex-shrink: 0;
}
.iapa-accordion.is-open .iapa-accordion__chevron {
  transform: rotate(180deg);
}
.iapa-accordion__body {
  padding: 16px 18px 18px;
}
.iapa-accordion__body .iapa-form {
  padding: 0;
}
.iapa-accordion__body[hidden] {
  display: none !important;
}
.iapa-accordion__body .iapa-form__foot {
  padding-top: 8px;
}
.iapa-profile-facts {
  display: grid;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
}
.iapa-profile-facts div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 34%) 1fr;
  gap: 4px 12px;
  font-size: 13px;
  line-height: 1.4;
}
.iapa-profile-facts dt {
  margin: 0;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-profile-facts dd {
  margin: 0;
  color: var(--iapa-ink);
  font-weight: 600;
}
@media (max-width: 560px) {
  .iapa-accordion__head { padding: 12px 14px; }
  .iapa-accordion__body { padding: 14px 14px 16px; }
  .iapa-profile-facts div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
.iapa-grid-2--cal > .iapa-panel { min-width: 0; }

.iapa-tabs { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.iapa-tab {
  border: 1px solid var(--iapa-line); background: var(--iapa-surface);
  border-radius: 999px; padding: 7px 14px; font-size: 12.5px; font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-tab.is-active {
  background: var(--iapa-primary); color: #fff; border-color: var(--iapa-primary);
}
@media (max-width: 700px) {
  .iapa-field-row { grid-template-columns: 1fr; }
  .iapa-cal-day { min-height: 52px; padding: 6px; }
  .iapa-cal-legend { display: none; }
  .iapa-cal-nav { width: 100%; justify-content: space-between; }
  .iapa-cal-nav__label { flex: 1; }
  .iapa-profile-card { flex-direction: column; align-items: flex-start; }
}

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap;
}
button.iapa-cal-day {
  font: inherit; text-align: left; color: inherit; display: block; width: 100%;
}

.iapa-auth__msg {
  margin-top: 14px; font-size: 13px; color: var(--iapa-muted); min-height: 1.2em;
}
.iapa-auth__msg.is-error { color: var(--iapa-red); }
.iapa-auth__secure {
  display: flex; align-items: center; gap: 7px; justify-content: center;
  margin-top: 26px; font-size: 11.5px; color: var(--iapa-muted-soft);
}
.iapa-auth__secure .iapa-icon { width: 13px; height: 13px; }
.iapa-auth__roles { display: flex; gap: 8px; margin-bottom: 20px; }
.iapa-auth__roles .iapa-btn { flex: 1; }

/* ---- compact public content (profile/book/etc) ---- */

.iapa-public-main {
  max-width: 40rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem;
}
.iapa-public-main--wide { max-width: 48rem; }

/* Legacy compact public helpers (kept for older snippets) */
.iapa-public {
  max-width: 40rem; margin: 0 auto; padding: 3rem 1.25rem 4rem;
}
.iapa-public--wide { max-width: 48rem; }
.iapa-public__brand {
  font-weight: 700; font-size: 1.25rem; color: var(--iapa-primary-dark);
  letter-spacing: 0.02em; margin-bottom: 1rem;
}
.iapa-public h1 {
  font-size: 1.75rem; font-weight: 700; letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.iapa-public__lead { color: var(--iapa-muted); margin-bottom: 1.5rem; }
.iapa-card {
  padding: 1.25rem; border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius); background: var(--iapa-surface);
  margin-bottom: 1rem;
}
.iapa-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }

/* ==========================================================================
   Responsive & motion
   ========================================================================== */

@media (max-width: 1180px) {
  .iapa-grid-2 { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .iapa-shell__sidebar { transform: translateX(-100%); }
  .iapa-shell__sidebar.is-open { transform: translateX(0); }
  .iapa-shell__overlay { display: block; }
  .iapa-shell__overlay.is-visible { opacity: 1; pointer-events: auto; }
  .iapa-shell__main { margin-left: 0; }
  .iapa-shell__menu-btn { display: flex; align-items: center; justify-content: center; }
  .iapa-shell--practitioner .iapa-shell__menu-btn { display: none; }
  .iapa-shell--practitioner .iapa-shell__topbar-brand {
    display: flex;
    position: static;
    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: center;
    max-width: calc(100% - 7.5rem);
    min-width: 0;
  }
  .iapa-shell--practitioner .iapa-dock { display: flex; }
  .iapa-shell--practitioner .iapa-shell__content {
    padding-bottom: calc(28px + 68px + env(safe-area-inset-bottom, 0px));
  }
  .iapa-shell__search { width: 220px; }
  .iapa-kpis { grid-template-columns: repeat(2, 1fr); }

  .iapa-hero__grid { grid-template-columns: 1fr; }
  .iapa-hero-visual { order: -1; }
  .iapa-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .iapa-stats__grid { grid-template-columns: repeat(2, 1fr); row-gap: 28px; }
  .iapa-site-foot__grid { grid-template-columns: 1fr 1fr; }
  .iapa-prac-grid { grid-template-columns: repeat(2, 1fr); }
  .iapa-auth {
    grid-template-columns: 1fr;
    min-height: calc(100dvh - 72px - env(safe-area-inset-top, 0px));
  }
  .iapa-auth__brand { display: none; }
  .iapa-auth__form {
    min-height: 0;
    align-items: flex-start;
    padding: 24px 20px calc(24px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 768px) {
  .iapa-site-nav__inner {
    grid-template-columns: 1fr auto;
    height: 60px;
  }
  .iapa-site-nav__links,
  .iapa-site-nav__right { display: none; }
  .iapa-site-nav__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
  }
  .iapa-site-nav__drawer {
    padding: 4px 16px 16px;
    gap: 0;
  }
  .iapa-site-nav__drawer a,
  .iapa-site-nav__drawer-btn {
    min-height: 44px;
    padding: 12px 4px;
    border-bottom: 1px solid var(--iapa-line);
  }
  .iapa-site-nav__drawer-cta {
    margin-top: 12px;
    min-height: 44px;
    border-bottom: none;
  }

  .iapa-hero { padding: 36px 0 48px; }
  .iapa-hero-visual { order: 0; }
  .iapa-hero h1 { font-size: clamp(28px, 8vw, 36px); }
  .iapa-hero__sub { font-size: 15px; margin-bottom: 22px; }
  .iapa-hero__ctas,
  .iapa-cta-card .iapa-hero__ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .iapa-hero__ctas .iapa-btn,
  .iapa-cta-card .iapa-hero__ctas .iapa-btn { width: 100%; }

  .iapa-features { padding: 56px 0; }
  .iapa-section-head { margin-bottom: 32px; }
  .iapa-section-head h2 { font-size: 26px; }
  .iapa-quote { padding: 56px 0; }
  .iapa-quote__text { font-size: 20px; }
  .iapa-cta-final { padding-bottom: 56px; }
  .iapa-site-foot { padding: 40px 0 24px; }
  .iapa-site-foot__col a {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }

  .iapa-btn {
    min-height: 44px;
    padding: 12px 16px;
  }
  .iapa-btn--lg { min-height: 48px; }
  .iapa-chip { min-height: 44px; }

  .iapa-field select,
  .iapa-field textarea,
  .iapa-field > input,
  .iapa-field-input input,
  .iapa-phone-input > input,
  .iapa-password-input > input,
  .iapa-filter__search input,
  .iapa-shell__search input {
    font-size: 16px;
  }
  .iapa-phone-input__prefix { font-size: 16px; }
  .iapa-field-input { padding: 12px 13px; }
  .iapa-phone-input > input { padding: 12px 13px; }

  .iapa-filter { padding: 12px; }
  .iapa-filter__search { min-width: 0; width: 100%; }
  .iapa-actions .iapa-btn { width: 100%; }
  .iapa-wizard .iapa-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .iapa-form__foot .iapa-btn { width: 100%; }

  .iapa-public-main {
    padding: 1.5rem 1rem calc(2.5rem + env(safe-area-inset-bottom, 0px));
  }

  .iapa-mini-row { min-width: 0; }
  .iapa-mini-row__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .iapa-kpis,
  .iapa-kpis--2 { grid-template-columns: 1fr; }
  .iapa-shell__search { display: none; }
  .iapa-shell__content {
    padding: 16px 14px calc(40px + env(safe-area-inset-bottom, 0px));
  }
  .iapa-shell--practitioner .iapa-shell__content {
    padding: 16px 14px calc(18px + 68px + env(safe-area-inset-bottom, 0px));
  }
  .iapa-shell__topbar {
    height: 56px;
    padding: 0 max(12px, env(safe-area-inset-right, 0px)) 0 max(6px, env(safe-area-inset-left, 0px));
    gap: 8px;
  }
  .iapa-shell--practitioner .iapa-shell__topbar {
    height: auto;
    min-height: 56px;
    padding-top: 8px;
    padding-bottom: 8px;
    align-items: center;
  }
  .iapa-shell__profile { padding: 4px; }
  .iapa-shell__profile-text { display: none; }
  .iapa-shell__menu-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .iapa-page-head { margin-bottom: 16px; align-items: flex-start; gap: 10px; }
  .iapa-page-head__meta { line-height: 1.45; }
  .iapa-kpis { gap: 12px; margin-bottom: 14px; }
  .iapa-kpi { padding: 16px; }
  .iapa-kpi__top { margin-bottom: 10px; }
  .iapa-grid-2 { gap: 14px; margin-bottom: 14px; }
  #js-upi-panel:not([hidden]) { margin-bottom: 14px; }
  .iapa-upi-body { padding: 16px 14px 18px; gap: 14px; }
  .iapa-table thead th,
  .iapa-table tbody td { padding: 10px 12px; }
  .iapa-table-wrap .iapa-table { min-width: 460px; }
  .iapa-table-wrap:has(.iapa-empty) .iapa-table { min-width: 0; }
  .iapa-access { padding: 12px 14px 16px; }
  .iapa-foot { padding: 16px 8px 8px; }
  .iapa-shell__nav-link { min-height: 44px; padding: 12px; }
  .iapa-shell__logout { min-height: 44px; }
  .iapa-queue__item { flex-wrap: wrap; }
  .iapa-queue__wait { margin-left: 0; text-align: left; }
  .iapa-queue__actions { margin-left: 0; width: 100%; }
  .iapa-queue__actions .iapa-btn { flex: 1; }

  .iapa-hero h1 { font-size: 30px; }
  .iapa-feature-grid { grid-template-columns: 1fr; }
  .iapa-stats__grid { grid-template-columns: 1fr 1fr; }
  .iapa-site-foot__grid { grid-template-columns: 1fr; }
  .iapa-float-badge { display: none; }
  .iapa-cta-card { padding: 36px 18px; }
  .iapa-prac-grid { grid-template-columns: 1fr; }
  .iapa-page-hero { padding: 32px 0 20px; }
  .iapa-page-hero h1 { font-size: 26px; }
  .iapa-how { gap: 12px; padding-bottom: 28px; }
  .iapa-how__sep { display: none; }
  .iapa-trust-grid { grid-template-columns: 1fr; }
  .iapa-wrap {
    padding: 0 max(16px, env(safe-area-inset-left, 0px)) 0 max(16px, env(safe-area-inset-right, 0px));
  }
  .iapa-auth__card h1 { font-size: 22px; }
  .iapa-logos__row { justify-content: center; gap: 16px 20px; }
  .iapa-logos__item { font-size: 16px; }

  .iapa-modal {
    padding: 0;
    align-items: flex-end;
  }
  .iapa-modal__dialog,
  .iapa-modal--sm .iapa-modal__dialog,
  .iapa-modal--otp .iapa-modal__dialog {
    width: 100%;
    max-height: min(92dvh, 100%);
    border-radius: 16px 16px 0 0;
  }
  .iapa-modal__body {
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .iapa-modal__close {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (max-width: 600px) {
  .iapa-kpis,
  .iapa-kpis--2 { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .iapa-skeleton::after { animation: none; }
  .iapa-wizard__spinner { animation: none; }
  .iapa-shell__sidebar,
  .iapa-shell__topbar,
  .iapa-shell__nav-link,
  .iapa-shell__overlay,
  .iapa-btn,
  .iapa-feature,
  .iapa-prac,
  .iapa-pwa__card { transition: none; }
  .iapa-btn:active:not(:disabled) { transform: none; }
}

/* ==========================================================================
   Platform admin spacing polish
   ========================================================================== */

.iapa-shell__content > .iapa-panel + .iapa-panel {
  margin-top: 18px;
}

.iapa-shell__content > .iapa-toolbar {
  margin: -4px 0 18px;
}

.iapa-panel__head {
  align-items: flex-start;
  flex-wrap: wrap;
  row-gap: 12px;
  padding: 16px 20px;
}

.iapa-panel__head > div:first-child {
  min-width: 0;
  flex: 1 1 220px;
}

.iapa-panel__head .iapa-field,
.iapa-panel__head .iapa-toolbar {
  margin: 0;
}

.iapa-panel__head .iapa-field {
  min-width: 180px;
}

.iapa-panel__head .iapa-toolbar {
  flex: 1 1 280px;
  justify-content: flex-end;
  margin-bottom: 0;
}

.iapa-panel__head p,
.iapa-body .iapa-panel__head p {
  margin: 2px 0 0;
  font-size: 11.5px;
  color: var(--iapa-muted);
  font-weight: 500;
  line-height: 1.45;
}

.iapa-panel > .iapa-empty,
.iapa-panel > .iapa-error,
.iapa-panel > [id^="js-"] > .iapa-empty,
.iapa-panel > [id^="js-"] > .iapa-error {
  padding: 28px 22px;
}

.iapa-panel > .iapa-kpis,
.iapa-panel > [id^="js-"] > .iapa-kpis {
  margin: 0;
  padding: 18px 20px 20px;
}

.iapa-panel > .iapa-table-wrap,
.iapa-panel > [id^="js-"] > .iapa-table-wrap {
  border-top: 0;
}

.iapa-panel > [id^="js-clinic-message"]:not(:empty),
.iapa-panel > #js-clinic-message:not(:empty) {
  padding: 12px 20px 0;
  font-size: 13px;
}

.iapa-platform-overview .iapa-kpis {
  margin-bottom: 0;
}

.iapa-platform-overview .iapa-empty,
.iapa-platform-overview .iapa-error {
  padding: 28px 8px;
}

.iapa-platform-practitioner-detail {
  margin-top: 18px;
}

.iapa-back-link {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 13px;
  color: var(--iapa-muted);
  text-decoration: none;
}

.iapa-back-link:hover {
  color: var(--iapa-primary-dark);
}

.iapa-detail-list {
  display: grid;
  grid-template-columns: minmax(120px, 34%) 1fr;
  gap: 10px 16px;
  margin: 0;
}

.iapa-detail-list dt {
  margin: 0;
  font-size: 12.5px;
  color: var(--iapa-muted);
}

.iapa-detail-list dd {
  margin: 0;
  font-size: 13.5px;
  color: var(--iapa-ink);
  font-weight: 500;
}

.iapa-detail-note {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--iapa-line);
}

.iapa-detail-note h3 {
  margin: 0 0 8px;
  font-size: 12.5px;
  color: var(--iapa-muted);
  font-weight: 600;
}

.iapa-detail-note p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--iapa-ink);
}

.iapa-volume {
  display: grid;
  gap: 12px;
  padding: 18px 20px 20px;
}

.iapa-volume__row {
  display: grid;
  grid-template-columns: 110px minmax(120px, 1fr) 40px;
  align-items: center;
  gap: 12px;
}

.iapa-volume__track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(62, 143, 123, 0.13);
}

.iapa-volume__bar {
  height: 100%;
  border-radius: 999px;
  background: var(--iapa-primary);
}

.iapa-volume__count {
  font-family: var(--iapa-mono);
  font-size: 13px;
  font-weight: 600;
  text-align: right;
  color: var(--iapa-ink);
}

.iapa-toolbar--filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  align-items: flex-end;
}

.iapa-toolbar--filters .iapa-field {
  margin: 0;
  min-width: 150px;
}

.iapa-toolbar--filters .iapa-btn {
  margin-bottom: 1px;
}

.iapa-combobox {
  position: relative;
}

.iapa-combobox__control input[type="search"] {
  width: 100%;
  border: 1px solid var(--iapa-line);
  border-radius: 9px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--iapa-ink);
  background: var(--iapa-surface);
}

.iapa-combobox__control input[type="search"]:focus {
  outline: none;
  border-color: var(--iapa-primary);
  box-shadow: 0 0 0 3px var(--iapa-primary-tint);
}

.iapa-combobox__list {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  margin: 0;
  padding: 6px;
  list-style: none;
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: var(--iapa-surface);
  box-shadow: var(--iapa-shadow);
}

.iapa-combobox__option {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
}

.iapa-combobox__option:hover,
.iapa-combobox__option.is-active {
  background: var(--iapa-primary-tint);
}

.iapa-combobox__option.is-disabled,
.iapa-combobox__option.is-disabled:hover {
  opacity: 0.55;
  cursor: not-allowed;
  background: transparent;
}

.iapa-combobox__option.is-disabled .iapa-combobox__option-name::after {
  content: ' · Not a member yet';
  font-weight: 500;
  color: var(--iapa-muted);
}

.iapa-combobox__option-name {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink);
}

.iapa-combobox__option-phone {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--iapa-muted);
}

.iapa-combobox__hint,
.iapa-combobox__selected {
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--iapa-muted);
}

.iapa-combobox__selected {
  padding: 10px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 9px;
  background: var(--iapa-paper);
  font-weight: 600;
  color: var(--iapa-ink);
}

.iapa-combobox__empty {
  padding: 10px 12px;
  font-size: 12.5px;
  color: var(--iapa-muted);
}

@media (max-width: 980px) {
  .iapa-panel__head .iapa-toolbar {
    justify-content: stretch;
  }
  .iapa-panel__head .iapa-toolbar .iapa-field,
  .iapa-panel__head .iapa-field {
    flex: 1 1 140px;
    min-width: 0;
  }
  .iapa-volume__row {
    grid-template-columns: 88px minmax(80px, 1fr) 32px;
    gap: 8px;
  }
}


/* Listing checklist (practitioner profile) */
.iapa-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iapa-checklist__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.iapa-checklist__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
}
.iapa-checklist__item.is-met .iapa-checklist__mark {
  background: rgba(22, 163, 74, 0.15);
  color: #16a34a;
}
.iapa-checklist__item.is-missing .iapa-checklist__mark {
  background: rgba(217, 119, 6, 0.15);
  color: #d97706;
}
.iapa-checklist__item.is-missing .iapa-checklist__label {
  color: var(--iapa-muted, #6b7280);
}

/* Membership UPI upload — keep form air inside the card. */
#js-upi-panel:not([hidden]) {
  margin: 0 0 18px;
}
.iapa-upi-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px 20px 20px;
}
.iapa-upi-body > p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--iapa-ink-soft);
}
.iapa-upi-body > .iapa-field,
.iapa-upi-body > .iapa-actions,
.iapa-upi-body > .iapa-auth__msg,
.iapa-upi-body > .iapa-field-hint {
  margin: 0;
}
.iapa-upi-body > .iapa-actions { margin-top: 2px; }
.iapa-upi-body > .iapa-auth__msg { min-height: 0; }
.iapa-upi-body__shot { margin: 0; }
.iapa-upi-body__shot img {
  display: block;
  max-width: min(100%, 280px);
  height: auto;
  border-radius: 8px;
}
.iapa-pay-kicker {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--iapa-primary);
}
.iapa-pay-amount {
  margin: 0;
  font-size: 16px;
  color: var(--iapa-ink);
}
.iapa-pay-amount strong {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--iapa-primary-dark);
  line-height: 1.1;
}
.iapa-pay-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.iapa-pay-hero__copy { min-width: 0; flex: 1 1 180px; }
.iapa-pay-fee-label {
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-pay-hero .iapa-btn {
  flex: 0 0 auto;
  min-height: 44px;
  padding-inline: 22px;
}
.iapa-pay-trust {
  list-style: none;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--iapa-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.iapa-pay-trust li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.iapa-pay-trust strong {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-pay-trust span {
  font-size: 12px;
  line-height: 1.35;
  color: var(--iapa-muted);
}
.iapa-pay-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 16px 12px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius-lg);
  text-align: center;
}
.iapa-pay-qr[hidden] { display: none !important; }
.iapa-pay-qr > p {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
}
.iapa-pay-qr img {
  display: block;
  width: min(100%, 280px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: 12px;
}
.iapa-pay-qr-mobile { display: none; }
@media (max-width: 768px) {
  .iapa-pay-trust { grid-template-columns: 1fr; gap: 10px; }
  .iapa-pay-hero { align-items: stretch; }
  .iapa-pay-hero .iapa-btn { width: 100%; }
  .iapa-pay-qr img {
    width: min(100%, 260px);
    height: auto;
  }
}
.iapa-field > input[type="file"] {
  min-height: 44px;
  padding: 10px 12px;
  background: var(--iapa-paper);
}

/* Phone-width polish layered on the existing breakpoints. */
@media (max-width: 480px) {
  .iapa-stats__grid { grid-template-columns: 1fr; row-gap: 20px; }
  .iapa-mini-kpis { grid-template-columns: 1fr; }
  .iapa-prac__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .iapa-prac__foot .iapa-btn { width: 100%; }
  .iapa-page-head h1 { font-size: 20px; }
  .iapa-panel__head { padding: 14px 14px; }
  .iapa-form { padding: 16px 14px 18px; }
  .iapa-panel__body { padding: 16px 14px 18px; }
  .iapa-field { margin-bottom: 16px; }
  .iapa-field > label { margin-bottom: 8px; }
}

/* ---- client welcome dashboard + membership wizard + member login ---- */

.iapa-welcome { display: flex; flex-direction: column; gap: 18px; }
.iapa-welcome__hero {
  background: linear-gradient(135deg, var(--iapa-primary-dark) 0%, var(--iapa-primary) 58%, #585383 100%);
  color: #fff;
  border-radius: var(--iapa-radius-lg);
  padding: 28px 28px 24px;
  position: relative;
  overflow: hidden;
}
.iapa-welcome__hero h1 {
  color: #fff;
  font-size: 28px;
  letter-spacing: -0.3px;
  margin: 0 0 8px;
}
.iapa-welcome__hero p { color: rgba(255,255,255,0.86); max-width: 560px; }
.iapa-welcome__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
  gap: 16px;
}
.iapa-welcome__status {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
}
.iapa-welcome__status[hidden] { display: none !important; }
.iapa-welcome__badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.4px;
  white-space: nowrap;
}
.iapa-status-badge--submitted {
  background: rgba(28, 75, 66, 0.12);
  color: var(--iapa-site-teal);
}
.iapa-status-badge--verification {
  background: rgba(252, 185, 0, 0.18);
  color: #8a6400;
}
.iapa-status-badge--payment {
  background: rgba(255, 105, 0, 0.14);
  color: var(--iapa-site-orange);
}
.iapa-status-badge--approved {
  background: var(--iapa-site-lime);
  color: var(--iapa-site-teal);
}
.iapa-status-badge--active {
  background: rgba(0, 208, 132, 0.16);
  color: #007518;
}
.iapa-status-badge--rejected {
  background: rgba(207, 46, 46, 0.12);
  color: var(--iapa-site-red);
}
.iapa-status-badge--correction {
  background: rgba(255, 105, 0, 0.14);
  color: var(--iapa-site-orange);
}
.iapa-status-badge--inactive {
  background: var(--iapa-site-sand);
  color: var(--iapa-site-teal);
}
.iapa-countdown {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px;
  margin-top: 14px;
}
.iapa-countdown__cell {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 10px;
  text-align: center;
  padding: 10px 4px;
}
.iapa-countdown__n { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.iapa-countdown__l { font-size: 10px; letter-spacing: 0.8px; text-transform: uppercase; opacity: 0.8; }
.iapa-panel--compact .iapa-panel__head {
  padding: 12px 14px 6px;
}
.iapa-welcome__facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0 12px 12px;
}
.iapa-welcome__facts > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  background: var(--iapa-bg, #f6f8f6);
  border: 1px solid var(--iapa-line);
  border-radius: 8px;
}
.iapa-welcome__facts dt {
  margin: 0;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-welcome__facts dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--iapa-ink, #12241f);
  word-break: break-word;
}
.iapa-pay-success[hidden] { display: none !important; }
.iapa-pay-success {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(8, 28, 22, 0.45);
  opacity: 0;
  transition: opacity 0.15s ease;
  pointer-events: auto;
}
.iapa-body.is-submit-success {
  overflow: hidden;
}
.iapa-pay-success.is-on { opacity: 1; }
.iapa-pay-success__card {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 20px;
  padding: 36px 28px 32px;
  text-align: center;
  box-shadow: 0 18px 50px rgba(42, 39, 64, 0.22);
}
.iapa-pay-success__tick {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 auto 18px;
}
.iapa-pay-success__burst,
.iapa-pay-success__disc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}
.iapa-pay-success__burst {
  background: rgba(0, 200, 83, 0.22);
  transform: scale(0.6);
  opacity: 0;
}
.iapa-pay-success__disc {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00c853;
  transform: scale(0.2);
  opacity: 0;
}
.iapa-pay-success__tick svg { width: 56px; height: 56px; display: block; }
.iapa-pay-success__check {
  fill: none;
  stroke: #fff;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 52;
  stroke-dashoffset: 52;
}
.iapa-pay-success.is-on .iapa-pay-success__burst {
  animation: iapa-pay-burst 0.7s ease-out forwards;
}
.iapa-pay-success.is-on .iapa-pay-success__disc {
  animation: iapa-pay-disc 0.45s cubic-bezier(0.18, 0.9, 0.32, 1.2) forwards;
}
.iapa-pay-success.is-on .iapa-pay-success__check {
  animation: iapa-pay-check 0.35s 0.28s ease-out forwards;
}
.iapa-pay-success__card h2 {
  margin: 0 0 6px;
  font-size: 24px;
  letter-spacing: -0.3px;
}
.iapa-pay-success__lead {
  margin: 0 0 8px;
  color: #007518;
  font-size: 16px;
  font-weight: 700;
}
.iapa-pay-success__card p { margin: 0; color: var(--iapa-muted); }
@keyframes iapa-pay-burst {
  60% { opacity: 1; }
  to { transform: scale(1.35); opacity: 0; }
}
@keyframes iapa-pay-disc {
  to { transform: scale(1); opacity: 1; }
}
@keyframes iapa-pay-check {
  to { stroke-dashoffset: 0; }
}
.iapa-quick {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
}
.iapa-quick__card {
  display: flex; flex-direction: column; gap: 8px;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  padding: 16px;
  min-height: 128px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-quick__card:hover { border-color: var(--iapa-primary); }
.iapa-quick__icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--iapa-primary-tint); color: var(--iapa-primary-dark);
  display: flex; align-items: center; justify-content: center;
}
.iapa-quick__card h3 { font-size: 15px; }
.iapa-quick__card p { font-size: 12.5px; color: var(--iapa-muted); }

.iapa-wizard { position: relative; margin-bottom: 22px; }
.iapa-mem-apply {
  margin-bottom: 22px;
  padding: 16px 18px;
}
.iapa-mem-apply[hidden] { display: none !important; }
.iapa-mem-apply .iapa-btn {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  overflow-wrap: anywhere;
}
.iapa-mem-apply .iapa-btn + .iapa-btn { margin-top: 8px; }
.iapa-wizard__pane[hidden] { display: none !important; }
.iapa-wizard__loading[hidden] { display: none; }
.iapa-wizard__loading {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(3px);
}
.iapa-wizard__loading-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-width: 168px;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(42, 39, 64, 0.12);
}
.iapa-wizard__spinner {
  width: 36px;
  height: 36px;
  border: 3px solid var(--iapa-line);
  border-top-color: var(--iapa-primary);
  border-radius: 50%;
  animation: iapa-wizard-spin 0.7s linear infinite;
}
.iapa-wizard__loading-text {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
}
@keyframes iapa-wizard-spin {
  to { transform: rotate(360deg); }
}
.iapa-wizard__steps {
  display: flex; gap: 6px; overflow-x: auto; padding-bottom: 10px; margin-bottom: 8px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.iapa-wizard__step {
  flex: 1 0 auto;
  min-width: 88px;
  text-align: center;
  font-size: 11px; font-weight: 600; color: var(--iapa-muted);
  padding: 8px 6px 10px;
  border: none;
  border-bottom: 2px solid var(--iapa-line);
  background: transparent;
  font-family: inherit;
  line-height: inherit;
  appearance: none;
  -webkit-appearance: none;
  cursor: default;
}
.iapa-wizard__step.is-clickable { cursor: pointer; }
.iapa-wizard__step.is-clickable:hover { color: var(--iapa-primary-dark); }
.iapa-wizard__step:disabled { opacity: 0.55; cursor: default; }
.iapa-wizard__step.is-active { color: var(--iapa-primary-dark); border-bottom-color: var(--iapa-primary); }
.iapa-wizard__step.is-done { color: var(--iapa-primary); }
.iapa-kind-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.iapa-kind {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px 12px;
  text-align: left;
  border: 1px solid var(--iapa-line);
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  cursor: pointer;
}
.iapa-kind:hover { border-color: rgba(70, 65, 119, 0.35); }
.iapa-kind.is-selected {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  box-shadow: 0 0 0 1px var(--iapa-primary);
}
.iapa-kind__radio {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 50%;
  border: 2px solid var(--iapa-line);
  background: #fff;
  flex-shrink: 0;
  position: relative;
}
.iapa-kind.is-selected .iapa-kind__radio {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary);
}
.iapa-kind.is-selected .iapa-kind__radio::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}
.iapa-kind__body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.iapa-kind strong { font-size: 15px; color: var(--iapa-primary-dark); }
.iapa-kind span { font-size: 12.5px; color: var(--iapa-muted); line-height: 1.4; }
.iapa-kind em {
  font-style: normal;
  font-weight: 700;
  color: var(--iapa-primary-dark);
  white-space: nowrap;
  justify-self: end;
}
.iapa-wizard__nav { display: flex; flex-wrap: wrap; gap: 10px; }
.iapa-field.is-invalid input {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}
.iapa-acu-home {
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  padding: 14px;
  margin-bottom: 12px;
  background: var(--iapa-paper);
}
.iapa-acu-home__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px; font-weight: 600;
}
.iapa-review-sections { display: flex; flex-direction: column; gap: 12px; }
.iapa-review-card {
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius);
  background: var(--iapa-surface);
  padding: 14px 16px;
}
.iapa-review-card__head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 8px;
}
.iapa-review-card__head h3 { font-size: 15px; }
.iapa-review-card p { margin: 0 0 4px; font-size: 13.5px; }
.iapa-review-doc { margin: 8px 0 10px; }
.iapa-review-doc .iapa-upload-preview { margin-top: 6px; }
.iapa-review-doc .iapa-upload-preview__img {
  max-height: 96px;
  max-width: 140px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--iapa-line);
}
.iapa-rules {
  max-height: 280px; overflow: auto;
  border: 1px solid var(--iapa-line); border-radius: 10px;
  padding: 12px 16px; background: var(--iapa-paper);
  font-size: 13px; line-height: 1.55;
}
.iapa-rules ol { padding-left: 18px; list-style: decimal; }
.iapa-choice-row { display: flex; gap: 10px; flex-wrap: wrap; }
.iapa-choice {
  border: 1px solid var(--iapa-line); background: #fff; border-radius: 10px;
  padding: 10px 14px; cursor: pointer; font-weight: 600;
}
.iapa-choice.is-selected { border-color: var(--iapa-primary); background: var(--iapa-primary-tint); }
.iapa-fee-hero {
  text-align: center; padding: 24px 12px;
}
.iapa-fee-hero__amount { font-size: 40px; font-weight: 800; color: var(--iapa-primary-dark); }
.iapa-status-banner {
  border: 1px solid var(--iapa-line);
  background: var(--iapa-surface);
  border-radius: var(--iapa-radius-lg);
  padding: 22px 20px;
  margin-bottom: 18px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-roadmap {
  --iapa-roadmap-marker: 40px;
  --iapa-roadmap-line: 3px;
  --iapa-roadmap-done: #16a34a;
  --iapa-roadmap-current: #eab308;
  --iapa-roadmap-pending: #dc2626;
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}
.iapa-roadmap__step {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 28px;
}
.iapa-roadmap__step:last-child { padding-bottom: 0; }
.iapa-roadmap__step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--iapa-roadmap-marker) + 8px);
  left: calc(var(--iapa-roadmap-marker) / 2);
  width: var(--iapa-roadmap-line);
  height: calc(100% - var(--iapa-roadmap-marker) - 16px);
  border-radius: 999px;
  transform: translateX(-50%);
  background: var(--iapa-roadmap-pending);
}
.iapa-roadmap__step.is-done:not(:last-child)::after {
  background: var(--iapa-roadmap-done);
}
.iapa-roadmap__step.is-current:not(:last-child)::after {
  background: linear-gradient(
    180deg,
    var(--iapa-roadmap-current) 0 48%,
    var(--iapa-roadmap-pending) 52% 100%
  );
}
.iapa-roadmap__marker {
  position: relative;
  z-index: 1;
  width: var(--iapa-roadmap-marker);
  height: var(--iapa-roadmap-marker);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iapa-roadmap__marker .iapa-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2.6;
}
.iapa-roadmap__step.is-done .iapa-roadmap__marker {
  background: var(--iapa-roadmap-done);
  color: #fff;
}
.iapa-roadmap__step.is-current .iapa-roadmap__marker {
  background: var(--iapa-roadmap-current);
  color: #111;
  box-shadow: 0 0 0 4px rgba(234, 179, 8, 0.22);
}
.iapa-roadmap__step.is-pending .iapa-roadmap__marker {
  background: var(--iapa-roadmap-pending);
  color: #fff;
}
.iapa-roadmap__body {
  min-width: 0;
  flex: 1;
  padding-top: 2px;
}
.iapa-roadmap__kicker {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--iapa-muted-soft);
  margin-bottom: 4px;
}
.iapa-roadmap__title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--iapa-ink);
}
.iapa-roadmap__step.is-pending .iapa-roadmap__title {
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-roadmap__copy {
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--iapa-muted);
  font-weight: 500;
}
.iapa-roadmap__step.is-current .iapa-roadmap__copy {
  color: var(--iapa-ink-soft);
}
.iapa-roadmap__step.is-pending .iapa-roadmap__copy {
  color: var(--iapa-muted-soft);
}
.iapa-roadmap__facts {
  display: none;
}
.iapa-roadmap__note,
.iapa-roadmap__pay {
  display: none;
}
@media (min-width: 769px) {
  .iapa-status-banner { padding: 28px 24px 24px; }
  .iapa-roadmap {
    flex-direction: row;
    align-items: flex-start;
  }
  .iapa-roadmap__step {
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
    padding: 0 10px;
    min-width: 0;
  }
  .iapa-roadmap__step:not(:last-child)::after {
    top: calc(var(--iapa-roadmap-marker) / 2);
    left: calc(50% + var(--iapa-roadmap-marker) / 2 + 10px);
    width: calc(100% - var(--iapa-roadmap-marker) - 20px);
    height: var(--iapa-roadmap-line);
    transform: none;
    background: var(--iapa-roadmap-pending);
  }
  .iapa-roadmap__step.is-done:not(:last-child)::after {
    background: var(--iapa-roadmap-done);
  }
  .iapa-roadmap__step.is-current:not(:last-child)::after {
    background: linear-gradient(
      90deg,
      var(--iapa-roadmap-current) 0 48%,
      var(--iapa-roadmap-pending) 52% 100%
    );
  }
  .iapa-roadmap__body {
    width: 100%;
    padding-top: 14px;
  }
}
@media (max-width: 768px) {
  .iapa-status-banner { padding: 18px 16px; }
  .iapa-roadmap {
    --iapa-roadmap-marker: 32px;
  }
  .iapa-roadmap__title { font-size: 14.5px; }
  .iapa-roadmap__copy { font-size: 12.5px; }
}

.iapa-mem-page {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}
.iapa-mem-head {
  padding: 18px 18px 16px;
  margin-bottom: 16px;
}
.iapa-mem-head__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.iapa-mem-head__label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--iapa-muted-soft);
}
.iapa-mem-head__value {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--iapa-ink);
  word-break: break-word;
}
.iapa-mem-head__meta[hidden],
#js-membership-icon[hidden],
#js-orders-paid[hidden],
#js-membership-buy[hidden] { display: none !important; }
.iapa-pay-card { margin-bottom: 12px; }
.iapa-qr-drop {
  margin: 0 0 16px;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  border-radius: var(--iapa-radius-lg);
  box-shadow: var(--iapa-shadow-sm);
  overflow: hidden;
}
.iapa-qr-drop[hidden] { display: none !important; }
.iapa-qr-drop__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  min-height: 52px;
}
.iapa-qr-drop__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iapa-qr-drop__icon .iapa-icon { width: 18px; height: 18px; }
.iapa-qr-drop__copy {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.iapa-qr-drop__copy strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-qr-drop__copy span {
  font-size: 12.5px;
  color: var(--iapa-muted);
}
.iapa-qr-drop__chevron {
  color: var(--iapa-muted);
  display: flex;
  transition: transform 0.15s ease;
}
.iapa-qr-drop.is-open .iapa-qr-drop__chevron {
  transform: rotate(180deg);
}
.iapa-qr-drop__panel {
  padding: 0 16px 16px;
}
.iapa-qr-drop__panel[hidden] { display: none !important; }
.iapa-qr-drop__hint,
.iapa-qr-drop__apps {
  margin: 10px 0 0;
  text-align: center;
}
.iapa-qr-drop__hint {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
}
.iapa-qr-drop__apps {
  font-size: 12.5px;
  color: var(--iapa-muted);
}
.iapa-bills { margin-bottom: 8px; }
.iapa-bills__more {
  margin: 12px 0 0;
  text-align: right;
}
.iapa-bills__cards { display: none; }
.iapa-bill-card {
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 14px;
  background: var(--iapa-paper);
}
.iapa-bill-card + .iapa-bill-card { margin-top: 10px; }
.iapa-bill-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12.5px;
  color: var(--iapa-muted);
}
.iapa-bill-card__desc {
  margin: 8px 0 0;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-bill-card__amount {
  margin: 4px 0 0;
  font-size: 18px;
  font-weight: 800;
  color: var(--iapa-primary-dark);
}
.iapa-bill-card__receipt {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--iapa-muted);
  word-break: break-all;
}
.iapa-bill-card__action { margin-top: 10px; }
.iapa-bill-card__action .iapa-btn { width: 100%; }
@media (max-width: 768px) {
  .iapa-mem-head__grid { grid-template-columns: 1fr; gap: 12px; }
  .iapa-bills__table { display: none; }
  .iapa-bills__cards { display: block; }
  .iapa-bills__more { text-align: left; }
}
@media (max-width: 480px) {
  .iapa-mem-head { padding: 14px; }
}

.iapa-auth-page .iapa-site-nav { display: none; }
.iapa-member-login {
  min-height: 100vh; min-height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  padding: 32px 16px;
  background:
    radial-gradient(1200px 500px at 50% -10%, rgba(70, 65, 119, 0.18), transparent 60%),
    var(--iapa-paper);
}
.iapa-member-login__card {
  width: 100%; max-width: 440px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(42, 39, 64, 0.08);
  padding: 28px 28px 24px;
}
.iapa-member-login__brand {
  display: flex; align-items: center; gap: 10px; margin-bottom: 18px;
}
.iapa-member-login__tabs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: var(--iapa-paper);
  border-radius: 10px;
  padding: 4px;
  margin-bottom: 20px;
}
.iapa-member-login__tabs button {
  border: 0; background: transparent; border-radius: 8px;
  padding: 10px 8px; font-weight: 700; color: var(--iapa-muted);
}
.iapa-member-login__tabs button.is-active {
  background: #fff; color: var(--iapa-primary-dark); box-shadow: var(--iapa-shadow-sm);
}
.iapa-member-login h1 { font-size: 26px; margin-bottom: 6px; }
.iapa-member-login__lede { color: var(--iapa-muted); margin-bottom: 18px; }
.iapa-auth__forgot {
  margin: 8px 0 0;
  text-align: right;
  font-size: 13px;
}
.iapa-auth__forgot a {
  color: var(--iapa-primary-dark);
  font-weight: 600;
}
.iapa-reset-step[hidden] { display: none !important; }
.iapa-gender { display: flex; gap: 10px; }
.iapa-gender label {
  flex: 1; border: 1px solid var(--iapa-line); border-radius: 10px;
  padding: 10px; text-align: center; cursor: pointer; font-weight: 600;
}
.iapa-gender input { display: none; }
.iapa-gender label.is-on { border-color: var(--iapa-primary); background: var(--iapa-primary-tint); }

@media (max-width: 900px) {
  .iapa-welcome__grid, .iapa-kind-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .iapa-welcome__hero { padding: 22px 18px; }
  .iapa-welcome__hero h1 { font-size: 22px; }
  .iapa-welcome__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 12px 12px; }
  .iapa-welcome__facts > div:last-child { grid-column: 1 / -1; }
  .iapa-member-login__card { padding: 22px 16px; }
}

.iapa-auth-pwa {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--iapa-line);
  text-align: center;
}
.iapa-auth-pwa[hidden] { display: none !important; }
.iapa-auth-pwa__icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  border-radius: 14px;
}
.iapa-auth-pwa__icon .iapa-icon { width: 22px; height: 22px; }
.iapa-auth-pwa__copy h2 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
  color: var(--iapa-ink);
}
.iapa-auth-pwa__copy p {
  margin: 0 0 14px;
  font-size: 14px;
  color: var(--iapa-muted);
  line-height: 1.45;
}
.iapa-auth-pwa__ios {
  margin: 0 0 4px;
  padding: 12px 14px;
  background: var(--iapa-primary-tint);
  border-radius: 12px;
  color: var(--iapa-ink-soft);
  font-size: 13.5px;
  line-height: 1.45;
}
.iapa-auth-pwa__ios[hidden],
.iapa-auth-pwa__done[hidden] { display: none !important; }
.iapa-auth-pwa__done {
  color: var(--iapa-primary-dark) !important;
  font-weight: 600;
}
.iapa-auth-pwa .iapa-btn { width: 100%; }
.iapa-auth-pwa .iapa-btn[hidden] { display: none !important; }

/* ==========================================================================
   Practitioner home dashboard + shell chrome
   ========================================================================== */

.iapa-shell__topbar-brand {
  display: none;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
  color: inherit;
  overflow: hidden;
}
.iapa-shell__topbar-logo {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.iapa-shell__topbar-brand .iapa-shell__brand-word {
  min-width: 0;
  flex: 1 1 auto;
}
.iapa-shell__topbar-brand .iapa-shell__brand-name {
  color: var(--iapa-ink);
  font-size: 15px;
  line-height: 1.1;
}
.iapa-shell__topbar-brand .iapa-shell__brand-portal {
  color: var(--iapa-primary-dark);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.15px;
}
.iapa-shell__topbar-brand .iapa-shell__brand-org {
  color: var(--iapa-muted);
  font-size: clamp(8px, 2vw, 9.5px);
  letter-spacing: 0.28px;
  text-transform: uppercase;
  line-height: 1.25;
  white-space: normal;
  max-width: min(13rem, 100%);
  overflow-wrap: break-word;
}
.iapa-shell__topbar-brand .iapa-shell__brand-sub {
  color: var(--iapa-muted);
  font-size: clamp(8.5px, 2.2vw, 10px);
  letter-spacing: 0.28px;
  text-transform: uppercase;
  line-height: 1.25;
  white-space: normal;
  max-width: min(12.6rem, 100%);
  overflow-wrap: break-word;
}

.iapa-shell__profile-caret {
  width: 14px;
  height: 14px;
  color: var(--iapa-muted-soft);
}
.iapa-shell__account {
  position: relative;
}
.iapa-shell__account-pop {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 168px;
  width: max-content;
  max-width: min(280px, calc(100vw - 1.25rem));
  max-height: min(70vh, calc(100dvh - 5rem));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  box-shadow: var(--iapa-shadow);
  padding: 6px;
  z-index: 40;
}
.iapa-shell__account-item {
  display: flex;
  width: 100%;
  align-items: center;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--iapa-ink);
  text-align: left;
  cursor: pointer;
}
.iapa-shell__account-item:hover {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-shell__role-switch {
  padding: 8px 8px 10px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--iapa-line);
}
.iapa-shell__role-kicker {
  margin: 8px 4px 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-shell__role-current {
  margin: 0 4px 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
}
.iapa-shell__role-switch .iapa-shell__account-item.is-active {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-admin-role-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.iapa-admin-role-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px 4px 10px;
  border-radius: 999px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  font-size: 12px;
  font-weight: 650;
}
.iapa-admin-role-chip button {
  border: 0;
  background: transparent;
  color: var(--iapa-muted);
  font-size: 11px;
  font-weight: 650;
  padding: 0;
}
.iapa-admin-role-chip button:hover {
  color: var(--iapa-red);
}
.iapa-admin-row--roles {
  align-items: flex-start;
}

.iapa-dock {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 32;
  background: #fff;
  border-top: 1px solid var(--iapa-line);
  padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));
  justify-content: space-around;
  gap: 2px;
}
.iapa-dock__item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 52px;
  padding: 6px 2px 8px;
  border-radius: 12px;
  color: var(--iapa-muted);
  font-size: 10.5px;
  font-weight: 600;
  position: relative;
}
.iapa-dock__item .iapa-icon {
  width: 20px;
  height: 20px;
}
.iapa-dock__item.is-active {
  color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
}
.iapa-dock__item.is-active::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 3px;
  height: 3px;
  border-radius: 99px;
  background: var(--iapa-primary);
}

.iapa-home {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 920px;
}
.iapa-home-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #eeedf7 0%, #f7f5fb 52%, #efeaf8 100%);
  border: 1px solid rgba(70, 65, 119, 0.08);
  border-radius: 20px;
  padding: 22px 22px 20px;
  min-height: 132px;
}
.iapa-home-hero__copy { position: relative; z-index: 1; max-width: 34rem; padding-right: 88px; }
.iapa-home-hero__hello {
  margin: 0 0 2px;
  color: var(--iapa-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}
.iapa-home-hero__hello + .iapa-home-hero__hello {
  margin-top: 0;
}
.iapa-home-hero h1 {
  margin: 0 0 8px;
  color: var(--iapa-primary-dark);
  font-size: clamp(22px, 4vw, 30px);
  letter-spacing: -0.3px;
  line-height: 1.15;
  word-break: break-word;
}
.iapa-home-hero__lede {
  color: var(--iapa-muted);
  font-size: 13.5px;
  max-width: 28rem;
}
.iapa-home-hero__art {
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  width: 160px;
  pointer-events: none;
}
.iapa-home-hero__orb {
  position: absolute;
  border-radius: 50%;
  background: rgba(70, 65, 119, 0.12);
}
.iapa-home-hero__orb--a { width: 120px; height: 120px; right: -18px; top: -28px; }
.iapa-home-hero__orb--b { width: 72px; height: 72px; right: 48px; bottom: 8px; background: rgba(70, 65, 119, 0.08); }
.iapa-home-hero__card {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%) rotate(8deg);
  width: 58px;
  height: 72px;
  border-radius: 12px;
  background: var(--iapa-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(70, 65, 119, 0.28);
}
.iapa-home-hero__card .iapa-icon { width: 26px; height: 26px; }
.iapa-home-hero__deadline {
  position: relative;
  z-index: 1;
  margin-top: 16px;
  padding-right: 120px;
}
.iapa-home-hero__deadline[hidden] { display: none !important; }
.iapa-home-hero__deadline-label {
  font-size: 11px;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--iapa-muted);
  margin-bottom: 2px;
}
.iapa-home-hero__deadline-date {
  font-weight: 700;
  color: var(--iapa-ink);
  margin-bottom: 8px;
}
.iapa-home-hero .iapa-countdown { margin-top: 0; }
.iapa-home-hero .iapa-countdown__cell {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(70, 65, 119, 0.1);
  color: var(--iapa-ink);
}

.iapa-home-card {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(42, 39, 64, 0.04);
  padding: 16px 16px 18px;
}
.iapa-home-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.iapa-home-card__title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}
.iapa-home-card__title h2 {
  font-size: 16px;
  font-weight: 700;
}
.iapa-home-card__sub {
  margin: 2px 0 0;
  color: var(--iapa-muted);
  font-size: 12.5px;
  line-height: 1.4;
}
.iapa-home-card__icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--iapa-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iapa-home-card__icon .iapa-icon { width: 16px; height: 16px; }
.iapa-home-link {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
  background: #fff;
  white-space: nowrap;
}
.iapa-home-link:hover { border-color: var(--iapa-primary); background: var(--iapa-primary-tint); }
.iapa-home-link--edit { gap: 6px; background: var(--iapa-primary-tint); border-color: transparent; }
.iapa-home-link--edit .iapa-icon { width: 13px; height: 13px; }

.iapa-home-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}
.iapa-home-details__name,
.iapa-home-details__row > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  background: #f6f5f8;
  border-radius: 14px;
}
.iapa-home-details__name { width: 100%; }
.iapa-home-details__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.iapa-home-details dt {
  margin: 0;
  font-size: 11px;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-home-details dd {
  margin: 1px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
  word-break: break-word;
}
.iapa-home-details__name dd { font-size: 16px; color: var(--iapa-primary-dark); }

.iapa-status-card {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(42, 39, 64, 0.04);
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iapa-status-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f1f8;
  color: var(--iapa-primary);
}
.iapa-status-card__icon .iapa-icon { width: 22px; height: 22px; }
.iapa-status-card__kicker {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--iapa-muted);
}
.iapa-status-card h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  color: var(--iapa-primary-dark);
  word-break: break-word;
}
.iapa-status-card__copy {
  margin: 0;
  color: var(--iapa-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.iapa-status-card__copy[hidden] { display: none !important; }
.iapa-status-card__reason {
  padding: 10px 12px;
  border-radius: 12px;
  background: #fdecec;
  color: #9b1c1c;
}
.iapa-status-card__reason[hidden] { display: none !important; }
.iapa-status-card__reason-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.iapa-status-card__reason p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.iapa-status-card__valid {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eaf7ee;
  color: #166534;
}
.iapa-status-card__valid[hidden] { display: none !important; }
.iapa-status-card__valid .iapa-icon { width: 18px; height: 18px; flex-shrink: 0; }
.iapa-status-card__valid span {
  display: block;
  font-size: 11px;
  font-weight: 600;
}
.iapa-status-card__valid strong { font-size: 14px; }
.iapa-status-card .iapa-welcome__status { margin-top: 6px; }
.iapa-status-card .iapa-btn { width: 100%; min-height: 44px; border-radius: 12px; }

.iapa-status-card[data-state="inactive"] .iapa-status-card__icon,
.iapa-status-card[data-state="rejected"] .iapa-status-card__icon,
.iapa-status-card[data-state="correction"] .iapa-status-card__icon {
  background: #fdecec;
  color: #dc2626;
}
.iapa-status-card[data-state="inactive"] h2,
.iapa-status-card[data-state="rejected"] h2,
.iapa-status-card[data-state="correction"] h2 { color: #b91c1c; }
.iapa-status-card[data-state="verification"] .iapa-status-card__icon {
  background: #fef6e7;
  color: #ca8a04;
}
.iapa-status-card[data-state="verification"] h2 { color: #a16207; }
.iapa-status-card[data-state="payment"] .iapa-status-card__icon {
  background: #e8eef8;
  color: #2563eb;
}
.iapa-status-card[data-state="payment"] h2 { color: #1d4ed8; }
.iapa-status-card[data-state="active"] {
  padding: 16px;
}
.iapa-status-card[data-state="active"] .iapa-status-card__icon {
  width: 36px;
  height: 36px;
  background: #eaf7ee;
  color: #16a34a;
}
.iapa-status-card[data-state="active"] h2 {
  font-size: 16px;
  color: #166534;
}

.iapa-home-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.iapa-home-facts > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  background: #f6f5f8;
  border-radius: 14px;
}
.iapa-home-facts__icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #fff;
  color: var(--iapa-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iapa-home-facts__icon .iapa-icon { width: 15px; height: 15px; }
.iapa-home-facts dt {
  margin: 0;
  font-size: 11px;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-home-facts dd {
  margin: 1px 0 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--iapa-ink);
  word-break: break-word;
}

.iapa-home-roadmap { margin: 4px 0 12px; }
.iapa-home-approved {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.iapa-home-approved[hidden] { display: none !important; }
.iapa-home-approved > div {
  padding: 10px 12px;
  background: #f6f5f8;
  border-radius: 12px;
}
.iapa-home-approved dt {
  margin: 0;
  font-size: 11px;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-home-approved dd {
  margin: 2px 0 0;
  font-size: 13.5px;
  font-weight: 700;
  word-break: break-word;
}

.iapa-home-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--iapa-primary-tint);
  border-radius: 14px;
  color: var(--iapa-ink-soft);
  font-size: 13px;
  line-height: 1.45;
  margin-bottom: 12px;
}
.iapa-home-note .iapa-icon { color: var(--iapa-primary); margin-top: 1px; }
.iapa-welcome__status { display: block; }
.iapa-welcome__status .iapa-btn { margin-top: 2px; }

.iapa-home-quick__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.iapa-home-quick__head h2 { font-size: 16px; }
.iapa-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iapa-quick__card {
  border: 0;
  box-shadow: none;
  min-height: 148px;
  padding: 16px 14px;
  border-radius: 18px;
  text-align: center;
  align-items: center;
}
.iapa-quick__card--profile { background: #eeedf7; }
.iapa-quick__card--membership { background: #f8efd8; }
.iapa-quick__card--documents { background: #e7f6ec; }
.iapa-quick__card--support { background: #e8eef8; }
.iapa-quick__card--profile .iapa-quick__icon { background: #dcd7ee; color: var(--iapa-primary-dark); }
.iapa-quick__card--membership .iapa-quick__icon { background: #f0ddb0; color: #8a6400; }
.iapa-quick__card--documents .iapa-quick__icon { background: #cdead6; color: #157347; }
.iapa-quick__card--support .iapa-quick__icon { background: #d4def0; color: #314e86; }
.iapa-quick__card h3 { font-size: 14.5px; }
.iapa-quick__card p { font-size: 12px; line-height: 1.4; }

.iapa-docs { margin-bottom: 14px; }
.iapa-docs__photo {
  display: flex;
  align-items: center;
  gap: 14px;
}
.iapa-docs__list { display: grid; gap: 8px; }
.iapa-docs__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #f6f5f8;
  border-radius: 12px;
  font-weight: 600;
}
.iapa-docs__mark {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.iapa-docs__item a {
  margin-left: auto;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
  text-decoration: none;
}
.iapa-docs__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.iapa-upload-preview {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 4px;
  padding: 10px 12px;
  background: #f6f5f8;
  border-radius: 12px;
}
.iapa-upload-preview[hidden] { display: none !important; }
.iapa-upload-preview__img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
  background: #fff;
  flex: 0 0 auto;
}
.iapa-upload-preview__file {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}
.iapa-upload-preview__file[hidden] { display: none !important; }
.iapa-upload-preview__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 8px;
  background: var(--iapa-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}
.iapa-upload-preview__name {
  font-size: 13px;
  font-weight: 600;
  word-break: break-all;
  min-width: 0;
}
.iapa-upload-preview__view {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
  text-decoration: none;
  white-space: nowrap;
}
.iapa-upload-status { margin: 4px 0 8px; }
.iapa-upload-status__track {
  height: 4px;
  background: #eceaf3;
  border-radius: 99px;
  overflow: hidden;
  margin: 8px 0 4px;
}
.iapa-upload-status__bar {
  display: block;
  height: 100%;
  width: 0;
  background: var(--iapa-primary);
  transition: width 0.15s linear;
}
.iapa-upload-status__ok {
  margin: 4px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  color: #157347;
}
.iapa-upload-status__err {
  margin: 4px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  color: #b42318;
}
.iapa-upload-status--photo { margin-top: 8px; }

.iapa-welcome__badge {
  max-width: 100%;
  white-space: normal;
  text-align: right;
}

@media (max-width: 900px) {
  .iapa-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iapa-home-approved { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .iapa-home { gap: 14px; }
  .iapa-home-hero { padding: 18px 16px 16px; }
  .iapa-home-hero__copy { padding-right: 56px; }
  .iapa-home-hero__deadline { padding-right: 0; }
  .iapa-home-hero__art { width: 92px; }
  .iapa-home-hero__orb--a { width: 88px; height: 88px; }
  .iapa-home-hero__card { right: 10px; width: 46px; height: 58px; }
  .iapa-home-card { padding: 14px 12px 16px; border-radius: 18px; }
  .iapa-home-facts { gap: 8px; }
  .iapa-home-facts > div { padding: 10px; }
  .iapa-home-details__row { gap: 8px; }
  .iapa-quick__card { min-height: 0; padding: 14px 10px; }
  .iapa-quick__card p { display: none; }
  .iapa-wizard__nav { flex-direction: column-reverse; }
  .iapa-wizard__nav .iapa-btn { width: 100%; min-height: 44px; }
  .iapa-kind { grid-template-columns: auto minmax(0, 1fr); }
  .iapa-kind em { justify-self: start; grid-column: 2; }
}
@media (max-width: 430px) {
  .iapa-home-details__row { grid-template-columns: 1fr; }
  .iapa-home-hero h1 { font-size: 22px; }
  .iapa-status-card h2 { font-size: 16px; }
  .iapa-shell--practitioner .iapa-shell__topbar-brand .iapa-shell__brand-sub {
    font-size: clamp(8.5px, 2.3vw, 9.5px);
    max-width: min(11.8rem, calc(100vw - 9.5rem));
  }
}
@media (max-width: 360px) {
  .iapa-home-facts { grid-template-columns: 1fr; }
  .iapa-quick { grid-template-columns: 1fr; }
  .iapa-quick__card p { display: block; }
  .iapa-dock__item { font-size: 10px; }
  .iapa-home-hero__copy { padding-right: 0; }
  .iapa-home-hero__art { display: none; }
  .iapa-shell--practitioner .iapa-shell__topbar-brand .iapa-shell__brand-sub {
    font-size: 8.5px;
    letter-spacing: 0.18px;
    max-width: min(10.8rem, calc(100vw - 9.1rem));
  }
}

@media (min-width: 981px) {
  .iapa-shell__topbar-brand { display: none !important; }
  .iapa-dock { display: none !important; }
}

/* ==========================================================================
   IAPA Membership Administration
   ========================================================================== */

.iapa-admin {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  max-width: 1120px;
}
.iapa-admin__hero h1 {
  font-size: 26px;
  letter-spacing: -0.03em;
  margin-top: 2px;
}
.iapa-admin-card {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  box-shadow: var(--iapa-shadow-sm);
  padding: 16px;
  min-width: 0;
}
.iapa-admin-card h2 { font-size: 16px; margin-bottom: 8px; }
.iapa-admin-card__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-admin-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.iapa-admin-stats--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.iapa-admin-stats--six {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.iapa-admin-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-admin-stat span {
  font-size: 12px;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-admin-stat strong {
  font-size: 22px;
  letter-spacing: -0.03em;
  color: var(--iapa-ink);
}
.iapa-admin-stat.is-pending { border-color: #f3d48a; background: #fffbeb; }
.iapa-admin-stat.is-pending strong { color: #b45309; }
.iapa-admin-stat.is-correction { border-color: #fdba74; background: #fff7ed; }
.iapa-admin-stat.is-correction strong { color: #c2410c; }
.iapa-admin-stat.is-rejected { border-color: #f2c2c0; background: #fef2f2; }
.iapa-admin-stat.is-rejected strong { color: #b91c1c; }
.iapa-admin-stat.is-payment { border-color: #bfdbfe; background: #eff6ff; }
.iapa-admin-stat.is-payment strong { color: #1d4ed8; }
.iapa-admin-stat.is-approved { border-color: #bbf7d0; background: #f0fdf4; }
.iapa-admin-stat.is-approved strong { color: #15803d; }
.iapa-admin-types {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.iapa-admin-types__title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 2px 2px;
  color: var(--iapa-ink);
}
.iapa-type-progress {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-type-progress__name {
  font-size: 13px;
  font-weight: 700;
  color: var(--iapa-primary-dark, var(--iapa-primary));
  margin: 0 0 8px;
}
.iapa-type-progress__row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.iapa-type-progress__row:last-child { margin-bottom: 0; }
.iapa-type-progress__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-type-progress__track {
  height: 8px;
  background: var(--iapa-primary-tint, #eeedf6);
  border-radius: 999px;
  overflow: hidden;
}
.iapa-type-progress__bar {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--iapa-primary);
}
.iapa-type-progress__bar--new { background: var(--iapa-primary); }
.iapa-type-progress__bar--current { background: #5b548a; }
.iapa-type-progress__bar--previous { background: #8b85b0; }
.iapa-type-progress__bar--renewal { background: #6d6699; }
.iapa-type-progress__count {
  font-size: 13px;
  font-weight: 700;
  text-align: right;
  color: var(--iapa-ink);
  font-variant-numeric: tabular-nums;
}
.iapa-type-progress--stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.iapa-type-progress--stat .iapa-type-progress__name { margin: 0; }
.iapa-type-progress--stat .iapa-type-progress__count {
  font-size: 20px;
  font-weight: 800;
}
@media (max-width: 480px) {
  .iapa-type-progress__row {
    grid-template-columns: 64px minmax(0, 1fr) 32px;
  }
}
.iapa-admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.iapa-admin-toolbar input,
.iapa-admin-toolbar select {
  flex: 1 1 160px;
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  font: inherit;
}
.iapa-admin-filter-groups {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 14px;
  min-width: 0;
}
.iapa-admin-filter-group {
  min-width: 0;
}
.iapa-admin-filter-group__label {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-admin-filter-group .iapa-admin-chips {
  flex-wrap: wrap;
  overflow: visible;
}
.iapa-admin-filter-group .iapa-admin-chip__label {
  white-space: normal;
}
.iapa-admin-chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.iapa-admin-chips::-webkit-scrollbar { display: none; }
.iapa-admin-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  border: 1px solid var(--iapa-line-strong);
  background: #fff;
  border-radius: 999px;
  padding: 7px 10px 7px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
  max-width: 100%;
}
.iapa-admin-chip__label {
  white-space: nowrap;
}
.iapa-admin-chip__count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--iapa-primary-tint, #eeedf6);
  color: var(--iapa-primary-dark, var(--iapa-primary));
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.iapa-admin-chip.is-on {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
  color: #fff;
}
.iapa-admin-chip.is-on .iapa-admin-chip__count {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.iapa-admin-list { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.iapa-admin-row {
  display: grid;
  grid-template-columns: 1.75rem 40px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: var(--iapa-shadow-sm);
  min-width: 0;
}
.iapa-admin-row--static { grid-template-columns: 1.75rem minmax(0, 1fr) auto auto; }
.iapa-admin-sno {
  font-size: 13px;
  font-weight: 700;
  color: var(--iapa-muted);
  text-align: center;
  min-width: 1.4rem;
  line-height: 1.2;
}
.iapa-admin-row b { display: block; font-size: 14px; }
.iapa-admin-row small { display: block; color: var(--iapa-muted); font-size: 12px; }
.iapa-admin-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--iapa-primary-tint);
}
.iapa-admin-avatar--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
}
.iapa-admin-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-admin-pill.is-pending { background: #fef3c7; color: #92400e; }
.iapa-admin-pill.is-correction { background: #ffedd5; color: #9a3412; }
.iapa-admin-pill.is-rejected { background: #fee2e2; color: #991b1b; }
.iapa-admin-pill.is-payment { background: #dbeafe; color: #1e40af; }
.iapa-admin-pill.is-approved { background: #dcfce7; color: #166534; }
.iapa-admin-status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}
.iapa-admin-row .iapa-admin-status {
  align-items: flex-end;
  text-align: right;
}
.iapa-wait {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--iapa-muted);
  line-height: 1.3;
  white-space: normal;
  max-width: 11rem;
}
.iapa-admin-back {
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-primary-dark, var(--iapa-primary));
}
.iapa-admin-table-wrap { display: none; overflow-x: auto; }
.iapa-admin-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}
.iapa-admin-table th,
.iapa-admin-table td {
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid var(--iapa-line);
  vertical-align: middle;
}
.iapa-admin-table--sticky-sno th:first-child,
.iapa-admin-table--sticky-sno td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  font-weight: 800;
  box-shadow: 1px 0 0 var(--iapa-line);
}
.iapa-admin-table th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--iapa-muted);
}
.iapa-admin-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
}
.iapa-admin-tabs button {
  border: 0;
  background: transparent;
  padding: 10px 12px;
  font-weight: 700;
  color: var(--iapa-muted);
  border-bottom: 2px solid transparent;
}
.iapa-admin-tabs button.is-on {
  color: var(--iapa-primary);
  border-bottom-color: var(--iapa-primary);
}
.iapa-admin-dl { display: grid; gap: 10px; }
.iapa-admin-dl dt { font-size: 12px; color: var(--iapa-muted); font-weight: 600; }
.iapa-admin-dl dd { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.iapa-admin-compare { display: grid; gap: 8px; }
.iapa-admin-compare__row {
  display: grid;
  grid-template-columns: minmax(7rem, 28%) 1fr 1fr;
  gap: 8px 12px;
  padding: 10px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: var(--iapa-surface);
}
.iapa-admin-compare__row.is-changed {
  border-color: #fecaca;
  background: #fef2f2;
}
.iapa-admin-compare__row.is-changed .iapa-admin-compare__new {
  color: #b91c1c;
}
.iapa-admin-compare__label {
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-admin-compare__old,
.iapa-admin-compare__new {
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.iapa-admin-compare__new { color: var(--iapa-primary); }
.iapa-admin-compare__kicker {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-muted);
  margin-bottom: 2px;
}
@media (max-width: 700px) {
  .iapa-admin-compare__row {
    grid-template-columns: 1fr;
  }
}
.iapa-admin-profile {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.iapa-admin-profile .iapa-admin-avatar { width: 56px; height: 56px; }
.iapa-admin-doc {
  display: block;
  padding: 10px 0;
  color: var(--iapa-primary-dark);
  font-weight: 600;
}
.iapa-admin-history { display: grid; gap: 12px; padding-left: 18px; }
.iapa-admin-history li { position: relative; }
.iapa-admin-history li::marker { color: var(--iapa-primary); }
.iapa-admin-history span { display: block; color: var(--iapa-muted); font-size: 12px; }
.iapa-pay-history {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.iapa-pay-history li {
  border-top: 1px solid var(--iapa-line, rgba(70, 65, 119, 0.12));
  padding-top: 12px;
}
.iapa-pay-history li:first-child { border-top: 0; padding-top: 0; }
.iapa-manual-pay {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--iapa-line, rgba(70, 65, 119, 0.12));
}
.iapa-manual-pay h3 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 650;
}
.iapa-manual-pay .iapa-field-row { margin-bottom: 0; }
.iapa-pay-flag {
  margin: 0 0 12px;
  color: #9a3412;
  font-size: 13px;
}
.iapa-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  position: sticky;
  bottom: calc(12px + 68px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, transparent, var(--iapa-paper) 18%);
  padding-top: 12px;
}
.iapa-app-actions {
  padding-bottom: 14px;
}
.iapa-app-actions h2 {
  margin-bottom: 8px;
}
.iapa-app-actions__hint {
  margin: 0 0 10px;
  font-size: 13px;
}
.iapa-app-actions__hint.is-error { color: #b42318; }
.iapa-app-actions .iapa-admin-actions {
  position: static;
  background: none;
  padding-top: 0;
}
.iapa-app-actions .iapa-admin-actions.iapa-app-actions__btns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.iapa-app-actions__btns--workflow {
  margin-bottom: 8px;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .iapa-app-actions .iapa-admin-actions.iapa-app-actions__btns--workflow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.iapa-app-actions .iapa-btn {
  min-height: 42px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  white-space: nowrap;
}
.iapa-app-actions .iapa-btn .iapa-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.iapa-btn--whatsapp {
  color: #065f46;
  background: #d1fae5;
  border: 1px solid #34d399;
  font-weight: 650;
}
.iapa-app-paycta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: center;
}
.iapa-app-paycta__amt {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.iapa-app-paycta__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.iapa-app-paycta__icon .iapa-icon { width: 18px; height: 18px; }
.iapa-app-paycta__amt small {
  display: block;
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-app-paycta__amt b {
  display: block;
  font-size: 22px;
  line-height: 1.1;
  color: var(--iapa-ink);
}
.iapa-app-paycta .js-admin-pay-now {
  min-height: 44px;
  padding: 10px 16px;
}
.iapa-app-paycta__note {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-app-paycta #js-admin-pay-msg {
  grid-column: 1 / -1;
  margin: 0;
}
@media (max-width: 520px) {
  .iapa-app-paycta {
    grid-template-columns: 1fr;
  }
  .iapa-app-paycta .js-admin-pay-now { width: 100%; }
  .iapa-app-actions .iapa-btn { font-size: 13px; padding: 8px 8px; }
}
.iapa-btn--correction { color: #c2410c; border: 1px solid #fb923c; background: #fff; }
.iapa-btn--reject { color: #fff; background: #dc2626; }
.iapa-btn--approve { color: #fff; background: #16a34a; }

/* Application Details — compact mobile-first layout */
.iapa-app-detail {
  gap: 10px;
}
.iapa-app-detail #js-admin-detail {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.iapa-app-detail #js-admin-detail > .iapa-admin-card,
.iapa-app-detail #js-admin-detail > .iapa-accordion,
.iapa-app-detail #js-admin-detail > .iapa-admin-tabs {
  margin-top: 0;
  margin-bottom: 0;
}
.iapa-app-detail .iapa-app-actions__pay {
  margin: 0 0 8px;
}
.iapa-app-detail .iapa-app-actions__pay .iapa-btn {
  width: 100%;
}
.iapa-app-back {
  width: 100%;
  max-width: 100%;
  min-height: 40px;
  justify-content: flex-start;
  gap: 6px;
  border-radius: 14px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 650;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-app-back .iapa-icon {
  width: 16px;
  height: 16px;
  color: var(--iapa-primary);
  flex: 0 0 auto;
}
.iapa-app-hero {
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
}
.iapa-app-hero .iapa-admin-avatar {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  border: 1px solid var(--iapa-line);
}
.iapa-app-hero__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.iapa-app-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.iapa-app-hero h1 {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.iapa-app-hero__status {
  gap: 4px;
  flex: 0 0 auto;
  padding: 5px 9px;
  font-size: 10.5px;
  font-weight: 700;
}
.iapa-app-hero__status .iapa-icon {
  width: 12px;
  height: 12px;
}
.iapa-app-hero__id {
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-app-hero__meta {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
  line-height: 1.35;
}
.iapa-app-hero__meta .iapa-icon {
  width: 13px;
  height: 13px;
  margin-top: 2px;
  flex: 0 0 auto;
  color: var(--iapa-muted-soft);
}
.iapa-app-detail .iapa-app-accord {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: var(--iapa-shadow-sm);
  overflow: hidden;
}
.iapa-app-detail .iapa-app-actions {
  padding-bottom: 0;
}
.iapa-app-detail .iapa-app-accord .iapa-accordion__head {
  background: #fff;
  padding: 12px 14px;
}
.iapa-app-detail .iapa-app-accord.is-open .iapa-accordion__head {
  border-bottom-color: var(--iapa-line);
}
.iapa-app-detail .iapa-app-accord .iapa-accordion__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}
.iapa-app-detail .iapa-app-accord .iapa-accordion__title {
  font-size: 14px;
  font-weight: 750;
}
.iapa-app-detail .iapa-app-accord .iapa-accordion__sub {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--iapa-muted);
}
.iapa-app-detail .iapa-app-accord .iapa-accordion__body {
  padding: 12px 14px 14px;
}
.iapa-app-accord__count {
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-app-detail .iapa-app-actions .iapa-admin-actions {
  position: static;
  background: none;
  padding: 0;
  margin: 0;
}
.iapa-app-detail .iapa-app-actions__grid,
.iapa-app-detail .iapa-app-actions .iapa-app-actions__btns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 8px;
}
.iapa-app-detail .iapa-app-actions .iapa-btn {
  min-height: 44px;
  padding: 8px 10px;
  width: 100%;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--approve {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
  color: #fff;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--approve:hover:not(:disabled) {
  background: var(--iapa-primary-dark);
  border-color: var(--iapa-primary-dark);
  color: #fff;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--reject {
  background: #fff5f5;
  color: #dc2626;
  border: 1px solid #fca5a5;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--reject:hover:not(:disabled) {
  background: #fee2e2;
  color: #b91c1c;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--correction {
  background: #fff;
  color: #ea580c;
  border: 1px solid #fb923c;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--ghost {
  background: #fff;
  color: var(--iapa-ink-soft);
  border: 1px solid var(--iapa-line-strong);
}
.iapa-app-detail .iapa-app-actions .iapa-btn--whatsapp {
  width: 100%;
  margin-top: 0;
  color: #059669;
  background: #ecfdf5;
  border: 1px solid #6ee7b7;
  font-weight: 700;
}
.iapa-body .iapa-app-detail a.iapa-btn--whatsapp,
.iapa-app-detail a.iapa-btn--whatsapp {
  color: #059669;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--whatsapp:hover:not(:disabled),
.iapa-body .iapa-app-detail a.iapa-btn--whatsapp:hover {
  color: #047857;
  background: #d1fae5;
  border-color: #34d399;
}
.iapa-app-detail .iapa-app-actions .iapa-btn--correction:hover:not(:disabled) {
  background: #fff7ed;
  color: #c2410c;
}
.iapa-app-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
}
.iapa-app-facts div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.iapa-app-facts dt {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-app-facts dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--iapa-ink);
  overflow-wrap: anywhere;
}
.iapa-app-facts-more,
.iapa-app-more {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-app-more summary {
  cursor: pointer;
  list-style: none;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-primary);
  padding: 2px 0 8px;
}
.iapa-app-more summary::-webkit-details-marker { display: none; }
.iapa-app-more[open] summary { padding-bottom: 10px; }
.iapa-app-paygrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.iapa-app-paycell {
  background: var(--iapa-primary-tint);
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 0;
}
.iapa-app-paycell dt {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-app-paycell dd {
  margin: 4px 0 0;
  font-size: 13.5px;
  font-weight: 750;
  color: var(--iapa-ink);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.iapa-app-paycell--amt dd {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--iapa-primary-dark);
}
.iapa-app-payextra {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-app-detail .iapa-app-paycta {
  border-radius: 16px;
  padding: 14px;
}
.iapa-app-detail .iapa-app-paycta .js-admin-pay-now.iapa-btn--approve {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
}
.iapa-app-detail .iapa-app-paycta .js-admin-pay-now.iapa-btn--approve:hover:not(:disabled) {
  background: var(--iapa-primary-dark);
  border-color: var(--iapa-primary-dark);
}
@media (max-width: 640px) {
  .iapa-shell--admin .iapa-shell__content:has(.iapa-app-detail) {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 380px) {
  .iapa-app-hero {
    grid-template-columns: 56px minmax(0, 1fr);
  }
  .iapa-app-hero .iapa-admin-avatar {
    width: 56px;
    height: 56px;
    border-radius: 16px;
  }
  .iapa-app-hero h1 { font-size: 16px; }
  .iapa-app-detail .iapa-app-actions .iapa-btn {
    font-size: 12px;
    padding: 8px 6px;
  }
}
@media (min-width: 720px) {
  .iapa-app-detail {
    gap: 12px;
    max-width: 720px;
  }
}
@media (min-width: 1024px) {
  .iapa-app-detail {
    max-width: 880px;
  }
  .iapa-app-detail .iapa-app-actions .iapa-app-actions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.iapa-btn--sm { min-height: 36px; padding: 6px 10px; font-size: 12px; }
.iapa-admin-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-admin-district h2 { margin-bottom: 4px; }
.iapa-admin-more { display: grid; gap: 8px; }
.iapa-admin-more__item {
  display: block;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 14px 16px;
  font-weight: 600;
}
.iapa-member-view-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  background: var(--iapa-primary);
  color: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 14px;
}
.iapa-member-view-bar span { font-size: 12px; opacity: 0.9; }
.iapa-member-view-bar .iapa-btn { background: #fff; color: var(--iapa-primary-dark); }
#js-admin-modal-password-wrap {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}
#js-admin-modal-password-wrap[hidden] { display: none !important; }
#js-admin-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(42, 39, 64, 0.45);
}
#js-admin-modal[hidden] { display: none !important; }
#js-admin-modal .iapa-modal__card {
  width: min(100%, 440px);
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--iapa-shadow);
}
#js-admin-modal h2 { font-size: 20px; margin-bottom: 8px; }
#js-admin-modal textarea {
  width: 100%;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
}

@media (min-width: 768px) {
  .iapa-admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iapa-admin-stats--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-admin-stats--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #js-admin-modal { align-items: center; }
}
@media (min-width: 1024px) {
  .iapa-admin-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-admin-row { display: none; }
  .iapa-admin-row--static { display: grid; }
  .iapa-admin-table-wrap { display: block; }
  .iapa-admin-actions { position: static; }
}
@media (max-width: 980px) {
  .iapa-shell--admin .iapa-dock { display: flex; }
  .iapa-shell--admin .iapa-shell__topbar-brand { display: flex; }
  .iapa-shell--admin .iapa-shell__content {
    padding-bottom: calc(18px + 68px + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 430px) {
  .iapa-admin__hero h1 { font-size: 22px; }
  .iapa-admin-stat strong { font-size: 20px; }
}
@media (max-width: 360px) {
  .iapa-admin-stats { grid-template-columns: 1fr; }
  .iapa-admin-stats--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iapa-admin-stats--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   IAPA WEB APP install prompt
   ========================================================================== */

.iapa-pwa {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}
.iapa-pwa[hidden] { display: none !important; }
.iapa-pwa__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(42, 39, 64, 0.28);
  cursor: pointer;
}
.iapa-pwa__card {
  position: relative;
  width: min(420px, 100%);
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 18px;
  padding: 22px 20px 18px;
  box-shadow: 0 14px 40px rgba(42, 39, 64, 0.16);
  text-align: center;
}
.iapa-pwa__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--iapa-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
}
.iapa-pwa__close:hover { background: var(--iapa-primary-tint); color: var(--iapa-ink); }
.iapa-pwa__brand {
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary-tint);
  border-radius: 16px;
}
.iapa-pwa__card h2 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--iapa-primary-dark);
}
.iapa-pwa__copy {
  margin: 0 0 14px;
  font-size: 14px;
  color: var(--iapa-muted);
  line-height: 1.45;
}
.iapa-pwa__ios {
  list-style: decimal;
  text-align: left;
  margin: 0 0 16px;
  padding: 12px 12px 12px 32px;
  background: var(--iapa-primary-tint);
  border-radius: 12px;
  color: var(--iapa-ink-soft);
  font-size: 13.5px;
  line-height: 1.45;
}
.iapa-pwa__ios[hidden] { display: none !important; }
.iapa-pwa__ios li + li { margin-top: 6px; }
.iapa-pwa__actions {
  display: flex;
  gap: 10px;
  justify-content: stretch;
}
.iapa-pwa__actions .iapa-btn {
  flex: 1;
  min-height: 44px;
}
@media (min-width: 768px) {
  .iapa-pwa { align-items: center; }
}
@media (max-width: 980px) {
  .iapa-pwa {
    padding-bottom: calc(16px + 68px + env(safe-area-inset-bottom, 0px));
  }
}

.iapa-notify {
  position: relative;
}
.iapa-notify__pop {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(22rem, calc(100vw - 24px));
  max-width: calc(100vw - 1.25rem);
  max-height: min(22rem, calc(100dvh - 5rem));
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(46, 16, 80, 0.12);
  z-index: 40;
  padding: 10px;
}
.iapa-notify__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.iapa-notify__item {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  color: inherit;
  text-decoration: none;
}
.iapa-notify__item b,
.iapa-notify__item span,
.iapa-notify__item small {
  display: block;
}
.iapa-notify__item.is-unread {
  background: #f5f3ff;
}
.iapa-notify__item small {
  color: var(--iapa-muted);
  font-size: 11px;
  margin-top: 2px;
}
.iapa-push-prompt {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 12px 14px;
  margin: 0 0 14px;
  box-shadow: 0 6px 18px rgba(46, 16, 80, 0.06);
}
.iapa-push-prompt p {
  margin: 0;
}
.iapa-push-prompt span {
  display: block;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-push-prompt div {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.iapa-media-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.iapa-media-modal[hidden] { display: none !important; }
.iapa-media-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(20, 10, 36, 0.55);
}
.iapa-media-modal__card {
  position: relative;
  z-index: 1;
  width: min(52rem, 100%);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 18px 18px 20px;
}
.iapa-media-modal__close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: var(--iapa-muted);
}
.iapa-media-modal__title {
  margin: 0 36px 10px 0;
  font-size: 16px;
}
.iapa-media-modal__img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
.iapa-media-modal__frame {
  width: 100%;
  min-height: 70vh;
  border: 0;
  background: #f8f7fb;
}
.iapa-admin-doc {
  display: block;
  width: 100%;
  text-align: left;
  margin: 0 0 8px;
  background: #f8f7fb;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
}
.iapa-admin-avatar.js-admin-media { cursor: zoom-in; }

.iapa-inbox {
  max-width: 40rem;
  min-width: 0;
}
.iapa-inbox .iapa-page-head {
  align-items: flex-start;
  gap: 10px;
}
.iapa-inbox__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.iapa-inbox__item {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 12px;
  box-shadow: var(--iapa-shadow-sm);
  min-width: 0;
  cursor: pointer;
}
.iapa-inbox__item.is-unread {
  background: #f7f5ff;
  border-color: #ddd6fe;
}
.iapa-inbox__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary-tint, #eee9ff);
  color: var(--iapa-primary);
  flex-shrink: 0;
}
.iapa-inbox__body { min-width: 0; }
.iapa-inbox__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.iapa-inbox__item h2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.iapa-inbox__unread {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--iapa-primary);
  background: #ece7ff;
  border-radius: 999px;
  padding: 2px 8px;
}
.iapa-inbox__message {
  margin: 6px 0 0;
  color: var(--iapa-ink-soft);
  font-size: 14px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.iapa-inbox__more {
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--iapa-primary);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}
.iapa-inbox__time {
  display: block;
  margin-top: 6px;
  color: var(--iapa-muted);
  font-size: 12px;
}
.iapa-inbox__empty {
  text-align: center;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 32px 16px;
}
.iapa-inbox__empty-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary-tint, #eee9ff);
  color: var(--iapa-primary);
  margin-bottom: 8px;
}
.iapa-notify-picker {
  margin-top: 6px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
  max-height: 12rem;
  overflow: auto;
}
.iapa-notify-pick {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--iapa-line);
  padding: 10px 12px;
  cursor: pointer;
}
.iapa-notify-pick:last-child { border-bottom: 0; }
.iapa-notify-pick b,
.iapa-notify-pick small { display: block; }
.iapa-notify-pick small { color: var(--iapa-muted); font-size: 12px; }
.iapa-notify-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.iapa-notify-chip {
  border: 1px solid var(--iapa-line);
  background: #f8f7fb;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
}
.iapa-notify-schedule {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 640px) {
  .iapa-notify-schedule {
    grid-template-columns: 1fr 1fr;
  }
}
.iapa-scheduled-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--iapa-line);
}
.iapa-scheduled-row:last-child { border-bottom: 0; }
.iapa-scheduled-row small {
  display: block;
  color: var(--iapa-muted);
  font-size: 12px;
  margin-top: 2px;
}
.iapa-scheduled-row .iapa-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
#js-notify-body {
  min-height: 8.5rem;
  resize: vertical;
}

.iapa-notify-page .iapa-page-head {
  align-items: flex-start;
}
.iapa-crumb {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-crumb a { color: inherit; text-decoration: none; }
.iapa-crumb span::before {
  content: "›";
  margin-right: 8px;
  color: var(--iapa-muted);
}
.iapa-req { color: #dc2626; }
.iapa-notify-compose {
  padding: 22px 22px 18px;
  box-shadow: 0 12px 32px rgba(70, 65, 119, 0.07);
}
.iapa-notify-compose__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  color: var(--iapa-primary);
  font-size: 18px;
}
.iapa-notify-compose__title .iapa-icon { width: 20px; height: 20px; }
.iapa-notify-compose__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 720px) {
  .iapa-notify-compose__grid { grid-template-columns: 1fr 1fr; }
}
.iapa-notify-message { margin-bottom: 10px; }
.iapa-notify-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 6px;
}
.iapa-notify-actions .iapa-icon { width: 16px; height: 16px; margin-right: 2px; }
.iapa-notify-count { text-align: right; margin-top: 6px; }
.iapa-notify-attach {
  margin: 4px 0 16px;
}
.iapa-notify-attach__label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--iapa-ink-soft);
}
.iapa-notify-attach__label .iapa-icon { width: 15px; height: 15px; }
.iapa-notify-attach__row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}
.iapa-notify-file {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  cursor: pointer;
}
.iapa-notify-file input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.iapa-notify-file__btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 8px;
  background: #f8f7fc;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.iapa-notify-file:hover .iapa-notify-file__btn { border-color: var(--iapa-primary); }
.iapa-notify-file__name {
  font-size: 13px;
  color: var(--iapa-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}
.iapa-notify-attach__hint {
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-notify-later {
  margin: 0 0 16px;
  border: 1px dashed var(--iapa-line);
  border-radius: 12px;
  padding: 8px 12px;
  background: #fbfbfe;
}
.iapa-notify-later summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  color: var(--iapa-primary);
  padding: 6px 0;
}
.iapa-notify-later .iapa-notify-schedule { margin-top: 8px; }
.iapa-notify-toast {
  position: fixed;
  left: 24px;
  bottom: 88px;
  z-index: 90;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  max-width: min(420px, calc(100vw - 36px));
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, #16a34a 0%, #15803d 100%);
  color: #fff;
  box-shadow: 0 16px 36px rgba(21, 128, 61, 0.28);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.24s ease, transform 0.24s ease;
}
.iapa-notify-toast[hidden] { display: none !important; }
.iapa-notify-toast.is-on { opacity: 1; transform: none; }
.iapa-notify-toast b,
.iapa-notify-toast p { display: block; margin: 0; }
.iapa-notify-toast p { opacity: 0.92; font-size: 13px; margin-top: 2px; }
.iapa-notify-toast__tick {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #fff;
  color: #16a34a;
  display: grid;
  place-items: center;
  animation: iapa-success-pop 0.55s cubic-bezier(0.2, 1.35, 0.32, 1) both;
}
.iapa-notify-toast__tick svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.iapa-notify-toast__close {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.iapa-notify-sent {
  padding: 18px 18px 12px;
}
.iapa-notify-sent__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.iapa-notify-sent__head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 18px;
  color: var(--iapa-primary);
}
.iapa-notify-sent__head h2 .iapa-icon { width: 18px; height: 18px; }
.iapa-notify-sent__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.iapa-notify-sent__filters .iapa-search {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--iapa-line);
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
}
.iapa-notify-sent__filters .iapa-search input {
  border: 0;
  outline: none;
  min-width: 160px;
}
.iapa-notify-sent__filters select,
.iapa-notify-sent__filters input[type="date"] {
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  font: inherit;
  font-size: 13px;
}
.iapa-notify-sent .iapa-admin-table-wrap {
  display: block;
  overflow-x: auto;
}
.iapa-notify-table { min-width: 860px; }
.iapa-notify-table th { white-space: nowrap; }
.iapa-notify-table td b,
.iapa-notify-table td small { display: block; }
.iapa-notify-table td small { color: var(--iapa-muted); font-weight: 400; margin-top: 2px; }
.iapa-notify-audience {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--iapa-ink-soft);
  font-weight: 600;
}
.iapa-notify-audience .iapa-icon {
  width: 16px;
  height: 16px;
  color: var(--iapa-primary);
  flex: 0 0 auto;
}
.iapa-notify-actor {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.iapa-notify-actor .iapa-admin-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
}
.iapa-notify-actor b,
.iapa-notify-actor small { display: block; }
.iapa-notify-actor small { color: var(--iapa-muted); font-weight: 500; }
.iapa-notify-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #15803d;
  font-weight: 700;
  font-size: 12.5px;
  white-space: nowrap;
}
.iapa-notify-status .iapa-icon { width: 14px; height: 14px; }
.iapa-notify-iconbtn {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  color: var(--iapa-primary);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}
.iapa-notify-iconbtn:hover { background: var(--iapa-primary-tint); }
.iapa-notify-iconbtn.is-danger { color: #dc2626; }
.iapa-notify-iconbtn.is-danger:hover { background: #fef2f2; }
.iapa-notify-iconbtn .iapa-icon { width: 16px; height: 16px; }
.iapa-notify-row-actions { display: flex; gap: 6px; }
.iapa-notify-sent-card {
  display: none;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--iapa-line);
}
.iapa-notify-sent-card b,
.iapa-notify-sent-card small { display: block; }
.iapa-notify-sent-card small { color: var(--iapa-muted); margin-top: 2px; }
.iapa-notify-sno {
  display: inline-block;
  min-width: 22px;
  margin-right: 6px;
  color: var(--iapa-muted);
}
.iapa-notify-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 2px 6px;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-notify-pages {
  display: flex;
  gap: 6px;
}
.iapa-notify-pages button {
  min-width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  color: var(--iapa-ink-soft);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}
.iapa-notify-pages button.is-current {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
  color: #fff;
}
.iapa-notify-pages button:disabled { opacity: 0.4; cursor: not-allowed; }
#js-notify-edit-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(42, 39, 64, 0.45);
}
#js-notify-edit-modal[hidden] { display: none !important; }
#js-notify-edit-modal .iapa-modal__card {
  width: min(100%, 560px);
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--iapa-shadow);
}
#js-notify-edit-modal h2 { font-size: 20px; margin-bottom: 6px; }
#js-notify-edit-modal textarea,
#js-notify-edit-modal input {
  width: 100%;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
}
.iapa-notify-scheduled h2 { margin-bottom: 10px; }
@media (min-width: 768px) {
  #js-notify-edit-modal { align-items: center; }
}
@media (max-width: 860px) {
  .iapa-notify-sent .iapa-admin-table-wrap { display: none; }
  .iapa-notify-sent-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: start; }
}
@media (max-width: 640px) {
  .iapa-inbox .iapa-page-head {
    flex-direction: column;
  }
  .iapa-push-prompt {
    flex-direction: column;
    align-items: stretch;
  }
  .iapa-notify-actions { justify-content: stretch; }
  .iapa-notify-actions .iapa-btn { flex: 1; }
  .iapa-notify-attach__row { align-items: flex-start; }
}

.iapa-home-hero--compact {
  min-height: 0;
  padding: 18px 18px 16px;
  position: relative;
  overflow: hidden;
}
.iapa-home-hero__deco {
  position: absolute;
  right: -42px;
  top: -56px;
  width: 176px;
  height: 176px;
  border-radius: 50%;
  border: 22px solid rgba(70, 65, 119, 0.10);
  pointer-events: none;
  z-index: 0;
}
.iapa-home-hero__deco::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 28px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  border: 16px solid rgba(70, 65, 119, 0.07);
}
.iapa-home-hero--compact > *:not(.iapa-home-hero__deco) {
  position: relative;
  z-index: 1;
}
.iapa-home-hero--compact .iapa-home-hero__copy,
.iapa-home-hero--compact { padding-right: 18px; }
.iapa-home-hero--compact .iapa-home-hero__hello {
  font-size: clamp(20px, 5.4vw, 24px);
  color: var(--iapa-ink);
  font-weight: 700;
  letter-spacing: -0.2px;
}
.iapa-home-hero--compact .iapa-home-hero__title {
  margin: 8px 0 0;
  font-size: clamp(14px, 3.6vw, 16px);
  font-weight: 600;
  color: var(--iapa-primary);
  line-height: 1.2;
}
.iapa-home-hero--compact h1,
.iapa-home-hero--compact .iapa-home-hero__name {
  margin: 2px 0 0;
  font-size: clamp(18px, 5vw, 22px);
  color: var(--iapa-ink);
  font-weight: 700;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.iapa-home-hero__hi {
  font-size: 0.92em;
  line-height: 1;
}
.iapa-home-hero--compact .iapa-home-hero__lede {
  margin: 10px 0 0;
  font-size: 13.5px;
  color: var(--iapa-muted);
  max-width: 36rem;
}
.iapa-home-hero--compact .iapa-home-hero__lede[hidden] { display: none !important; }
.iapa-home-hero--compact .iapa-home-hero__deadline {
  margin-top: 16px;
  padding: 14px 14px 14px;
  padding-right: 14px;
  background: rgba(255, 255, 255, 0.55);
  border-radius: 16px;
}
.iapa-home-hero--compact .iapa-home-hero__deadline-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--iapa-ink);
  margin-bottom: 4px;
}
.iapa-home-hero--compact .iapa-home-hero__deadline-date {
  font-weight: 500;
  color: var(--iapa-muted);
  margin-bottom: 12px;
  font-size: 13.5px;
}
.iapa-home-hero--compact .iapa-home-hero__deadline-date strong {
  color: var(--iapa-primary);
  font-weight: 700;
}
.iapa-home-hero--compact .iapa-welcome__status {
  margin-top: 12px;
}
.iapa-home-hero__active {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  color: var(--iapa-ink);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
  font-weight: 600;
}
.iapa-body a.iapa-home-hero__active { color: var(--iapa-ink); }
.iapa-home-hero__active[hidden] { display: none !important; }
.iapa-home-hero__active-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.iapa-home-hero__active-icon .iapa-icon { width: 14px; height: 14px; }
.iapa-home-hero__active-copy { flex: 1; min-width: 0; }
.iapa-home-hero__active-go {
  color: var(--iapa-muted-soft);
  display: grid;
  place-items: center;
}
.iapa-home-hero__active-go .iapa-icon { width: 18px; height: 18px; }
.iapa-quick--more { margin-top: 4px; }
.iapa-quick--home .iapa-quick__card h3 {
  font-size: 12.5px;
  line-height: 1.25;
  font-weight: 600;
}
.iapa-page-head__sub {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--iapa-muted);
  font-weight: 500;
}
.iapa-mem-page .iapa-page-head {
  align-items: flex-start;
  margin-bottom: 16px;
}
.iapa-mem-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 8px;
}
.iapa-mem-actions .iapa-accordion__sub:empty { display: none; }
#js-membership-card-wrap[hidden],
#js-membership-status-card[hidden],
#js-membership-help[hidden],
#js-membership-update[hidden] { display: none !important; }
.iapa-mem-status {
  position: relative;
  background: linear-gradient(180deg, #fdecec 0%, #fff6f3 100%);
  border: 1px solid #f3d0cc;
  border-radius: 20px;
  padding: 18px 16px 16px;
  margin: 0 0 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iapa-mem-status__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 5px 10px;
  border-radius: 999px;
}
.iapa-mem-status__icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f8d7d4;
  color: #b91c1c;
}
.iapa-mem-status__icon .iapa-icon { width: 22px; height: 22px; }
.iapa-mem-status h2 {
  margin: 4px 0 0;
  font-size: 18px;
  line-height: 1.25;
  color: var(--iapa-ink);
  padding-right: 7.5rem;
  word-break: break-word;
}
.iapa-mem-status__copy {
  margin: 0;
  color: var(--iapa-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.iapa-mem-status .iapa-mem-apply {
  margin: 8px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.iapa-mem-status .iapa-status-banner {
  margin-top: 8px;
}
.iapa-idcard {
  margin: 0;
  overflow: visible;
}
.iapa-idcard__viewport {
  perspective: 1200px;
  -webkit-perspective: 1200px;
  max-width: 100%;
}
.iapa-idcard__flip {
  position: relative;
  transform: rotateY(0deg);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.iapa-idcard__flip.is-flipped { transform: rotateY(180deg); }
.iapa-idcard__face {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 22px;
  padding: 16px 16px 14px;
  background: linear-gradient(155deg, #f3f1fb 0%, #eef1f8 48%, #f8f7fc 100%);
  color: #1c1830;
  border: 1px solid rgba(70, 65, 119, 0.10);
  box-shadow: 0 12px 28px rgba(70, 65, 119, 0.10);
  overflow: hidden;
}
.iapa-idcard__face * {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.iapa-idcard__face--front {
  position: relative;
  transform: rotateY(0deg) translateZ(1px);
  z-index: 2;
}
.iapa-idcard__face--back {
  position: absolute;
  inset: 0;
  transform: rotateY(180deg) translateZ(1px);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px 12px;
}
.iapa-idcard__mark {
  position: absolute;
  right: -28px;
  top: 36px;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  border: 18px solid rgba(70, 65, 119, 0.08);
  pointer-events: none;
}
.iapa-idcard__mark::after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 12px solid rgba(70, 65, 119, 0.06);
}
.iapa-idcard__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.iapa-idcard__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-size: 13px;
  color: var(--iapa-primary-dark);
}
.iapa-idcard__logo { width: 28px; height: 28px; border-radius: 8px; background: #fff; }
.iapa-idcard__status {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #374151;
}
.iapa-idcard__status[data-state="active"] {
  background: #16a34a;
  color: #fff;
}
.iapa-idcard[data-state="cancelled"] .iapa-idcard__qr img {
  filter: grayscale(1);
  opacity: 0.55;
}
.iapa-idcard[data-state="cancelled"] .iapa-idcard__face {
  box-shadow: inset 0 0 0 2px #b91c1c;
}
.iapa-mem-cancel-note {
  margin: 12px 0 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #7f1d1d;
}
.iapa-mem-cancel-note h2 {
  margin: 0 0 8px;
  font-size: 16px;
}
.iapa-mem-cancel-note p {
  margin: 4px 0 0;
  font-size: 14px;
}
.iapa-admin-types a.iapa-type-progress {
  display: block;
  text-decoration: none;
  color: inherit;
}
.iapa-bank-period {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}
.iapa-bank-period .iapa-field {
  min-width: 160px;
}
.iapa-idcard__who {
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.iapa-idcard__title {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-primary);
}
.iapa-idcard__name {
  margin: 2px 0 0;
  font-size: 22px;
  line-height: 1.2;
  word-break: break-word;
  color: #111827;
  font-weight: 800;
}
.iapa-idcard__facts {
  display: grid;
  gap: 10px;
  margin: 0;
  position: relative;
  z-index: 1;
}
.iapa-idcard__facts dt {
  font-size: 11px;
  color: var(--iapa-muted);
  margin: 0 0 2px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.iapa-idcard__facts dt .iapa-icon {
  width: 14px;
  height: 14px;
  color: var(--iapa-primary);
}
.iapa-idcard__facts dd {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  word-break: break-word;
  color: #1f2937;
}
.iapa-idcard__tagline {
  margin: 16px 0 0;
  font-size: 11.5px;
  font-style: italic;
  color: var(--iapa-muted);
  position: relative;
  z-index: 1;
}
.iapa-idcard__pager {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin: 8px 0 4px;
}
.iapa-idcard__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d4d0e6;
}
.iapa-idcard__dot.is-on { background: var(--iapa-primary); }
.iapa-idcard-privacy {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f3f4f6;
  color: var(--iapa-muted);
  font-size: 12.5px;
  line-height: 1.45;
}
.iapa-idcard-privacy .iapa-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--iapa-muted);
}
.iapa-idcard__qr-head {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  margin: 0 0 2px;
}
.iapa-idcard__qr-logo {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(70, 65, 119, 0.08);
}
.iapa-idcard__watermark {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 0.055;
  z-index: 0;
}
.iapa-idcard__watermark-logo {
  width: 168px;
  height: 168px;
  border-radius: 28px;
  filter: grayscale(0.15);
}
.iapa-idcard__qr {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 16px;
  padding: 8px;
  margin: 0 auto;
  width: min(156px, 54%);
  box-shadow: 0 1px 0 rgba(70, 65, 119, 0.06);
}
.iapa-idcard__qr img { width: 100%; height: auto; display: block; }
.iapa-idcard__qr-who {
  position: relative;
  z-index: 1;
  text-align: center;
}
.iapa-idcard__qr-title {
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--iapa-primary);
  text-align: center;
}
.iapa-idcard__qr-name,
.iapa-idcard__qr-id {
  margin: 0;
  text-align: center;
  color: #111827;
}
.iapa-idcard__qr-name { font-weight: 800; margin-top: 2px; font-size: 16px; word-break: break-word; max-width: 100%; }
.iapa-idcard__qr-id-label {
  margin: 6px 0 0;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-idcard__qr-id { font-size: 12.5px; color: #1f2937; margin-top: 2px; font-weight: 700; }
.iapa-idcard__verify {
  position: relative;
  z-index: 1;
  margin: 4px 0 0;
  font-size: 11px;
  color: var(--iapa-muted);
  text-align: center;
}
.iapa-quick--home {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.iapa-quick--home .iapa-quick__card {
  min-height: 92px;
  padding: 14px 8px 12px;
}
.iapa-quick--home .iapa-quick__card p { display: none; }
.iapa-quick__card {
  position: relative;
}
.iapa-quick__lock {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 16px;
  height: 16px;
  color: var(--iapa-muted);
  pointer-events: none;
}
.iapa-quick__card.is-locked {
  cursor: not-allowed;
}
.iapa-quick__card.is-locked .iapa-quick__icon {
  opacity: 0.42;
  filter: grayscale(0.35);
}
.iapa-quick__card.is-locked h3 {
  opacity: 0.72;
}
.iapa-quick-toast {
  position: fixed;
  left: 50%;
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  background: #2a2740;
  color: #fff;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 999px;
  z-index: 80;
  box-shadow: 0 8px 20px rgba(42, 39, 64, 0.18);
}
.iapa-hours-day { margin: 10px 0 14px; }
.iapa-hours-day b { display: block; font-size: 13px; margin-bottom: 6px; }
.iapa-hours-slot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.iapa-hours-preview {
  white-space: pre-line;
  font: inherit;
  font-size: 13px;
  color: var(--iapa-muted);
  margin: 8px 0 0;
}
.iapa-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 16px;
}
.iapa-choice-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px 8px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  border-radius: 14px;
  font: inherit;
  cursor: pointer;
}
.iapa-choice-card.is-selected {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
}
.iapa-section-title {
  font-size: 15px;
  margin: 16px 0 8px;
}
.iapa-home-list { display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 640px) {
  .iapa-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.iapa-quick--home .iapa-quick__card--documents {
  background: #eeedf7;
}
.iapa-quick--home .iapa-quick__card--documents .iapa-quick__icon {
  background: #dcd7ee;
  color: var(--iapa-primary-dark);
}
.iapa-quick__card--practice { background: #eeedf7; }
.iapa-quick__card--payments { background: #f8efd8; }
.iapa-quick__card--certs { background: #e8f3ea; }
.iapa-quick__card--events { background: #f8eaf1; }
.iapa-quick__card--meetings { background: #e8eef8; }
.iapa-quick__card--more { background: #f1eff8; }
.iapa-quick__card--support { background: #eef3f8; }
.iapa-quick__card--practice .iapa-quick__icon,
.iapa-quick__card--more .iapa-quick__icon { background: #dcd7ee; color: var(--iapa-primary-dark); }
.iapa-quick__card--payments .iapa-quick__icon { background: #f0ddb0; color: #8a6400; }
.iapa-quick__card--certs .iapa-quick__icon { background: #cfe6d3; color: #2f6b3a; }
.iapa-quick__card--events .iapa-quick__icon { background: #efd0e0; color: #8a3a62; }
.iapa-quick__card--meetings .iapa-quick__icon { background: #d4def0; color: #314e86; }
.iapa-quick__card--support .iapa-quick__icon { background: #d5e0ee; color: #314e86; }
.iapa-updates { display: grid; gap: 8px; }
.iapa-updates__item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 28px 11px 12px;
  border-radius: 14px;
  background: var(--iapa-surface);
  border: 1px solid var(--iapa-line);
  text-decoration: none;
  color: inherit;
  position: relative;
}
.iapa-updates__item b { display: block; font-size: 14px; }
.iapa-updates__item small { display: block; color: var(--iapa-muted); font-size: 12px; margin-top: 2px; }
.iapa-updates__icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.iapa-updates__icon .iapa-icon { width: 14px; height: 14px; }
.iapa-updates__chevron {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--iapa-muted-soft);
  display: grid;
  place-items: center;
}
.iapa-updates__chevron .iapa-icon { width: 16px; height: 16px; }
.iapa-member-more { margin-top: 8px; }
.iapa-verify { max-width: 28rem; margin: 24px auto; padding: 16px; }
.iapa-verify__card {
  background: #fff;
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 12px 28px rgba(42, 39, 64, 0.12);
}
.iapa-verify__card h1 { margin: 8px 0 16px; }
.iapa-status-card--compact { margin-top: 0; }
@media (max-width: 640px) {
  .iapa-quick--home { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iapa-home { overflow-x: hidden; }
  .iapa-idcard__name { font-size: 16px; }
}
@media (max-width: 360px) {
  .iapa-quick--home .iapa-quick__card {
    min-height: 84px;
    padding: 12px 6px 10px;
  }
  .iapa-quick--home .iapa-quick__card h3 { font-size: 11px; }
}
@media (min-width: 769px) {
  .iapa-quick--home { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iapa-idcard { max-width: 420px; }
}

.iapa-quick__card--updates { background: #f8efd8; }
.iapa-quick__card--updates .iapa-quick__icon { background: #f0ddb0; color: #8a6400; }
.iapa-quick__card--profile { background: #eeedf7; }
.iapa-quick__card--profile .iapa-quick__icon { background: #dcd7ee; color: var(--iapa-primary-dark); }
.iapa-admin .iapa-quick--more { margin-top: 4px; }
.iapa-admin-suggest-field { position: relative; }
.iapa-admin-suggest {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  top: calc(100% - 4px);
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(40, 24, 80, 0.08);
  max-height: 280px;
  overflow: auto;
  padding: 6px;
}
.iapa-admin-suggest__item,
.iapa-admin-picked__card {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 12px;
  padding: 8px;
}
.iapa-admin-suggest__item:hover { background: var(--iapa-primary-tint); }
.iapa-admin-picked { margin: 0 0 12px; }
.iapa-admin-picked__card { border: 1px solid var(--iapa-line); background: #fff; }
.iapa-admin-stats--types,
.iapa-admin-stats--report {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.iapa-admin-stats--types .iapa-admin-stat small {
  display: block;
  margin-top: 4px;
  color: var(--iapa-muted);
  font-weight: 600;
}
@media (min-width: 720px) {
  .iapa-admin-stats--types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-admin-stats--report { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.iapa-support-thread { display: grid; gap: 10px; margin-top: 12px; }
.iapa-support-bubble {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  padding: 12px 14px;
}
.iapa-support-bubble header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 13px;
}
.iapa-support-bubble header span { color: var(--iapa-muted); }
.iapa-support-bubble.is-member { background: #f6f3fb; }
.iapa-support-bubble.is-admin { background: #f4f7fb; }
.iapa-support-bubble p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.iapa-support-flag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.iapa-support-flag.is-replied { color: #166534; }
.iapa-support-flag.is-waiting { color: #9a3412; }
.iapa-confirm {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(22, 18, 40, 0.45);
}
.iapa-confirm[hidden] { display: none !important; }
.iapa-confirm__card {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 16px 40px rgba(22, 18, 40, 0.18);
}
.iapa-confirm__card h2 { margin: 0 0 8px; font-size: 18px; }
.iapa-confirm__card p { margin: 0 0 16px; color: var(--iapa-muted); }
.iapa-confirm__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.iapa-bank-filters .iapa-field span,
#js-bank-filters .iapa-field span,
#js-report-filters .iapa-field span { display: block; font-size: 12px; color: var(--iapa-muted); margin-bottom: 4px; }
.iapa-bank-districts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
  min-width: 0;
}
.iapa-bank-card {
  display: block;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: var(--iapa-shadow-sm);
  color: inherit;
  text-decoration: none;
}
.iapa-bank-card:hover {
  border-color: var(--iapa-primary);
}
.iapa-bank-card h3 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
  overflow-wrap: anywhere;
}
.iapa-bank-card dl {
  margin: 0;
  display: grid;
  gap: 4px;
}
.iapa-bank-card dl div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  min-width: 0;
}
.iapa-bank-card dt {
  margin: 0;
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-bank-card dd {
  margin: 0;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  overflow-wrap: anywhere;
}
@media (min-width: 720px) {
  .iapa-bank-districts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .iapa-bank-districts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Role-aware Admin Home — one design, scoped data */
.iapa-shell--admin .iapa-shell__brand-name {
  letter-spacing: 0.08em;
}
.iapa-shell--admin .iapa-shell__brand-sub {
  color: #d8d4ea;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.iapa-shell--admin .iapa-shell__topbar-brand .iapa-shell__brand-name {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.iapa-shell--admin .iapa-shell__topbar-brand .iapa-shell__brand-sub {
  color: var(--iapa-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  max-width: none;
}

.iapa-admin-home { gap: 14px; }
.iapa-admin-home__hello {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 16px 14px;
  background: linear-gradient(180deg, #f4f1fb 0%, #fff 100%);
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-admin-home__hello .iapa-home-hero__hello {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-admin-home__hello h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.iapa-admin-home__hello .iapa-home-hero__lede {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 650;
  color: var(--iapa-ink-soft);
}
.iapa-admin-home__section { min-width: 0; }
.iapa-admin-home__section > .iapa-admin-home__title,
.iapa-admin-home__flow .iapa-admin-home__title {
  margin: 0 2px 10px;
}
.iapa-admin-home__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0 2px 10px;
}
.iapa-admin-home__title {
  font-size: 14px;
  font-weight: 800;
  margin: 0;
  color: var(--iapa-ink);
}
.iapa-admin-home__more {
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-primary);
  white-space: nowrap;
}
.iapa-admin-home__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-admin-home__icon .iapa-icon { width: 16px; height: 16px; }
.iapa-admin-home__go {
  color: var(--iapa-muted-soft);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.iapa-admin-home__bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: rgba(70, 65, 119, 0.1);
  overflow: hidden;
}
.iapa-admin-home__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
}

.iapa-admin-home__overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.iapa-admin-home__overview-card {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 14px 12px;
  border-radius: 18px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  box-shadow: var(--iapa-shadow-sm);
  color: inherit;
}
.iapa-admin-home__overview-card.is-static { pointer-events: none; }
.iapa-admin-home__overview-card.is-apps {
  background: #f4f1fb;
  border-color: #ddd6f3;
}
.iapa-admin-home__overview-card.is-members {
  background: #f0fdf6;
  border-color: #c8ebd8;
}
.iapa-admin-home__overview-card.is-members .iapa-admin-home__icon {
  background: #d8f5e6;
  color: #15803d;
}
.iapa-admin-home__overview-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 1px;
}
.iapa-admin-home__overview-copy span {
  font-size: 11px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-admin-home__overview-copy strong {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.iapa-admin-home__overview-copy small {
  font-size: 10px;
  font-weight: 650;
  color: var(--iapa-muted);
}

.iapa-admin-home__status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.iapa-admin-home__status-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  padding: 10px 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  box-shadow: var(--iapa-shadow-sm);
  color: inherit;
}
.iapa-admin-home__status-card.is-static { pointer-events: none; }
.iapa-admin-home__status-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--iapa-muted);
  line-height: 1.25;
}
.iapa-admin-home__status-card strong {
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--iapa-ink);
}
.iapa-admin-home__status-card small {
  font-size: 10px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-admin-home__status-card .iapa-admin-home__bar { width: 100%; margin-top: 4px; }
.iapa-admin-home__status-card.is-user { background: #eef4ff; border-color: #d5e2fb; color: #1d4ed8; }
.iapa-admin-home__status-card.is-user .iapa-admin-home__icon { background: #dbeafe; color: #1d4ed8; }
.iapa-admin-home__status-card.is-pending { background: #fffbeb; border-color: #f3e0a8; color: #a16207; }
.iapa-admin-home__status-card.is-pending .iapa-admin-home__icon { background: #f8efd0; color: #a16207; }
.iapa-admin-home__status-card.is-correction { background: #fff7ed; border-color: #fed7aa; color: #c2410c; }
.iapa-admin-home__status-card.is-correction .iapa-admin-home__icon { background: #ffedd5; color: #c2410c; }
.iapa-admin-home__status-card.is-rejected { background: #fff5f5; border-color: #f3d0ce; color: #b42318; }
.iapa-admin-home__status-card.is-rejected .iapa-admin-home__icon { background: #fde4e2; color: #b42318; }
.iapa-admin-home__status-card.is-payment_pending { background: #f4f1fb; border-color: #ddd6f3; color: var(--iapa-primary); }
.iapa-admin-home__status-card.is-payment_pending .iapa-admin-home__icon { background: #e4dff6; color: var(--iapa-primary); }
.iapa-admin-home__status-card.is-approved { background: #f0fdf6; border-color: #c8ebd8; color: #15803d; }
.iapa-admin-home__status-card.is-approved .iapa-admin-home__icon { background: #d8f5e6; color: #15803d; }
.iapa-admin-home__status-card.is-cancelled { background: #f4f4f5; border-color: #e4e4e7; color: #52525b; }
.iapa-admin-home__status-card.is-cancelled .iapa-admin-home__icon { background: #e4e4e7; color: #52525b; }

.iapa-admin-home .iapa-admin-types { margin-top: 0; }
.iapa-admin-home__types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.iapa-admin-home__type {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: var(--iapa-shadow-sm);
  color: inherit;
}
.iapa-admin-home__type.is-static { pointer-events: none; }
.iapa-admin-home__type--new { background: #eef4ff; border-color: #d5e2fb; }
.iapa-admin-home__type--renew_current { background: #fffbeb; border-color: #f3e0a8; }
.iapa-admin-home__type--renew_old { background: #f4f1fb; border-color: #ddd6f3; }
.iapa-admin-home__type--student { background: #f0fdf6; border-color: #c8ebd8; }
.iapa-admin-home__type-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: 1px;
}
.iapa-admin-home__type-name {
  font-size: 12px;
  font-weight: 800;
  color: var(--iapa-primary-dark);
}
.iapa-admin-home__type-copy strong {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--iapa-ink);
}
.iapa-admin-home__type-copy > small {
  font-size: 10px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-admin-home__type .iapa-admin-home__bar {
  margin: 6px 0 4px;
  color: var(--iapa-primary);
}
.iapa-admin-home__type-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  font-size: 10px;
  font-weight: 700;
}
.iapa-admin-home__type-meta .is-ok { color: #15803d; }
.iapa-admin-home__type-meta .is-wait { color: #a16207; }
.iapa-admin-home__type-meta .is-no { color: #b42318; }

.iapa-admin-home__flow {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-admin-home__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.iapa-admin-home__steps li {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  font-size: 11px;
  font-weight: 700;
}
.iapa-admin-home__terminals {
  margin: 8px 2px 0;
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
@media (min-width: 720px) {
  .iapa-admin-home__status { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .iapa-admin-home__hello h1 { font-size: 24px; }
}
@media (max-width: 430px) {
  .iapa-admin-home__status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iapa-admin-home__overview-copy strong { font-size: 18px; }
}

/* IAPA Bank — compact financial dashboard (page content only; dock/header stay) */
.iapa-bank-page {
  gap: 12px;
  padding-bottom: 8px;
}
.iapa-bank-head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 2px 2px 0;
}
.iapa-bank-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--iapa-primary);
  font-size: 13px;
  font-weight: 700;
}
.iapa-bank-back[hidden] { display: none !important; }
.iapa-bank-back .iapa-icon { width: 16px; height: 16px; }
.iapa-bank-head__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.iapa-bank-head__icon {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary);
  color: #fff;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-bank-head__icon .iapa-icon { width: 20px; height: 20px; color: #fff; }
.iapa-bank-head__copy { min-width: 0; }
.iapa-bank-head h1 {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--iapa-ink);
}
.iapa-bank-head__sub {
  margin: 3px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--iapa-muted);
}
.iapa-bank-scope {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin: 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  box-shadow: var(--iapa-shadow-sm);
  color: var(--iapa-primary-dark);
  font-size: 12px;
  font-weight: 700;
}
.iapa-bank-scope[hidden] { display: none !important; }
.iapa-bank-scope .iapa-icon {
  width: 14px;
  height: 14px;
  color: var(--iapa-primary);
}

.iapa-bank-dates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  align-items: end;
  gap: 8px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-bank-dates .iapa-field {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.iapa-bank-dates .iapa-field span {
  display: block;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--iapa-muted);
}
.iapa-bank-dates .iapa-field > input,
.iapa-bank-dates .iapa-field > select {
  width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  padding: 7px 10px;
  font-size: 12.5px;
  border-radius: 10px;
}
.iapa-bank-pay--event {
  border-left: 3px solid var(--iapa-primary);
}
.iapa-bank-dates .iapa-btn--sm {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}

.iapa-bank-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.iapa-bank-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 12px 12px 11px;
  border-radius: 16px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-bank-stat__icon {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.iapa-bank-stat__icon .iapa-icon { width: 15px; height: 15px; }
.iapa-bank-stat__label {
  font-size: 11px;
  font-weight: 700;
  color: var(--iapa-muted);
  letter-spacing: 0.01em;
}
.iapa-bank-stat strong {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--iapa-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.iapa-bank-stat small {
  font-size: 11px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-bank-stat--members .iapa-bank-stat__icon { background: var(--iapa-primary-tint); color: var(--iapa-primary); }
.iapa-bank-stat--paid {
  background: #f0fdf6;
  border-color: #c8ebd8;
}
.iapa-bank-stat--paid .iapa-bank-stat__icon { background: #d8f5e6; color: #15803d; }
.iapa-bank-stat--paid strong,
.iapa-bank-stat--paid small { color: #15803d; }
.iapa-bank-stat--pending {
  background: #fff5f5;
  border-color: #f3d0ce;
}
.iapa-bank-stat--pending .iapa-bank-stat__icon { background: #fde4e2; color: #b42318; }
.iapa-bank-stat--pending strong,
.iapa-bank-stat--pending small { color: #b42318; }
.iapa-bank-stat--amount {
  background: #f4f1fb;
  border-color: #ddd6f3;
}
.iapa-bank-stat--amount .iapa-bank-stat__icon { background: #e4dff6; color: var(--iapa-primary); }
.iapa-bank-stat--amount strong { color: var(--iapa-primary-dark); }
.iapa-bank-stat--pending-amt {
  background: #fff1f2;
  border-color: #f8d0d4;
}
.iapa-bank-stat--pending-amt .iapa-bank-stat__icon { background: #fde2e5; color: #be123c; }
.iapa-bank-stat--pending-amt strong { color: #be123c; }
.iapa-bank-stat--uv {
  background: #fffbeb;
  border-color: #f3e0a8;
}
.iapa-bank-stat--uv .iapa-bank-stat__icon { background: #f8efd0; color: #a16207; }
.iapa-bank-stat--uv strong { color: #a16207; }

.iapa-bank-districts-wrap {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 18px;
  box-shadow: var(--iapa-shadow-sm);
  padding: 12px 10px 8px;
  min-width: 0;
}
.iapa-bank-districts-wrap[hidden] { display: none !important; }
.iapa-bank-districts-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 4px 10px;
}
.iapa-bank-districts-head h2,
.iapa-bank-section-title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--iapa-ink);
}
.iapa-bank-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 2px 2px 8px;
}
.iapa-bank-viewall {
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-primary);
}
.iapa-bank-search {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 180px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--iapa-paper);
  border: 1px solid var(--iapa-line);
  color: var(--iapa-muted-soft);
}
.iapa-bank-search .iapa-icon { width: 14px; height: 14px; flex: none; }
.iapa-bank-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: none;
  outline: none;
  font: inherit;
  font-size: 12px;
  color: var(--iapa-ink);
}
.iapa-bank-district-list,
.iapa-bank-page .iapa-bank-districts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
.iapa-bank-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid var(--iapa-line);
  background: #faf9fd;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.iapa-bank-row[hidden] { display: none !important; }
.iapa-bank-row:hover { border-color: var(--iapa-primary); background: #fff; }
.iapa-bank-row__sno {
  font-size: 11px;
  font-weight: 800;
  color: var(--iapa-muted-soft);
  text-align: center;
}
.iapa-bank-row__main {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.iapa-bank-row__main b {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--iapa-ink);
}
.iapa-bank-row__main small {
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-bank-row .is-paid { color: #15803d; font-weight: 700; }
.iapa-bank-row .is-pending { color: #b42318; font-weight: 700; }
.iapa-bank-row .is-uv { color: #a16207; font-weight: 700; }
.iapa-bank-row__amt {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.iapa-bank-row__amt small {
  font-size: 10px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-bank-row__amt b {
  font-size: 13px;
  font-weight: 800;
  color: var(--iapa-primary-dark);
}
.iapa-bank-go {
  color: var(--iapa-muted-soft);
  font-size: 14px;
  font-weight: 700;
}

.iapa-bank-types,
.iapa-bank-payments { min-width: 0; }
.iapa-bank-types[hidden] { display: none !important; }
.iapa-bank-type-list,
.iapa-bank-pay-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.iapa-bank-type,
.iapa-bank-pay {
  display: grid;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 16px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  box-shadow: var(--iapa-shadow-sm);
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.iapa-bank-type {
  grid-template-columns: 32px minmax(0, 1fr) auto 14px;
}
.iapa-bank-type .iapa-bank-stat__icon {
  margin: 0;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-bank-type__copy,
.iapa-bank-pay__copy,
.iapa-bank-pay__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.iapa-bank-type__name,
.iapa-bank-pay__copy b {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--iapa-ink);
}
.iapa-bank-type__copy small,
.iapa-bank-pay__copy small {
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-bank-type .is-paid { color: #15803d; font-weight: 700; }
.iapa-bank-type__amt {
  font-size: 13px;
  font-weight: 800;
  color: var(--iapa-primary-dark);
  font-variant-numeric: tabular-nums;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.iapa-bank-type__amt small {
  font-size: 10px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-bank-row__types {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 6px;
}
.iapa-bank-row__types small {
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-bank-pay {
  grid-template-columns: 36px minmax(0, 1fr) auto 14px;
}
.iapa-bank-pay__avatar {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.iapa-bank-pay__meta {
  align-items: flex-end;
  text-align: right;
  gap: 3px;
}
.iapa-bank-pay__meta b {
  font-size: 13.5px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--iapa-ink);
}
.iapa-bank-pay__meta small {
  font-size: 11px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-bank-pay:hover,
.iapa-bank-type:hover { border-color: var(--iapa-primary); }

@media (min-width: 720px) {
  .iapa-bank-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iapa-bank-head h1 { font-size: 22px; }
}
@media (max-width: 430px) {
  .iapa-bank-dates {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .iapa-bank-dates .iapa-btn--sm {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 88px;
  }
  .iapa-bank-search { max-width: 140px; }
}

.iapa-event-kicker {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--iapa-primary);
}
.iapa-event-page {
  overflow-x: hidden;
  padding-bottom: 8px;
}
.iapa-event-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 16px;
}
.iapa-event-tab {
  border: 0;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  border-radius: 999px;
  padding: 8px 16px;
  font: inherit;
  font-weight: 650;
  min-height: 40px;
}
.iapa-event-tab.is-on {
  background: var(--iapa-primary);
  color: #fff;
}
.iapa-event-card {
  display: grid;
  gap: 0;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 22px;
  overflow: hidden;
  margin-bottom: 14px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-event-card__media {
  position: relative;
  display: block;
  min-height: 148px;
  background: linear-gradient(160deg, #5b5384 0%, #464177 100%);
}
.iapa-event-card__media img {
  width: 100%;
  height: 148px;
  object-fit: cover;
  display: block;
}
.iapa-event-card__date {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--iapa-primary);
  border-radius: 14px;
  min-width: 52px;
  padding: 8px 6px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(42, 39, 64, 0.16);
}
.iapa-event-card__date b { font-size: 20px; line-height: 1; }
.iapa-event-card__date small { font-size: 10px; letter-spacing: 0.08em; font-weight: 800; }
.iapa-event-card__body { padding: 14px 14px 16px; }
.iapa-event-card__kicker { margin: 0; font-size: 11px; color: var(--iapa-muted); font-weight: 700; }
.iapa-event-card h2 { margin: 4px 0 8px; font-size: 18px; }
.iapa-event-card__venue,
.iapa-event-card__meta,
.iapa-event-card__fee { margin: 0 0 6px; color: var(--iapa-muted); font-size: 13px; }
.iapa-event-card__venue { display: flex; align-items: center; gap: 6px; }
.iapa-event-card__venue .iapa-icon { width: 14px; height: 14px; color: var(--iapa-primary); }
.iapa-event-card__copy { margin: 0 0 8px; font-size: 13px; color: var(--iapa-ink-soft); }
.iapa-event-steps { margin-bottom: 16px; }
.iapa-event-steps__mobile {
  display: block;
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-event-steps__list {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 8px;
}
.iapa-event-steps__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
  font-size: 11px;
  color: var(--iapa-muted);
  text-align: center;
}
.iapa-event-steps__num {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  font-weight: 700;
}
.iapa-event-steps__item.is-current .iapa-event-steps__num,
.iapa-event-steps__item.is-done .iapa-event-steps__num {
  background: var(--iapa-primary);
  color: #fff;
}
.iapa-event-block,
.iapa-event-review,
.iapa-event-person,
.iapa-event-success {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 12px;
}
.iapa-event-block h2,
.iapa-event-review h2,
.iapa-event-success h2 { margin: 0 0 10px; font-size: 16px; }
.iapa-event-detail-line {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.iapa-event-detail-line .iapa-icon { width: 18px; height: 18px; color: var(--iapa-primary); flex: 0 0 auto; }
.iapa-event-desc { color: var(--iapa-ink-soft); font-size: 14px; }
.iapa-event-member__name { font-weight: 800; margin: 0 0 4px; }
.iapa-event-member__id { font-family: inherit; font-weight: 700; color: var(--iapa-primary); }
.iapa-event-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  color: #1f8a4c;
  font-size: 13px;
  font-weight: 700;
}
.iapa-event-verified .iapa-icon { width: 16px; height: 16px; }
.iapa-event-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.iapa-event-choices--food_preference { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iapa-event-choice {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-height: 88px;
  border: 1.5px solid var(--iapa-line);
  border-radius: 16px;
  background: #fff;
  font: inherit;
  padding: 12px 8px;
}
.iapa-event-choice.is-selected {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  box-shadow: 0 0 0 1px var(--iapa-primary);
}
.iapa-event-choice__icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-event-choice.is-selected .iapa-event-choice__icon {
  background: var(--iapa-primary);
  color: #fff;
}
.iapa-event-choice__check {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--iapa-primary);
  color: #fff;
  display: grid;
  place-items: center;
}
.iapa-event-choice__check .iapa-icon { width: 12px; height: 12px; }
.iapa-event-pills { display: flex; gap: 8px; margin-bottom: 10px; }
.iapa-event-pills button {
  flex: 1;
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  font: inherit;
}
.iapa-event-pills button.is-selected {
  background: var(--iapa-primary);
  color: #fff;
  border-color: var(--iapa-primary);
}
.iapa-event-mini { margin: 10px 0 6px; font-size: 12px; font-weight: 650; }
.iapa-event-person__head { display: flex; justify-content: space-between; align-items: center; }
.iapa-event-age {
  display: flex;
  align-items: center;
  gap: 8px;
}
.iapa-event-age input { max-width: 96px; }
.iapa-event-age span { color: var(--iapa-muted); font-size: 13px; }
.iapa-event-icon-btn {
  border: 0;
  background: var(--iapa-red-tint);
  color: var(--iapa-red);
  width: 36px;
  height: 36px;
  border-radius: 10px;
}
.iapa-event-review__head { display: flex; justify-content: space-between; align-items: center; }
.iapa-event-review-person { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.iapa-event-review-person span { color: var(--iapa-muted); font-size: 13px; }
.iapa-event-edit {
  border: 0;
  background: transparent;
  color: var(--iapa-primary);
  font: inherit;
  font-weight: 650;
}
.iapa-event-fees { display: grid; gap: 10px; }
.iapa-event-fees div { display: flex; justify-content: space-between; gap: 12px; }
.iapa-event-fees .is-total {
  border-top: 1px dashed var(--iapa-line);
  padding-top: 10px;
  font-weight: 800;
  font-size: 16px;
}
.iapa-event-pay-status { margin: 12px 0 0; }
.iapa-event-pay h3 { margin: 18px 0 10px; font-size: 15px; }
.iapa-event-pay-method {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid var(--iapa-primary);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--iapa-primary-tint);
  font-weight: 650;
}
.iapa-event-sticky {
  position: sticky;
  bottom: 12px;
  display: flex;
  gap: 8px;
  padding-top: 8px;
}
.iapa-event-sticky .iapa-btn { flex: 1; min-height: 48px; }
.iapa-event-modal {
  position: fixed;
  inset: 0;
  background: rgba(42, 39, 64, 0.45);
  display: grid;
  place-items: center;
  z-index: 80;
  padding: 20px;
}
.iapa-event-modal__card {
  background: #fff;
  border-radius: 22px;
  padding: 24px 20px;
  width: min(100%, 380px);
  text-align: center;
}
.iapa-checkin-modal { text-align: left; }
.iapa-event-modal__card.iapa-checkin-modal { width: min(100%, 440px); }
.iapa-checkin-modal h2 { text-align: center; }
.iapa-checkin-confirms {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 8px;
}
.iapa-checkin-confirm {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e4e0f2;
  border-radius: 14px;
  background: #f7f5fc;
  font-weight: 700;
  cursor: pointer;
}
.iapa-checkin-confirm input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: #4d4496;
  flex-shrink: 0;
}
.iapa-checkin-confirm-msg {
  color: #b42318;
  min-height: 1.2em;
  margin: 0 0 10px;
  font-size: 14px;
}
.iapa-checkin-saved {
  margin: 8px 0 0;
  padding-left: 18px;
}
.iapa-checkin-status { color: var(--iapa-muted); }
.iapa-checkin-name { font-size: 18px; font-weight: 800; margin: 0 0 6px; }
.iapa-checkin-guest { margin: 8px 0; }
.iapa-checkin-guest span { display: block; color: var(--iapa-muted); font-size: 13px; }
.iapa-event-modal__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-event-success { text-align: center; position: relative; overflow: hidden; }
.iapa-event-success__burst {
  position: absolute;
  inset: -20px auto auto 50%;
  width: 180px;
  height: 180px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(70,65,119,0.12) 0 8px, transparent 9px) 0 0 / 28px 28px;
  pointer-events: none;
}
.iapa-event-success__mark {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  margin: 8px auto 14px;
  display: grid;
  place-items: center;
  background: #e8f8ef;
  color: var(--iapa-live);
  position: relative;
  z-index: 1;
}
.iapa-event-success__mark .iapa-icon { width: 32px; height: 32px; }
.iapa-event-success--celebrate { padding: 36px 20px 28px; }
.iapa-event-success--celebrate h2 {
  font-size: 22px;
  letter-spacing: -0.02em;
  color: #166534;
}
.iapa-event-success--celebrate p {
  color: var(--iapa-ink-soft);
  max-width: 28ch;
  margin: 0 auto 22px;
  line-height: 1.5;
}
.iapa-event-success__stage {
  position: relative;
  width: 148px;
  height: 148px;
  margin: 4px auto 18px;
}
.iapa-event-success--celebrate .iapa-event-success__mark {
  width: 88px;
  height: 88px;
  margin: 30px auto 0;
  background: linear-gradient(180deg, #ecfdf3 0%, #dcfce7 100%);
  color: #15803d;
  box-shadow:
    0 0 0 10px rgba(22, 163, 74, 0.10),
    0 0 0 22px rgba(22, 163, 74, 0.05),
    0 12px 28px rgba(21, 128, 61, 0.16);
  animation: iapa-success-pop 0.55s cubic-bezier(0.2, 1.35, 0.32, 1) both;
}
.iapa-event-success--celebrate .iapa-event-success__mark .iapa-icon { width: 40px; height: 40px; }
.iapa-event-success__ribbons {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.iapa-event-success__ribbons span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 28px;
  border-radius: 999px;
  --spin: 0deg;
  opacity: 0;
  animation: iapa-ribbon-burst 1.15s ease-out both;
}
.iapa-event-success__ribbons span:nth-child(1) { --spin: 0deg; background: #22c55e; animation-delay: 0.05s; }
.iapa-event-success__ribbons span:nth-child(2) { --spin: 45deg; background: var(--iapa-primary); width: 8px; height: 22px; animation-delay: 0.08s; }
.iapa-event-success__ribbons span:nth-child(3) { --spin: 90deg; background: #86efac; animation-delay: 0.04s; }
.iapa-event-success__ribbons span:nth-child(4) { --spin: 135deg; background: #c4b5fd; width: 7px; height: 20px; animation-delay: 0.1s; }
.iapa-event-success__ribbons span:nth-child(5) { --spin: 180deg; background: #16a34a; animation-delay: 0.06s; }
.iapa-event-success__ribbons span:nth-child(6) { --spin: 225deg; background: #7c3aed; width: 8px; height: 24px; animation-delay: 0.12s; }
.iapa-event-success__ribbons span:nth-child(7) { --spin: 270deg; background: #bbf7d0; animation-delay: 0.07s; }
.iapa-event-success__ribbons span:nth-child(8) { --spin: 315deg; background: #a78bfa; width: 7px; height: 18px; animation-delay: 0.09s; }
.iapa-event-success__sash {
  position: absolute;
  left: 50%;
  top: 46%;
  width: 168px;
  height: 18px;
  margin-left: -84px;
  background: linear-gradient(90deg, transparent 0%, #16a34a 18%, #22c55e 50%, #16a34a 82%, transparent 100%);
  opacity: 0.88;
  transform: rotate(-18deg);
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(22, 163, 74, 0.18);
  animation: iapa-success-pop 0.7s cubic-bezier(0.2, 1.35, 0.32, 1) 0.12s both;
  pointer-events: none;
}
@keyframes iapa-success-pop {
  0% { transform: scale(0.55); opacity: 0; }
  70% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes iapa-ribbon-burst {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--spin, 0deg)) translateY(0) scale(0.4); }
  35% { opacity: 1; }
  100% { opacity: 0.85; transform: translate(-50%, -50%) rotate(var(--spin, 0deg)) translateY(-58px) scale(1); }
}
.iapa-meeting-kicker { margin: 0 0 8px; }
.iapa-page-head__meta .iapa-admin-pill { vertical-align: middle; }
.iapa-event-success__facts {
  display: grid;
  gap: 8px;
  text-align: left;
  margin: 16px 0 18px;
}
.iapa-event-success__facts div { display: flex; justify-content: space-between; gap: 12px; }
.iapa-event-success__facts span { color: var(--iapa-muted); }
.iapa-event-checkin-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.iapa-event-checkin-tabs button {
  flex: 1;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  font: inherit;
  font-weight: 650;
}
.iapa-event-checkin-tabs button.is-on {
  background: var(--iapa-primary);
  color: #fff;
  border-color: var(--iapa-primary);
}
.iapa-qr-frame {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: #111;
  min-height: 280px;
}
.iapa-qr-frame video {
  width: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
.iapa-qr-frame__overlay {
  position: absolute;
  inset: 18% 16%;
  border: 2px solid rgba(255,255,255,0.9);
  border-radius: 18px;
  box-shadow: 0 0 0 999px rgba(0,0,0,0.28);
}
.iapa-qr-frame__overlay span {
  position: absolute;
  width: 18px;
  height: 18px;
  border: 3px solid #7dffb1;
}
.iapa-qr-frame__overlay span:nth-child(1) { top: -2px; left: -2px; border-right: 0; border-bottom: 0; }
.iapa-qr-frame__overlay span:nth-child(2) { top: -2px; right: -2px; border-left: 0; border-bottom: 0; }
.iapa-qr-frame__overlay span:nth-child(3) { bottom: -2px; left: -2px; border-right: 0; border-top: 0; }
.iapa-qr-frame__overlay span:nth-child(4) { bottom: -2px; right: -2px; border-left: 0; border-top: 0; }
.iapa-qr-frame__hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  margin: 0;
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 650;
}
.iapa-checkin-layout {
  display: grid;
  gap: 16px;
}
.iapa-checkin-live__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.iapa-checkin-live__head h2 { margin: 0; font-size: 16px; }
.iapa-live-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #c62828;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.iapa-live-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #c62828;
}
.iapa-checkin-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.iapa-checkin-stats div {
  background: var(--iapa-primary-tint);
  border-radius: 14px;
  padding: 10px 12px;
}
.iapa-checkin-stats span { display: block; font-size: 11px; color: var(--iapa-muted); }
.iapa-checkin-stats b { font-size: 20px; color: var(--iapa-primary); }
.iapa-admin-event-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.iapa-admin-event-stat {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 12px;
}
.iapa-admin-event-stat span { display: block; font-size: 12px; color: var(--iapa-muted); }
.iapa-admin-event-stat b { font-size: 20px; }
.iapa-admin-participant {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 8px;
  position: relative;
  padding-left: 42px;
}
.iapa-admin-participant .iapa-admin-sno {
  position: absolute;
  left: 12px;
  top: 12px;
  min-width: 1.6rem;
  color: var(--iapa-ink);
}
.iapa-admin-participant.is-checked-in {
  border-color: #86efac;
  background: #f0fdf4;
}
.iapa-admin-participant.is-not-checked-in {
  border-color: var(--iapa-line);
}
.iapa-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 16px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  padding: 12px 14px;
}
.iapa-toggle input { width: 44px; height: 24px; }
.iapa-print__photo-switch { margin: 0 0 14px; }
.iapa-print__photo-switch small { display: block; margin-top: 2px; font-weight: 500; color: var(--iapa-muted, #5c6570); }
.iapa-admin-event-grid {
  display: grid;
  gap: 12px;
}
.iapa-admin-event-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  overflow: hidden;
  padding: 10px;
}
.iapa-admin-event-card__media {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(160deg, #5b5384 0%, #464177 100%);
  min-height: 92px;
}
.iapa-admin-event-card__media img {
  width: 100%;
  height: 92px;
  object-fit: cover;
  display: block;
}
.iapa-admin-event-card__body h2 { margin: 6px 0 4px; font-size: 16px; }
.iapa-admin-event-card__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.iapa-admin-event-card__tags span {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
}
.iapa-admin-event-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.iapa-event-admin-grid {
  display: grid;
  gap: 16px;
}
.iapa-event-admin-col {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 20px;
  padding: 16px;
}
.iapa-event-admin-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 16px;
}
.iapa-admin-participant-cards { display: none; }
.iapa-splash {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  background: #fbfaff;
  transition: opacity 0.32s ease;
}
.iapa-splash.is-done { opacity: 0; pointer-events: none; }
.iapa-splash[hidden] { display: none !important; }
.iapa-splash__inner { text-align: center; }
.iapa-splash__logo,
.iapa-splash .iapa-brand-logo {
  width: 120px;
  height: 120px;
}
.iapa-splash__name {
  margin: 14px 0 18px;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--iapa-primary);
}
.iapa-splash__loader {
  display: inline-block;
  width: 28px;
  height: 28px;
  border: 2px solid var(--iapa-primary-tint);
  border-top-color: var(--iapa-primary);
  border-radius: 999px;
  animation: iapa-splash-spin 0.8s linear infinite;
}
html.iapa-splash-lock { overflow: hidden; }
@keyframes iapa-splash-spin {
  to { transform: rotate(360deg); }
}
@media (min-width: 720px) {
  .iapa-event-steps__mobile { display: none; }
  .iapa-event-steps__list { display: flex; }
  .iapa-admin-event-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-checkin-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-event-admin-grid { grid-template-columns: 1.2fr 0.8fr; }
  .iapa-checkin-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .iapa-admin-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .iapa-admin-event-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .iapa-event-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iapa-admin-table-wrap { display: none; }
  .iapa-admin-participant-cards { display: block; }
}

/* Program Admin — event check-in home */
.iapa-program-home {
  display: grid;
  gap: 28px;
  padding-bottom: 8px;
}
.iapa-program-home > * { min-width: 0; }
.iapa-program-hello p {
  margin: 0 0 6px;
  color: var(--iapa-muted);
  font-size: 16px;
  font-weight: 600;
}
.iapa-program-hello h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -0.05em;
  color: #241f3d;
}
.iapa-program-hello__role {
  display: inline-flex;
  align-items: center;
  margin-top: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e6eaf3;
  color: #5b4b9a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.iapa-program-banner {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 32px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, 0.16), transparent 42%),
    linear-gradient(145deg, #5c4cae 0%, #43398a 58%, #322a68 100%);
  box-shadow: 0 18px 40px rgba(50, 42, 104, 0.18);
  overflow: hidden;
}
.iapa-program-banner__date {
  display: grid;
  justify-items: center;
  min-width: 84px;
  padding: 14px 12px;
  border-radius: 20px;
  background: rgba(255,255,255,0.16);
  backdrop-filter: blur(8px);
}
.iapa-program-banner__date small,
.iapa-program-banner__date span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.iapa-program-banner__date b {
  font-size: 32px;
  line-height: 1;
  margin: 2px 0;
}
.iapa-program-banner__copy { min-width: 0; padding-right: 8px; }
.iapa-program-banner__kicker {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.8;
}
.iapa-program-banner h1,
.iapa-program-banner h2,
.iapa-program-banner h3 {
  color: #fff;
}
.iapa-program-banner h1 {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  color: #fff;
}
.iapa-program-banner p { margin: 0 0 4px; font-size: 13px; opacity: 0.92; }
.iapa-program-banner__venue {
  display: flex;
  align-items: center;
  gap: 6px;
}
.iapa-program-banner__venue .iapa-admin-home__icon {
  width: 22px;
  height: 22px;
  background: rgba(255,255,255,0.16);
  color: #fff;
}
.iapa-program-banner__status {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.iapa-program-banner__status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 4px rgba(74, 222, 128, 0.18);
}
.iapa-program-checkin {
  display: grid;
  gap: 16px;
}
.iapa-program-checkin__scan,
.iapa-program-checkin__id {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 118px;
  padding: 22px 24px;
  border-radius: 24px;
  text-decoration: none;
  border: 1px solid #e6eaf3;
  background: #fff;
  box-shadow: 0 10px 28px rgba(42, 39, 80, 0.05);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.iapa-program-checkin__scan:hover,
.iapa-program-checkin__id:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-body a.iapa-program-checkin__scan,
.iapa-program-checkin__scan {
  background: linear-gradient(135deg, #5a4d9a 0%, #3f3674 100%);
  border-color: transparent;
  color: #fff;
}
.iapa-program-checkin__scan b,
.iapa-program-checkin__scan small,
.iapa-program-checkin__scan span {
  color: #fff;
}
.iapa-program-checkin__scan .iapa-admin-home__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(255,255,255,0.16);
  color: #fff;
}
.iapa-program-checkin__scan .iapa-icon { width: 24px; height: 24px; }
.iapa-program-checkin__scan b,
.iapa-program-checkin__id b {
  display: block;
  font-size: 16px;
  letter-spacing: 0.04em;
}
.iapa-program-checkin__scan small,
.iapa-program-checkin__id small {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 650;
  opacity: 0.86;
}
.iapa-program-checkin__id { color: var(--iapa-ink); }
.iapa-program-checkin__id .iapa-admin-home__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #f1eff8;
}
.iapa-program-checkin__id .iapa-icon { width: 22px; height: 22px; }
.iapa-program-section h2,
.iapa-program-section .iapa-admin-home__title {
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.iapa-program-stats,
.iapa-program-food {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.iapa-program-stat,
.iapa-program-food__card {
  display: grid;
  align-content: space-between;
  gap: 12px;
  min-height: 124px;
  padding: 22px 22px 20px 24px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e6eaf3;
  text-decoration: none;
  color: inherit;
  box-shadow: inset 4px 0 0 #5b4b9a, 0 10px 28px rgba(42, 39, 80, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.iapa-program-stat:hover,
.iapa-program-food__card:hover {
  transform: translateY(-1px);
  box-shadow: inset 4px 0 0 #5b4b9a, 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-program-stat span,
.iapa-program-food__card span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-program-stat b,
.iapa-program-food__card b {
  font-size: 34px;
  letter-spacing: -0.045em;
  color: #241f3d;
  line-height: 1;
}
.iapa-program-panel {
  background: #fff;
  border: 1px solid #e6eaf3;
  border-radius: 28px;
  padding: 24px 24px 8px;
  box-shadow: 0 12px 32px rgba(42, 39, 80, 0.05);
}
.iapa-program-panel .iapa-admin-home__head { margin-bottom: 4px; }
.iapa-program-panel .iapa-admin-home__title { font-size: 20px; font-weight: 700; }
.iapa-program-panel .iapa-admin-home__more { font-size: 13px; }
.iapa-program-panel .iapa-admin-table { background: transparent; }
.iapa-program-panel .iapa-admin-table th { padding-top: 10px; background: transparent; }
.iapa-program-panel .iapa-admin-table tr:last-child td { border-bottom: 0; }
.iapa-program-stat.is-in,
.iapa-program-food__card.is-in,
.iapa-program-food__card.is-veg {
  background: #fff;
  border-color: #e6eaf3;
  box-shadow: inset 4px 0 0 #16a34a, 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-program-stat.is-in:hover,
.iapa-program-food__card.is-in:hover,
.iapa-program-food__card.is-veg:hover {
  box-shadow: inset 4px 0 0 #16a34a, 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-program-stat.is-in b,
.iapa-program-food__card.is-in b,
.iapa-program-food__card.is-veg b { color: #15803d; }
.iapa-program-stat.is-out,
.iapa-program-food__card.is-out {
  background: #fff;
  border-color: #e6eaf3;
  box-shadow: inset 4px 0 0 #ea580c, 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-program-stat.is-out:hover,
.iapa-program-food__card.is-out:hover {
  box-shadow: inset 4px 0 0 #ea580c, 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-program-stat.is-out b,
.iapa-program-food__card.is-out b { color: #c2410c; }
.iapa-program-food__card.is-nonveg {
  background: #fff;
  border-color: #e6eaf3;
  box-shadow: inset 4px 0 0 #dc2626, 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-program-food__card.is-nonveg:hover {
  box-shadow: inset 4px 0 0 #dc2626, 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-program-food__card.is-nonveg b { color: #b42318; }
.iapa-program-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-program-badge.is-in { background: #d8f5e6; color: #15803d; }
.iapa-program-badge.is-out { background: #ffedd5; color: #c2410c; }
.iapa-program-badge.is-veg { background: #d8f5e6; color: #15803d; }
.iapa-program-badge.is-nonveg { background: #fde4e2; color: #b42318; }
.iapa-program-all { margin: 12px 0 0; }
.iapa-program-kind {
  color: var(--iapa-muted);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.iapa-program-guests { margin-top: 4px; font-size: 12px; }
.iapa-program-guests ul { margin: 6px 0 0; padding-left: 16px; }
.iapa-program-filters {
  display: grid;
  gap: 10px;
}
.iapa-program-filter-chips { flex-wrap: wrap; }
.iapa-program-empty__card {
  padding: 36px 32px;
  border-radius: 28px;
  text-align: left;
}
.iapa-program-empty__card h1 {
  margin: 8px 0 10px;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.iapa-program-empty__card .iapa-btn { margin-top: 18px; border-radius: 999px; min-height: 44px; padding: 10px 18px; }
.iapa-admin-home--program { gap: 0; }
@media (min-width: 720px) {
  .iapa-program-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .iapa-program-checkin { grid-template-columns: 1.15fr 0.85fr; }
  .iapa-program-banner h1 { font-size: 30px; }
}
@media (min-width: 900px) {
  .iapa-program-home {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 20px;
  }
  .iapa-program-home > * { grid-column: 1 / -1; }
  .iapa-program-home > [aria-label="Food summary"],
  .iapa-program-home > [aria-label="Check-in status"] { grid-column: auto; }
}
@media (max-width: 719px) {
  .iapa-program-banner {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    padding: 20px;
    gap: 14px 16px;
  }
  .iapa-program-banner__copy { grid-column: 1 / -1; padding-right: 0; }
  .iapa-program-banner__status { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
  .iapa-program-hello h1 { font-size: 30px; }
  .iapa-program-stat,
  .iapa-program-food__card { min-height: 108px; padding: 18px 16px 16px 18px; }
  .iapa-program-stat b,
  .iapa-program-food__card b { font-size: 28px; }
}

/* Admin shell — light canvas and the Program Admin navigation */
.iapa-shell--admin { --iapa-sidebar-w: 272px; }
.iapa-shell--admin .iapa-shell__sidebar {
  background: linear-gradient(180deg, #3a3480 0%, #4d4496 100%);
}
.iapa-shell--admin .iapa-shell__brand { padding: 26px 20px 20px; }
.iapa-shell--admin .iapa-shell__main { background: #f4f6fb; }
.iapa-shell--admin .iapa-admin { max-width: 1180px; gap: 22px; }
.iapa-shell--admin .iapa-shell__content {
  padding: 36px 40px 88px;
}
.iapa-shell--admin .iapa-shell__topbar {
  height: auto;
  min-height: 76px;
  padding: 0 28px;
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid #e6eaf3;
  backdrop-filter: blur(14px);
}
.iapa-shell--admin .iapa-shell__icon-btn {
  background: #f4f6fb;
  border-radius: 14px;
}
.iapa-shell--admin .iapa-shell__profile {
  background: #f4f6fb;
  border-radius: 16px;
  padding: 6px 12px 6px 6px;
}
.iapa-shell--admin .iapa-shell__nav { padding: 18px 14px 22px; }
.iapa-shell--admin .iapa-shell__nav-label {
  margin: 22px 12px 10px;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.5);
}
.iapa-shell--admin .iapa-shell__nav-link {
  min-height: 48px;
  padding: 12px 14px;
  margin-bottom: 6px;
  border-radius: 14px;
  font-size: 14.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
}
.iapa-shell--admin .iapa-shell__nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.iapa-shell--admin .iapa-shell__nav-link--active,
.iapa-shell--admin .iapa-shell__nav-link--active:hover {
  background: #fff;
  color: #2f2a4a;
  box-shadow: 0 10px 24px rgba(20, 16, 40, 0.16);
}
.iapa-shell--admin .iapa-shell__nav-link--active .iapa-icon { color: #5b4b9a; opacity: 1; }
.iapa-shell--admin .iapa-shell__logout {
  min-height: 44px;
  border-radius: 14px;
  border-color: transparent;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.iapa-shell--admin .iapa-page-head { margin-bottom: 4px; align-items: center; flex-wrap: nowrap; }
.iapa-shell--admin .iapa-page-head > div { min-width: 0; }
.iapa-shell--admin .iapa-page-head h1 {
  font-size: 34px;
  letter-spacing: -0.045em;
  color: #241f3d;
}
.iapa-shell--admin .iapa-page-head .iapa-btn {
  border-radius: 999px;
  min-height: 46px;
  padding: 12px 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.iapa-shell--admin .iapa-admin-card,
.iapa-shell--admin .iapa-home-card {
  border-radius: 24px;
  border-color: #e6eaf3;
  box-shadow: 0 12px 32px rgba(42, 39, 80, 0.05);
}
.iapa-shell--admin .iapa-checkin-card,
.iapa-shell--admin .iapa-checkin-live { padding: 24px; }
.iapa-shell--admin .iapa-checkin-layout { gap: 20px; }
.iapa-shell--admin .iapa-event-checkin-tabs { gap: 10px; margin-bottom: 16px; }
.iapa-shell--admin .iapa-event-checkin-tabs button {
  border-radius: 999px;
  min-height: 46px;
}
.iapa-shell--admin .iapa-qr-frame { border-radius: 20px; min-height: 320px; }
.iapa-shell--admin .iapa-program-filters {
  gap: 14px;
  margin: 0;
  padding: 16px;
  background: #fff;
  border: 1px solid #e6eaf3;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-shell--admin .iapa-program-filters input[type="search"] {
  min-height: 48px;
  border-radius: 14px;
  border-color: transparent;
  background: #f4f6fb;
  padding: 12px 16px;
}
.iapa-shell--admin .iapa-program-filter-chips { margin: 0; }
.iapa-shell--admin .iapa-admin-table th,
.iapa-shell--admin .iapa-admin-table td { padding-top: 16px; padding-bottom: 16px; }
@media (max-width: 980px) {
  .iapa-shell--admin .iapa-shell__topbar { min-height: 64px; padding: 0 12px; }
  .iapa-shell--admin .iapa-shell__topbar-brand .iapa-shell__brand-sub {
    white-space: nowrap;
    letter-spacing: 0.08em;
    font-size: 10px;
  }
  .iapa-shell--admin .iapa-shell__content {
    padding: 22px 18px calc(36px + 96px + env(safe-area-inset-bottom, 0px));
  }
  .iapa-shell--admin .iapa-dock {
    left: 12px;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    width: auto;
    background: #fff;
    border: 1px solid #e6eaf3;
    border-radius: 28px;
    padding: 6px;
    box-shadow: 0 14px 36px rgba(42, 39, 80, 0.14);
  }
  .iapa-body .iapa-shell--admin a.iapa-dock__item,
  .iapa-shell--admin .iapa-dock__item {
    border-radius: 18px;
    min-height: 54px;
    color: #5b4b9a;
    font-weight: 700;
  }
  .iapa-body .iapa-shell--admin a.iapa-dock__item.is-active,
  .iapa-shell--admin .iapa-dock__item.is-active,
  .iapa-shell--admin .iapa-dock__item.is-active:hover {
    background: linear-gradient(135deg, #5a4d9a 0%, #3f3674 100%);
    color: #fff;
  }
  .iapa-shell--admin .iapa-dock__item.is-active .iapa-icon { color: #fff; opacity: 1; }
  .iapa-shell--admin .iapa-dock__item.is-active::after { display: none; }
}
@media (max-width: 640px) {
  .iapa-shell--admin .iapa-page-head h1 { font-size: 28px; }
}

/* Every admin home uses the Program Admin canvas, tiles, and spacing. */
.iapa-shell--admin .iapa-admin-home { gap: 28px; }
.iapa-shell--admin .iapa-admin-home__hello {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 2px;
}
.iapa-shell--admin .iapa-admin-home__hello h1 {
  font-size: 36px;
  letter-spacing: -0.045em;
  color: #241f3d;
}
.iapa-shell--admin .iapa-admin-home__title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.iapa-shell--admin .iapa-admin-home__section > .iapa-admin-home__title,
.iapa-shell--admin .iapa-admin-home__head { margin-bottom: 14px; }
.iapa-program-stat .iapa-admin-home__icon,
.iapa-program-food__card .iapa-admin-home__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #f1eff8;
  color: #5b4b9a;
  text-transform: none;
  letter-spacing: 0;
}
.iapa-program-stat .iapa-admin-home__icon .iapa-icon,
.iapa-program-food__card .iapa-admin-home__icon .iapa-icon { width: 22px; height: 22px; }
.iapa-program-stat.is-in .iapa-admin-home__icon,
.iapa-program-stat.is-veg .iapa-admin-home__icon { background: #d8f5e6; color: #15803d; }
.iapa-program-stat.is-out .iapa-admin-home__icon { background: #ffedd5; color: #c2410c; }
.iapa-program-stat.is-nonveg {
  box-shadow: inset 4px 0 0 #dc2626, 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-program-stat.is-nonveg:hover {
  box-shadow: inset 4px 0 0 #dc2626, 0 16px 36px rgba(42, 39, 80, 0.08);
}
.iapa-program-stat.is-nonveg b { color: #b42318; }
.iapa-program-stat.is-nonveg .iapa-admin-home__icon { background: #fde4e2; color: #b42318; }
.iapa-program-stat small {
  font-size: 13px;
  font-weight: 700;
  color: var(--iapa-muted);
}
.iapa-program-stats--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iapa-admin-event-switch { padding: 18px 20px; }
.iapa-admin-event-switch .iapa-event-home__head { margin: 0; align-items: end; }
.iapa-admin-event-switch .iapa-event-home__progress { margin-top: 14px; }
.iapa-shell--admin .iapa-admin-home__types { gap: 16px; }
.iapa-shell--admin .iapa-admin-home__type {
  min-height: 124px;
  padding: 22px;
  border-radius: 24px;
  border-color: #e6eaf3;
  background: #fff;
  box-shadow: inset 4px 0 0 #5b4b9a, 0 10px 28px rgba(42, 39, 80, 0.04);
}
.iapa-shell--admin .iapa-admin-home__type .iapa-admin-home__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
}
.iapa-shell--admin .iapa-admin-home__type-copy strong {
  font-size: 32px;
  letter-spacing: -0.04em;
  color: #241f3d;
}
@media (min-width: 720px) {
  .iapa-program-stats.iapa-program-stats--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iapa-shell--admin .iapa-admin-home__types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .iapa-shell--admin .iapa-admin-home__hello h1 { font-size: 30px; }
}

/* ==========================================================================
   Compact connection status (offline / slow). Not a full-screen page.
   ========================================================================== */

.iapa-connection {
  position: fixed;
  top: calc(10px + env(safe-area-inset-top, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 55;
  width: min(420px, calc(100vw - 24px));
  pointer-events: none;
}
.iapa-connection[hidden] { display: none !important; }
.iapa-connection__bar {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 8px 8px 12px;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(42, 39, 64, 0.14);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.iapa-connection[data-status="offline"] .iapa-connection__bar {
  background: #fdecee;
  color: #b42318;
  border: 1px solid #f3c4c8;
}
.iapa-connection[data-status="slow"] .iapa-connection__bar {
  background: #fff4e5;
  color: #9a6700;
  border: 1px solid #f6d7a8;
}
.iapa-connection__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.iapa-connection__svg { width: 20px; height: 20px; display: none; }
.iapa-connection[data-status="offline"] .iapa-connection__svg--offline,
.iapa-connection[data-status="slow"] .iapa-connection__svg--slow { display: block; }
.iapa-connection__text {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.iapa-connection__close {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: inherit;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  cursor: pointer;
}
.iapa-connection__close:hover { opacity: 1; background: rgba(0, 0, 0, 0.06); }
.iapa-connection__close .iapa-icon { width: 16px; height: 16px; }
@media (max-width: 420px) {
  .iapa-connection { width: calc(100vw - 16px); }
  .iapa-connection__bar { font-size: 13px; min-height: 38px; padding: 7px 6px 7px 10px; }
}

/* ==========================================================================
   Certificates — member + admin + template editor
   ========================================================================== */
.iapa-certs-page { display: grid; gap: 14px; padding-bottom: 12px; }
.iapa-certs-achievements {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 8px 12px; border-radius: 999px;
  border: 1px solid var(--iapa-line); background: #fff;
  color: var(--iapa-primary); font-weight: 700; font-size: 13px;
  box-shadow: var(--iapa-shadow-sm); white-space: nowrap;
}
.iapa-certs-achievements .iapa-icon { width: 14px; height: 14px; }
.iapa-certs-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 16px; border-radius: 16px;
  background: linear-gradient(135deg, #f4f1fb, #fff);
  border: 1px solid var(--iapa-line);
}
.iapa-certs-banner__copy { display: flex; gap: 12px; align-items: flex-start; }
.iapa-certs-banner__icon,
.iapa-certs-section__icon,
.iapa-certs-help__icon {
  width: 36px; height: 36px; border-radius: 12px; flex: 0 0 auto;
  display: grid; place-items: center;
  background: var(--iapa-primary-tint); color: var(--iapa-primary);
}
.iapa-certs-banner__icon .iapa-icon,
.iapa-certs-section__icon .iapa-icon,
.iapa-certs-help__icon .iapa-icon { width: 18px; height: 18px; }
.iapa-certs-banner__copy p,
.iapa-certs-section__head p { color: var(--iapa-muted); font-size: 13px; }
.iapa-certs-banner__tag {
  font-family: var(--iapa-serif); color: var(--iapa-primary);
  font-style: italic; font-size: 13px; text-align: right; max-width: 10rem;
}
.iapa-certs-section,
.iapa-certs-help {
  background: #fff; border: 1px solid var(--iapa-line); border-radius: 18px;
  padding: 16px; box-shadow: var(--iapa-shadow-sm);
}
.iapa-certs-section__head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.iapa-certs-section__head h2 { font-size: 16px; }
.iapa-certs-empty {
  display: grid; justify-items: center; text-align: center; gap: 6px;
  padding: 22px 12px; color: var(--iapa-muted);
}
.iapa-certs-empty .iapa-icon {
  width: 36px; height: 36px; color: var(--iapa-muted-soft); margin-bottom: 4px;
}
.iapa-certs-empty b { color: var(--iapa-ink); font-size: 14px; }
.iapa-certs-empty p { font-size: 13px; max-width: 28rem; }
.iapa-certs-empty--wide { padding: 36px 16px; }
.iapa-certs-issue {
  display: grid; gap: 12px; padding: 12px;
  border: 1px solid var(--iapa-line); border-radius: 14px; background: #fbfafd;
}
.iapa-certs-issue--row {
  grid-template-columns: 72px minmax(0, 1fr); align-items: center;
}
.iapa-certs-issue__thumb {
  border: 0; padding: 0; background: #fff; border-radius: 10px; overflow: hidden;
  width: 92px; aspect-ratio: 1.414 / 1; box-shadow: var(--iapa-shadow-sm);
}
.iapa-certs-issue__thumb img,
.iapa-certs-preview__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.iapa-certs-issue__body { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.iapa-certs-issue__body p { color: var(--iapa-muted); font-size: 12.5px; }
.iapa-certs-status {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: #1a7f4c;
  background: #eaf8f0; border-radius: 999px; padding: 4px 10px;
}
.iapa-certs-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.iapa-certs-status.is-off { color: var(--iapa-muted); background: var(--iapa-primary-tint); }
.iapa-certs-issue__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.iapa-certs-help {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px; align-items: center;
}
.iapa-certs-help p { color: var(--iapa-muted); font-size: 13px; }
.iapa-certs-tabs {
  display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 16px;
}
.iapa-certs-tab {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  border: 1px solid var(--iapa-line); background: #fff; color: var(--iapa-muted);
  border-radius: 12px; padding: 10px 14px; font-weight: 700; font-size: 13px;
}
.iapa-certs-tab .iapa-icon { width: 16px; height: 16px; }
.iapa-certs-tab.is-on {
  background: var(--iapa-primary-tint); color: var(--iapa-primary);
  border-color: transparent;
}
.iapa-certs-generate { display: grid; gap: 14px; margin-bottom: 14px; }
.iapa-certs-generate__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.iapa-certs-search { position: relative; }
.iapa-certs-search > .iapa-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; color: var(--iapa-muted-soft); pointer-events: none;
}
.iapa-certs-search #js-cert-member-q {
  width: 100%; padding: 11px 12px 11px 36px;
  border: 1px solid var(--iapa-line); border-radius: 10px; font: inherit;
  background: #fff;
}
.iapa-certs-search__results {
  position: absolute; z-index: 8; left: 0; right: 0; top: calc(100% + 4px);
  background: #fff; border: 1px solid var(--iapa-line); border-radius: 12px;
  box-shadow: var(--iapa-shadow); max-height: 240px; overflow: auto; padding: 6px;
}
.iapa-certs-search__item {
  display: grid; width: 100%; text-align: left; border: 0; background: transparent;
  padding: 8px 10px; border-radius: 8px; gap: 2px;
}
.iapa-certs-search__item:hover { background: var(--iapa-primary-tint); }
.iapa-certs-search__item small { color: var(--iapa-muted); }
.iapa-certs-preview__empty {
  display: grid; justify-items: center; text-align: center; gap: 8px;
  min-height: 220px; place-content: center;
  border: 1px dashed var(--iapa-line-strong); border-radius: 16px;
  background: #faf9fc; color: var(--iapa-muted); padding: 24px 16px;
}
.iapa-certs-preview__empty .iapa-icon { width: 42px; height: 42px; color: var(--iapa-muted-soft); }
.iapa-certs-preview__live { display: grid; gap: 10px; }
.iapa-certs-preview__thumb {
  display: block; width: 100%; border: 1px solid var(--iapa-line);
  border-radius: 12px; background: #fff; overflow: hidden; min-height: 180px;
}
.iapa-certs-preview__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.iapa-certs-note {
  margin-top: 14px; padding: 12px 14px; border-radius: 12px;
  background: var(--iapa-primary-tint); color: var(--iapa-ink-soft); font-size: 13px;
}
.iapa-certs-note ul { padding-left: 16px; list-style: disc; margin-top: 6px; }
.iapa-certs-recent__head,
.iapa-certs-templates__head {
  display: flex; justify-content: space-between; gap: 12px; align-items: flex-start;
  margin-bottom: 14px; flex-wrap: wrap;
}
.iapa-certs-recent__head p,
.iapa-certs-templates__head p { color: var(--iapa-muted); font-size: 13px; }
.iapa-certs-table-wrap { display: none; overflow-x: auto; }
.iapa-certs-mobile-list { display: grid; gap: 10px; }
.iapa-certs-mobile-card {
  display: grid; gap: 8px; padding: 12px; border: 1px solid var(--iapa-line);
  border-radius: 14px; background: #fff;
}
.iapa-certs-mobile-card small { color: var(--iapa-muted); }
.iapa-certs-pill {
  display: inline-flex; align-items: center; border-radius: 999px;
  padding: 3px 8px; font-size: 11px; font-weight: 700;
}
.iapa-certs-pill.is-member { background: #ece9f8; color: var(--iapa-primary); }
.iapa-certs-pill.is-course { background: #e8f3fb; color: #1d4e89; }
.iapa-certs-pill.is-part { background: #eaf8f0; color: #1a7f4c; }
.iapa-certs-row-actions { display: flex; gap: 6px; align-items: center; }
.iapa-certs-more { position: relative; }
.iapa-certs-more summary {
  list-style: none; cursor: pointer; width: 32px; height: 32px;
  display: grid; place-items: center; border-radius: 8px;
}
.iapa-certs-more summary::-webkit-details-marker { display: none; }
.iapa-certs-more div {
  position: absolute; right: 0; top: 34px; z-index: 6;
  background: #fff; border: 1px solid var(--iapa-line); border-radius: 10px;
  box-shadow: var(--iapa-shadow); min-width: 120px; padding: 6px;
  display: grid;
}
.iapa-certs-more a,
.iapa-certs-more button {
  border: 0; background: transparent; text-align: left; padding: 8px 10px;
  font: inherit; font-weight: 600;
}
.iapa-certs-template-grid { display: grid; gap: 12px; }
.iapa-certs-tpl-card {
  display: grid; gap: 12px; background: #fff; border: 1px solid var(--iapa-line);
  border-radius: 16px; overflow: hidden; box-shadow: var(--iapa-shadow-sm);
}
.iapa-certs-tpl-card__preview {
  background: var(--iapa-primary-tint); min-height: 120px;
  display: grid; place-items: center;
}
.iapa-certs-tpl-card__preview img {
  width: 100%; height: 140px; object-fit: contain; background: #fff;
}
.iapa-certs-tpl-card__body { padding: 0 14px 14px; display: grid; gap: 6px; }
.iapa-certs-tpl-card__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.iapa-field-error { color: var(--iapa-red); font-size: 13px; font-weight: 600; }
.iapa-cert-viewer {
  position: fixed; inset: 0; z-index: 90; display: flex;
  align-items: center; justify-content: center; padding: 16px;
}
.iapa-cert-viewer[hidden] { display: none !important; }
.iapa-cert-viewer__backdrop {
  position: absolute; inset: 0; border: 0; background: rgba(20, 10, 36, 0.55);
}
.iapa-cert-viewer__card {
  position: relative; z-index: 1; width: min(72rem, 100%);
  max-height: 92vh; overflow: auto; background: #fff; border-radius: 16px;
  display: grid; grid-template-rows: auto minmax(0, 1fr);
}
.iapa-cert-viewer__bar {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 12px 14px; border-bottom: 1px solid var(--iapa-line);
}
.iapa-cert-viewer__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.iapa-cert-viewer__body { padding: 12px; overflow: auto; }
.iapa-cert-viewer__body img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.iapa-cert-editor__steps {
  display: flex; gap: 8px; overflow-x: auto; margin-bottom: 16px;
}
.iapa-cert-editor__steps li {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  color: var(--iapa-muted); font-weight: 700; font-size: 13px; cursor: pointer;
}
.iapa-cert-editor__steps span {
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: #eceaf3; color: var(--iapa-muted);
}
.iapa-cert-editor__steps li.is-on { color: var(--iapa-primary); }
.iapa-cert-editor__steps li.is-on span,
.iapa-cert-editor__steps li.is-done span {
  background: var(--iapa-primary); color: #fff;
}
.iapa-cert-editor__workspace { display: grid; gap: 12px; margin-bottom: 12px; }
.iapa-cert-palette__item {
  display: grid; width: 100%; text-align: left; gap: 2px;
  border: 1px solid var(--iapa-line); background: #fbfafd; border-radius: 12px;
  padding: 10px 12px; margin-bottom: 8px;
}
.iapa-cert-palette__item small { color: var(--iapa-muted); }
.iapa-cert-palette__item.is-used { opacity: 0.45; }
.iapa-cert-editor__canvas-bar {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;
}
.iapa-cert-editor__stage {
  overflow: auto; max-height: min(72vh, 720px);
  background: #eef0f5; border-radius: 12px; padding: 12px;
}
.iapa-cert-canvas {
  position: relative; width: 100%; max-width: 920px; margin: 0 auto;
  background: #fff center / contain no-repeat; aspect-ratio: 1600 / 1132;
  box-shadow: var(--iapa-shadow);
}
.iapa-cert-canvas__empty {
  position: absolute; inset: 0; display: grid; place-items: center;
  color: var(--iapa-muted); padding: 24px; text-align: center;
}
.iapa-cert-canvas__empty[hidden] { display: none !important; }
.iapa-cert-field {
  position: absolute; border: 1px dashed rgba(70, 65, 119, 0.45);
  background: rgba(255, 255, 255, 0.35); overflow: hidden;
  display: grid; place-items: center; cursor: grab; padding: 2px 6px;
  line-height: 1.1; user-select: none;
}
.iapa-cert-field.is-on {
  border-color: var(--iapa-primary); background: rgba(241, 239, 248, 0.7);
}
.iapa-cert-editor__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.iapa-cert-align { display: flex; gap: 6px; }
.iapa-cert-align button {
  width: 36px; height: 32px; border-radius: 8px; border: 1px solid var(--iapa-line);
  background: #fff; font-weight: 700;
}
.iapa-cert-align button.is-on { background: var(--iapa-primary); color: #fff; border-color: transparent; }
.iapa-cert-switch { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.iapa-cert-upload { display: block; cursor: pointer; }
.iapa-cert-upload input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.iapa-cert-upload__box {
  display: grid; justify-items: center; gap: 6px; text-align: center;
  padding: 28px 16px; border: 1px dashed var(--iapa-line-strong); border-radius: 16px;
  background: #faf9fc;
}
.iapa-cert-upload__preview { margin-top: 12px; }
.iapa-cert-upload__preview img { max-width: 100%; height: auto; border-radius: 12px; display: block; }
.iapa-cert-editor__details { display: grid; gap: 12px; margin-top: 12px; }
.iapa-cert-editor__details--step { margin-top: 16px; }
.iapa-cert-editor__props-head {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  margin-bottom: 10px;
}
@media (min-width: 900px) {
  .iapa-certs-generate { grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr); align-items: start; }
  .iapa-certs-table-wrap { display: block; }
  .iapa-certs-mobile-list { display: none; }
  .iapa-certs-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iapa-cert-editor__details { grid-template-columns: 1.2fr 1fr auto auto; align-items: end; }
}
@media (min-width: 1180px) {
  .iapa-cert-editor__workspace { grid-template-columns: 240px minmax(0, 1fr) 260px; align-items: start; }
  .iapa-certs-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .iapa-certs-banner { flex-direction: column; align-items: flex-start; }
  .iapa-certs-banner__tag { text-align: left; max-width: none; }
  .iapa-certs-help { grid-template-columns: auto minmax(0, 1fr); }
  .iapa-certs-help .iapa-btn { grid-column: 1 / -1; }
  .iapa-certs-issue--row { grid-template-columns: 1fr; }
  .iapa-cert-viewer__bar { flex-direction: column; align-items: stretch; }
  .iapa-cert-editor__grid { grid-template-columns: 1fr; }
}

/* IAPA Office */
.iapa-office-crumb {
  font-size: 12px;
  color: var(--iapa-muted);
  margin: 0 0 6px;
}
.iapa-office-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.iapa-office-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  position: relative;
  padding: 22px 18px 20px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  box-shadow: 0 8px 24px rgba(70, 65, 119, 0.06);
  color: inherit;
  text-decoration: none;
}
.iapa-office-card:hover { border-color: var(--iapa-primary); }
.iapa-office-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-office-card__icon .iapa-icon { width: 26px; height: 26px; }
.iapa-office-card--list { background: #f4f1fb; }
.iapa-office-card--form { background: #eef3fb; }
.iapa-office-card--id { background: #eef7f1; }
.iapa-office-card--form .iapa-office-card__icon { background: #d9e4f6; color: #314e86; }
.iapa-office-card--id .iapa-office-card__icon { background: #d5eadb; color: #2f6b3a; }
.iapa-office-card h2 { margin: 0; font-size: 18px; font-weight: 700; }
.iapa-office-card p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--iapa-muted); }
.iapa-office-card__go {
  margin-top: auto;
  align-self: flex-end;
  color: var(--iapa-primary);
  font-size: 18px;
  line-height: 1;
}
.iapa-office-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.iapa-office-toolbar input,
.iapa-office-toolbar select { min-width: 0; flex: 1 1 160px; max-width: 100%; }
.iapa-office-toolbar input[type="search"] { flex: 1 1 210px; min-width: 180px; }
.iapa-office-toolbar__btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.iapa-office-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; align-items: center; max-width: 100%; }
.iapa-office-actions .iapa-btn { flex: 0 1 auto; }
.iapa-office-actions[hidden] { display: none !important; }
.iapa-office-count { margin-left: auto; font-size: 13px; color: var(--iapa-muted); font-weight: 600; }
.iapa-office-table-wrap { display: none; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.iapa-office-table { min-width: 640px; }
.iapa-office-table td { word-break: break-word; }
.iapa-office-card-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 12px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  padding: 12px;
  min-width: 0;
}
.iapa-office-card-row b { display: block; font-size: 14px; word-break: break-word; }
.iapa-office-card-row small { display: block; color: var(--iapa-muted); font-size: 12px; word-break: break-word; }
.iapa-office-card-row__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.iapa-office-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.iapa-office-who img,
.iapa-office-avatar {
  width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  background: var(--iapa-primary-tint);
}
.iapa-office-avatar {
  display: grid; place-items: center; font-size: 11px; font-weight: 700;
  color: var(--iapa-primary-dark);
}
.iapa-admin-pill.is-user { background: #ede9fe; color: #5b21b6; }
.iapa-admin-pill.is-generated { background: #dcfce7; color: #166534; }
.iapa-admin-pill.is-not-generated { background: #ffedd5; color: #9a3412; }
@media (min-width: 900px) {
  .iapa-office-card-row { display: none; }
  .iapa-office-table-wrap { display: block; }
}
@media (max-width: 800px) {
  .iapa-office-cards { grid-template-columns: 1fr; }
  .iapa-office-count { margin-left: 0; width: 100%; }
}
@media print {
  .iapa-shell__sidebar,
  .iapa-shell__topbar,
  .iapa-dock,
  .iapa-office-toolbar,
  .iapa-office-actions { display: none !important; }
  .iapa-office-card-row { display: none !important; }
  .iapa-office-table-wrap { display: block !important; overflow: visible; }
  .iapa-office-table { min-width: 0; width: 100%; }
}



.iapa-app-detail .iapa-doc-list {
  display: grid;
  gap: 8px;
}
.iapa-app-detail .iapa-doc-list__previous {
  margin: 12px 0 8px;
}
.iapa-app-detail .iapa-doc-line {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  text-align: left;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  color: var(--iapa-ink);
  font: inherit;
  font-size: 13.5px;
  font-weight: 650;
  box-shadow: none;
}
.iapa-app-detail button.iapa-doc-line {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.iapa-app-detail button.iapa-doc-line:hover {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
}
.iapa-app-detail .iapa-doc-line__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex: none;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary);
}
.iapa-app-detail .iapa-doc-line__icon .iapa-icon { width: 16px; height: 16px; }
.iapa-app-detail .iapa-doc-line__title {
  min-width: 0;
  overflow-wrap: anywhere;
}
.iapa-session-admin {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.iapa-session-admin__item {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
}
.iapa-session-admin__device,
.iapa-session-admin__times {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-session-admin__device b,
.iapa-session-admin__times .js-session-status {
  color: var(--iapa-ink);
  font-size: 13px;
}
.iapa-correction-callout p { white-space: pre-wrap; }
.iapa-correction-callout .iapa-btn { margin-top: 8px; }
#js-mem-status-reason-text { white-space: pre-wrap; }
.iapa-admin-history p { white-space: pre-wrap; }
@media (max-width: 640px) {
  .iapa-app-detail .iapa-app-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
  }
  .iapa-app-detail .iapa-app-facts dt { font-size: 10.5px; }
  .iapa-app-detail .iapa-app-facts dd { font-size: 12.5px; }
}
@media (max-width: 340px) {
  .iapa-app-detail .iapa-app-facts,
  .iapa-app-detail .iapa-app-paygrid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.iapa-admin-row--contact {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
  padding: 12px;
}
.iapa-admin-row--contact .iapa-admin-row__main {
  display: grid;
  grid-template-columns: 1.6rem 44px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.iapa-body .iapa-admin-row--contact .iapa-admin-row__main,
.iapa-body .iapa-admin-row--contact .iapa-admin-row__main:hover {
  color: inherit;
  text-decoration: none;
}
.iapa-admin-row--contact .iapa-admin-avatar {
  width: 44px;
  height: 44px;
}
.iapa-admin-row--contact .iapa-admin-row__copy b {
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.iapa-admin-row--contact .iapa-admin-row__copy small {
  margin-top: 1px;
  line-height: 1.35;
}
.iapa-admin-row--contact .iapa-admin-row__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin-top: 2px;
}
.iapa-admin-row--contact .iapa-admin-row__meta span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
}
.iapa-admin-row--contact .iapa-admin-row__meta .iapa-icon {
  width: 12px;
  height: 12px;
  color: var(--iapa-primary);
  flex: none;
}
.iapa-admin-row--contact .iapa-admin-row__dot {
  color: var(--iapa-muted-soft, var(--iapa-muted));
}
.iapa-admin-row--contact .iapa-admin-status {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  text-align: left;
}
.iapa-wait-line {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--iapa-muted);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.iapa-wait-line .iapa-icon { width: 12px; height: 12px; }
.iapa-admin-row--contact .iapa-wait {
  max-width: none;
  font-weight: 650;
  font-size: 12px;
}
.iapa-scope { position: relative; }
.iapa-scope__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--iapa-line);
  border-radius: 999px;
  background: #fff;
  color: var(--iapa-primary-dark);
  font-size: 12.5px;
  font-weight: 750;
  box-shadow: var(--iapa-shadow-sm);
}
button.iapa-scope__pill { cursor: pointer; }
.iapa-scope__pill .iapa-icon { width: 14px; height: 14px; color: var(--iapa-primary); }
.iapa-scope__wrap { position: relative; }
.iapa-scope__menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 8;
  min-width: 196px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  box-shadow: var(--iapa-shadow-sm), 0 10px 24px rgba(76, 29, 149, 0.08);
}
.iapa-scope__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--iapa-ink);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}
.iapa-scope__item.is-on,
.iapa-scope__item:hover { background: var(--iapa-primary-tint); color: var(--iapa-primary-dark); }
.iapa-scope__item .iapa-icon { width: 14px; height: 14px; }
.iapa-app-paydue {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--iapa-primary-tint);
}
.iapa-app-paydue span {
  font-size: 12px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-app-paydue b {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--iapa-primary-dark);
}
.iapa-session-admin__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.iapa-session-admin__head .iapa-session-admin__count { margin: 0; }
.iapa-admin .iapa-page-head { align-items: center; margin-bottom: 14px; }
.iapa-app-detail > h1 {
  margin: 2px 0 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.iapa-row-menu {
  position: relative;
  flex: none;
}
.iapa-row-menu.is-open { z-index: 6; }
.iapa-row-menu__btn {
  width: 32px;
  height: 32px;
  margin: -4px -4px 0 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--iapa-muted);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.iapa-row-menu__btn:hover,
.iapa-row-menu.is-open .iapa-row-menu__btn {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-row-menu__btn .iapa-icon { width: 18px; height: 18px; transform: rotate(90deg); }
.iapa-row-menu__pop {
  position: absolute;
  top: 34px;
  right: 0;
  z-index: 7;
  min-width: 156px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  box-shadow: var(--iapa-shadow-sm), 0 8px 24px rgba(76, 29, 149, 0.08);
}
.iapa-row-menu__item,
.iapa-row-menu__empty {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--iapa-ink);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
.iapa-body .iapa-row-menu__item { color: var(--iapa-ink); text-decoration: none; }
.iapa-row-menu__item:hover { background: var(--iapa-primary-tint); }
.iapa-row-menu__item .iapa-icon { width: 16px; height: 16px; color: var(--iapa-primary); }
.iapa-row-menu__item--wa .iapa-icon { color: #059669; }
.iapa-row-menu__empty {
  color: var(--iapa-muted);
  font-weight: 600;
}
.iapa-pay-pending {
  display: inline-flex;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff;
  color: var(--iapa-primary-dark);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.iapa-session-admin__count {
  margin: 0 0 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--iapa-primary-dark);
}
@media (min-width: 720px) {
  .iapa-session-admin__item {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
    align-items: center;
  }
}


.iapa-contact-edit {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}
.iapa-contact-edit label {
  display: grid;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
}
.iapa-contact-edit input {
  width: 100%;
  min-width: 0;
  font-weight: 500;
}
.iapa-signature-card {
  margin: 12px 0;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
}
.iapa-signature-card h2 {
  margin: 0 0 10px;
  font-size: 16px;
}
.iapa-signature-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  max-width: 100%;
  height: 88px;
  padding: 8px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
  cursor: zoom-in;
}
.iapa-signature-preview img,
.iapa-upload-preview--signature .iapa-upload-preview__img {
  width: 220px;
  max-width: 100%;
  height: 72px;
  object-fit: contain;
  object-position: left center;
  background: #fff;
}
.iapa-idmanage__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 14px;
}
.iapa-idmanage__filters label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  min-width: 0;
  flex: 1 1 180px;
}
.iapa-idmanage__filters select,
.iapa-idmanage__filters input {
  width: 100%;
  min-width: 0;
  font-weight: 500;
}
.iapa-idmanage__cards { display: grid; gap: 10px; }
.iapa-complete-note { margin-top: 14px; }
.iapa-complete-note h2 { margin: 0 0 6px; font-size: 18px; }
.iapa-complete__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.iapa-complete__known { margin: 0; font-weight: 600; }

.iapa-notify-sentto { margin: 4px 0 0; font-size: 13px; }
.iapa-notify-recipients { margin-top: 6px; }
.iapa-notify-recipients ul { margin: 6px 0 0; padding-left: 18px; }
.iapa-notify-recipients li { margin: 2px 0; }
.iapa-settings-advanced { margin-top: 8px; }

.iapa-signature-pad {
  margin-top: 12px;
}
.iapa-signature-pad canvas {
  display: block;
  width: 100%;
  height: 160px;
  touch-action: none;
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  cursor: crosshair;
}
.iapa-signature-pad .iapa-btn {
  margin-top: 8px;
}
.iapa-home-actions {
  display: grid;
  gap: 10px;
  margin: 8px 0 18px;
}
.iapa-home-actions__head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.iapa-home-actions h2 {
  margin: 0;
  font-size: 1.05rem;
}
.iapa-home-actions__count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-grid;
  place-items: center;
}
.iapa-home-action {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
}
.iapa-home-action--card { background: #fde8ea; }
.iapa-home-action--sign { background: #f8efd4; }
.iapa-home-action--event { background: #efeaff; margin-top: 10px; }
.iapa-home-action__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff;
}
.iapa-home-action--card .iapa-home-action__icon { color: #e11d48; }
.iapa-home-action--sign .iapa-home-action__icon { color: #a16207; }
.iapa-home-action--event .iapa-home-action__icon { color: #5b4ce0; }
.iapa-home-action__icon .iapa-icon { width: 20px; height: 20px; }
.iapa-home-action__copy { display: grid; gap: 2px; min-width: 0; }
.iapa-home-action strong { font-size: 15px; }
.iapa-home-action__copy span {
  color: var(--iapa-muted, #5c5878);
  font-size: 13px;
  line-height: 1.35;
}
.iapa-home-action__go { width: 18px; height: 18px; color: #8b8798; }


.iapa-declaration-date {
  margin: 0;
  font-weight: 700;
}
.iapa-app-detail .iapa-doc-line:has(.iapa-doc-line__preview) {
  flex-wrap: wrap;
  align-items: flex-start;
}
.iapa-app-detail .iapa-doc-line__preview {
  flex: 1 0 100%;
  width: 100%;
  height: 120px;
  object-fit: contain;
  object-position: left center;
  background: #f7f6fb;
  border-radius: 10px;
}
.iapa-remarks {
  display: grid;
  gap: 8px;
}
.iapa-remarks select,
.iapa-remarks textarea {
  width: 100%;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
  color: inherit;
  font: inherit;
  padding: 12px;
}
.iapa-remarks textarea { min-height: 160px; resize: vertical; }
.iapa-remarks select { min-height: 48px; }
.iapa-member-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 16px 8px 8px;
}
.iapa-member-pager__pages { display: flex; flex-wrap: wrap; gap: 6px; }
.iapa-member-pager button {
  min-width: 40px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.iapa-member-pager button.is-current {
  background: var(--iapa-primary);
  border-color: var(--iapa-primary);
  color: #fff;
}
.iapa-member-pager button:disabled { opacity: 0.4; cursor: not-allowed; }
.iapa-idconfirm {
  display: grid;
  gap: 12px;
  background: #eef8f1;
  border: 1px solid #b7e4c7;
  border-radius: 16px;
  padding: 16px;
}
.iapa-idconfirm__status { display: flex; gap: 12px; align-items: flex-start; }
.iapa-idconfirm__check {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #1b7a45;
  color: #fff;
  flex: none;
}
.iapa-idconfirm h2 { margin: 0; color: #146c3a; font-size: 1.05rem; }
.iapa-idconfirm p { margin: 0; }
.iapa-idconfirm__row {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #245c3a;
}
.iapa-idconfirm__row .iapa-icon { width: 18px; height: 18px; flex: none; }
.iapa-idpage__full { width: 100%; justify-content: center; min-height: 48px; }

.iapa-idpage.is-fullsize .iapa-idpage__full {
  position: fixed;
  z-index: 41;
  left: 16px;
  right: 16px;
  bottom: 16px;
  width: auto;
}
.iapa-idpage.is-fullsize .iapa-idpage__stage {

  position: fixed;
  inset: 12px;
  z-index: 40;
  overflow: auto;
  display: grid;
  place-items: center;
  background: #fff;
}
.iapa-update-pending {
  display: grid;
  gap: 12px;
  background: #fff8ef;
  border: 1px solid #f3d7b0;
  border-radius: 18px;
  padding: 18px 16px;
}
.iapa-update-pending__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f6e3c4;
  color: #c47b12;
}
.iapa-update-pending__icon .iapa-icon { width: 28px; height: 28px; }
.iapa-update-pending h2 { margin: 0; text-align: center; }
.iapa-update-pending > p { margin: 0; text-align: center; color: var(--iapa-muted, #5c5878); }
.iapa-update-steps {
  list-style: none;
  margin: 0;
  padding: 8px 4px;
  display: grid;
  gap: 14px;
  background: #fff;
  border-radius: 16px;
}
.iapa-update-steps li { display: grid; gap: 2px; padding-left: 28px; position: relative; }
.iapa-update-steps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #e7e4ef;
}
.iapa-update-steps li.is-done::before { background: #5b4d9a; }
.iapa-update-steps li.is-current::before { background: #e07a12; }
.iapa-update-steps b { font-size: 14px; }
.iapa-update-steps li.is-current b { color: #c45d00; }
.iapa-update-steps span { color: var(--iapa-muted, #5c5878); font-size: 13px; }
.iapa-update-pending__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.iapa-update-pending__toggle span { flex: 1; text-align: left; }
.iapa-update-pending__changes { margin: 0; padding-left: 18px; }
.iapa-update-pending__note {
  margin: 0;
  padding: 12px;
  border-radius: 14px;
  background: #eef3ff;
  color: #334155;
  text-align: left;
}
.iapa-verify { max-width: 28rem; margin: 16px auto 28px; padding: 12px; }
.iapa-verify__card {
  background: #fff;
  border-radius: 24px;
  padding: 18px 16px 16px;
  box-shadow: 0 12px 28px rgba(42, 39, 64, 0.12);
}
.iapa-verify__brand,
.iapa-verify__person,
.iapa-verify__banner,
.iapa-verify__ok,
.iapa-verify__foot {
  display: flex;
  align-items: center;
  gap: 12px;
}
.iapa-verify__brand { justify-content: center; text-align: left; margin-bottom: 14px; }
.iapa-verify__brand strong,
.iapa-verify__brand span { display: block; }
.iapa-verify__brand span { color: var(--iapa-muted, #5c5878); font-size: 13px; }
.iapa-verify__banner {
  background: #16803c;
  color: #fff;
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 14px;
}
.iapa-verify__banner.is-other { background: #6b6578; }
.iapa-verify__banner b,
.iapa-verify__banner span { display: block; }
.iapa-verify__banner span { font-size: 13px; opacity: 0.9; }
.iapa-verify__banner-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
}
.iapa-verify__photo {
  width: 72px;
  height: 88px;
  object-fit: cover;
  border-radius: 12px;
  background: #f3f1f8;
  flex: none;
}
.iapa-verify__credential { margin: 0; color: var(--iapa-muted, #5c5878); font-size: 13px; }
.iapa-verify__card h1 { margin: 0 0 6px; font-size: 1.35rem; }
.iapa-verify__id { margin: 0; font-size: 13px; color: var(--iapa-muted, #5c5878); }
.iapa-verify__id span { color: inherit; font-weight: 700; }
.iapa-verify__facts { margin: 14px 0; display: grid; gap: 12px; }
.iapa-verify__facts div { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.iapa-verify__facts dt { display: flex; align-items: center; gap: 6px; color: var(--iapa-muted, #5c5878); font-weight: 600; }
.iapa-verify__facts dd { margin: 0; text-align: right; }
.iapa-verify__facts .iapa-icon { width: 16px; height: 16px; }
.iapa-verify__pill {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e7f8ee;
  color: #16803c;
  font-size: 12px;
  font-weight: 800;
}
.iapa-verify__ok {
  align-items: flex-start;
  background: #eef8f1;
  border-radius: 14px;
  padding: 12px;
  color: #146c3a;
}
.iapa-verify__ok.is-other { background: #f6f5f8; color: #3f3a4d; }
.iapa-verify__ok .iapa-icon { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.iapa-verify__foot {
  justify-content: center;
  margin-top: 16px;
  color: var(--iapa-primary, #464177);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: left;
}
@media (min-width: 768px) {
  .iapa-update-pending,
  .iapa-idconfirm,
  .iapa-home-actions { max-width: 720px; }
}

.iapa-idmanage__count {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--iapa-primary, #464177);
}
.iapa-idmanage__bulk {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 14px;
}
.iapa-idmanage__selectall {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font-weight: 700;
}
.iapa-idmanage__selectall input,
.iapa-idmanage__pick input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--iapa-primary, #464177);
}
.iapa-idmanage__pick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
.iapa-idmanage__photo {
  width: 48px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  background: #f4f3f7;
  display: block;
}
.iapa-idmanage__cards {
  display: grid;
  gap: 10px;
}
.iapa-idmanage__cards .iapa-office-card-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
}
.iapa-idmanage__submission { grid-column: 1 / -1; min-width: 0; }
.iapa-idmanage__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.iapa-idmanage__table.iapa-office-table-wrap { display: none; }
.iapa-idsubmit {
  display: grid;
  gap: 12px;
  background: #eef8f1;
  border: 1px solid #b7e4c7;
  border-radius: 16px;
  padding: 16px;
  min-width: 0;
}
.iapa-idsubmit--compact {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}
.iapa-idsubmit__status { display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
.iapa-idsubmit__check {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #1b7a45;
  color: #fff;
  flex: none;
}
.iapa-idsubmit__check .iapa-icon { width: 18px; height: 18px; }
.iapa-idsubmit h2,
.iapa-idsubmit strong { margin: 0; color: #146c3a; font-size: 1rem; }
.iapa-idsubmit p,
.iapa-idsubmit span { margin: 0; color: #245c3a; }
.iapa-idsubmit--compact strong,
.iapa-idsubmit--compact span { display: block; word-break: break-word; }
.iapa-idstatus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.iapa-idstatus--submitted { background: #e7f6ec; color: #146c3a; border-color: #b7e4c7; }
.iapa-idstatus--pending { background: #f4f3f7; color: #5c5870; border-color: var(--iapa-line, #e6e4ee); }
.iapa-idstatus-btn { width: 100%; justify-content: center; cursor: default; }
.iapa-idstatus-btn.is-submitted { background: #1b7a45; border-color: #1b7a45; color: #fff; }
.iapa-idstatus-btn.is-pending {
  background: #f4f3f7;
  border-color: var(--iapa-line, #e6e4ee);
  color: #5c5870;
}
.iapa-idpage__actions .iapa-btn { min-height: 48px; }
@media (max-width: 720px) {
  .iapa-idmanage__filters { flex-direction: column; align-items: stretch; }
  .iapa-idmanage__filters > .iapa-btn,
  .iapa-idmanage__bulk > .iapa-btn { width: 100%; }
  .iapa-idmanage__bulk { align-items: stretch; }
  .iapa-idmanage__cards .iapa-office-card-row__actions .iapa-btn { flex: 1 1 140px; }
}
@media (max-width: 420px) {
  .iapa-idsubmit--compact { grid-template-columns: auto minmax(0, 1fr); }
  .iapa-idsubmit--compact .iapa-idstatus { grid-column: 1 / -1; justify-self: start; }
}
@media (min-width: 1280px) {
  .iapa-idmanage__cards { display: none; }
  .iapa-idmanage__table.iapa-office-table-wrap { display: block; overflow-x: auto; }
  .iapa-idmanage__table .iapa-office-table { min-width: 0; width: 100%; }
}

.iapa-notify-record { margin: 8px 0 0; display: grid; gap: 4px; }
.iapa-notify-record div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 8px; }
.iapa-notify-record dt { font-weight: 600; }
.iapa-notify-record dd { margin: 0; white-space: pre-wrap; }

.iapa-resubmit-modal[hidden] { display: none !important; }
.iapa-resubmit-modal {
  position: fixed;
  inset: 0;
  z-index: 240;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgba(28, 27, 46, 0.55);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.iapa-resubmit-modal.is-on { opacity: 1; }
.iapa-body.is-update-resubmit { overflow: hidden; }
.iapa-resubmit-modal__card {
  position: relative;
  width: min(420px, 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 22px;
  padding: 34px 28px 20px;
  text-align: center;
  box-shadow: 0 22px 60px rgba(42, 39, 64, 0.28);
}
.iapa-resubmit-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #8b8798;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.iapa-resubmit-modal__mark {
  position: relative;
  width: 108px;
  height: 108px;
  margin: 4px auto 16px;
}
.iapa-resubmit-modal__mark::before,
.iapa-resubmit-modal__mark::after,
.iapa-resubmit-modal__ring::before,
.iapa-resubmit-modal__ring::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3dce73;
}
.iapa-resubmit-modal__mark::before { top: 8px; left: 18px; }
.iapa-resubmit-modal__mark::after { top: 18px; right: 8px; width: 6px; height: 6px; }
.iapa-resubmit-modal__ring::before { bottom: 16px; left: 6px; width: 6px; height: 6px; }
.iapa-resubmit-modal__ring::after { right: 16px; bottom: 8px; }
.iapa-resubmit-modal__ring {
  position: absolute;
  inset: 14px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.16);
}
.iapa-resubmit-modal__check {
  position: absolute;
  inset: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #22a85a;
  box-shadow: 0 8px 18px rgba(34, 168, 90, 0.28);
}
.iapa-resubmit-modal__check svg { width: 42px; height: 42px; display: block; }
.iapa-resubmit-modal__check path {
  fill: none;
  stroke: #fff;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.iapa-resubmit-modal__card h2 {
  margin: 0 0 10px;
  color: var(--iapa-ink, #1d1a33);
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.3px;
}
.iapa-resubmit-modal__card > p {
  margin: 0 auto 16px;
  max-width: 34ch;
  color: var(--iapa-muted, #6d6880);
  font-size: 15px;
  line-height: 1.45;
}
.iapa-resubmit-modal__card > p.iapa-resubmit-modal__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: none;
  margin: 0 auto 16px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #fff4dc;
  color: #8a5a12;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
.iapa-resubmit-modal__status .iapa-icon { width: 16px; height: 16px; }
.iapa-resubmit-modal__status b { font-weight: 800; }
.iapa-resubmit-modal__card > p.iapa-resubmit-modal__refresh {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: none;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid var(--iapa-line, #eceaf2);
  color: #8d89a0;
  font-size: 13px;
  line-height: 1.3;
}
.iapa-resubmit-modal__refresh .iapa-icon { width: 15px; height: 15px; }
@media (max-width: 480px) {
  .iapa-resubmit-modal { padding: 16px 12px; }
  .iapa-resubmit-modal__card { padding: 30px 16px 16px; border-radius: 18px; }
  .iapa-resubmit-modal__card h2 { font-size: 22px; }
}


/* Print ID Card — shared office print layout */
.iapa-print__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px 20px;
  margin-bottom: 16px;
}
.iapa-print__head h1 {
  margin: 2px 0 4px;
  font-size: 28px;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.iapa-print .iapa-office-crumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 0 0 6px;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-print .iapa-office-crumb a { color: var(--iapa-muted); }
.iapa-print .iapa-office-crumb a:hover { color: var(--iapa-primary); }
.iapa-print__head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.iapa-print__head-actions .iapa-btn {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
}
.iapa-print__head-actions .iapa-icon { width: 16px; height: 16px; }
.iapa-print__filters {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--iapa-shadow-sm);
}
.iapa-print__filters-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: var(--iapa-ink);
  font-weight: 700;
  font-size: 14px;
}
.iapa-print__chevron { margin-left: auto; }
.iapa-print__filters.is-open .iapa-print__chevron { transform: rotate(180deg); }
.iapa-print__filters-panel { display: none; gap: 12px; margin-top: 12px; }
.iapa-print__filters.is-open .iapa-print__filters-panel { display: grid; }
.iapa-print__field { display: grid; gap: 6px; min-width: 0; }
.iapa-print__field > span {
  font-size: 12px;
  font-weight: 650;
  color: var(--iapa-muted);
}
.iapa-print__field select,
.iapa-print__search input {
  width: 100%;
  height: 42px;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: #fff;
  color: var(--iapa-ink);
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
}
.iapa-print__search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--iapa-line);
  border-radius: 10px;
  background: #fff;
}
.iapa-print__search input {
  height: 40px;
  border: 0;
  padding: 0;
  border-radius: 0;
}
.iapa-print__search .iapa-icon { color: var(--iapa-muted-soft); }
.iapa-print__field--search { grid-column: 1 / -1; }
.iapa-print__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.iapa-print__filters-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.iapa-print__note {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  align-items: center;
  margin: 14px 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: #f3f7fd;
  color: #3d4d66;
  font-size: 13px;
}
.iapa-print__note p { display: flex; align-items: center; gap: 8px; margin: 0; }
.iapa-print__counts { display: flex; flex-wrap: wrap; gap: 8px 14px; font-weight: 650; color: var(--iapa-ink-soft); }
.iapa-print__district { font-weight: 650; }
.iapa-print__notice {
  margin: 0 0 12px;
  color: var(--iapa-red);
  font-size: 13px;
  font-weight: 650;
}
.iapa-print__empty {
  margin: 8px 0 0;
  padding: 28px 16px;
  text-align: center;
  color: var(--iapa-muted);
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
}
.iapa-print__select { margin: 0 0 10px; font-size: 13px; font-weight: 650; }
.iapa-print__select label { display: inline-flex; align-items: center; gap: 8px; }
.iapa-print__cards { display: grid; gap: 10px; }
.iapa-print-card {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 10px;
}
.iapa-print-card__main {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.iapa-print-card__who { min-width: 0; }
.iapa-print-card__who b { display: block; font-size: 14.5px; line-height: 1.3; }
.iapa-print-card__who span { display: block; color: var(--iapa-muted); font-size: 12.5px; line-height: 1.35; }
.iapa-print-photo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--iapa-primary-tint);
  display: grid;
  place-items: center;
  color: var(--iapa-primary-dark);
  font-size: 14px;
  font-weight: 700;
}
.iapa-print-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: #f3f2f6;
  color: #5c5870;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.iapa-print-badge .iapa-icon { width: 13px; height: 13px; }
.iapa-print-badge--yes { background: #e8f6ee; color: #157a45; }
.iapa-print-type {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef6ee;
  color: #1d7a45;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.iapa-print-type--renew_current { background: #e8f2fb; color: #1d4f91; }
.iapa-print-type--renew_old { background: #fdecef; color: #9d3454; }
.iapa-print-type--student { background: #f3eefe; color: #6941a8; }
.iapa-print-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.iapa-print-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--iapa-line);
  background: #fff;
  color: var(--iapa-ink-soft);
  font-size: 12.5px;
  font-weight: 650;
}
.iapa-print-action .iapa-icon { width: 14px; height: 14px; }
.iapa-body a.iapa-print-action,
.iapa-print-action:hover { color: var(--iapa-ink); border-color: var(--iapa-line-strong); }
.iapa-print-action--danger,
.iapa-body a.iapa-print-action--danger,
.iapa-print-action--danger:hover { color: var(--iapa-red); border-color: #f0d2ce; background: #fff; }
.iapa-print__table { display: none; }
.iapa-print-table { width: 100%; min-width: 0; background: #fff; border-radius: 16px; }
.iapa-print-table th {
  font-size: 12px;
  font-weight: 700;
  color: var(--iapa-muted);
  background: #faf9fc;
  white-space: nowrap;
}
.iapa-print-table td { vertical-align: middle; }
.iapa-print-table input[type="checkbox"],
.iapa-print-card input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--iapa-primary);
}
.iapa-print__pager {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-print-pagesize { display: inline-flex; align-items: center; gap: 8px; }
.iapa-print-pagesize select {
  height: 34px;
  border: 1px solid var(--iapa-line);
  border-radius: 8px;
  background: #fff;
  padding: 0 8px;
}
.iapa-print-pages { display: flex; gap: 4px; align-items: center; }
.iapa-print-page {
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--iapa-ink-soft);
  font-weight: 700;
}
.iapa-print-page.is-current { background: var(--iapa-primary); color: #fff; }
.iapa-print-page:disabled { opacity: 0.4; }
.iapa-print .iapa-office-toolbar,
.iapa-print .iapa-appforms-toolbar {
  background: #fff;
  border: 1px solid var(--iapa-line);
  border-radius: 16px;
  padding: 14px;
}
@media (min-width: 720px) {
  .iapa-print__filters-panel { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1099px) {
  .iapa-print__head-actions .iapa-print__apply,
  .iapa-print__head-actions .iapa-print__reset { display: none; }
}
@media (min-width: 1100px) {
  .iapa-print__filters-toggle { display: none; }
  .iapa-print__filters-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; }
  .iapa-print__filters-actions { display: none; }
  .iapa-print__cards,
  .iapa-print__select { display: none; }
  .iapa-print__table {
    display: block;
    background: #fff;
    border: 1px solid var(--iapa-line);
    border-radius: 16px;
    overflow: hidden;
  }
}

.iapa-print-table th { text-transform: none; letter-spacing: 0; }
.iapa-print-table td:nth-child(4),
.iapa-print-table td:nth-child(5) { white-space: nowrap; }
.iapa-print__search,
.iapa-print__search input { min-width: 0; }

.iapa-reg-card { display: grid; gap: 14px; }
.iapa-reg-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
.iapa-reg-pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
}
.iapa-reg-pill.is-open { color: #15803d; background: #f0fdf4; }
.iapa-reg-pill.is-closed { color: #b91c1c; background: #fef2f2; }
.iapa-reg-pill.is-scheduled { color: #b45309; background: #fffbeb; }
.iapa-reg-closed {
  border: 1px solid #fecaca;
  background: #fef2f2;
  border-radius: 16px;
  padding: 14px 16px;
  margin-top: 12px;
}
.iapa-reg-closed h1,
.iapa-reg-closed strong { display: block; color: #991b1b; margin: 0 0 6px; }
.iapa-reg-closed p { margin: 0; }
.iapa-reg-card input[readonly] { background: #f8fafc; }
@media (max-width: 720px) {
  .iapa-reg-card .iapa-btn { width: 100%; }
}

.iapa-event-reg__kicker {
  margin: 0 0 4px;
  color: var(--iapa-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.iapa-event-reg__controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 12px;
  align-items: end;
  margin: 0 0 14px;
  min-width: 0;
}
.iapa-event-reg__pick {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 180px;
  min-width: min(100%, 12rem);
  font-size: 12px;
  color: var(--iapa-muted);
}
.iapa-event-reg__controls .iapa-event-reg__pick {
  flex: none;
  width: auto;
  min-width: 0;
}
.iapa-event-reg__pick select,
.iapa-event-reg__search-field input {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  color: var(--iapa-ink);
  font: inherit;
}
.iapa-event-reg__search-field {
  position: relative;
  display: block;
  min-width: 0;
}
.iapa-event-reg__search-field .iapa-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin: 0;
  transform: translateY(-50%);
  color: var(--iapa-muted);
  pointer-events: none;
}
.iapa-event-reg__search-field input {
  padding-left: 38px;
}
.iapa-event-reg__admin .iapa-scope,
.iapa-event-reg__admin .iapa-scope__wrap {
  width: 100%;
  min-width: 0;
}
.iapa-event-reg__admin .iapa-scope__pill {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  border-radius: 12px;
  justify-content: flex-start;
}
.iapa-event-reg__admin .iapa-scope__menu {
  left: 0;
  right: auto;
  width: 100%;
  min-width: 0;
}
.iapa-event-reg__shown {
  margin: 8px 0 12px;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-event-home { display: flex; flex-direction: column; gap: 12px; }
.iapa-event-home__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
}
.iapa-event-home__head h2 { margin: 0; }
.iapa-event-home__progress {
  height: 8px;
  background: var(--iapa-line);
  border-radius: 999px;
  overflow: hidden;
}
.iapa-event-home__progress span {
  display: block;
  height: 100%;
  background: var(--iapa-primary);
}
.iapa-event-home__progress-label {
  margin: 0;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-admin-row.iapa-admin-row--contact.is-event-unregistered {
  background: #fdecec;
  color: var(--iapa-ink);
}
.iapa-admin-table tr.is-event-unregistered td {
  background: #fdecec;
  color: var(--iapa-ink);
}
.iapa-admin-row.iapa-admin-row--contact.is-event-cancelled,
.iapa-admin-table tr.is-event-cancelled td {
  background: #fff7e8;
  color: var(--iapa-ink);
}
.iapa-admin-row--event .iapa-admin-row__main {
  grid-template-columns: 1.6rem minmax(0, 1fr);
}
.iapa-event-reg-status {
  display: inline-flex;
  align-items: center;
  margin-top: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}
.iapa-event-reg-status.is-registered {
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-event-reg-status.is-open {
  background: #f8d4d4;
  color: #7a241c;
}
.iapa-event-reg-status.is-cancelled {
  background: #fde7c2;
  color: #8a4b08;
}
.iapa-event-reg-status.is-leave {
  background: #ffe38a;
  color: #5c4300;
}
.iapa-event-reg-status.is-pending,
.iapa-pay-pending,
.iapa-checkin-guest.is-pay-pending,
.iapa-program-guests li.is-pay-pending,
.iapa-admin-table tr.is-pay-pending td,
.iapa-admin-row.is-pay-pending,
.iapa-event-profile__person.is-pay-pending {
  background: #fffbeb;
  color: #92400e;
  border-color: #f3d48a;
}
.iapa-pay-pending,
.iapa-event-reg-status.is-pending {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 4px;
  padding: 2px 8px;
  border: 1px solid #f3d48a;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.iapa-event-profile-dialog {
  width: min(760px, calc(100vw - 24px));
  max-height: min(88vh, 920px);
  overflow: auto;
}
.iapa-event-profile__person.is-focus {
  outline: 2px solid #d4a017;
}
.iapa-ev-pass__pending {
  margin: 8px 16px 0;
  padding: 10px 12px;
  border: 1px solid #f3d48a;
  border-radius: 12px;
  background: #fffbeb;
  color: #92400e;
}
.iapa-ev-pass__pending b { display: block; margin-bottom: 4px; }
.iapa-ev-pass__pending p { margin: 0; }
}
.iapa-admin-row.iapa-admin-row--contact.is-event-leave,
.iapa-admin-table tr.is-event-leave td {
  background: #fff6c2;
  color: var(--iapa-ink);
}
.iapa-event-leave__note {
  display: block;
  margin-top: 4px;
  color: #5c4300;
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.iapa-admin-table-wrap--menu,
.iapa-admin-table-wrap--menu .iapa-admin-table,
.iapa-admin-table-wrap.is-visible {
  overflow: visible;
}
.iapa-admin-table-wrap.is-visible { display: block; }
.iapa-event-reg__districts { margin: 0 0 16px; }
.iapa-event-reg__districts h2 { margin: 0 0 8px; font-size: 16px; }
button.iapa-row-menu__item {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--iapa-ink);
}
#js-event-reg-modal.iapa-modal {
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  z-index: 90;
}
#js-event-reg-modal .iapa-modal__dialog {
  width: min(520px, 100%);
  max-height: min(88vh, 760px);
  max-height: min(88dvh, 760px);
  border-radius: 18px;
}
#js-event-reg-modal .iapa-modal__head {
  padding: 16px 16px 0;
}
#js-event-reg-modal .iapa-modal__title {
  font-size: 18px;
  letter-spacing: -0.02em;
}
#js-event-reg-modal .iapa-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
}
#js-event-reg-modal .iapa-modal__close .iapa-icon {
  width: 18px;
  height: 18px;
}
#js-event-reg-modal .iapa-modal__close:hover {
  background: var(--iapa-paper);
}
#js-event-reg-modal .iapa-modal__body {
  padding: 12px 16px 16px;
}
#js-event-reg-modal .iapa-modal__intro {
  margin-bottom: 12px;
}
.iapa-event-reg-modal__who {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--iapa-paper);
}
.iapa-event-reg-modal__who div:last-child { grid-column: 1 / -1; }
.iapa-event-reg-modal__who dt {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--iapa-muted);
}
.iapa-event-reg-modal__who dd {
  margin: 2px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--iapa-ink);
  overflow-wrap: anywhere;
}
.iapa-event-reg-modal__meals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.iapa-event-reg-modal__meals legend {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}
.iapa-event-reg-modal__meal {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  font-weight: 650;
}
.iapa-event-reg-modal__meal:has(input:checked) {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-event-reg-modal__meal input {
  accent-color: var(--iapa-primary);
}
.iapa-event-reg-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-event-reg-modal__actions .iapa-btn { min-width: 7.5rem; }
#js-event-reg-dialog-ok[disabled] { opacity: 0.7; cursor: progress; }
@media (max-width: 640px) {
  #js-event-reg-modal.iapa-modal {
    align-items: center;
    padding: 12px;
  }
  #js-event-reg-modal .iapa-modal__dialog {
    width: min(520px, 100%);
    border-radius: 18px;
  }
  .iapa-event-reg-modal__who,
  .iapa-event-reg-modal__meals { grid-template-columns: 1fr; }
  .iapa-event-reg-modal__actions { flex-direction: column-reverse; }
  .iapa-event-reg-modal__actions .iapa-btn { width: 100%; }
  #js-event-reg-modal .iapa-event-reg__companion { grid-template-columns: minmax(0, 1fr) 4.5rem; }
  #js-event-reg-modal .iapa-event-reg__companion select { grid-column: 1 / -1; }
}
.iapa-event-reg__companions-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-weight: 700;
}
.iapa-event-reg__companion {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 5rem minmax(0, 1fr) auto;
  gap: 8px;
  margin-bottom: 8px;
}
.iapa-event-reg__companion input,
.iapa-event-reg__companion select {
  min-height: 40px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  background: #fff;
}
#js-event-reg-modal .iapa-event-reg__companion {
  grid-template-columns: minmax(0, 1.4fr) 4.75rem minmax(0, 1fr);
}
#js-event-reg-modal .iapa-event-reg__companion .js-event-remove-companion {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 36px;
  padding: 6px 10px;
}
#js-event-reg-modal .iapa-modal__dialog:focus { outline: none; }
@media (max-width: 640px) {
  #js-event-reg-modal .iapa-event-reg__companion { grid-template-columns: minmax(0, 1fr) 4.5rem; }
  #js-event-reg-modal .iapa-event-reg__companion select { grid-column: 1 / -1; }
}
.iapa-event-reg__error {
  color: #7a241c;
  margin: 4px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fdecec;
}
.iapa-event-reg__error[hidden] { display: none !important; }
#js-event-leave-modal.iapa-modal {
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  z-index: 90;
}
#js-event-leave-modal .iapa-modal__dialog {
  width: min(520px, 100%);
  max-height: min(88vh, 760px);
  max-height: min(88dvh, 760px);
  border-radius: 18px;
}
#js-event-leave-modal .iapa-modal__head { padding: 16px 16px 0; }
#js-event-leave-modal .iapa-modal__title { font-size: 18px; letter-spacing: -0.02em; }
#js-event-leave-modal .iapa-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
}
#js-event-leave-modal .iapa-modal__close .iapa-icon { width: 18px; height: 18px; }
#js-event-leave-modal .iapa-modal__close:hover { background: var(--iapa-paper); }
#js-event-leave-modal .iapa-modal__body { padding: 12px 16px 16px; }
#js-event-leave-modal .iapa-modal__intro { margin-bottom: 12px; }
#js-event-leave-modal .iapa-modal__dialog:focus { outline: none; }
.iapa-event-leave__field {
  display: block;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
}
#js-event-leave-reason {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 120px;
  resize: vertical;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  color: var(--iapa-ink);
  background: #fff;
}
#js-event-leave-dialog-ok[disabled] { opacity: 0.7; cursor: progress; }
@media (max-width: 640px) {
  #js-event-leave-modal.iapa-modal {
    align-items: center;
    padding: 12px;
  }
  #js-event-leave-modal .iapa-modal__dialog {
    width: min(520px, 100%);
    border-radius: 18px;
  }
}
@media (max-width: 720px) {
  .iapa-event-reg__companion { grid-template-columns: 1fr 1fr; }
  .iapa-event-home__overview,
  .iapa-event-home .iapa-admin-home__overview { grid-template-columns: 1fr; }
}

#js-idzip-modal.iapa-modal {
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  z-index: 90;
}
#js-idzip-modal .iapa-modal__dialog {
  width: min(440px, 100%);
  max-height: min(88vh, 640px);
  max-height: min(88dvh, 640px);
  border-radius: 18px;
}
#js-idzip-modal .iapa-modal__head { padding: 16px 16px 0; }
#js-idzip-modal .iapa-modal__title { font-size: 18px; letter-spacing: -0.02em; }
#js-idzip-modal .iapa-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
}
#js-idzip-modal .iapa-modal__close .iapa-icon { width: 18px; height: 18px; }
#js-idzip-modal .iapa-modal__close:hover { background: var(--iapa-paper); }
#js-idzip-modal .iapa-modal__body { padding: 12px 16px 16px; }
#js-idzip-modal .iapa-modal__intro { margin-bottom: 14px; }
#js-idzip-modal .iapa-modal__dialog:focus { outline: none; }
.iapa-idzip__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
}
.iapa-idzip__field select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 8px 12px;
  font: inherit;
  font-size: 16px;
  color: var(--iapa-ink);
  background: #fff;
}
.iapa-idzip__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-idzip__actions .iapa-btn { min-width: 7.5rem; }
#js-idzip-download[disabled] { opacity: 0.7; cursor: progress; }
.iapa-idzip__error {
  color: #7a241c;
  margin: 4px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fdecec;
}
.iapa-idzip__error[hidden] { display: none !important; }
@media (max-width: 900px) {
  #js-idmanage-district-download { flex: 1 1 12rem; justify-content: center; }
}
@media (max-width: 640px) {
  #js-idzip-modal.iapa-modal {
    align-items: center;
    padding: 12px;
  }
  #js-idzip-modal .iapa-modal__dialog {
    width: min(440px, 100%);
    border-radius: 18px;
  }
  .iapa-idzip__actions { flex-direction: column-reverse; }
  .iapa-idzip__actions .iapa-btn { width: 100%; }
  #js-idmanage-district-download { flex: 1 1 100%; }
}

button.iapa-quick__card {
  width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
#js-leave-modal.iapa-modal {
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  z-index: 90;
}
#js-leave-modal .iapa-modal__dialog {
  width: min(520px, 100%);
  max-height: min(88vh, 760px);
  max-height: min(88dvh, 760px);
  border-radius: 18px;
  overflow: hidden;
}
#js-leave-modal .iapa-leave-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
#js-leave-modal .iapa-modal__head { padding: 16px 16px 0; }
#js-leave-modal .iapa-modal__title { font-size: 18px; letter-spacing: -0.02em; }
#js-leave-modal .iapa-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
}
#js-leave-modal .iapa-modal__close .iapa-icon { width: 18px; height: 18px; }
#js-leave-modal .iapa-modal__close:hover { background: var(--iapa-paper); }
#js-leave-modal .iapa-modal__body {
  padding: 12px 16px 16px;
  overflow: auto;
}
#js-leave-modal .iapa-modal__intro { margin-bottom: 14px; }
#js-leave-modal .iapa-modal__dialog:focus { outline: none; }
.iapa-leave-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
}
.iapa-leave-form__field[hidden] { display: none !important; }
.iapa-leave-form__field select,
.iapa-leave-form__field input,
.iapa-leave-form__field textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  font-size: 16px;
  color: var(--iapa-ink);
  background: #fff;
}
.iapa-leave-form__field select,
.iapa-leave-form__field input { min-height: 48px; }
.iapa-leave-form__field textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.45;
}
.iapa-leave-form__reasons {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  min-width: 0;
}
.iapa-leave-form__reasons legend {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
}
.iapa-leave-form__reason {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  background: #fff;
  font-weight: 650;
  cursor: pointer;
}
.iapa-leave-form__reason:has(input:checked) {
  border-color: var(--iapa-primary);
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
}
.iapa-leave-form__reason input { accent-color: var(--iapa-primary); }
.iapa-leave-form__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--iapa-line);
}
.iapa-leave-form__actions .iapa-btn { min-width: 7.5rem; }
#js-leave-submit[disabled] { opacity: 0.7; cursor: progress; }
.iapa-leave-form__error,
.iapa-leave-form__success {
  margin: 4px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
}
.iapa-leave-form__error {
  color: #7a241c;
  background: #fdecec;
}
.iapa-leave-form__success {
  color: #146c43;
  background: #e8f6ee;
}
.iapa-leave-form__error[hidden],
.iapa-leave-form__success[hidden] { display: none !important; }
@media (max-width: 900px) {
  .iapa-leave-form__reasons { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  #js-leave-modal.iapa-modal {
    align-items: center;
    padding: 12px;
  }
  #js-leave-modal .iapa-modal__dialog {
    width: min(520px, 100%);
    border-radius: 18px;
  }
  .iapa-leave-form__actions { flex-direction: column-reverse; }
  .iapa-leave-form__actions .iapa-btn { width: 100%; }
}

.iapa-shell--admin .iapa-shell__logout .iapa-icon { width: 18px; height: 18px; color: currentColor; }
.iapa-shell--admin .iapa-shell__logout { gap: 11px; }

.iapa-event-reg__name {
  padding: 0;
  border: 0;
  background: none;
  color: var(--iapa-primary-dark, #3d348b);
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.iapa-event-reg__payments {
  margin: 0 0 12px;
  font-weight: 700;
}
.iapa-event-profile { display: grid; gap: 14px; }
.iapa-event-profile[hidden] { display: none !important; }
.iapa-event-profile__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.iapa-event-profile__head h2 {
  margin: 0;
  font-size: 26px;
  letter-spacing: -0.03em;
}
.iapa-event-profile__head p { margin: 4px 0 0; color: var(--iapa-muted); }
.iapa-event-profile__card {
  padding: 16px;
  border: 1px solid var(--iapa-line);
  border-radius: 18px;
  background: #fff;
}
.iapa-event-profile__card h3 {
  margin: 0 0 12px;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.iapa-event-profile__card .iapa-event-reg-modal__who { margin-bottom: 0; }
.iapa-event-profile__note {
  margin: 10px 0 0;
  color: var(--iapa-muted);
  font-size: 13px;
}
.iapa-event-profile__people { display: grid; gap: 10px; }
.iapa-event-profile__person {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 5rem minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--iapa-line-strong);
  border-radius: 12px;
  background: #fff;
}
.iapa-event-profile__person span { display: block; color: var(--iapa-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; }
.iapa-event-profile__person b { display: block; margin-top: 2px; font-size: 14px; overflow-wrap: anywhere; }
.iapa-event-profile__ticket {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.iapa-event-profile__ticket img {
  width: 180px;
  height: 180px;
  border: 1px solid var(--iapa-line);
  border-radius: 12px;
  background: #fff;
}
.iapa-event-profile__meal {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--iapa-primary);
  border-radius: 12px;
  background: var(--iapa-primary-tint);
  color: var(--iapa-primary-dark);
  font-weight: 700;
}
@media (max-width: 720px) {
  .iapa-event-profile__head h2 { font-size: 22px; }
  .iapa-event-profile__person { grid-template-columns: 1fr 1fr; }
  .iapa-event-profile__ticket img { width: 160px; height: 160px; }
}
