/**
 * Pargas Platform — Account Portal V2 (MP02)
 * Premium B2B Customer Portal. Consumes tokens.css only (§39) — no hard-coded
 * brand colors. Reuses kit components (pg-table, pg-status, pg-empty, pg-alert,
 * pg-acct-nav, pg-drawer, pg-bottomnav) and adds the pg-apx-* portal layer.
 * Breakpoints: 1440 container / 1024 sidebar collapse / 768 tablet /
 * 480 / 360 small phones (§29).
 */

/* ===== Shell (§4) ===== */
.pg-apx-wrap { padding-block: var(--pg-space-7) var(--pg-section-gap); }
.pg-apx-shell { display: grid; grid-template-columns: 1fr; gap: var(--pg-space-5); align-items: start; }
@media (min-width: 1024px) { .pg-apx-shell { grid-template-columns: 296px minmax(0, 1fr); } }

.pg-apx-side { display: grid; gap: 12px; }
@media (min-width: 1024px) { .pg-apx-side { position: sticky; top: calc(var(--pg-header-sticky-top) + 8px); max-height: calc(100vh - var(--pg-header-sticky-top) - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; } }

.pg-apx-main { min-width: 0; display: grid; gap: 14px; }
.woocommerce-MyAccount-content { min-width: 0; }

/* ===== Identity card (§5) ===== */
.pg-apx-idcard { border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); }
.pg-apx-idcard .pg-acct-profile__meta b { font-size: 0.875rem; }
.pg-apx-idcard__vip { display: inline-flex; align-items: center; gap: 4px; color: var(--pg-accent-strong); font-weight: 800; font-size: 0.6875rem; }
.pg-apx-idcard__vip .pg-ico { width: 13px; height: 13px; }

/* Wallet chip (real balance only) */
.pg-apx-wallet { border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); box-shadow: 0 10px 24px -14px rgba(4, 120, 87, 0.55); }

/* Nav badge (unread notifications) */
.pg-acct-nav__badge {
        margin-inline-start: auto; min-width: 20px; height: 20px; padding: 0 6px;
        border-radius: var(--pg-round); display: inline-flex; align-items: center; justify-content: center;
        background: var(--pg-accent); color: #fff; font-size: 0.65625rem; font-weight: 800;
}
.pg-acct-nav__link.is-active .pg-acct-nav__badge { background: rgba(255, 255, 255, 0.25); color: #fff; }
.pg-acct-nav__title { margin-top: var(--pg-space-2); }
.pg-acct-nav__group + .pg-acct-nav__group { margin-top: var(--pg-space-2); }

/* ===== Mobile top header (§4 §27) ===== */
.pg-apx-mhead {
        display: flex; align-items: center; gap: 10px;
        background: var(--pg-surface); border: 1px solid var(--pg-border);
        border-radius: var(--pg-radius-lg); padding: 10px 12px; margin-bottom: var(--pg-space-4);
        position: sticky; top: 8px; z-index: 40; box-shadow: var(--pg-shadow-soft);
}
@media (min-width: 1024px) { .pg-apx-mhead { display: none; } }
.pg-apx-mhead__burger, .pg-apx-mhead__bell {
        width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid var(--pg-border); border-radius: var(--pg-radius);
        background: var(--pg-surface-2); color: var(--pg-fg); display: grid; place-items: center; position: relative;
        transition: background var(--pg-dur) var(--pg-ease), color var(--pg-dur) var(--pg-ease);
}
.pg-apx-mhead__burger:hover, .pg-apx-mhead__bell:hover { background: var(--pg-primary-softer); color: var(--pg-primary); }
.pg-apx-mhead__user { display: flex; align-items: center; gap: 8px; min-width: 0; margin-inline-end: auto; }
.pg-apx-mhead__user b { font-size: 0.8125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-apx-bellbadge {
        position: absolute; top: -6px; inset-inline-start: -6px; min-width: 18px; height: 18px; padding: 0 5px;
        border-radius: var(--pg-round); background: var(--pg-accent); color: #fff;
        font-size: 0.625rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}

/* Avatar circles */
.pg-apx-avatar {
        width: 56px; height: 56px; flex: 0 0 auto; border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        background: var(--pg-grad-cool); color: #fff; font-weight: 900; font-size: 1.25rem;
}
.pg-apx-avatar--sm { width: 34px; height: 34px; font-size: 0.875rem; }
.pg-apx-avatarline { display: flex; align-items: center; gap: 12px; margin-bottom: var(--pg-space-4); }
.pg-apx-avatarline b { display: block; font-size: 0.9375rem; }

/* ===== Generic portal card (§40 Account Card) ===== */
.pg-apx-card {
        background: var(--pg-surface); border: 1px solid var(--pg-border);
        border-radius: var(--pg-radius-lg); padding: var(--pg-space-5);
}
.pg-apx-card__title { font-size: 0.9375rem; font-weight: 900; margin-bottom: var(--pg-space-3); }
.pg-apx-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: var(--pg-space-3); }
.pg-apx-card__head .pg-apx-card__title { margin-bottom: 0; }
.pg-apx-mt { margin-top: var(--pg-space-5); }
.pg-apx-muted { color: var(--pg-fg-muted); font-size: 0.78125rem; }

/* Section head (§30 organized) */
.pg-apx-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: var(--pg-space-4); }
.pg-apx-head__title { font-size: 1.125rem; font-weight: 900; }
.pg-apx-head__sub { font-size: 0.78125rem; color: var(--pg-fg-muted); margin-top: 2px; }
.pg-apx-back {
        display: inline-flex; align-items: center; gap: 4px; font-size: 0.78125rem; font-weight: 700;
        color: var(--pg-fg-muted); margin-bottom: var(--pg-space-3); transition: color var(--pg-dur) var(--pg-ease);
}
.pg-apx-back:hover { color: var(--pg-primary); }

/* ===== Welcome band (§6) ===== */
.pg-apx-welcome { align-items: center; }
.pg-apx-welcome__meta { display: grid; gap: 8px; min-width: 0; }
.pg-apx-welcome b { font-size: 1.0625rem; }
.pg-apx-welcome__chips { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pg-apx-chip {
        display: inline-flex; align-items: center; gap: 5px;
        font-size: 0.65625rem; font-weight: 700; border-radius: var(--pg-round); padding: 3px 10px;
}
.pg-apx-chip .pg-ico { width: 12px; height: 12px; }
.pg-apx-chip--glass { background: rgba(255, 255, 255, 0.16); color: #fff; border: 1px solid rgba(255, 255, 255, 0.22); }
.pg-apx-chip--gold { background: #FDE68A; color: #92400E; border: 1px solid rgba(146, 64, 14, 0.2); }
.pg-apx-welcome__sum { font-size: 0.71875rem; color: rgba(255, 255, 255, 0.82); position: relative; z-index: 1; }
.pg-apx-welcome__sum b { color: #fff; font-weight: 900; }

/* ===== KPI cards (§7 §40) ===== */
.pg-apx-kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (min-width: 640px) { .pg-apx-kpis { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .pg-apx-kpis { grid-template-columns: repeat(7, 1fr); } }
.pg-apx-kpi {
        background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg);
        padding: var(--pg-space-4) var(--pg-space-3); display: grid; justify-items: center; gap: 6px; text-align: center;
        text-decoration: none; color: var(--pg-fg);
        transition: transform var(--pg-dur) var(--pg-ease), border-color var(--pg-dur) var(--pg-ease), box-shadow var(--pg-dur) var(--pg-ease);
}
.pg-apx-kpi .pg-tile { width: 40px; height: 40px; }
.pg-apx-kpi b { font-size: 1.125rem; font-weight: 900; line-height: 1.4; }
.pg-apx-kpi__label { font-size: 0.65625rem; color: var(--pg-fg-muted); }
.pg-apx-kpi:hover { transform: translateY(-2px); border-color: var(--pg-primary-softer); box-shadow: var(--pg-shadow-soft); color: var(--pg-primary); }

/* Quick actions (§11) — reuses .pg-acct-quick base */
.pg-apx-quick .pg-acct-quick__item { cursor: pointer; }

/* ===== VIP cards (§9 §43) ===== */
.pg-apx-vipcard {
        display: flex; gap: var(--pg-space-4); align-items: flex-start; flex-wrap: wrap;
        background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg);
        padding: var(--pg-space-5);
}
.pg-apx-vipcard__badge {
        width: 52px; height: 52px; flex: 0 0 auto; border-radius: var(--pg-radius-lg);
        display: grid; place-items: center; color: #fff; background: var(--pg-grad-cool);
}
.pg-apx-vipcard--active { border-color: rgba(234, 88, 12, 0.35); background: linear-gradient(135deg, var(--pg-accent-soft), var(--pg-surface) 55%); }
.pg-apx-vipcard--active .pg-apx-vipcard__badge { background: var(--pg-grad-warm); }
.pg-apx-vipcard__body { min-width: 220px; flex: 1; }
.pg-apx-vipcard__body b { font-size: 0.9375rem; display: block; margin-bottom: 4px; }
.pg-apx-vipcard__body p { font-size: 0.78125rem; color: var(--pg-fg-muted); }
.pg-apx-vipcard__benefits { display: grid; gap: 8px; margin: 0; }
.pg-apx-vipcard__benefits li { display: flex; align-items: center; gap: 6px; font-size: 0.78125rem; font-weight: 600; }
.pg-apx-vipcard__benefits .pg-ico { width: 15px; height: 15px; color: var(--pg-success); flex: 0 0 auto; }
.pg-apx-vipcard__actions { align-self: center; }
.pg-apx-vipstrip {
        display: flex; align-items: center; gap: var(--pg-space-4); flex-wrap: wrap;
        background: var(--pg-grad-cool); color: #fff; border-radius: var(--pg-radius-lg);
        padding: var(--pg-space-4) var(--pg-space-5); position: relative; overflow: hidden;
}
.pg-apx-vipstrip > .pg-ico { width: 28px; height: 28px; color: #FDE68A; position: relative; z-index: 1; }
.pg-apx-vipstrip > div { flex: 1; min-width: 200px; position: relative; z-index: 1; }
.pg-apx-vipstrip b { display: block; font-size: 0.875rem; }
.pg-apx-vipstrip span { font-size: 0.71875rem; color: rgba(255, 255, 255, 0.78); }
.pg-apx-vipstrip--active { background: linear-gradient(135deg, #92400E, var(--pg-accent) 65%, var(--pg-accent-bright)); }
.pg-apx-vipstrip__actions { position: relative; z-index: 1; }
.pg-apx-levels { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.pg-apx-level { background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); }
.pg-apx-level.is-mine { border-color: var(--pg-accent); box-shadow: 0 0 0 3px var(--pg-accent-soft); }
.pg-apx-level__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.pg-apx-level__head b { font-size: 0.8125rem; }

/* ===== Tables (§13 §14 §16 §17 §18) ===== */
.pg-apx-table { font-size: 0.8125rem; }
.pg-apx-table .pg-apx-num { font-weight: 800; color: var(--pg-primary-strong); }
.pg-apx-actions { white-space: nowrap; text-align: end; display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.pg-apx-subject { font-weight: 700; color: var(--pg-fg); text-decoration: none; }
.pg-apx-subject:hover { color: var(--pg-primary); }
.pg-apx-desc { display: block; font-size: 0.71875rem; color: var(--pg-fg-soft); }

/* Totals strip */
.pg-apx-totals { display: grid; gap: 8px; padding: var(--pg-space-4) var(--pg-space-2) 0; border-top: 1px dashed var(--pg-border); margin-top: var(--pg-space-2); }
.pg-apx-totals span { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 0.78125rem; }
.pg-apx-totals i { font-style: normal; color: var(--pg-fg-soft); font-size: 0.71875rem; }
.pg-apx-totals b { font-weight: 800; }
.pg-apx-totals__all b { color: var(--pg-primary-strong); font-size: 0.9375rem; }

/* ===== Timeline (§12 §15 §20) ===== */
.pg-apx-tl { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.pg-apx-tl__item { display: flex; gap: 12px; align-items: flex-start; position: relative; padding-bottom: var(--pg-space-4); }
.pg-apx-tl__item:last-child { padding-bottom: 0; }
.pg-apx-tl__item::before {
        content: ""; position: absolute; top: 26px; inset-inline-start: 13px; bottom: 2px;
        width: 2px; background: var(--pg-border);
}
.pg-apx-tl__item:last-child::before { display: none; }
.pg-apx-tl__dot {
        width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; z-index: 1;
        display: inline-flex; align-items: center; justify-content: center;
        background: var(--pg-surface-2); color: var(--pg-fg-soft); border: 2px solid var(--pg-border);
}
.pg-apx-tl__dot .pg-ico { width: 12px; height: 12px; }
.pg-apx-tl__item.is-done .pg-apx-tl__dot { background: var(--pg-primary-soft); border-color: var(--pg-primary); color: var(--pg-primary); }
.pg-apx-tl__item.is-rejected .pg-apx-tl__dot { background: var(--pg-danger-soft); border-color: var(--pg-danger); color: var(--pg-danger); }
.pg-apx-tl__item > div { min-width: 0; }
.pg-apx-tl__item b { display: block; font-size: 0.8125rem; }
.pg-apx-tl__item .pg-apx-muted { display: block; font-size: 0.71875rem; }
.pg-apx-tl--feed .pg-apx-tl__item b { font-size: 0.78125rem; }
.pg-apx-tl__go { margin-inline-start: auto; color: var(--pg-fg-soft); align-self: center; }
.pg-apx-tl__go:hover { color: var(--pg-primary); }

/* ===== Ticket thread (§19) ===== */
.pg-apx-thread { display: grid; gap: 12px; margin-bottom: var(--pg-space-4); }
.pg-apx-thread__msg { border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); background: var(--pg-surface-2); }
.pg-apx-thread__msg--agent { background: var(--pg-primary-softer); border-color: rgba(14, 116, 144, 0.25); }
.pg-apx-thread__msg--system { background: transparent; border-style: dashed; color: var(--pg-fg-muted); }
.pg-apx-thread__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.pg-apx-thread__head b { font-size: 0.78125rem; color: var(--pg-primary-strong); }
.pg-apx-thread__head time { font-size: 0.6875rem; color: var(--pg-fg-soft); }
.pg-apx-thread__body { font-size: 0.8125rem; line-height: var(--pg-lh); white-space: pre-wrap; }
.pg-apx-thread__atts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.pg-apx-thread__att {
        display: inline-flex; align-items: center; gap: 5px; font-size: 0.6875rem; font-weight: 600;
        background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-round); padding: 4px 10px;
}
.pg-apx-thread__att .pg-ico { width: 12px; height: 12px; }
.pg-apx-reply__row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* ===== Documents center (§21) ===== */
.pg-apx-docfilters { display: grid; gap: 10px; margin-bottom: var(--pg-space-4); }
.pg-apx-docfilters__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.pg-apx-docfilters__search { display: flex; gap: 8px; }
.pg-apx-docfilters__search input[type="search"] {
        flex: 1; height: 42px; border: 1px solid var(--pg-input); border-radius: var(--pg-radius);
        padding: 0 var(--pg-space-4); font-size: 0.8125rem; background: var(--pg-surface);
}
.pg-apx-docgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.pg-apx-doc { background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); display: grid; gap: 8px; align-content: start; transition: border-color var(--pg-dur) var(--pg-ease), box-shadow var(--pg-dur) var(--pg-ease); }
.pg-apx-doc:hover { border-color: var(--pg-primary-softer); box-shadow: var(--pg-shadow-soft); }
.pg-apx-doc__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pg-apx-doc__title { font-size: 0.8125rem; font-weight: 800; line-height: 1.8; }
.pg-apx-doc__actions { margin-top: auto; }

/* ===== Notifications (§24) ===== */
.pg-apx-notifs { display: grid; gap: 8px; }
.pg-apx-notif {
        display: flex; gap: 12px; align-items: flex-start; background: var(--pg-surface);
        border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-4);
        transition: border-color var(--pg-dur) var(--pg-ease);
}
.pg-apx-notif.is-unread { border-color: rgba(14, 116, 144, 0.35); background: var(--pg-primary-softer); cursor: pointer; }
.pg-apx-notif.is-unread:hover { border-color: var(--pg-primary); }
.pg-apx-notif__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--pg-border-strong); flex: 0 0 auto; margin-top: 6px; }
.pg-apx-notif.is-unread .pg-apx-notif__dot { background: var(--pg-accent); }
.pg-apx-notif__body { min-width: 0; flex: 1; }
.pg-apx-notif__body b { display: block; font-size: 0.8125rem; margin-bottom: 2px; }
.pg-apx-notif__body p { font-size: 0.75rem; color: var(--pg-fg-muted); }
.pg-apx-notif__body time { font-size: 0.6875rem; }
.pg-apx-notif__new { flex: 0 0 auto; font-size: 0.625rem; font-weight: 800; color: var(--pg-accent-strong); background: var(--pg-accent-soft); border-radius: var(--pg-round); padding: 3px 8px; }

/* ===== Support center (§18 hub) ===== */
.pg-apx-channels { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: var(--pg-space-4); }
@media (min-width: 640px) { .pg-apx-channels { grid-template-columns: repeat(3, 1fr); } }
.pg-apx-channel { display: flex; align-items: center; gap: 12px; background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-4); }
.pg-apx-channel .pg-tile { width: 42px; height: 42px; flex: 0 0 auto; }
.pg-apx-channel b { display: block; font-size: 0.78125rem; }
.pg-apx-channel a, .pg-apx-channel span { font-size: 0.78125rem; color: var(--pg-fg-muted); text-decoration: none; }
.pg-apx-channel a:hover { color: var(--pg-primary); }
.pg-apx-links { display: grid; gap: 8px; }
.pg-apx-link {
        display: flex; align-items: center; gap: 8px; background: var(--pg-surface); border: 1px solid var(--pg-border);
        border-radius: var(--pg-radius); padding: 12px var(--pg-space-4); font-size: 0.8125rem; font-weight: 700;
        color: var(--pg-fg); text-decoration: none; transition: border-color var(--pg-dur) var(--pg-ease), color var(--pg-dur) var(--pg-ease);
}
.pg-apx-link .pg-ico:last-child { margin-inline-start: auto; color: var(--pg-fg-soft); }
.pg-apx-link:hover { border-color: var(--pg-primary-softer); color: var(--pg-primary); }

/* ===== Wishlist (§22) ===== */
.pg-apx-wishgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.pg-apx-wish { background: var(--pg-surface); border: 1px solid var(--pg-border); border-radius: var(--pg-radius-lg); padding: var(--pg-space-3); display: grid; gap: 8px; align-content: start; }
.pg-apx-wish img { width: 100%; height: 120px; object-fit: contain; border-radius: var(--pg-radius); background: var(--pg-surface-2); }
.pg-apx-wish b { font-size: 0.8125rem; line-height: 1.8; }
.pg-apx-wish b a { color: var(--pg-fg); text-decoration: none; }
.pg-apx-wish b a:hover { color: var(--pg-primary); }
.pg-apx-wish .price { font-size: 0.75rem; color: var(--pg-primary-strong); font-weight: 800; }
.pg-apx-wish__actions { display: flex; gap: 6px; }
.pg-apx-wish__actions .pg-btn { flex: 1; }

/* ===== Profile security (§26) ===== */
.pg-apx-secrow { display: flex; align-items: center; gap: 12px; padding: var(--pg-space-3) 0; border-bottom: 1px dashed var(--pg-border); }
.pg-apx-secrow:last-of-type { border-bottom: 0; }
.pg-apx-secrow .pg-ico { width: 18px; height: 18px; color: var(--pg-success); flex: 0 0 auto; }
.pg-apx-secrow > div { flex: 1; min-width: 0; }
.pg-apx-secrow b { display: block; font-size: 0.8125rem; }
.pg-apx-sessions { display: grid; gap: 8px; margin-bottom: var(--pg-space-3); }
.pg-apx-session { background: var(--pg-surface-2); border: 1px solid var(--pg-border); border-radius: var(--pg-radius); padding: 10px 14px; }
.pg-apx-session.is-current { border-color: rgba(5, 150, 105, 0.35); background: var(--pg-success-soft); }
.pg-apx-session b { display: block; font-size: 0.78125rem; }
.pg-apx-session .pg-apx-muted { font-size: 0.6875rem; }
.pg-apx-note { font-size: 0.71875rem; color: var(--pg-fg-soft); margin-top: var(--pg-space-3); }
.pg-apx-prose { font-size: 0.8125rem; line-height: var(--pg-lh); }
.pg-apx-emptysum { font-size: 0.78125rem; }
.pg-apx-guest { max-width: 480px; margin-inline: auto; padding-block: var(--pg-space-8); }
.pg-apx-fullcompare { display: inline-flex; align-items: center; gap: 4px; font-size: 0.8125rem; font-weight: 700; color: var(--pg-primary); margin-top: var(--pg-space-4); }

/* ===== Bottom nav account variant (§28) ===== */
.pg-bottomnav--account { grid-template-columns: repeat(5, 1fr); }
@media (min-width: 1024px) { .pg-bottomnav--account { display: none; } }

/* Body padding so fixed bottom nav doesn't cover content (§27) */
body.pg-account-page { }
@media (max-width: 1023px) {
        body.pg-account-page .pg-footer { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ===== Responsive (§29) ===== */
@media (max-width: 1023px) {
        .pg-apx-shell { grid-template-columns: 1fr; }
        .pg-apx-side { display: none; } /* sidebar → drawer + mhead */
}
@media (min-width: 1024px) {
        .pg-apx-drawer { display: none !important; }
}
@media (max-width: 640px) {
        .pg-apx-wrap { padding-block: var(--pg-space-4) var(--pg-space-6); }
        .pg-apx-card { padding: var(--pg-space-4); border-radius: var(--pg-radius); }
        .pg-apx-head__title { font-size: 1rem; }
        .pg-dash-welcome { padding: var(--pg-space-4) var(--pg-space-4); }
        .pg-apx-vipstrip { padding: var(--pg-space-4); }
        .pg-apx-vipstrip .pg-btn { width: 100%; justify-content: center; }
        .pg-apx-hide-sm { display: none; }
        .pg-apx-table th, .pg-apx-table td { padding: 10px 8px; font-size: 0.75rem; }
        .pg-apx-totals { font-size: 0.75rem; }
}
@media (max-width: 430px) {
        .pg-apx-kpis { grid-template-columns: repeat(2, 1fr); }
        .pg-apx-quick { grid-template-columns: repeat(2, 1fr) !important; }
        .pg-apx-quick .pg-acct-quick__item:nth-child(5) { grid-column: 1 / -1; }
        .pg-apx-channel { flex-direction: column; align-items: flex-start; }
        .pg-apx-actions { flex-direction: column; align-items: stretch; gap: 6px; }
}
@media (max-width: 360px) {
        .pg-apx-kpi b { font-size: 1rem; }
        .pg-apx-welcome b { font-size: 0.9375rem; }
}

/* ===== Accessibility (§35) ===== */
.pg-apx-notif.is-unread:focus-visible, .pg-apx-kpi:focus-visible, .pg-acct-nav__link:focus-visible,
.pg-apx-mhead__burger:focus-visible, .pg-apx-mhead__bell:focus-visible {
        outline: 2px solid var(--pg-ring); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
        .pg-apx-kpi:hover, .pg-apx-kpi { transform: none; }
        .pg-apx-wish, .pg-apx-doc { transition: none; }
}

/* Print (§31 tidy) */
@media print {
        .pg-apx-side, .pg-apx-mhead, .pg-bottomnav, .pg-apx-drawer, .pg-apx-head__action { display: none !important; }
        .pg-apx-card { border-color: var(--pg-border-strong); box-shadow: none; }
}
