/* Polca operations. Preserve the shared controllers and LifePros presentation. */
html:not(.profile-polca) [data-polca-only] { display:none !important; }
html.profile-polca [data-lp-only] { display:none !important; }
html.profile-polca :is(#view-manager,#view-pc) { background:var(--bg-primary); padding:clamp(24px,3.6vw,48px) !important; }
html.profile-polca :is(#view-manager,#view-pc)>.page-header { max-width:1180px; padding:0 0 28px !important; margin:auto; border:0; background:none; }
html.profile-polca :is(#view-manager,#view-pc) .page-title { font-size:clamp(28px,3vw,38px); letter-spacing:-.04em; font-weight:650; line-height:1.15; }
html.profile-polca :is(#view-manager,#view-pc) .page-sub { margin-top:10px; color:var(--text-secondary); font-size:14px; line-height:1.6; max-width:660px; }
html.profile-polca #view-manager>.page-body { padding:0; max-width:1180px; margin:0 auto; }
html.profile-polca #managerTabs { display:none !important; }
html.profile-polca #managerTabOverview .dash-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:32px; }
html.profile-polca #managerTabOverview .dash-kpi { min-width:0; padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:18px; box-shadow:none; }
html.profile-polca #managerTabOverview .dash-kpi:before { display:none; }
html.profile-polca #managerTabOverview .kpi-label { font-size:11px; line-height:1.5; font-weight:600; text-transform:none; letter-spacing:.01em; color:var(--text-secondary); }
html.profile-polca #managerTabOverview .kpi-value { font-size:clamp(25px,2.4vw,34px); font-weight:650; letter-spacing:-.04em; margin:12px 0 8px; color:var(--text-primary); }
html.profile-polca #managerTabOverview .kpi-sub { font-size:12px; color:var(--text-muted); }
html.profile-polca :is(#view-manager,#view-pc) .dash-section-title { font-size:17px; letter-spacing:-.02em; text-transform:none; color:var(--text-primary); }
html.profile-polca #view-manager .dash-toolbar { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:0 0 22px; margin:0; }
html.profile-polca #view-manager .dash-toolbar input { max-width:380px; min-width:0; flex:1; padding:14px 16px; font-size:14px; background:var(--surface); border:1px solid var(--border); border-radius:12px; min-height:48px; }
html.profile-polca #view-manager .dash-add-btn { min-height:46px; padding:12px 20px; border-radius:12px; background:var(--lp-brand-gold-fill); color:var(--lp-brand-gold-ink); font-size:13px; font-weight:650; border:0; }
html.profile-polca #view-manager .dash-table { border:1px solid var(--border); border-radius:16px; border-spacing:0; border-collapse:separate; background:var(--surface); overflow:hidden; width:100%; }
html.profile-polca #view-manager .dash-table th { background:var(--bg-elevated); color:var(--text-secondary); font-size:11px; text-transform:none; font-weight:600; letter-spacing:0; padding:14px 16px; white-space:nowrap; }
html.profile-polca #view-manager .dash-table td { padding:17px 16px; border-top:1px solid var(--border); border-bottom:0; color:var(--text-secondary); font-size:13px; }
html.profile-polca #view-manager .dash-table tbody tr:hover { background:var(--bg-elevated); }
html.profile-polca #view-manager .action-btn { min-height:36px; padding:8px 11px; border-radius:8px; font-size:12px; border:1px solid var(--border); background:var(--surface); color:var(--text-primary); margin:2px; white-space:nowrap; }
html.profile-polca #view-manager .manager-user-cell { gap:12px; font-weight:600; color:var(--text-primary); }
html.profile-polca #usersTable td:nth-child(6)>span { padding:5px 9px; font-size:11px; border:1px solid var(--border); border-radius:20px; background:var(--bg-elevated); }
html.profile-polca #teamOverviewTable:not(.show-details) :is(th,td):is(:nth-child(2),:nth-child(6),:nth-child(7),:nth-child(10),:nth-child(11),:nth-child(12)) { display:none; }
html.profile-polca .polca-team-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:18px; }
html.profile-polca .polca-team-toolbar>div { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
html.profile-polca .polca-page-empty { padding:44px 20px; text-align:center; white-space:normal; }
html.profile-polca .polca-page-empty h3 { font-size:20px; color:var(--text-primary); letter-spacing:-.025em; font-weight:600; margin:0 0 10px; }
html.profile-polca .polca-page-empty p { font-size:14px; color:var(--text-secondary); margin:0 auto 18px; line-height:1.6; max-width:460px; }
html.profile-polca .polca-page-empty a { color:var(--polca-orange-text); font-weight:600; }
html.profile-polca :is(#carrierModal,#userModal) .modal-box { border-radius:22px; border:1px solid var(--border-strong); padding:28px; background:var(--surface); box-shadow:0 24px 80px #0005; }
html.profile-polca :is(#carrierModal,#userModal) :is(input,select) { min-height:44px; border-radius:9px; }
html.profile-polca #cmRatesGrid { gap:12px !important; padding:8px 2px !important; }
html.profile-polca #cmRatesGrid input { padding:10px !important; }
html.profile-polca :is(#carrierModal,#userModal) h3 { font-size:23px; letter-spacing:-.03em; }
html.profile-polca :is(#carrierModal,#userModal) .modal-actions { border-top:1px solid var(--border); padding-top:20px; margin-top:24px; }
html.profile-polca :is(#carrierModal,#userModal) :is(.btn-save,.btn-cancel) { border-radius:10px; padding:12px 18px; min-height:44px; }
html.profile-polca :is(#view-pc) .page-body { padding:0; max-width:1180px; margin:auto; }
html.profile-polca #view-pc :is(.pc-card,.pc-section,.pc-roster,.clock-card) { border:1px solid var(--border); border-radius:18px; box-shadow:none; background:var(--surface); padding:22px; }
html.profile-polca #view-pc :is(input,textarea,select) { border-radius:10px; padding:12px; min-height:44px; font-size:14px; border:1px solid var(--border); background:var(--surface); color:var(--text-primary); }
html.profile-polca #view-pc textarea { line-height:1.7; }
html.profile-polca #view-pc .myday-card { border:1px solid var(--border); border-radius:18px; padding:24px; background:var(--surface); box-shadow:none; }
html.profile-polca #view-pc .myday-card-title { font-size:16px; font-weight:600; text-transform:none; letter-spacing:-.02em; padding-bottom:16px; }
html.profile-polca #view-pc .pc-note-label { font-size:12px; letter-spacing:0; text-transform:none; margin:18px 0 8px; }
html.profile-polca #view-pc .pc-kpis { gap:12px; margin:20px 0; }
html.profile-polca #view-pc .sched-sum-chip { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 18px; font-size:13px; }
html.profile-polca .polca-stats-heading { padding:10px 0 26px; }
html.profile-polca .polca-stats-heading h1 { margin:10px 0; font-size:32px; letter-spacing:-.04em; }
html.profile-polca .polca-stats-heading p { font-size:14px; color:var(--text-secondary); }
html.profile-polca #view-pc :is(.clock-btn,.pc-add-btn) { min-height:44px; border-radius:10px; padding:10px 16px; font-size:13px; }
html.profile-polca #view-manager :is(input,button,a):focus-visible,html.profile-polca #view-pc :is(input,textarea,select,button):focus-visible { outline:2px solid var(--polca-orange); outline-offset:3px; }
@media(max-width:1050px) { html.profile-polca #managerTabOverview .dash-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  html.profile-polca :is(#view-manager,#view-pc) { padding:24px 16px !important; }
  html.profile-polca #managerTabOverview .dash-kpi { padding:18px; }
  html.profile-polca #view-manager .dash-toolbar { align-items:stretch; flex-direction:column; }
  html.profile-polca #view-manager .dash-toolbar input { max-width:none; width:100%; }
  html.profile-polca #usersTable,html.profile-polca #usersTable tbody { display:block; border:0; background:none; }
  html.profile-polca #usersTable thead { display:none; }
  html.profile-polca #usersTable tr { display:grid; grid-template-columns:1fr 1fr; padding:18px; border:1px solid var(--border); border-radius:16px; margin-bottom:12px; background:var(--surface); }
  html.profile-polca #usersTable td { display:block; padding:6px 0; border:0; overflow-wrap:anywhere; }
  html.profile-polca #usersTable td:is(:first-child,:nth-child(2),:last-child) { grid-column:1 / -1; }
  html.profile-polca #usersTable td:nth-child(4):before { content:'Upline · '; font-size:11px; color:var(--text-muted); }
  html.profile-polca #usersTable td:nth-child(5):before { content:'Comp · '; font-size:11px; color:var(--text-muted); }
  html.profile-polca #usersTable td:nth-child(7):before { content:'Last sign-in · '; font-size:11px; color:var(--text-muted); }
  html.profile-polca #usersTable td:last-child { margin-top:10px; border-top:1px solid var(--border); padding-top:14px; }
  html.profile-polca #view-manager .action-btn { min-height:44px; }
}

/* ── Route loading skeleton ─────────────────────────────────────────────
   polca-route-loader.js marks a lazy route's view with data-route-loading
   when its bundle is still downloading 150ms after the click. Until the
   React root renders, the view shows the shape of a page (a title and a few
   rows) instead of an empty panel. */
html.profile-polca .view[data-route-loading]::before {
  content: "";
  display: block;
  height: 360px;
  margin: clamp(24px, 3.6vw, 48px);
  max-width: 1180px;
  border-radius: var(--lp-radius-panel, 14px);
  background:
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 0 / 38% 34px no-repeat,
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 52px / 58% 14px no-repeat,
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 110px / 100% 44px no-repeat,
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 166px / 100% 44px no-repeat,
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 222px / 100% 44px no-repeat,
    linear-gradient(var(--lp-surface-hover, rgba(127,127,127,.12)) 0 0) 0 278px / 100% 44px no-repeat;
  animation: polcaRouteSkeleton 1.2s ease-in-out infinite alternate;
}
@keyframes polcaRouteSkeleton { from { opacity: .55; } to { opacity: 1; } }

/* ── View entrance ───────────────────────────────────────────────────────
   The shared entrance was 350ms with a 30px rise and a 4px blur on every
   route change, which made navigation feel slower than the data. Polca uses
   a short, blur-free fade and lift within the design-system motion tokens. */
html.profile-polca .view.active { animation: polcaViewEnter var(--lp-motion, 180ms) var(--lp-ease, cubic-bezier(.2,.75,.25,1)); }
@keyframes polcaViewEnter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ── Legacy modal entrance ─────────────────────────────────────────────── */
html.profile-polca :is(.modal-overlay:not(.hidden), .modal-bg.active) { animation: polcaFadeIn 160ms var(--lp-ease, ease-out); }
html.profile-polca :is(.modal-overlay:not(.hidden), .modal-bg.active) > .modal-box { animation: polcaDialogIn 200ms var(--lp-ease, ease-out); }
@keyframes polcaFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes polcaDialogIn { from { opacity: 0; transform: translateY(6px) scale(.985); } to { opacity: 1; transform: none; } }

/* ── Phone layout ────────────────────────────────────────────────────────
   .content is a flex item, so without min-width:0 any wide child (a KPI
   row, a table, a long page header) widened the whole page and phones
   scrolled sideways on Team, PC, Commissions and Agent Info. */
html.profile-polca .content { min-width: 0; }
@media (max-width: 768px) {
  /* On phones the body is a column and .main grew to its widest child. */
  html.profile-polca .main { max-width: 100%; }
}
@media (max-width: 900px) {
  html.profile-polca :is(#view-manager, #view-pc, #view-agent-info, #view-comp, #view-csf) .page-header { flex-wrap: wrap; gap: 12px; }
  html.profile-polca :is(#view-manager, #view-pc, #view-agent-info, #view-comp) :is(.page-title, .page-sub) { overflow-wrap: anywhere; }
  /* Wide tables scroll inside their own box instead of dragging the page. */
  html.profile-polca :is(#view-manager, #view-pc, #view-agent-info, #view-comp) table:not(#usersTable) { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 560px) {
  html.profile-polca #managerTabOverview .dash-kpis { grid-template-columns: minmax(0, 1fr); }
}

/* ── Mobile sidebar ──────────────────────────────────────────────────────
   Slides with transform (compositor only) instead of animating left, and
   the scrim fades rather than popping. */
@media (max-width: 768px) {
  html.profile-polca .sidebar { left: 0; transform: translateX(-100%); transition: transform 240ms var(--lp-ease, cubic-bezier(.2,.75,.25,1)); }
  html.profile-polca .sidebar.open { transform: none; }
  html.profile-polca .sidebar-overlay { display: block; opacity: 0; pointer-events: none; transition: opacity 180ms var(--lp-ease, ease-out); }
  html.profile-polca .sidebar-overlay.active { opacity: 1; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html.profile-polca .view[data-route-loading]::before { animation: none; }
  html.profile-polca .sidebar, html.profile-polca .sidebar-overlay { transition: none; }
}

/* Revisits refresh in place: the previous numbers stay, slightly dimmed. */
html.profile-polca #numbersBody.is-refreshing { opacity: .6; transition: opacity var(--lp-motion-fast, 120ms) var(--lp-ease, ease-out); }

/* ── Ava paywall (Polca) ─────────────────────────────────────────────────
   The page a Polca user sees before they have Ava: AI Dialer and the Power
   Dialer catalog. Built on the shared tokens so it follows light/dark. */
html.profile-polca .ppw { max-width: 1120px; margin: 0 auto; padding: clamp(24px, 4vw, 56px) clamp(16px, 3vw, 32px) 72px; display: grid; gap: clamp(40px, 6vw, 72px); color: var(--text-primary); }
html.profile-polca .ppw h1 { font-size: clamp(30px, 4.2vw, 50px); line-height: 1.05; letter-spacing: -.035em; font-weight: 800; margin: 14px 0 16px; text-wrap: balance; }
html.profile-polca .ppw h2 { font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.025em; font-weight: 750; margin: 0 0 22px; text-align: center; text-wrap: balance; }
html.profile-polca .ppw-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-brand-gold-text); }
html.profile-polca .ppw-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--polca-orange); box-shadow: 0 0 0 4px var(--lp-brand-gold-subtle); }
html.profile-polca .ppw-lede { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.65; color: var(--text-secondary); max-width: 560px; margin: 0; }
html.profile-polca .ppw-fine { font-size: 12.5px; line-height: 1.6; color: var(--text-muted); margin: 14px 0 0; }
html.profile-polca .ppw-center { text-align: center; }
html.profile-polca .ppw-note--warn { margin: 16px 0 0; font-size: 13px; font-weight: 600; color: var(--lp-brand-gold-text); }

html.profile-polca .ppw-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
html.profile-polca .ppw-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

html.profile-polca .ppw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 11px 20px; border-radius: 12px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: none; border: 1px solid transparent; transition: background var(--lp-motion-fast, 120ms) var(--lp-ease, ease-out), border-color var(--lp-motion-fast, 120ms), transform var(--lp-motion-fast, 120ms); }
html.profile-polca .ppw-btn--lg { min-height: 52px; padding: 14px 24px; font-size: 15px; }
html.profile-polca .ppw-btn--primary { background: var(--lp-brand-gold-fill); color: var(--lp-brand-gold-ink); box-shadow: 0 10px 28px rgba(var(--polca-orange-rgb, 200, 95, 58), .28); }
html.profile-polca .ppw-btn--primary:hover { background: var(--lp-brand-gold-hover); }
html.profile-polca .ppw-btn--ghost { background: transparent; color: var(--text-primary); border-color: var(--border-strong, var(--border)); }
html.profile-polca .ppw-btn--ghost:hover { border-color: var(--lp-brand-gold-border); color: var(--lp-brand-gold-text); }
html.profile-polca .ppw-btn:active { transform: translateY(1px); }
html.profile-polca .ppw-btn:focus-visible { outline: 2px solid var(--polca-orange); outline-offset: 3px; }

html.profile-polca .ppw-call { margin: 0; padding: 18px; border-radius: 20px; background: var(--surface, var(--bg-elevated)); border: 1px solid var(--border); box-shadow: 0 24px 60px rgba(0, 0, 0, .12); display: grid; gap: 10px; }
html.profile-polca .ppw-call header { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--border-subtle, var(--border)); font-size: 12px; }
html.profile-polca .ppw-call__who { font-weight: 700; color: var(--text-primary); }
html.profile-polca .ppw-call__tag { color: var(--text-muted); border: 1px solid var(--border); border-radius: 999px; padding: 2px 9px; }
html.profile-polca .ppw-bub { max-width: 88%; padding: 10px 13px; border-radius: 14px; font-size: 13.5px; line-height: 1.5; animation: ppwIn 220ms var(--lp-ease, ease-out) both; animation-delay: calc(var(--d, 0) * 260ms + 120ms); }
html.profile-polca .ppw-bub small { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .7; margin-bottom: 3px; }
html.profile-polca .ppw-bub--ava { background: var(--lp-brand-gold-subtle); border: 1px solid var(--lp-brand-gold-border); justify-self: start; }
html.profile-polca .ppw-bub--lead { background: var(--bg-elevated, var(--surface)); border: 1px solid var(--border); justify-self: end; }
html.profile-polca .ppw-booked { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, var(--lp-success, #2f8a5a) 12%, transparent); border: 1px solid color-mix(in srgb, var(--lp-success, #2f8a5a) 40%, transparent); animation: ppwIn 220ms var(--lp-ease, ease-out) both; animation-delay: calc(var(--d, 0) * 260ms + 120ms); }
html.profile-polca .ppw-booked > span { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--lp-success, #2f8a5a); color: #fff; font-weight: 800; }
html.profile-polca .ppw-booked b { display: block; font-size: 13.5px; }
html.profile-polca .ppw-booked small { font-size: 12px; color: var(--text-secondary); }
@keyframes ppwIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

html.profile-polca .ppw-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
html.profile-polca .ppw-stats > div { padding: 22px 20px; border-radius: 16px; background: var(--surface, var(--bg-elevated)); border: 1px solid var(--border); }
html.profile-polca .ppw-stats b { display: block; font-size: clamp(26px, 3vw, 38px); font-weight: 800; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
html.profile-polca .ppw-stats span { display: block; margin-top: 6px; font-size: 13px; color: var(--text-secondary); line-height: 1.45; }
html.profile-polca .ppw-proof .ppw-fine { text-align: center; max-width: 760px; margin: 16px auto 0; }

html.profile-polca .ppw-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
html.profile-polca .ppw-steps > div { padding: 18px; border-top: 2px solid var(--lp-brand-gold-border); }
html.profile-polca .ppw-steps span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 12px; font-weight: 800; color: var(--lp-brand-gold-ink); background: var(--lp-brand-gold-fill); }
html.profile-polca .ppw-steps b { display: block; margin: 12px 0 6px; font-size: 15px; }
html.profile-polca .ppw-steps p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--text-secondary); }

html.profile-polca .ppw-plans__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 900px; margin: 0 auto; align-items: stretch; }
html.profile-polca .ppw-plans__grid--one { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
html.profile-polca .ppw-plan { position: relative; display: flex; flex-direction: column; padding: 28px; border-radius: 20px; background: var(--surface, var(--bg-elevated)); border: 1px solid var(--border); }
html.profile-polca .ppw-plan--featured { border-color: var(--lp-brand-gold-border); box-shadow: 0 20px 56px rgba(var(--polca-orange-rgb, 200, 95, 58), .14); background: linear-gradient(180deg, var(--lp-brand-gold-subtle), var(--surface, var(--bg-elevated)) 45%); }
html.profile-polca .ppw-plan__flag { position: absolute; top: -11px; left: 24px; padding: 4px 11px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: var(--lp-brand-gold-fill); color: var(--lp-brand-gold-ink); }
html.profile-polca .ppw-plan__eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-brand-gold-text); }
html.profile-polca .ppw-plan h3 { margin: 8px 0 14px; font-size: 21px; letter-spacing: -.02em; }
html.profile-polca .ppw-plan__price { margin: 0; display: flex; align-items: baseline; gap: 6px; }
html.profile-polca .ppw-plan__price b { font-size: 38px; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
html.profile-polca .ppw-plan__price span { font-size: 14px; color: var(--text-muted); }
html.profile-polca .ppw-plan__sub { margin: 4px 0 18px; font-size: 13px; color: var(--text-secondary); }
html.profile-polca .ppw-list { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--border-subtle, var(--border)); display: grid; gap: 10px; flex: 1; align-content: start; }
html.profile-polca .ppw-list li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; font-size: 13.5px; line-height: 1.5; }
html.profile-polca .ppw-list svg { margin-top: 3px; color: var(--lp-success, #2f8a5a); }
html.profile-polca .ppw-plan .ppw-btn { width: 100%; }

html.profile-polca .ppw-faq { max-width: 760px; width: 100%; margin: 0 auto; display: grid; gap: 10px; }
html.profile-polca .ppw-faq details { border: 1px solid var(--border); border-radius: 14px; padding: 0 18px; background: var(--surface, var(--bg-elevated)); }
html.profile-polca .ppw-faq summary { cursor: pointer; padding: 15px 0; font-weight: 650; font-size: 14.5px; }
html.profile-polca .ppw-faq p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.6; color: var(--text-secondary); }

html.profile-polca .ppw-callme .ppw-callme__box { width: min(560px, calc(100vw - 32px)); max-width: none; padding: 0; overflow: hidden; background: var(--surface, var(--bg-elevated)); border: 1px solid var(--border); border-radius: 20px; }
html.profile-polca .ppw-callme__head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--border); }
html.profile-polca .ppw-callme__head h3 { margin: 0; font-size: 16px; }
html.profile-polca .ppw-callme__head .modal-close { background: none; border: 0; font-size: 24px; line-height: 1; color: var(--text-secondary); cursor: pointer; width: 36px; height: 36px; border-radius: 8px; }
html.profile-polca .ppw-callme iframe { display: block; width: 100%; height: min(640px, calc(100vh - 140px)); border: 0; background: #fff; }

@media (max-width: 900px) {
  html.profile-polca .ppw-hero, html.profile-polca .ppw-plans__grid { grid-template-columns: minmax(0, 1fr); }
  html.profile-polca .ppw-stats, html.profile-polca .ppw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  html.profile-polca .ppw-steps { grid-template-columns: minmax(0, 1fr); }
  html.profile-polca .ppw-stats { gap: 10px; }
  html.profile-polca .ppw-stats > div { padding: 16px 14px; }
  html.profile-polca .ppw-ctas .ppw-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html.profile-polca .ppw-bub, html.profile-polca .ppw-booked { animation: none; }
  html.profile-polca .ppw-btn { transition: none; }
}
