/* WPAC's public identity and church CRM surface. The master admin keeps the platform skin. */
body.wpac-public-ui {
  --wpac-bg: #f3f5f7;
  --wpac-surface: #ffffff;
  --wpac-ink: #27313d;
  --wpac-muted: #667583;
  --wpac-line: #dfe4e8;
  --wpac-accent: #24749b;
  --wpac-accent-hover: #195e81;
  --wpac-soft: #eaf3f7;
  background: var(--wpac-bg) !important;
  color: var(--wpac-ink);
  font-family: Inter, Aptos, "Segoe UI", sans-serif;
}
html[data-bs-theme="dark"] body.wpac-public-ui {
  --wpac-bg: #171d24;
  --wpac-surface: #242d36;
  --wpac-ink: #edf2f6;
  --wpac-muted: #b4bec8;
  --wpac-line: #39444f;
  --wpac-accent: #78c7e8;
  --wpac-accent-hover: #a2daf1;
  --wpac-soft: #253d4b;
}
body.wpac-public-ui a { color: var(--wpac-accent); }
body.wpac-public-ui .text-muted { color: var(--wpac-muted) !important; }
body.wpac-public-ui .card,
body.wpac-public-ui .dropdown-menu,
body.wpac-public-ui .modal-content {
  background: var(--wpac-surface);
  color: var(--wpac-ink);
  border: 1px solid var(--wpac-line);
  border-radius: 20px;
  box-shadow: none !important;
}
body.wpac-public-ui .card-header { background: transparent; border-color: var(--wpac-line); font-weight: 700; }
body.wpac-public-ui .form-control,
body.wpac-public-ui .form-select,
body.wpac-public-ui textarea {
  background: var(--wpac-surface);
  color: var(--wpac-ink);
  border: 1px solid var(--wpac-line);
  border-radius: 11px;
  min-height: 44px;
}
body.wpac-public-ui .form-control:focus,
body.wpac-public-ui .form-select:focus { border-color: var(--wpac-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpac-accent) 17%, transparent); }
body.wpac-public-ui .btn { border-radius: 11px; font-weight: 650; }
body.wpac-public-ui .btn-primary {
  background: var(--wpac-accent);
  border-color: var(--wpac-accent);
  color: var(--wpac-surface);
}
html[data-bs-theme="dark"] body.wpac-public-ui .btn-primary { color: #112018; }
body.wpac-public-ui .btn-primary:hover { background: var(--wpac-accent-hover); border-color: var(--wpac-accent-hover); }
body.wpac-public-ui .btn-light,
body.wpac-public-ui .btn-outline-primary { background: transparent; border-color: var(--wpac-line); color: var(--wpac-ink); }
body.wpac-public-ui .btn-light:hover,
body.wpac-public-ui .btn-outline-primary:hover { background: var(--wpac-soft); }

/* Public church workspace: a small horizontal header replaces the template admin chrome. */
body.wpac-public-ui.tp-shell .app-topbar,
body.wpac-public-ui.tp-shell .sidenav-menu { display: none !important; }
body.wpac-public-ui.tp-shell .wrapper { display: flex; flex-direction: column; min-height: 100vh; }
body.wpac-public-ui.tp-shell .content-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  min-height: 0;
  flex: 1;
  background: transparent;
}
body.wpac-public-ui.tp-shell .content-page > .container-fluid {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 68px) clamp(20px, 4vw, 48px) !important;
}
.wpac-app-header {
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 44px);
  width: 100%;
  min-height: 82px;
  padding: 14px clamp(20px, 4vw, 48px);
  background: var(--wpac-surface);
  border-bottom: 1px solid var(--wpac-line);
}
.wpac-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex: none; color: var(--wpac-ink) !important; }
.wpac-brand-mark,
.wpac-intro-mark {
  display: grid;
  place-items: center;
  color: #edf6e9;
  background: #1b573d;
  font-family: Georgia, serif;
  font-weight: 700;
  letter-spacing: -.14em;
  padding-right: .13em;
}
.wpac-brand-mark { width: 42px; height: 42px; border-radius: 12px; font-size: 25px; }
.wpac-brand strong { display: block; font-size: 16px; letter-spacing: .11em; line-height: 1.15; }
.wpac-brand small { display: block; color: var(--wpac-muted); font-size: 11px; letter-spacing: .03em; }
.wpac-app-nav { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.wpac-app-nav a { padding: 10px 13px; text-decoration: none; border-radius: 9px; color: var(--wpac-muted) !important; font-size: 14px; font-weight: 600; }
.wpac-app-nav a:hover,
.wpac-app-nav a[aria-current="page"] { color: var(--wpac-ink) !important; background: var(--wpac-soft); }
.wpac-header-actions { margin-left: auto; display: flex; align-items: center; gap: 16px; white-space: nowrap; }
.wpac-theme-toggle { border: 1px solid var(--wpac-line); background: var(--wpac-surface); color: var(--wpac-ink); border-radius: 999px; padding: 8px 13px; font-size: 12px; font-weight: 700; }
.wpac-theme-toggle:hover { background: var(--wpac-soft); }
.wpac-logout { font-size: 13px; text-decoration: none; font-weight: 650; }
body.wpac-public-ui.tp-shell .tp-page-title { color: var(--wpac-ink); font-size: clamp(30px, 4vw, 45px); letter-spacing: -.045em; font-weight: 750; }
body.wpac-public-ui.tp-shell .footer { background: transparent; border-color: var(--wpac-line); color: var(--wpac-muted); }
body.wpac-public-ui.tp-shell .tp-account-settings { max-width: 960px; }
.wpac-overview-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(32px, 5vw, 62px);
  border: 1px solid var(--wpac-line);
  border-radius: 28px;
  background: var(--wpac-surface);
}
.wpac-overview-hero h1 { max-width: 650px; margin: 18px 0 14px; font-size: clamp(36px, 5vw, 61px); letter-spacing: -.06em; line-height: 1.08; color: var(--wpac-ink); }
.wpac-overview-hero p { color: var(--wpac-muted); margin-bottom: 27px; font-size: 16px; }
.wpac-overview-hero .btn { padding: 11px 18px; }
.wpac-overview-symbol { display: grid; place-items: center; flex: none; width: clamp(110px, 17vw, 210px); aspect-ratio: 1; border-radius: 32%; background: var(--wpac-soft); color: var(--wpac-accent); font-family: Georgia, serif; font-weight: 700; font-size: clamp(78px, 13vw, 150px); letter-spacing: -.14em; padding-right: .14em; }
.wpac-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.wpac-overview-panel { padding: clamp(25px, 3vw, 38px); border: 1px solid var(--wpac-line); border-radius: 24px; background: var(--wpac-surface); }
.wpac-panel-eyebrow { font-size: 11px; font-weight: 750; color: var(--wpac-accent); letter-spacing: .16em; }
.wpac-overview-panel h2 { margin: 14px 0 22px; color: var(--wpac-ink); font-size: 25px; letter-spacing: -.04em; }
.wpac-overview-panel dl { margin: 0 0 25px; }
.wpac-overview-panel dl > div { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--wpac-line); padding: 10px 0; }
.wpac-overview-panel dt { color: var(--wpac-muted); font-weight: 500; }
.wpac-overview-panel dd { margin: 0; text-align: right; font-weight: 650; overflow-wrap: anywhere; }
.wpac-overview-panel > a { font-weight: 700; text-decoration: none; }
.wpac-overview-connect { background: var(--wpac-soft); }
.wpac-overview-connect p { color: var(--wpac-muted); max-width: 400px; line-height: 1.6; margin-bottom: 34px; }
body.wpac-public-ui .nav-tabs { border-bottom-color: var(--wpac-line); }
body.wpac-public-ui .nav-tabs .nav-link { color: var(--wpac-muted); border: 0; border-bottom: 2px solid transparent; background: transparent; border-radius: 0; }
body.wpac-public-ui .nav-tabs .nav-link.active { color: var(--wpac-accent); border-bottom-color: var(--wpac-accent); font-weight: 700; }

/* Public SSO screens use a quiet split composition instead of the admin card layout. */
body.wpac-public-ui.tp-auth-bg {
  display: grid !important;
  grid-template-columns: minmax(270px, 1fr) minmax(340px, 510px);
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(36px, 7vw, 120px);
  min-height: 100vh;
  padding: clamp(82px, 8vw, 120px) clamp(24px, 7vw, 110px) !important;
}
.wpac-auth-tools { position: absolute; top: 25px; right: clamp(24px, 7vw, 110px); display: flex; align-items: center; gap: 14px; z-index: 5; }
.wpac-auth-tools .tp-auth-language { position: static !important; margin: 0 !important; }
.wpac-auth-tools .tp-auth-language .topbar-link { background: transparent !important; color: var(--wpac-ink) !important; border: 1px solid var(--wpac-line); border-radius: 999px; padding: 8px 12px; }
.wpac-auth-tools .topbar-link { color: var(--wpac-ink); }
.wpac-auth-intro { max-width: 610px; color: var(--wpac-ink); }
.wpac-intro-kicker,
.wpac-intro-foot { display: block; font-size: 11px; letter-spacing: .19em; font-weight: 750; color: var(--wpac-muted); }
.wpac-intro-mark { width: 92px; height: 92px; border-radius: 25px; margin: clamp(28px, 5vw, 70px) 0 28px; font-size: 57px; box-shadow: 16px 16px 0 var(--wpac-soft); }
.wpac-auth-intro h2 { font-size: clamp(42px, 5vw, 75px); line-height: 1.03; letter-spacing: -.065em; white-space: pre-line; font-weight: 730; max-width: 590px; }
.wpac-auth-intro p { max-width: 440px; color: var(--wpac-muted); line-height: 1.65; font-size: 16px; margin: 28px 0 clamp(35px, 7vw, 90px); }
body.wpac-public-ui .tp-auth-card { width: 100%; max-width: none; border-radius: 24px; box-shadow: none !important; }
body.wpac-public-ui .tp-auth-card .card-body { padding: clamp(25px, 4vw, 46px) !important; }
body.wpac-public-ui .tp-auth-card .tp-brand-mark { display: none !important; }
body.wpac-public-ui .tp-auth-card h1 { color: var(--wpac-ink); font-size: 29px; letter-spacing: -.045em; font-weight: 750; }
body.wpac-public-ui .tp-auth-card .btn[type="submit"] { min-height: 46px; }
body.wpac-public-ui .tp-sso-provider-btn { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; }
body.wpac-public-ui .tp-sso-provider-btn svg,
body.wpac-public-ui .tp-sso-provider-btn img { width: 18px !important; height: 18px !important; max-height: 18px !important; object-fit: contain; }
body.wpac-public-ui .tp-oauth-card { max-width: 620px; }
@media (max-width: 960px) {
  .wpac-app-header { flex-wrap: wrap; }
  .wpac-app-nav { order: 3; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  body.wpac-public-ui.tp-auth-bg { grid-template-columns: 1fr; gap: 30px; }
  .wpac-auth-intro { max-width: 590px; }
  .wpac-intro-mark { width: 54px; height: 54px; border-radius: 15px; font-size: 34px; margin: 0 0 22px; box-shadow: 8px 8px 0 var(--wpac-soft); }
  .wpac-auth-intro h2 { font-size: clamp(34px, 7vw, 48px); }
  .wpac-auth-intro p { margin: 14px 0 0; }
  .wpac-intro-foot { display: none; }
}
@media (max-width: 560px) {
  .wpac-app-header { gap: 11px; padding: 15px 19px; }
  .wpac-header-actions { gap: 10px; }
  .wpac-auth-intro { display: none; }
  body.wpac-public-ui.tp-auth-bg { display: block !important; padding: 84px 16px 30px !important; }
  .wpac-auth-tools { top: 20px; right: 16px; }
  body.wpac-public-ui .tp-auth-card .card-body { padding: 25px 20px !important; }
  .wpac-overview-symbol { display: none; }
  .wpac-overview-grid { grid-template-columns: 1fr; }
}

/* WPAC workspace layout, informed by the compact sidebar and panel structure of classic admin dashboards. */
body.wpac-public-ui.tp-shell {
  --wpac-bg: #eff1f4;
  --wpac-surface: #fff;
  --wpac-ink: #27313d;
  --wpac-muted: #687684;
  --wpac-line: #dfe4e8;
  --wpac-accent: #24749b;
  --wpac-accent-hover: #195e81;
  --wpac-soft: #eaf3f7;
}
html[data-bs-theme="dark"] body.wpac-public-ui.tp-shell {
  --wpac-bg: #171d24;
  --wpac-surface: #242d36;
  --wpac-ink: #edf2f6;
  --wpac-muted: #b4bec8;
  --wpac-line: #39444f;
  --wpac-accent: #78c7e8;
  --wpac-accent-hover: #a2daf1;
  --wpac-soft: #253d4b;
}
body.wpac-public-ui.tp-shell .wrapper {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  grid-template-rows: 68px minmax(0, 1fr);
  min-height: 100vh;
}
.wpac-sidebar {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: #20252c;
  color: #e8edf1;
  border-right: 1px solid #171c22;
  z-index: 30;
}
.wpac-sidebar .wpac-brand {
  height: 68px;
  width: 100%;
  padding: 12px 18px;
  gap: 10px;
  background: #fff;
  border-bottom: 3px solid #24749b;
}
.wpac-logo { width: 116px; height: 43px; max-width: 100%; object-fit: contain; display: block; }
.wpac-brand-caption { color: #52606b; font-size: 10px; font-weight: 700; line-height: 1.2; max-width: 70px; }
.wpac-sidebar-label { padding: 25px 22px 9px; font-size: 10px; letter-spacing: .13em; font-weight: 800; color: #7f8b98; }
.wpac-sidebar .wpac-app-nav { display: grid; gap: 3px; padding: 0 10px; order: 0; }
.wpac-sidebar .wpac-app-nav a { display: flex; align-items: center; gap: 13px; padding: 12px; border-radius: 5px; color: #c0c9d1 !important; font-size: 13px; font-weight: 600; }
.wpac-sidebar .wpac-app-nav a span { display: inline-grid; place-items: center; width: 18px; color: #91a4b2; font-size: 18px; line-height: 1; }
.wpac-sidebar .wpac-app-nav a:hover,
.wpac-sidebar .wpac-app-nav a[aria-current="page"] { background: #2d353e; color: #fff !important; box-shadow: inset 3px 0 #49a7d1; }
.wpac-sidebar-bottom { margin-top: auto; padding: 19px 22px 25px; border-top: 1px solid #343c44; }
.wpac-sidebar-bottom span { display: block; color: #f2f5f7; font-size: 12px; font-weight: 700; }
.wpac-sidebar-bottom small { display: block; margin-top: 3px; color: #95a2ac; font-size: 11px; }
body.wpac-public-ui.tp-shell .wpac-app-header { grid-column: 2; grid-row: 1; min-height: 68px; padding: 0 31px; gap: 18px; }
.wpac-current-page { min-width: 0; }
.wpac-current-page strong { display: block; color: var(--wpac-ink); font-size: 16px; font-weight: 750; }
.wpac-current-page small { display: block; color: var(--wpac-muted); font-size: 11px; }
.wpac-account-link { color: var(--wpac-ink) !important; text-decoration: none; font-size: 12px; font-weight: 700; }
.wpac-menu-toggle { display: none; background: transparent; border: 0; color: var(--wpac-ink); font-size: 23px; line-height: 1; }
.wpac-sidebar-close { display: none; position: absolute; top: 17px; right: 8px; border: 0; background: #eef3f6; color: #27313d; width: 30px; height: 30px; border-radius: 4px; font-size: 22px; line-height: 1; }
body.wpac-public-ui.tp-shell .content-page { grid-column: 2; grid-row: 2; min-width: 0; }
body.wpac-public-ui.tp-shell .content-page > .container-fluid { width: min(100%, 1350px); padding: 32px 34px 64px !important; }
body.wpac-public-ui.tp-shell .footer { grid-column: 2; }
body.wpac-public-ui.tp-shell .card,
body.wpac-public-ui.tp-shell .wpac-overview-panel { border-radius: 5px; box-shadow: 0 1px 2px rgb(20 30 40 / 4%) !important; }
body.wpac-public-ui.tp-shell .card-header { padding: 17px 20px; }
body.wpac-public-ui.tp-shell .btn,
body.wpac-public-ui.tp-shell .form-control,
body.wpac-public-ui.tp-shell .form-select { border-radius: 5px; }
.wpac-dashboard-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 23px; }
.wpac-dashboard-title h1 { margin: 5px 0 4px; color: var(--wpac-ink); font-size: clamp(25px, 3vw, 32px); font-weight: 750; letter-spacing: -.035em; }
.wpac-dashboard-title p { margin: 0; color: var(--wpac-muted); font-size: 13px; }
.wpac-dashboard-title .btn { white-space: nowrap; padding: 10px 15px; }
.wpac-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-bottom: 17px; }
.wpac-summary-card { padding: 18px 21px; border: 1px solid var(--wpac-line); border-left: 3px solid var(--wpac-accent); border-radius: 5px; background: var(--wpac-surface); min-width: 0; }
.wpac-summary-card span { display: block; color: var(--wpac-muted); font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.wpac-summary-card strong { display: block; color: var(--wpac-ink); margin: 11px 0 5px; font-size: clamp(17px, 1.9vw, 22px); overflow-wrap: anywhere; }
.wpac-summary-card small { color: var(--wpac-muted); font-size: 11px; }
.wpac-overview-grid { gap: 17px; margin: 0; }
.wpac-overview-panel { padding: 0; }
.wpac-panel-heading { padding: 20px 23px 16px; border-bottom: 1px solid var(--wpac-line); }
.wpac-panel-heading h2 { margin: 6px 0 0; font-size: 19px; }
.wpac-overview-panel dl { padding: 10px 23px 0; margin-bottom: 13px; }
.wpac-overview-panel > a { display: inline-block; margin: 0 23px 22px; font-size: 12px; }
.wpac-overview-connect { background: var(--wpac-surface); }
.wpac-overview-connect p { margin: 14px 23px 22px; max-width: 450px; font-size: 13px; }
.wpac-connect-logo { display: flex; align-items: center; gap: 16px; margin: 22px 23px 0; }
.wpac-connect-logo .wpac-logo { background: #fff; padding: 7px; border: 1px solid var(--wpac-line); border-radius: 4px; }
.wpac-connect-logo strong { font-size: 15px; }
.wpac-intro-logo { display: inline-flex; align-items: center; justify-content: center; margin: clamp(28px, 5vw, 64px) 0 25px; background: #fff; border: 1px solid var(--wpac-line); border-radius: 6px; padding: 14px 18px; }
.wpac-intro-logo .wpac-logo { width: 155px; height: 60px; }
@media (max-width: 980px) {
  body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 1fr; }
  body.wpac-public-ui.tp-shell .wpac-app-header { flex-wrap: nowrap; }
  .wpac-sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 238px; transform: translateX(-100%); transition: transform .2s ease; }
  body.wpac-public-ui.wpac-menu-open .wpac-sidebar { transform: translateX(0); }
  .wpac-menu-toggle { display: inline-block; }
  .wpac-sidebar-close { display: block; }
  .wpac-sidebar .wpac-brand { padding-right: 37px; }
  .wpac-sidebar .wpac-logo { width: 105px; }
  body.wpac-public-ui.tp-shell .wpac-app-header,
  body.wpac-public-ui.tp-shell .content-page,
  body.wpac-public-ui.tp-shell .footer { grid-column: 1; }
}
@media (max-width: 690px) {
  body.wpac-public-ui.tp-shell .wpac-app-header { flex-wrap: nowrap; padding: 0 17px; }
  .wpac-account-link { display: none; }
  .wpac-header-actions { gap: 10px; }
  body.wpac-public-ui.tp-shell .content-page > .container-fluid { padding: 24px 16px 45px !important; }
  .wpac-summary-grid { grid-template-columns: 1fr; }
  .wpac-dashboard-title { align-items: flex-start; flex-direction: column; }
  .wpac-overview-grid { grid-template-columns: 1fr; }
}

/* 2020 Dastone-inspired WPAC presentation: narrow rail, airy cards, violet detail. */
body.wpac-public-ui #theme-settings-offcanvas { display: none !important; }
body.wpac-public-ui {
  --wpac-bg: #f7f8fc;
  --wpac-surface: #fff;
  --wpac-ink: #252a41;
  --wpac-muted: #7b8197;
  --wpac-line: #e7e9f1;
  --wpac-accent: #665dd7;
  --wpac-accent-hover: #5349bf;
  --wpac-soft: #f0efff;
  font-family: Inter, Aptos, "Segoe UI", sans-serif;
}
html[data-bs-theme="dark"] body.wpac-public-ui {
  --wpac-bg: #171a2b;
  --wpac-surface: #22263b;
  --wpac-ink: #f0f1fa;
  --wpac-muted: #b1b6ce;
  --wpac-line: #383d57;
  --wpac-accent: #aaa1ff;
  --wpac-accent-hover: #c5bfff;
  --wpac-soft: #343251;
}
body.wpac-public-ui.tp-shell {
  --wpac-bg: #f7f8fc;
  --wpac-surface: #fff;
  --wpac-ink: #252a41;
  --wpac-muted: #7b8197;
  --wpac-line: #e7e9f1;
  --wpac-accent: #665dd7;
  --wpac-accent-hover: #5349bf;
  --wpac-soft: #f0efff;
  background: var(--wpac-bg) !important;
}
html[data-bs-theme="dark"] body.wpac-public-ui.tp-shell {
  --wpac-bg: #171a2b;
  --wpac-surface: #22263b;
  --wpac-ink: #f0f1fa;
  --wpac-muted: #b1b6ce;
  --wpac-line: #383d57;
  --wpac-accent: #aaa1ff;
  --wpac-accent-hover: #c5bfff;
  --wpac-soft: #343251;
  background: var(--wpac-bg) !important;
}
body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 78px minmax(0, 1fr); grid-template-rows: 72px minmax(0, 1fr); padding-top: 0 !important; }
body.wpac-public-ui.tp-shell .wpac-sidebar {
  min-height: 100vh;
  background: var(--wpac-surface);
  color: var(--wpac-ink);
  border-right: 1px solid var(--wpac-line);
  box-shadow: 4px 0 22px rgb(38 38 99 / 3%);
}
.wpac-sidebar .wpac-brand,
.wpac-sidebar .wpac-brand:hover {
  height: 72px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: var(--wpac-surface);
}
.wpac-logo,
.wpac-sidebar .wpac-logo,
.wpac-intro-logo .wpac-logo,
.wpac-connect-logo .wpac-logo,
.wpac-header-brand .wpac-logo,
.wpac-auth-mobile-brand .wpac-logo { width: auto; height: 18px; max-height: 18px; max-width: 49px; object-fit: contain; }
.wpac-sidebar .wpac-brand-caption,
.wpac-sidebar-label { display: none; }
.wpac-sidebar .wpac-app-nav { display: flex; flex-direction: column; align-items: stretch; gap: 9px; padding: 18px 9px; width: auto; }
.wpac-sidebar .wpac-app-nav a { flex-direction: column; justify-content: center; gap: 3px; min-height: 60px; padding: 8px 3px; border-radius: 12px; color: var(--wpac-muted) !important; }
.wpac-sidebar .wpac-app-nav a span { width: auto; font-size: 21px; color: currentColor; }
.wpac-sidebar .wpac-app-nav a small { font-size: 10px; font-weight: 700; line-height: 1.1; }
.wpac-sidebar .wpac-app-nav a:hover,
.wpac-sidebar .wpac-app-nav a[aria-current="page"] { background: var(--wpac-soft); color: var(--wpac-accent) !important; box-shadow: none; }
.wpac-sidebar-bottom { padding: 15px 0 20px; text-align: center; border-color: var(--wpac-line); }
.wpac-sidebar-bottom span { color: var(--wpac-muted); font-size: 10px; letter-spacing: .08em; }
body.wpac-public-ui.tp-shell .wpac-app-header { min-height: 72px; padding: 0 clamp(18px, 3vw, 44px); box-shadow: 0 1px 0 var(--wpac-line); }
.wpac-header-brand { display: flex; align-items: center; gap: 10px; padding-right: clamp(12px, 2vw, 27px); border-right: 1px solid var(--wpac-line); white-space: nowrap; }
.wpac-header-brand span { font-size: 12px; font-weight: 750; color: var(--wpac-ink); }
.wpac-current-page strong { font-size: 15px; }
.wpac-current-page small { font-size: 10px; }
.wpac-theme-toggle { border-radius: 10px; padding: 8px 12px; }
body.wpac-public-ui.tp-shell .content-page > .container-fluid { max-width: 1480px; padding: 32px clamp(18px, 3vw, 44px) 65px !important; }
body.wpac-public-ui.tp-shell .card,
body.wpac-public-ui.tp-shell .wpac-overview-panel,
.wpac-summary-card { border-radius: 16px; box-shadow: 0 11px 30px rgb(47 42 99 / 4%) !important; }
body.wpac-public-ui.tp-shell .card-header { border-radius: 16px 16px 0 0; }
body.wpac-public-ui.tp-shell .btn,
body.wpac-public-ui.tp-shell .form-control,
body.wpac-public-ui.tp-shell .form-select { border-radius: 9px; }
.wpac-dashboard-title { margin-bottom: 24px; }
.wpac-dashboard-title h1 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -.045em; }
.wpac-dashboard-title .btn { box-shadow: 0 9px 20px rgb(102 93 215 / 20%); }
.wpac-summary-grid { gap: 18px; margin-bottom: 18px; }
.wpac-summary-card { position: relative; min-height: 145px; padding: 24px; border: 1px solid var(--wpac-line); border-left: 1px solid var(--wpac-line); overflow: hidden; }
.wpac-summary-card::after { content: ""; position: absolute; width: 85px; height: 85px; border-radius: 27px; top: -25px; right: -22px; background: var(--wpac-soft); transform: rotate(25deg); }
.wpac-summary-card:nth-child(2)::after { border-radius: 50%; }
.wpac-summary-card:nth-child(3)::after { border-radius: 24px; transform: rotate(-25deg); }
.wpac-summary-card span { position: relative; z-index: 1; color: var(--wpac-accent); font-size: 11px; }
.wpac-summary-card strong { position: relative; z-index: 1; margin-top: 18px; }
.wpac-overview-grid { gap: 18px; }
.wpac-panel-heading { padding: 24px 26px 19px; }
.wpac-panel-heading h2 { font-size: 20px; }
.wpac-overview-panel dl { padding: 12px 26px 0; }
.wpac-overview-panel > a { margin: 0 26px 24px; }
.wpac-connect-logo { margin: 24px 26px 0; }
.wpac-connect-logo .wpac-logo { padding: 0; border: 0; background: transparent; }
.wpac-overview-connect p { margin: 16px 26px 22px; }
body.wpac-public-ui.tp-auth-bg { grid-template-columns: minmax(290px, 44%) minmax(350px, 1fr); gap: 0; padding: 0 !important; }
.wpac-auth-intro { display: flex; flex-direction: column; justify-content: center; min-height: 100vh; width: 100%; max-width: none; padding: clamp(50px, 7vw, 105px); color: #fff; background: radial-gradient(circle at 85% 18%, #948bf0 0 9%, transparent 10%), radial-gradient(circle at 5% 95%, #8076e9 0 18%, transparent 19%), linear-gradient(140deg, #6257cb, #4537a7); }
.wpac-intro-kicker,
.wpac-intro-foot { color: #e1dfff; }
.wpac-intro-logo { margin: 38px 0 24px; padding: 3px 5px; align-self: flex-start; border: 0; border-radius: 5px; }
.wpac-auth-intro h2 { font-size: clamp(37px, 4vw, 62px); letter-spacing: -.055em; }
.wpac-auth-intro p { margin: 20px 0 48px; color: #eeecff; }
.wpac-auth-tools { right: clamp(20px, 4vw, 65px); }
.wpac-auth-mobile-brand { display: none; }
body.wpac-public-ui .tp-auth-card { max-width: 510px; width: calc(100% - 48px); margin: 82px auto 42px; border-radius: 18px; box-shadow: 0 19px 48px rgb(49 44 106 / 8%) !important; }
body.wpac-public-ui .tp-auth-card .card-body { padding: clamp(25px, 4vw, 42px) !important; }
@media (min-width: 701px) and (max-width: 980px) {
  body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 78px minmax(0, 1fr); }
  body.wpac-public-ui.tp-shell .wpac-sidebar { position: relative; width: 78px; transform: none; }
  body.wpac-public-ui.tp-shell .wpac-app-header,
  body.wpac-public-ui.tp-shell .content-page,
  body.wpac-public-ui.tp-shell .footer { grid-column: 2; }
  .wpac-menu-toggle,
  .wpac-sidebar-close { display: none; }
  .wpac-header-brand span { display: none; }
  .wpac-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wpac-overview-grid { grid-template-columns: 1fr; }
  body.wpac-public-ui.tp-auth-bg { grid-template-columns: 39% 61%; }
  .wpac-auth-intro { padding: 35px; }
  .wpac-auth-intro h2 { font-size: 37px; }
}
@media (max-width: 700px) {
  body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 1fr; }
  body.wpac-public-ui.tp-shell .wpac-sidebar { position: fixed; width: 220px; transform: translateX(-100%); }
  body.wpac-public-ui.tp-shell .wpac-app-header,
  body.wpac-public-ui.tp-shell .content-page,
  body.wpac-public-ui.tp-shell .footer { grid-column: 1; }
  .wpac-menu-toggle,
  .wpac-sidebar-close { display: inline-block; }
  .wpac-sidebar .wpac-app-nav { padding: 18px 12px; }
  .wpac-sidebar .wpac-app-nav a { flex-direction: row; justify-content: flex-start; min-height: 48px; gap: 12px; padding: 10px 14px; }
  .wpac-sidebar .wpac-app-nav a small { font-size: 13px; }
  .wpac-sidebar .wpac-brand { justify-content: flex-start; padding-left: 20px; }
  .wpac-header-brand { border-right: 0; }
  .wpac-header-brand span,
  .wpac-current-page small,
  .wpac-account-link { display: none; }
  body.wpac-public-ui.tp-shell .wpac-app-header { padding: 0 15px; gap: 12px; }
  body.wpac-public-ui.tp-shell .content-page > .container-fluid { padding: 24px 16px 45px !important; }
  .wpac-summary-grid,
  .wpac-overview-grid { grid-template-columns: 1fr; }
  body.wpac-public-ui.tp-auth-bg { display: block !important; padding: 90px 16px 35px !important; }
  .wpac-auth-intro { display: none; }
  .wpac-auth-mobile-brand { display: inline-flex; align-items: center; padding: 3px 5px; background: #fff; border-radius: 5px; margin-right: auto; }
  .wpac-auth-tools { left: 16px; right: 16px; gap: 8px; }
  body.wpac-public-ui .tp-auth-card { width: 100%; margin: 0 auto; }
}

/* Dastone's compact rail, utility bar and card rhythm, adapted for WPAC. */
body.wpac-public-ui.tp-shell {
  --wpac-bg: #f8f9fb;
  --wpac-ink: #27304b;
  --wpac-muted: #78849b;
  --wpac-line: #e9edf2;
  --wpac-accent: #615fe8;
  --wpac-accent-hover: #4f4dcb;
  --wpac-soft: #eeedff;
}
html[data-bs-theme="dark"] body.wpac-public-ui.tp-shell {
  --wpac-bg: #171b2a;
  --wpac-surface: #22283a;
  --wpac-ink: #f2f4ff;
  --wpac-muted: #aeb8cf;
  --wpac-line: #363e51;
  --wpac-accent: #aaa8ff;
  --wpac-accent-hover: #cac8ff;
  --wpac-soft: #343457;
}
body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 70px minmax(0,1fr); grid-template-rows: 52px minmax(0,1fr); }
body.wpac-public-ui.tp-shell .wpac-sidebar { width: 70px; box-shadow: none; }
.wpac-sidebar .wpac-brand, .wpac-sidebar .wpac-brand:hover { height: 52px; border-bottom: 1px solid var(--wpac-line); }
.wpac-sidebar .wpac-app-nav { gap: 4px; padding: 8px 16px; }
.wpac-sidebar .wpac-app-nav a { position: relative; width: 38px; height: 40px; min-height: 40px; padding: 0; border-radius: 3px; }
.wpac-sidebar .wpac-app-nav a span { font-size: 23px; line-height: 1; }
.wpac-sidebar .wpac-app-nav a small { display: none; font-size: 12px; line-height: 1.2; }
.wpac-sidebar .wpac-app-nav a[aria-current="page"]::before { content:""; position:absolute; left:-16px; top:1px; bottom:1px; width:3px; background:var(--wpac-accent); border-radius:0 3px 3px 0; }
.wpac-sidebar .wpac-app-nav a:hover,
.wpac-sidebar .wpac-app-nav a[aria-current="page"] { background: var(--wpac-soft); }
.wpac-sidebar-bottom { display: none; }
body.wpac-public-ui.tp-shell .wpac-app-header { min-height: 52px; height: 52px; padding: 0 20px; gap: 16px; box-shadow: none; }
.wpac-menu-toggle { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; font-size: 19px; color: var(--wpac-muted); cursor: pointer; }
.wpac-menu-toggle:hover { color: var(--wpac-accent); }
.wpac-header-shortcut { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; background: var(--wpac-soft); color: var(--wpac-accent)!important; border-radius: 2px; font-size: 12px; text-decoration: none; }
.wpac-header-shortcut:hover { background: var(--wpac-accent); color: #fff!important; }
.wpac-header-actions { gap: 12px; }
.wpac-theme-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 7px; border: 0; border-radius: 2px; background: transparent; color: var(--wpac-muted); font-size: 20px; cursor: pointer; }
.wpac-theme-toggle span { font-size: 11px; }
.wpac-account-menu { position: relative; }
.wpac-account-menu summary { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--wpac-soft); color: var(--wpac-accent); font-size: 11px; font-weight: 800; list-style: none; cursor: pointer; }
.wpac-account-menu summary::-webkit-details-marker { display: none; }
.wpac-account-dropdown { position: absolute; top: 37px; right: 0; z-index: 70; display: grid; min-width: 190px; padding: 7px; border: 1px solid var(--wpac-line); border-radius: 3px; background: var(--wpac-surface); box-shadow: 0 8px 20px rgb(28 36 62 / 11%); }
.wpac-account-dropdown strong { padding: 8px 10px; color: var(--wpac-muted); font-size: 11px; }
.wpac-account-dropdown a { padding: 8px 10px; border-radius: 2px; color: var(--wpac-ink)!important; text-decoration: none; font-size: 12px; }
.wpac-account-dropdown a:hover { background: var(--wpac-soft); color: var(--wpac-accent)!important; }
body.wpac-public-ui.tp-shell .content-page > .container-fluid { padding: 18px 16px 50px !important; max-width: none; }
.wpac-dashboard-title { align-items: center; margin-bottom: 16px; }
.wpac-dashboard-title h1 { margin: 0; font-size: 17px; font-weight: 700; letter-spacing: 0; }
.wpac-dashboard-title nav { display: flex; align-items: center; gap: 10px; color: var(--wpac-muted); font-size: 11px; }
.wpac-dashboard-title nav strong { color: var(--wpac-accent); font-weight: 500; }
.wpac-summary-grid { gap: 15px; margin-bottom: 15px; }
.wpac-summary-card { min-height: 135px; padding: 17px 18px; border: 1px solid var(--wpac-line); border-radius: 3px; box-shadow: none!important; }
.wpac-summary-card::after { display: none; }
.wpac-summary-card span { color: var(--wpac-ink); font-size: 12px; font-weight: 650; letter-spacing: 0; }
.wpac-summary-card strong { max-width: calc(100% - 35px); margin: 9px 0 3px; font-size: 19px; line-height: 1.25; }
.wpac-summary-card small { font-size: 11px; }
.wpac-summary-card i { position: absolute; right: 17px; bottom: 16px; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--wpac-soft); color: var(--wpac-accent); font-style: normal; font-size: 16px; }
.wpac-overview-grid { gap: 15px; }
body.wpac-public-ui.tp-shell .wpac-overview-panel,
body.wpac-public-ui.tp-shell .card { border-radius: 3px; box-shadow: none!important; }
.wpac-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 17px; }
.wpac-panel-heading h2 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.wpac-panel-heading a { font-size: 11px; text-decoration: none; }
.wpac-overview-panel dl { padding: 10px 17px; }
.wpac-overview-panel dd { color: var(--wpac-ink); }
.wpac-overview-connect { background: var(--wpac-surface); }
.wpac-connect-logo { margin: 22px 17px 0; }
.wpac-overview-connect p { margin: 15px 17px 24px; }
body.wpac-public-ui.tp-shell .btn,
body.wpac-public-ui.tp-shell .form-control,
body.wpac-public-ui.tp-shell .form-select { border-radius: 3px; }
body.wpac-public-ui.tp-shell.wpac-rail-expanded .wrapper { grid-template-columns: 210px minmax(0,1fr); }
body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar { width: 210px; }
body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar .wpac-app-nav a { width: 178px; justify-content: flex-start; flex-direction: row; gap: 12px; padding: 0 12px; }
body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar .wpac-app-nav a small { display: inline; }
body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar .wpac-brand { justify-content: flex-start; padding-left: 25px; }
@media (min-width:701px) and (max-width:980px) {
  body.wpac-public-ui.tp-shell .wrapper { grid-template-columns: 70px minmax(0,1fr); }
  body.wpac-public-ui.tp-shell .wpac-sidebar { width: 70px; }
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wrapper { grid-template-columns: 210px minmax(0,1fr); }
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar { width: 210px; }
  .wpac-menu-toggle { display: grid; }
}
@media (max-width:700px) {
  body.wpac-public-ui.tp-shell .wrapper,
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wrapper { grid-template-columns: 1fr; }
  body.wpac-public-ui.tp-shell .wpac-sidebar,
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar { top: 0; width: 230px; min-height: 100vh; transform: translateX(-100%); box-shadow: 9px 0 25px rgb(15 24 48 / 16%); }
  body.wpac-public-ui.tp-shell.wpac-menu-open .wpac-sidebar { transform: translateX(0); }
  .wpac-sidebar .wpac-brand { justify-content: flex-start; padding-left: 20px; }
  .wpac-sidebar .wpac-app-nav { padding: 12px; }
  .wpac-sidebar .wpac-app-nav a,
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar .wpac-app-nav a { width: 206px; height: 42px; flex-direction: row; justify-content: flex-start; gap: 12px; padding: 0 12px; }
  .wpac-sidebar .wpac-app-nav a small,
  body.wpac-public-ui.tp-shell.wpac-rail-expanded .wpac-sidebar .wpac-app-nav a small { display: inline; font-size: 12px; }
  .wpac-sidebar .wpac-app-nav a[aria-current="page"]::before { left: -12px; }
  .wpac-sidebar-close { top: 10px; }
  body.wpac-public-ui.tp-shell .wpac-app-header { padding: 0 12px; }
  .wpac-menu-toggle { display: grid; }
  .wpac-theme-toggle span { display: none; }
  .wpac-dashboard-title nav { display: none; }
  .wpac-summary-grid, .wpac-overview-grid { grid-template-columns: 1fr; }
}

/* Authentication follows the preview's centered card and dark title band. */
body.wpac-public-ui.tp-auth-bg { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 100vh; padding: 72px 16px 30px !important; background: #f8f9fb !important; }
html[data-bs-theme="dark"] body.wpac-public-ui.tp-auth-bg { background: #171b2a !important; }
body.wpac-public-ui.tp-auth-bg .wpac-auth-intro { display: none !important; }
body.wpac-public-ui .tp-auth-card { width: min(100%, 410px); max-width: 410px; margin: 0 auto !important; border: 1px solid var(--wpac-line); border-radius: 3px; box-shadow: none !important; overflow: hidden; }
body.wpac-public-ui .tp-auth-card .card-body { padding: 0 !important; }
body.wpac-public-ui .tp-auth-card .card-body > .text-center:first-child { margin: 0 !important; padding: 25px 20px 22px; background: #202536; color: #fff; }
body.wpac-public-ui .tp-auth-card .card-body > .text-center:first-child h1 { color: #fff; font-size: 18px; font-weight: 600; }
body.wpac-public-ui .tp-auth-card .card-body > .text-center:first-child p { color: #bec7dc !important; font-size: 12px; }
.wpac-auth-card-logo { display: flex; align-items: center; justify-content: center; width: fit-content; min-height: 24px; margin: 0 auto 12px; padding: 3px 5px; border-radius: 2px; background: #fff; }
.wpac-auth-card-logo .wpac-logo { height: 18px; max-height: 18px; max-width: 54px; }
body.wpac-public-ui .tp-auth-card .card-body > :not(.text-center:first-child) { margin-left: 17px; margin-right: 17px; }
body.wpac-public-ui .tp-auth-card .card-body > form { margin-top: 26px; }
body.wpac-public-ui .tp-auth-card .card-body > :last-child { margin-bottom: 24px; }
body.wpac-public-ui .tp-auth-card .form-control,
body.wpac-public-ui .tp-auth-card .form-select { min-height: 33px; border-radius: 2px; }
body.wpac-public-ui .tp-auth-card .btn { border-radius: 3px; }
body.wpac-public-ui .tp-auth-card .form-label { font-size: 12px; color: var(--wpac-muted); }
body.wpac-public-ui .wpac-auth-tools { position: fixed; top: 13px; right: 18px; left: auto; width: auto; z-index: 40; }
body.wpac-public-ui .wpac-auth-mobile-brand { display: none; }
@media (max-width:700px) {
  body.wpac-public-ui.tp-auth-bg { display: flex !important; padding: 65px 12px 20px !important; }
  body.wpac-public-ui .tp-auth-card { width: min(100%, 410px); }
  body.wpac-public-ui .wpac-auth-tools { right: 12px; left: auto; }
}

/* Profile settings use the preview's stacked, bordered form cards. */
body.wpac-public-ui .tp-account-settings { max-width: 1160px !important; }
body.wpac-public-ui .tp-account-settings > h2 { font-size: 17px; font-weight: 700; }
body.wpac-public-ui #account-settings-tabs { gap: 2px; margin-bottom: 22px !important; }
body.wpac-public-ui #account-settings-tabs .nav-link { padding: 10px 16px; font-size: 13px; }
body.wpac-public-ui .wpac-settings-collection { border: 0; background: transparent; }
body.wpac-public-ui .wpac-settings-collection > .row { margin: 0; }
body.wpac-public-ui .wpac-settings-collection #settings-tabContent { display: grid; gap: 16px; }
body.wpac-public-ui .wpac-settings-section { display: block !important; padding: 0 18px 20px; border: 1px solid var(--wpac-line); border-radius: 3px; background: var(--wpac-surface); }
body.wpac-public-ui .wpac-settings-heading { margin: 0 -18px 16px; padding: 13px 18px; border-bottom: 1px solid var(--wpac-line); color: var(--wpac-ink); font-size: 14px; font-weight: 700; }
body.wpac-public-ui .wpac-settings-section .col-form-label { color: var(--wpac-ink); font-size: 12px; font-weight: 600; }
body.wpac-public-ui .wpac-settings-section .border-dashed { border-color: var(--wpac-line) !important; }
@media (max-width:700px) {
  body.wpac-public-ui .wpac-settings-section { padding: 0 14px 18px; }
  body.wpac-public-ui .wpac-settings-heading { margin: 0 -14px 14px; padding: 12px 14px; }
}

/* WPAC logo red, with a light red surface rather than the former purple. */
body.wpac-public-ui,
body.wpac-public-ui.tp-shell {
  --wpac-accent: #f0442b;
  --wpac-accent-hover: #d7351e;
  --wpac-soft: #fff0ec;
}
html[data-bs-theme="dark"] body.wpac-public-ui,
html[data-bs-theme="dark"] body.wpac-public-ui.tp-shell {
  --wpac-accent: #ff846f;
  --wpac-accent-hover: #ffad9e;
  --wpac-soft: #412b33;
}
body.wpac-public-ui .btn-primary { color: #fff; }
html[data-bs-theme="dark"] body.wpac-public-ui .btn-primary { color: #281712; }
body.wpac-public-ui #account-settings-tabs .nav-link.active { color: var(--wpac-accent); border-bottom: 2px solid var(--wpac-accent) !important; }
body.wpac-public-ui .wpac-dashboard-title .btn { box-shadow: 0 7px 18px rgb(240 68 43 / 13%); }

/* One visible loading signal for the initial page and every later fetch. */
.wpac-page-progress { position: fixed; inset: 0 0 auto; z-index: 2000; height: 3px; background: var(--wpac-soft); overflow: visible; }
.wpac-page-progress[hidden] { display: none !important; }
.wpac-page-progress::before { content: ""; display: block; width: 32%; height: 3px; background: var(--wpac-accent); box-shadow: 0 0 9px rgb(240 68 43 / 20%); animation: wpac-progress 1.15s ease-in-out infinite alternate; }
.wpac-page-progress span { position: absolute; top: 8px; right: 12px; padding: 5px 9px; border: 1px solid var(--wpac-line); border-radius: 3px; background: var(--wpac-surface); color: var(--wpac-ink); font-size: 11px; box-shadow: 0 3px 12px rgb(25 32 52 / 8%); }
@keyframes wpac-progress { from { transform: translateX(0); } to { transform: translateX(210%); } }
.wpac-skeleton-text { display: inline-block; min-width: 6ch; min-height: 1em; color: transparent !important; border-radius: 3px; background: linear-gradient(100deg, var(--wpac-soft) 20%, var(--wpac-line) 42%, var(--wpac-soft) 64%); background-size: 200% 100%; animation: wpac-shimmer 1.25s linear infinite; user-select: none; }
@keyframes wpac-shimmer { to { background-position-x: -200%; } }
body.wpac-public-ui .placeholder { background-color: #f7c9bf; }
html[data-bs-theme="dark"] body.wpac-public-ui .placeholder { background-color: #71434a; }
@media (prefers-reduced-motion: reduce) {
  .wpac-page-progress::before,
  .wpac-skeleton-text { animation: none; }
}
