:root {
  --pa-font-sans: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, Segoe UI, Helvetica, Arial;
  --pa-font-display: "Fraunces", ui-serif, Georgia, Times New Roman, serif;
  --pa-safe-top: env(safe-area-inset-top, 0px);
  --pa-safe-right: env(safe-area-inset-right, 0px);
  --pa-safe-bottom: env(safe-area-inset-bottom, 0px);
  --pa-safe-left: env(safe-area-inset-left, 0px);

  --pa-text-primary: rgb(11 18 32);
  --pa-text-secondary: rgb(71 85 105);
  --pa-text-muted: rgb(100 116 139);

  --pa-surface-base: rgb(246 248 251);
  --pa-surface-raised: rgba(255, 255, 255, 0.96);
  --pa-surface-sunken: rgba(241, 245, 249, 0.76);
  --pa-surface-overlay: rgba(255, 255, 255, 0.92);

  --pa-accent: #0f766e;
  --pa-accent-hover: #0b5f5a;
  --pa-accent-ring: rgba(15, 118, 110, 0.45);
  --pa-accent-soft: rgba(15, 118, 110, 0.12);
  --pa-accent-soft2: rgba(2, 132, 199, 0.10);
  --pa-edge-glow: rgba(15, 118, 110, 0.18);

  --pa-radius-sm: 10px;
  --pa-radius-md: 14px;
  --pa-radius-lg: 22px;
  --pa-radius-xl: 30px;

  --pa-mobile-nav-height: 72px;
}

html,
body {
  font-family: var(--pa-font-sans);
}

.pa-display {
  font-family: var(--pa-font-display);
  letter-spacing: -0.01em;
}

.pa-accent {
  background:
    radial-gradient(1000px circle at 12% -12%, var(--pa-accent-soft), transparent 55%),
    radial-gradient(900px circle at 92% -8%, var(--pa-accent-soft2), transparent 55%),
    var(--pa-surface-base);
}

.pa-overlay-root {
  /* Panels/scrims opt back into pointer events. The fixed overlay root must
     stay transparent to clicks so leave transitions cannot block follow-up taps. */
  pointer-events: none;
}

.pa-has-mobile-nav {
  --pa-mobile-nav-height: 72px;
}

@media (min-width: 1024px) {
  .pa-has-mobile-nav {
    --pa-mobile-nav-height: 0px;
  }
}

[data-pa-app-layout="1"] > .flex {
  min-height: calc(var(--pa-vh, 1vh) * 100);
}

[data-pa-app-layout="1"] > .flex > aside {
  position: sticky;
  top: 0;
  height: calc(var(--pa-vh, 1vh) * 100);
  max-height: calc(var(--pa-vh, 1vh) * 100);
  overflow: hidden;
}

[data-pa-app-layout="1"] > .flex > aside nav {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

[data-pa-mobile-drawer="1"] {
  height: calc(var(--pa-vh, 1vh) * 100);
  max-height: calc(var(--pa-vh, 1vh) * 100);
  display: flex;
  flex-direction: column;
  pointer-events: auto;
}

[data-pa-mobile-drawer-scroll="1"] {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.pa-mobile-nav {
  border-top: 1px solid var(--pa-border-subtle);
  background: rgba(255, 255, 255, 0.92);
}

.pa-mobile-nav-inner {
  gap: 0.5rem;
}

.pa-mobile-nav-item {
  min-height: 3.6rem;
  font-size: 0.72rem;
  letter-spacing: 0.01em;
}

.pa-mobile-nav-item svg {
  width: 22px;
  height: 22px;
}

.pa-fab {
  bottom: calc(1.5rem + var(--pa-safe-bottom) + var(--pa-mobile-nav-height));
  right: calc(1.5rem + var(--pa-safe-right));
}

[data-pa-training-dashboard="1"],
[data-pa-training-player="1"],
[data-pa-training-exam="1"],
[data-pa-training-result="1"],
[data-pa-training-modal-content="1"] {
  min-width: 0;
  overflow-x: hidden;
}

[data-pa-training-dashboard="1"] :is([data-pa-training-card], [data-pa-training-selected-module="1"]),
[data-pa-training-player="1"] :is(.prose, .pa-training-step-map-link, [data-pa-training-player-actions="1"]),
[data-pa-training-exam="1"] :is(fieldset, [data-pa-training-exam-actions="1"]),
[data-pa-training-result="1"] :is(article, [data-pa-training-result-actions="1"], [data-pa-training-proof-card="1"]) {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1023px) {
  .pa-topbar .pa-shell-topbar-row {
    min-height: calc(3.25rem + var(--pa-safe-top));
    gap: 0.625rem;
    padding-top: calc(0.5rem + var(--pa-safe-top));
    padding-bottom: 0.5rem;
    padding-left: calc(0.875rem + var(--pa-safe-left));
    padding-right: calc(0.875rem + var(--pa-safe-right));
  }

  .pa-shell-topbar-primary {
    gap: 0.5rem;
  }

  .pa-shell-topbar-title-stack {
    min-height: 2.5rem;
  }

  .pa-shell-topbar-mobile-title {
    font-size: 0.92rem;
    line-height: 1.15rem;
  }

  .pa-topbar-actions {
    gap: 0.5rem;
  }

  .pa-topbar-icon-btn,
  .pa-topbar-action-btn {
    min-height: 2.5rem;
    border-radius: 0.85rem;
  }

  .pa-topbar-icon-btn {
    height: 2.5rem;
    width: 2.5rem;
  }

  .pa-topbar-action-btn {
    height: 2.5rem;
    padding-inline: 0.6875rem;
  }
}

@media (max-width: 640px) {
  .pa-topbar .pa-shell-topbar-row {
    min-height: calc(3.125rem + var(--pa-safe-top));
    gap: 0.5rem;
    padding-top: calc(0.45rem + var(--pa-safe-top));
    padding-bottom: 0.45rem;
    padding-left: calc(0.75rem + var(--pa-safe-left));
    padding-right: calc(0.75rem + var(--pa-safe-right));
  }

  .pa-shell-topbar-title-stack {
    min-height: 2.375rem;
  }

  .pa-shell-topbar-mobile-title {
    font-size: 0.88rem;
    line-height: 1.05rem;
  }

  .pa-topbar .pa-topbar-actions {
    gap: 0.375rem;
    max-width: 52vw;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .pa-topbar .pa-topbar-actions::-webkit-scrollbar {
    display: none;
  }

  .pa-topbar .pa-topbar-actions > * {
    flex: 0 0 auto;
  }

  .pa-topbar-action-btn {
    padding-inline: 0.625rem;
  }

  .pa-fab {
    bottom: calc(2.25rem + var(--pa-safe-bottom) + var(--pa-mobile-nav-height));
    right: calc(1.25rem + var(--pa-safe-right));
  }

  [data-pa-overlay="assistant"] .pa-modal-fit,
  [data-pa-overlay="voice-assistant"] .pa-modal-fit {
    min-height: calc((var(--pa-vh, 1vh) * 100) - 2rem - var(--pa-safe-top) - var(--pa-safe-bottom));
    height: calc((var(--pa-vh, 1vh) * 100) - 2rem - var(--pa-safe-top) - var(--pa-safe-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .pa-topbar {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

html.pa-theme-midnight {
  color-scheme: dark;
  --pa-text-primary: rgb(241 245 249);
  --pa-text-secondary: rgb(203 213 225);
  --pa-text-muted: rgb(148 163 184);
  --pa-surface-base: rgb(11 16 27);
  --pa-surface-raised: rgba(15, 23, 42, 0.95);
  --pa-surface-sunken: rgba(15, 23, 42, 0.7);
  --pa-surface-overlay: rgba(15, 23, 42, 0.9);
  --pa-divider: rgba(148, 163, 184, 0.12);
  --pa-border-subtle: rgba(148, 163, 184, 0.18);
  --pa-border-strong: rgba(148, 163, 184, 0.28);
}

html.pa-theme-midnight body {
  background: var(--pa-surface-base);
  color: var(--pa-text-primary);
}

html.pa-theme-midnight .pa-topbar {
  background:
    radial-gradient(1200px circle at 18% -20%, rgba(15, 118, 110, 0.18), transparent 55%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(15, 23, 42, 0.82));
  border-bottom: 1px solid var(--pa-divider);
}

html.pa-theme-midnight .pa-mobile-nav {
  background: rgba(15, 23, 42, 0.92);
  border-top-color: var(--pa-divider);
}

html.pa-theme-kiosk {
  color-scheme: dark;
  --pa-text-primary: rgb(248 250 252);
  --pa-text-secondary: rgb(226 232 240);
  --pa-text-muted: rgb(203 213 225);
  --pa-surface-base: rgb(7 12 20);
  --pa-surface-raised: rgba(15, 23, 42, 0.96);
  --pa-surface-sunken: rgba(15, 23, 42, 0.75);
  --pa-surface-overlay: rgba(15, 23, 42, 0.92);
  --pa-tap-min: 56px;
}

html.pa-theme-kiosk body {
  background: radial-gradient(1200px circle at 10% -20%, rgba(15, 118, 110, 0.18), transparent 55%),
    var(--pa-surface-base);
  color: var(--pa-text-primary);
}

html.pa-theme-kiosk .pa-mobile-nav {
  display: none;
}

/* Contacts */
[data-pa-contacts-page="1"] [data-pa-contacts-stats="1"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

[data-pa-contacts-page="1"] [data-pa-contacts-actions="1"] > * {
  width: 100%;
}

[data-pa-contacts-page="1"] [data-pa-contacts-list-shell="1"] {
  order: 1;
  min-width: 0;
}

[data-pa-contacts-page="1"] [data-pa-contacts-groups="1"] {
  order: 2;
  min-width: 0;
}

[data-pa-contacts-page="1"] [data-pa-contacts-detail-column="1"] {
  order: 3;
  min-width: 0;
}

[data-pa-contacts-page="1"] [data-pa-contacts-group-list="1"] {
  display: none;
}

[data-pa-contacts-page="1"] [data-pa-contacts-group-pills="1"] {
  display: flex;
}

[data-pa-contacts-page="1"] [data-pa-contacts-detail="1"] {
  display: none;
}

[data-pa-contacts-page="1"] [data-pa-contact-row] {
  overflow: hidden;
}

[data-pa-contacts-page="1"] [data-pa-contact-detail-actions="1"] > * {
  justify-content: center;
  text-align: center;
}

@media (min-width: 640px) {
  [data-pa-contacts-page="1"] [data-pa-contacts-stats="1"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-actions="1"] {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-actions="1"] > * {
    width: auto;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-list-header="1"] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-search-form="1"] {
    flex-direction: row;
    align-items: center;
    width: 100%;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-search-form="1"] .relative {
    width: auto;
    min-width: 0;
    flex: 1 1 16rem;
  }
}

@media (min-width: 768px) {
  [data-pa-contacts-page="1"] [data-pa-contacts-grid="1"] {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
    align-items: start;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-groups="1"] {
    grid-column: 1;
    grid-row: 1;
    order: 0;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-list-shell="1"] {
    grid-column: 2;
    grid-row: 1;
    order: 0;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-detail-column="1"] {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-group-pills="1"] {
    display: none !important;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-group-list="1"] {
    display: block;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-detail="1"] {
    display: block;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-sheet-wrap="1"] {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  [data-pa-contacts-page="1"] [data-pa-contacts-overview-row="1"] {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-grid="1"] {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) minmax(0, 1.1fr);
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-groups="1"] {
    grid-column: 1;
    grid-row: 1;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-list-shell="1"] {
    grid-column: 2;
    grid-row: 1;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-detail-column="1"] {
    grid-column: 3;
    grid-row: 1;
  }

  [data-pa-contacts-page="1"] [data-pa-contacts-detail="1"] {
    position: sticky;
    top: 6rem;
  }
}
.pa-meetings-preview-column {
  display: none;
}

.pa-meetings-layout > * {
  min-width: 0;
}

@media (min-width: 1280px) {
  [data-pa-meetings-list] .pa-meetings-overview-row {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
  }

  [data-pa-meetings-list] .pa-meetings-layout {
    align-items: start;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  [data-pa-meetings-list] .pa-meetings-preview-column {
    display: block;
  }

  [data-pa-meetings-list] .pa-meetings-mobile-hint {
    display: none;
  }

  [data-pa-meetings-list] .pa-meeting-row-shell {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  [data-pa-meetings-list] .pa-meeting-row-actions {
    justify-content: flex-end;
    max-width: 14rem;
  }
}
