/* Customer account shell. Geometry follows measured authenticated ecommerce-panel
   patterns while color, typography, content and interaction remain PlusPremium's. */
:root {
  --acc-sidebar-width:244px; --acc-header-height:68px; --acc-mobile-header:64px;
  --account-mobile-nav-height:66px; --account-mobile-action-height:72px;
  --account-mobile-safe-bottom:env(safe-area-inset-bottom,0px); --account-mobile-keyboard-offset:0px;
  --acc-space-1:4px; --acc-space-2:8px; --acc-space-3:12px; --acc-space-4:16px;
  --acc-space-5:20px; --acc-space-6:24px; --acc-space-8:32px; --acc-space-10:40px;
  --acc-radius-sm:10px; --acc-radius-md:16px; --acc-radius-lg:22px; --acc-radius:var(--acc-radius-md);
  --acc-page-max:1480px; --acc-form-max:800px; --acc-readable-max:1040px; --acc-content-gap:var(--acc-space-6);
  --motion-fast:140ms; --motion-normal:220ms; --motion-slow:300ms;
  --ease-standard:cubic-bezier(.2,.7,.2,1); --ease-enter:cubic-bezier(.16,1,.3,1); --ease-exit:cubic-bezier(.4,0,1,1); --ease-spring-soft:cubic-bezier(.2,.9,.25,1.1);
  --acc-ease:var(--ease-standard); --acc-ease-emphasized:var(--ease-enter); --acc-fast:var(--motion-fast); --acc-normal:var(--motion-normal); --acc-slow:var(--motion-slow);
  --acc-canvas:#1F2024; --acc-sidebar:#26272B; --acc-surface:#2B2C30;
  --acc-surface-2:#33343A; --acc-border:rgba(255,255,255,.09);
  --acc-border-strong:rgba(255,255,255,.16); --acc-shadow:0 12px 30px rgba(0,0,0,.22);
  --acc-surface-muted:var(--acc-surface-2); --acc-text:var(--text); --acc-text-muted:var(--muted);
  --acc-primary:var(--accent); --acc-success:var(--ok); --acc-warning:var(--wait); --acc-danger:var(--danger);
  --acc-commerce:#FEDB99; --acc-commerce-hover:#F4CA78; --acc-commerce-text:#1F2024;
  --acc-accent-surface:rgba(254,219,153,.13); --acc-accent-surface-strong:rgba(254,219,153,.23);
  --acc-warm-surface:linear-gradient(145deg,#33343A,rgba(254,219,153,.12));
  --acc-field:#33343A; --acc-summary:#191A1D; --acc-summary-text:#FFFFFF;
  --acc-focus-ring:rgba(254,219,153,.28); --acc-neutral-shadow:rgba(0,0,0,.18);
}
body[data-theme="light"] {
  --acc-canvas:#FAFAFA; --acc-sidebar:#FFFFFF; --acc-surface:#FFFFFF; --acc-surface-2:#F6F6F7;
  --acc-border:rgba(31,32,36,.12); --acc-border-strong:rgba(31,32,36,.20);
  --acc-shadow:0 18px 55px rgba(31,32,36,.10);
  --acc-commerce:#1F2024; --acc-commerce-hover:#2B2C30; --acc-commerce-text:#FFFFFF;
  --acc-accent-surface:rgba(254,219,153,.24); --acc-accent-surface-strong:rgba(254,219,153,.52);
  --acc-warm-surface:linear-gradient(145deg,#FFFFFF,rgba(254,219,153,.27));
  --acc-field:#F6F6F7; --acc-summary:#1F2024; --acc-summary-text:#FFFFFF;
  --acc-focus-ring:rgba(137,92,12,.17); --acc-neutral-shadow:rgba(31,32,36,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; }
body.acc-app, .acc-app .page { min-height:100dvh; background:var(--acc-canvas); }
.acc-app .page { overflow-x:clip; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button, a { touch-action:manipulation; }
button, input, select, textarea { font-family:inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--accent-line2); outline-offset:2px; }

/* Full-screen shell */
#accHeader { position:fixed; z-index:80; top:0; right:var(--acc-sidebar-width); left:0; height:var(--acc-header-height); background:var(--acc-surface); }
.acc-header-inner { width:100%; height:100%; display:flex; align-items:center; gap:18px; padding:0 24px; }
.acc-layout { min-height:100dvh; padding-top:var(--acc-header-height); padding-right:var(--acc-sidebar-width); }
#accSidebar { position:fixed; z-index:90; inset:0 0 0 auto; width:var(--acc-sidebar-width); display:flex; flex-direction:column; overflow-y:auto; background:var(--acc-sidebar); }
#accMain { width:100%; min-width:0; min-height:calc(100dvh - var(--acc-header-height)); padding:28px 34px 64px; }
.acc-skip-link { position:fixed; z-index:200; top:8px; right:calc(var(--acc-sidebar-width) + 16px); transform:translateY(-180%); padding:9px 14px; border-radius:var(--acc-radius-sm); background:var(--accent); color:var(--ink-on-accent); font-size:12px; font-weight:800; }
.acc-skip-link:focus { transform:translateY(0); }

/* Header */
.acc-mobile-nav-toggle, .acc-mobile-logout, .acc-mobile-bottom-nav { display:none; }
.acc-header-context { min-width:180px; display:flex; align-items:center; gap:7px; }
.acc-header-context small { color:var(--faint); font-size:10px; }
.acc-header-context b { color:var(--ink); font-size:13px; }
.acc-brand { display:none; min-width:150px; }
.acc-brand .logo-mark { width:36px; height:36px; border-radius:9px; }
.acc-brand .logo-name { font-size:15px; }
.acc-brand .logo-tag { font-size:9.5px; }
.acc-store-link { display:inline-flex; align-items:center; min-height:38px; padding:0 13px; border:1px solid var(--acc-border); border-radius:var(--acc-radius-sm); color:var(--muted); font-size:12px; font-weight:650; }
.acc-store-link:hover { color:var(--ink); border-color:var(--acc-border-strong); }
.acc-header-actions { margin-right:auto; display:flex; align-items:center; gap:8px; min-width:0; }
.acc-header-icon, .theme-btn { position:relative; width:38px; height:38px; display:grid; place-items:center; flex:none; border:1px solid transparent; border-radius:var(--acc-radius-sm); background:transparent; color:var(--muted); cursor:pointer; }
.acc-header-icon:hover, .theme-btn:hover { background:var(--acc-surface-2); color:var(--ink); border-color:var(--acc-border); }
.acc-badge { min-width:18px; height:18px; display:inline-grid; place-items:center; padding:0 4px; border:2px solid var(--acc-surface); border-radius:20px; background:var(--danger); color:#fff; font-size:8px; line-height:1; }
.acc-header-icon .acc-badge { position:absolute; top:-4px; left:-4px; }
.acc-wallet-shortcut { min-width:128px; height:38px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:0 11px; border:1px solid var(--acc-border); border-radius:var(--acc-radius-sm); background:var(--acc-surface-2); color:var(--text); cursor:pointer; }
.acc-wallet-shortcut small { color:var(--faint); font-size:8.5px; }
.acc-wallet-shortcut b { font-size:10.5px; font-weight:750; }
.acc-user-chip { height:38px; max-width:160px; display:flex; align-items:center; gap:8px; padding:0 5px 0 10px; border:1px solid var(--acc-border); border-radius:var(--acc-radius-sm); background:transparent; color:var(--text); cursor:pointer; }
.acc-user-chip > b, .acc-sidebar-user > span { width:28px; height:28px; display:grid; place-items:center; flex:none; border-radius:7px; background:var(--accent); color:var(--ink-on-accent); font-size:11px; }
.acc-user-chip > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; font-weight:700; }
.acc-impersonation { color:var(--wait); font-size:10px; }

/* Sidebar */
.acc-sidebar-brand { min-height:68px; display:flex; align-items:center; gap:10px; padding:0 17px; color:var(--ink); }
.acc-sidebar-brand > span:last-child { min-width:0; }
.acc-sidebar-brand b, .acc-sidebar-brand small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acc-sidebar-brand b { font-size:13px; }
.acc-sidebar-brand small { margin-top:2px; color:var(--faint); font-size:8.5px; }
.acc-sidebar-user { min-height:104px; display:flex; align-items:center; gap:12px; padding:18px 17px; border-top:1px solid var(--acc-border); border-bottom:1px solid var(--acc-border); }
.acc-sidebar-user > span { width:38px; height:38px; border-radius:10px; font-size:14px; }
.acc-sidebar-user div { min-width:0; }
.acc-sidebar-user b, .acc-sidebar-user small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acc-sidebar-user b { color:var(--ink); font-size:12px; }
.acc-sidebar-user small { margin-top:2px; color:var(--faint); font-size:9px; }
.acc-sidebar-nav { flex:1; display:flex; flex-direction:column; gap:4px; padding:10px 16px 18px; }
.acc-nav-label { padding:6px 11px; color:var(--dim); font-size:9px; font-weight:700; }
.acc-nav-btn { position:relative; width:100%; min-height:45px; display:flex; align-items:center; gap:12px; padding:0 16px 0 8px; border:0; border-radius:var(--acc-radius-sm); background:transparent; color:var(--muted); text-align:right; font-size:12.8px; font-weight:500; cursor:pointer; transition:background var(--acc-fast),color var(--acc-fast); }
.acc-nav-btn .ic { width:22px; flex:none; color:var(--faint); }
.acc-nav-btn > span:not(.ic):not(.acc-badge) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acc-nav-btn:hover { background:var(--acc-surface-2); color:var(--ink); }
.acc-nav-btn.active { background:var(--acc-accent-surface-strong); color:var(--ink); font-weight:700; }
.acc-nav-btn.active::before { content:""; position:absolute; inset:10px 0 10px auto; width:3px; border-radius:3px 0 0 3px; background:var(--accent); }
.acc-nav-btn.active .ic { color:var(--accent-ink); }
.acc-nav-btn .acc-badge { margin-right:auto; border:0; }
.acc-nav-chevron { width:18px; height:18px; display:grid; place-items:center; margin-right:auto; color:var(--faint); transition:transform var(--acc-fast); }
.acc-nav-chevron.open { transform:rotate(180deg); }
.acc-store-submenu { max-height:0; display:grid; gap:2px; overflow:hidden; padding:0 28px 0 4px; opacity:0; transition:max-height var(--acc-normal) var(--acc-ease),padding var(--acc-normal),opacity var(--acc-fast); }
.acc-store-submenu.open { max-height:420px; overflow-y:auto; padding-top:3px; padding-bottom:5px; opacity:1; overscroll-behavior:contain; }
.acc-store-submenu button { position:relative; min-height:31px; padding:0 14px 0 6px; overflow:hidden; border:0; border-radius:6px; background:transparent; color:var(--faint); text-align:right; text-overflow:ellipsis; white-space:nowrap; font:600 10px inherit; cursor:pointer; }
.acc-store-submenu button::before { content:""; position:absolute; top:50%; right:2px; width:5px; height:5px; border:1px solid currentColor; border-radius:50%; transform:translateY(-50%); }
.acc-store-submenu button:hover { color:var(--text); background:var(--acc-surface-2); }
.acc-store-submenu button.active { color:var(--accent-ink); background:var(--accent-soft); font-weight:750; }
.acc-nav-divider { height:1px; margin:8px; background:var(--acc-border); }
.acc-back-store { text-decoration:none; }
.acc-sidebar-logout { margin-top:auto; color:var(--danger); }
.acc-sidebar-theme { display:none; }
.acc-sidebar-backdrop { display:none; }

/* Shared page and component system */
.acc-view { width:100%; max-width:var(--acc-page-max); min-width:0; margin-inline:auto; animation:acc-view-in var(--acc-normal) var(--acc-ease); }
@keyframes acc-view-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.ui-page { display:grid; gap:var(--acc-content-gap); }
.ui-page-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:var(--acc-space-6); }
.ui-page-heading { min-width:0; }
.ui-page-header h1 { margin:0; color:var(--ink); font-size:28px; line-height:1.35; font-weight:900; letter-spacing:-.02em; }
.ui-page-header p { max-width:720px; margin-top:var(--acc-space-2); color:var(--acc-text-muted); font-size:13px; line-height:1.85; }
.ui-page-actions, .ui-section-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--acc-space-2); }
.ui-page-feedback:empty, .ui-page-toolbar:empty { display:none; }
.ui-page-content { min-width:0; display:grid; gap:var(--acc-content-gap); }
.ui-section, .ui-card { min-width:0; border:1px solid var(--acc-border); border-radius:var(--acc-radius-md); background:var(--acc-surface); box-shadow:0 8px 28px rgba(38,53,83,.045); }
.ui-section { padding:var(--acc-space-6); }
.ui-section-header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--acc-space-4); margin-bottom:var(--acc-space-4); }
.ui-section-header h2 { color:var(--ink); font-size:17px; }
.ui-section-header p { margin-top:var(--acc-space-1); color:var(--acc-text-muted); font-size:12px; line-height:1.75; }
.ui-section-header > div > span { color:var(--faint); font-size:10px; }
.ui-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:var(--acc-space-2); padding:0 18px; border:1px solid var(--acc-border-strong); border-radius:11px; background:transparent; color:var(--acc-text); font:800 12px inherit; text-decoration:none; cursor:pointer; transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast); }
.ui-button:hover { border-color:var(--accent-line); background:var(--acc-surface-muted); transform:translateY(-1px); }
.ui-button:active { transform:translateY(1px) scale(.99); }
.ui-button--primary { border-color:var(--acc-primary); background:var(--acc-primary); color:var(--ink-on-accent); box-shadow:0 8px 18px rgba(207,159,42,.16); }
.ui-button--ghost { border-color:transparent; color:var(--accent-ink); }
.ui-button--danger { border-color:var(--danger-line); color:var(--acc-danger); }
.ui-button:disabled { opacity:.52; cursor:not-allowed; transform:none; }
.ui-button-badge { min-width:20px; height:20px; display:grid; place-items:center; border-radius:10px; background:var(--accent-soft); color:var(--accent-ink); font-size:9px; }
.ui-icon-button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--acc-border); border-radius:var(--acc-radius-sm); background:transparent; color:var(--acc-text-muted); cursor:pointer; transition:background var(--acc-fast),color var(--acc-fast),transform var(--acc-fast); }
.ui-icon-button:hover { background:var(--acc-surface-muted); color:var(--acc-text); }
.ui-icon-button:active { transform:scale(.96); }
.ui-status { position:relative; min-height:27px; padding:4px 10px; font-size:10px; }
.ui-status::before { display:none; }
.ui-status i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.ui-segmented { width:max-content; max-width:100%; display:flex; gap:var(--acc-space-1); overflow:auto; padding:var(--acc-space-1); border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface); }
.ui-segmented-item { min-height:38px; display:flex; align-items:center; gap:var(--acc-space-2); padding:0 14px; border:0; border-radius:8px; background:transparent; color:var(--acc-text-muted); font:700 11px inherit; white-space:nowrap; cursor:pointer; transition:background var(--acc-fast),color var(--acc-fast),transform var(--acc-fast); }
.ui-segmented-item.active { background:var(--acc-accent-surface-strong); color:var(--ink); font-weight:800; }
.ui-segmented-item b { color:var(--faint); font-size:8.5px; }
.ui-search { display:grid; grid-template-columns:1fr; align-items:center; gap:var(--acc-space-2); }
.ui-search-label { color:var(--ink); font-size:12px; font-weight:800; }
.ui-search-control { min-height:50px; display:flex; align-items:center; gap:var(--acc-space-3); padding:0 var(--acc-space-4); border:1px solid var(--acc-border-strong); border-radius:12px; background:var(--acc-surface-muted); color:var(--faint); transition:border-color var(--acc-fast),box-shadow var(--acc-fast),background var(--acc-fast); }
.ui-search-control:focus-within { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-soft); }
.ui-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--acc-text); font:650 12px inherit; }
.ui-search small { white-space:nowrap; }
.ui-data-list { min-width:0; display:grid; }
.ui-data-row { width:100%; min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:var(--acc-space-4); min-height:88px; padding:16px; border:0; border-bottom:1px solid var(--acc-border); background:transparent; color:var(--acc-text); text-align:right; transition:background var(--acc-fast),transform var(--acc-fast); }
.ui-data-row:last-child { border-bottom:0; }
button.ui-data-row, a.ui-data-row { cursor:pointer; text-decoration:none; }
button.ui-data-row:hover, a.ui-data-row:hover { background:var(--acc-surface-muted); }
button.ui-data-row:active, a.ui-data-row:active { transform:scale(.998); }
.ui-data-row-leading { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; background:var(--acc-surface-muted); color:var(--accent-ink); }
.ui-data-row-copy, .ui-data-row-title, .ui-data-row-description, .ui-data-row-meta { min-width:0; display:block; }
.ui-data-row-title { color:var(--ink); font-size:13px; font-weight:800; }
.ui-data-row-description { margin-top:5px; color:var(--acc-text-muted); font-size:11px; line-height:1.7; }
.ui-data-row-meta { margin-top:5px; color:var(--faint); font-size:10px; }
.ui-data-row-trailing { display:flex; align-items:center; justify-content:flex-end; gap:var(--acc-space-2); }
.ui-order-row { grid-template-columns:52px minmax(240px,1fr) auto; min-height:106px; }
.ui-order-row .ui-data-row-title { display:flex; align-items:center; flex-wrap:wrap; gap:var(--acc-space-2); }
.ui-order-row .ui-data-row-title span { color:var(--faint); font-size:9px; font-weight:600; }
.ui-order-row .ui-data-row-trailing { min-width:310px; }
.ui-order-row .ui-price { min-width:90px; }
.ui-order-row .ui-data-row-leading { overflow:hidden; padding:3px; }
.ui-order-row .ui-data-row-leading img { width:100%; height:100%; object-fit:contain; border-radius:9px; }
.ui-order-row .ui-data-row-leading .acc-product-fallback { width:100%; height:100%; border-radius:9px; }
.ui-order-row .ui-data-row-leading .acc-product-fallback b { width:100%; min-width:0; min-height:0; height:100%; padding:2px; border-radius:7px; box-shadow:none; font-size:12px; }
.ui-form-section { padding:var(--acc-space-6); border:1px solid var(--acc-border); border-radius:var(--acc-radius-md); background:var(--acc-surface); }
.ui-form-section > header { display:flex; justify-content:space-between; gap:var(--acc-space-4); margin-bottom:var(--acc-space-4); }
.ui-form-section h2 { color:var(--ink); font-size:17px; }
.ui-form-section header p { margin-top:var(--acc-space-1); color:var(--acc-text-muted); font-size:11px; line-height:1.75; }
.ui-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--acc-space-4) var(--acc-space-3); }
.ui-field { min-width:0; }
.ui-label { display:block; margin-bottom:var(--acc-space-2); }
.ui-input { transition:border-color var(--acc-fast),box-shadow var(--acc-fast),background var(--acc-fast); }
.ui-input:focus { border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-soft); }
.ui-input:disabled, .ui-input[readonly] { color:var(--faint); cursor:not-allowed; }
.ui-state { min-height:340px; }
.ui-state-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--acc-space-2); }
.ui-skeleton { min-height:340px; }
.ui-skeleton-stack { display:grid; gap:var(--acc-space-3); }
.ui-skeleton-row { height:62px; }
.ui-copy-field code { min-width:0; overflow-wrap:anywhere; }
.ui-price { display:grid; gap:var(--acc-space-1); }
.ui-price small { color:var(--faint); font-size:8.5px; }
.ui-price strong { color:var(--ink); font-size:12px; }
.ui-modal-overlay { position:fixed; z-index:160; inset:0; display:grid; place-items:center; padding:var(--acc-space-4); background:rgba(7,9,14,.68); animation:ui-overlay-in var(--acc-normal) var(--acc-ease) both; }
.ui-modal { position:relative; width:min(520px,100%); max-height:min(90dvh,760px); overflow:auto; padding:var(--acc-space-6); border:1px solid var(--acc-border-strong); border-radius:var(--acc-radius-lg); background:var(--acc-surface); color:var(--acc-text); box-shadow:var(--acc-shadow); animation:ui-modal-in var(--acc-slow) var(--acc-ease-emphasized) both; }
.ui-modal-close { position:absolute; top:var(--acc-space-3); left:var(--acc-space-3); }
.ui-modal-actions { display:flex; justify-content:flex-end; gap:var(--acc-space-2); margin-top:var(--acc-space-5); }
.ui-toast { display:flex; align-items:center; gap:var(--acc-space-3); }
.ui-toast b { min-width:0; flex:1; }
.ui-toast-close { flex:none; }
@keyframes ui-overlay-in { from { opacity:0; } }
@keyframes ui-modal-in { from { opacity:0; transform:translateY(8px) scale(.99); } }
.ec-page-head, .acc-view-heading, .cx-store-head { min-height:54px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.ec-page-head h1, .acc-view-heading h1, .cx-store-head h1 { margin:0; color:var(--ink); font-size:21px; line-height:1.45; font-weight:800; }
.ec-page-head p, .acc-view-heading p, .cx-store-head p { max-width:660px; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.8; }
.acc-eyebrow { display:block; margin-bottom:4px; color:var(--accent-ink); font-size:9.5px; font-weight:750; }
.gcard, .acc-card { background:var(--acc-surface); border:0; border-radius:var(--acc-radius); box-shadow:none; }
.ec-store-button, .ec-secondary-button, .cx-primary-action, .cx-secondary-action, .cx-cart-link, .acc-state-action, .acc-save-btn, .acc-topup-submit, .acc-purchase-submit, .cx-checkout-submit { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 16px; border:1px solid var(--acc-commerce); border-radius:var(--acc-radius-sm); background:var(--acc-commerce); color:var(--acc-commerce-text); font:750 11px inherit; text-decoration:none; cursor:pointer; }
.ec-secondary-button, .cx-secondary-action, .cx-cart-link { border-color:var(--acc-border-strong); background:transparent; color:var(--text); }
.ec-text-button, .cx-back, .ec-back-button, .acc-conversation-back { border:0; background:transparent; color:var(--accent-ink); font:700 10.5px inherit; cursor:pointer; }
.ec-back-button, .acc-conversation-back { display:inline-flex; align-items:center; gap:6px; margin-bottom:14px; }

/* Feedback and loading */
.acc-inline-notice { display:flex; align-items:center; gap:9px; margin-bottom:14px; padding:10px 12px; border:1px solid var(--ok-line); border-radius:var(--acc-radius-sm); background:var(--ok-soft); color:var(--ok); font-size:10.5px; }
.acc-inline-notice.error { border-color:var(--danger-line); background:var(--danger-soft); color:var(--danger); }
.acc-state { min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; text-align:center; }
.acc-state-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:12px; border-radius:10px; background:var(--acc-surface-2); color:var(--accent-ink); }
.acc-state h3 { color:var(--ink); font-size:13px; }
.acc-state p { max-width:460px; margin-top:6px; color:var(--muted); font-size:10.5px; line-height:1.9; }
.acc-state-actions { margin-top:15px; }
.acc-skeleton { padding:20px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.acc-skeleton-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.acc-skeleton-card, .acc-skeleton-line { display:block; border-radius:8px; background:linear-gradient(90deg,var(--acc-surface-2),var(--acc-border-strong),var(--acc-surface-2)); background-size:200% 100%; animation:acc-shimmer 1.2s linear infinite; }
.acc-skeleton-card { height:90px; }
.acc-skeleton-line { width:80%; height:10px; margin-top:16px; }
.acc-skeleton-line.short { width:45%; }
@keyframes acc-shimmer { to { background-position:-200% 0; } }

/* Authenticated-reference home composition: service overview followed by three
   equal operational columns. */
.ec-overview-card { padding:24px; border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; padding:2px 0; }
.ec-welcome > div > span { display:block; color:var(--accent-ink); font-size:10.5px; font-weight:700; }
.ec-welcome h1 { margin-top:4px; color:var(--ink); font-size:22px; font-weight:800; }
.ec-welcome p { margin-top:4px; color:var(--muted); font-size:11px; }
.ec-focus-card { display:grid; gap:13px; padding:4px 0 0; border:0; border-radius:0; background:transparent; }
.ec-focus-identity { display:flex; align-items:center; gap:14px; }
.ec-focus-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:10px; background:var(--accent-soft); color:var(--accent-ink); }
.ec-focus-copy > span { color:var(--faint); font-size:9.5px; }
.ec-focus-copy h2 { margin-top:4px; color:var(--ink); font-size:15px; }
.ec-focus-copy p { margin-top:5px; color:var(--muted); font-size:10px; }
.ec-focus-status { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.ec-focus-status strong { color:var(--ink); font-size:13px; }
.ec-focus-status button { border:0; background:transparent; color:var(--accent-ink); font:750 10px inherit; cursor:pointer; }
.ec-info-list { display:grid; }
.ec-info-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; min-height:34px; padding:7px 0; border-bottom:1px solid var(--acc-border); }
.ec-info-row:last-child { border-bottom:0; }
.ec-info-row > span { color:var(--muted); font-size:9px; }
.ec-info-row > strong { color:var(--ink); font-size:10px; font-weight:800; text-align:left; }
.ec-info-row > strong .acc-status { font-size:8px; }
.ec-summary-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:7px; }
.ec-summary-actions button { min-height:32px; flex:1; padding:0 10px; border:1px solid var(--acc-border-strong); border-radius:8px; background:transparent; color:var(--text); font:700 9px inherit; cursor:pointer; }
.ec-summary-actions button:first-child { border-color:var(--accent-line); color:var(--accent-ink); }
.ec-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:0; }
.ec-shortcut { min-width:0; min-height:118px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:14px 10px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface-2); color:var(--text); text-align:center; cursor:pointer; }
.ec-shortcut:hover { border-color:var(--acc-border-strong); background:var(--acc-surface-2); }
.ec-shortcut > span { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:var(--acc-surface); color:var(--accent-ink); }
.ec-shortcut b, .ec-shortcut small { display:block; }
.ec-shortcut b { color:var(--ink); font-size:12px; }
.ec-shortcut small { margin-top:3px; color:var(--faint); font-size:8.5px; line-height:1.55; }
.ec-shortcut i { display:none; }
.ec-service-bands { display:grid; gap:10px; margin-top:18px; }
.ec-service-band { min-width:0; min-height:84px; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; padding:12px 18px; border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-service-band header h2 { color:var(--ink); font-size:12px; }
.ec-service-band header button { margin-top:7px; padding:0; border:0; background:transparent; color:var(--accent-ink); font:700 9px inherit; cursor:pointer; }
.ec-service-band > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.ec-service-band > div > button { min-width:0; min-height:58px; display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--text); text-align:right; cursor:pointer; }
.ec-service-band > div > button span { width:30px; height:30px; display:grid; place-items:center; flex:none; border-radius:8px; background:var(--acc-surface); color:var(--accent-ink); }
.ec-service-band > div > button b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.ec-latest-product-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.ec-latest-product { min-width:0; display:flex; align-items:center; gap:8px; padding:8px 9px; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--text); }
.ec-latest-product:hover { border-color:var(--acc-border-strong); }
.ec-latest-product-mark { width:30px; height:30px; display:grid; place-items:center; flex:none; border-radius:8px; background:var(--acc-surface); color:var(--accent-ink); font-size:9px; font-weight:900; }
.ec-latest-product-copy { min-width:0; display:grid; gap:2px; }
.ec-latest-product-copy b, .ec-latest-product-copy small, .ec-latest-product-copy em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ec-latest-product-copy b { color:var(--ink); font-size:9px; }
.ec-latest-product-copy small { color:var(--faint); font-size:7.5px; }
.ec-latest-product-copy em { color:var(--accent-ink); font-size:8px; font-style:normal; font-weight:800; }
.ec-latest-product > i { margin-right:auto; color:var(--accent-ink); font-size:11px; font-style:normal; }
.ec-dashboard-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; overflow:hidden; border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-dashboard-panel { min-width:0; min-height:0; padding:22px 24px; border-left:1px solid var(--acc-border); }
.ec-dashboard-panel:last-child { border-left:0; }
.ec-dashboard-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin-bottom:14px; }
.ec-dashboard-panel > header span { color:var(--faint); font-size:9px; }
.ec-dashboard-panel > header h2 { margin-top:3px; color:var(--ink); font-size:14px; }
.ec-dashboard-panel > header button { border:0; background:transparent; color:var(--accent-ink); font:700 9px inherit; cursor:pointer; }
.ec-home-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,.55fr); gap:12px; align-items:stretch; }
.ec-home-grid > main { min-width:0; }
.ec-home-grid .ec-focus-card, .ec-home-grid .acc-state { height:100%; }
.ec-home-side { overflow:hidden; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-wallet-summary { padding:17px; border-bottom:1px solid var(--acc-border); }
.ec-dashboard-panel .ec-wallet-summary { padding:4px 0 0; border:0; }
.ec-wallet-summary span, .ec-wallet-summary strong { display:block; }
.ec-wallet-summary span { color:var(--faint); font-size:9px; }
.ec-wallet-summary strong { margin-top:6px; color:var(--ink); font-size:16px; }
.ec-wallet-summary button { margin-top:11px; padding:0; border:0; background:transparent; color:var(--accent-ink); font:750 9.5px inherit; cursor:pointer; }
.ec-home-links { display:grid; padding:7px 14px; }
.ec-home-links button { min-height:35px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0; border:0; border-bottom:1px solid var(--acc-border); background:transparent; color:var(--muted); font:650 9px inherit; cursor:pointer; }
.ec-home-links button:last-child { border-bottom:0; }
.ec-home-links b { color:var(--ink); }

/* Status */
.acc-status, .pill { display:inline-flex; align-items:center; gap:5px; width:max-content; min-height:24px; padding:3px 9px; border:1px solid var(--acc-border); border-radius:20px; font-size:8.5px; font-weight:750; white-space:nowrap; }
.acc-status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.acc-status.success, .pill.ok { color:var(--ok); border-color:var(--ok-line); background:var(--ok-soft); }
.acc-status.warning, .pill.wait { color:var(--wait); border-color:var(--wait-line); background:var(--wait-soft); }
.acc-status.danger { color:var(--danger); border-color:var(--danger-line); background:var(--danger-soft); }
.acc-status.info, .pill.accent { color:var(--accent-ink); border-color:var(--accent-line); background:var(--accent-soft); }

/* Orders */
.ec-orders-panel { min-height:462px; padding:20px; border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-orders-panel > .acc-state { min-height:350px; }
.ec-orders-toolbar { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin:-4px 0 14px; padding-bottom:14px; border-bottom:1px solid var(--acc-border); }
.ec-orders-toolbar > div span, .ec-orders-toolbar > div b { display:block; }
.ec-orders-toolbar > div span { color:var(--faint); font-size:8.5px; }
.ec-orders-toolbar > div b { margin-top:3px; color:var(--ink); font-size:12px; }
.ec-orders-toolbar .ec-order-filters { margin:0; }
.ec-order-filters, .cx-order-filters { display:flex; gap:6px; margin-bottom:12px; padding:5px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface); width:max-content; max-width:100%; overflow:auto; }
.ec-order-filters button, .cx-order-filters button { min-height:34px; display:flex; align-items:center; gap:7px; padding:0 11px; border:0; border-radius:7px; background:transparent; color:var(--muted); font:650 10px inherit; white-space:nowrap; cursor:pointer; }
.ec-order-filters button.active, .cx-order-filters button.active { background:var(--accent-soft); color:var(--accent-ink); font-weight:800; }
.ec-order-filters button span, .cx-order-filters button span { color:var(--faint); }
.ec-order-list { display:grid; gap:10px; }
.ec-order-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 20px; padding:16px 18px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-order-card-head { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--acc-border); }
.ec-order-card-head span, .ec-order-card-head time { font-size:9.5px; color:var(--muted); }
.ec-order-card-head time { margin-right:8px; color:var(--faint); }
.ec-order-product { min-width:0; display:flex; align-items:center; gap:11px; }
.ec-order-product-mark { width:42px; height:42px; display:grid; place-items:center; flex:none; border-radius:9px; background:var(--acc-surface-2); color:var(--accent-ink); }
.ec-order-product h2 { color:var(--ink); font-size:12.5px; }
.ec-order-product p { margin-top:3px; color:var(--faint); font-size:9px; }
.ec-order-meta { grid-column:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ec-order-meta > div { padding:9px 10px; border-radius:8px; background:var(--acc-surface-2); }
.ec-order-meta dt { color:var(--faint); font-size:8px; }
.ec-order-meta dd { margin-top:3px; color:var(--text); font-size:9.5px; font-weight:700; }
.ec-order-view { align-self:end; min-height:38px; padding:0 14px; border:1px solid var(--acc-border-strong); border-radius:8px; background:transparent; color:var(--text); font:700 10px inherit; cursor:pointer; }
.ec-order-view:hover { border-color:var(--accent-line2); color:var(--accent-ink); }
.ec-order-detail { max-width:1180px; }
.ec-order-detail-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-order-detail-head span, .ec-order-detail-head p { color:var(--faint); font-size:9px; }
.ec-order-detail-head h1 { margin:3px 0; color:var(--ink); font-size:18px; }
.ec-order-detail-head > div:last-child { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.ec-order-detail-head strong { color:var(--ink); font-size:14px; }
.ec-order-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:12px 0; padding:14px 18px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.ec-order-progress span { position:relative; display:flex; align-items:center; gap:7px; color:var(--faint); font-size:9px; }
.ec-order-progress span::after { content:""; position:absolute; top:7px; right:16px; left:-4px; height:1px; background:var(--acc-border); }
.ec-order-progress span:last-child::after { display:none; }
.ec-order-progress i { position:relative; z-index:1; width:14px; height:14px; border:3px solid var(--acc-surface); border-radius:50%; background:var(--acc-border-strong); box-shadow:0 0 0 1px var(--acc-border); }
.ec-order-progress .done { color:var(--ok); }
.ec-order-progress .done i, .ec-order-progress .done::after { background:var(--ok); }
.ec-order-progress .current b { color:var(--ink); }
.ec-delivery { padding:18px 20px; border:1px solid var(--accent-line); border-radius:var(--acc-radius); background:var(--acc-accent-surface); }
.ec-delivery > header { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--accent-ink); }
.ec-delivery header span { color:var(--accent-ink); font-size:9px; }
.ec-delivery h2 { margin-top:3px; color:var(--ink); font-size:15px; }
.ec-delivery-item { margin-top:12px; padding-top:12px; border-top:1px solid var(--accent-line); }
.ec-delivery-item h3 { color:var(--ink); font-size:11px; }
.ec-delivery-item h3 small { display:block; margin-top:3px; color:var(--muted); font-size:8.5px; }
.ec-delivery-field { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:9px; padding:10px; border:1px solid var(--acc-border); border-radius:8px; background:var(--acc-surface); }
.ec-delivery-field > span { color:var(--faint); font-size:9px; }
.ec-delivery-field code, .ec-delivery-field pre { min-width:0; overflow-wrap:anywhere; color:var(--ink); font:700 11px/1.8 ui-monospace,monospace; white-space:pre-wrap; }
.ec-delivery-field button { min-height:32px; padding:0 10px; border:1px solid var(--acc-border-strong); border-radius:7px; background:transparent; color:var(--text); font:700 9px inherit; cursor:pointer; }
.ec-delivery-waiting, .ec-delivery-loading { padding:14px 0 2px; color:var(--muted); font-size:10px; }
.ec-delivery-waiting p { margin-top:4px; }
.ec-order-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.ec-order-sections > section { min-width:0; padding:18px; }
.ec-order-sections h2 { margin-bottom:12px; color:var(--ink); font-size:13px; }
.ec-order-messages { grid-column:1/-1; }
.ec-order-items { display:grid; gap:8px; padding:0; list-style:none; }
.ec-order-items li { display:flex; justify-content:space-between; gap:12px; padding:10px 11px; border-radius:8px; background:var(--acc-surface-2); color:var(--muted); font-size:9.5px; }
.ec-order-items b, .ec-order-items span { display:block; }
.ec-order-items b { color:var(--ink); font-size:10.5px; }
.ec-payment-info { display:grid; gap:8px; margin-bottom:12px; }
.ec-payment-info > div { display:flex; justify-content:space-between; gap:14px; color:var(--muted); font-size:9.5px; }
.ec-payment-info dd { color:var(--text); font-weight:700; }
.ec-support-order { margin-top:12px; min-height:38px; padding:0 14px; border:1px solid var(--acc-border-strong); border-radius:8px; background:transparent; color:var(--text); font:700 10px inherit; cursor:pointer; }

/* Wallet */
.acc-wallet-grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr); gap:12px; align-items:stretch; }
.acc-wallet-balance { min-height:230px; display:flex; flex-direction:column; justify-content:center; padding:26px; border-radius:var(--acc-radius); background:var(--accent); color:var(--ink-on-accent); }
.acc-wallet-balance > span { font-size:10px; opacity:.72; }
.acc-wallet-balance > b { margin:9px 0 18px; font-size:25px; }
.acc-wallet-balance > b small { font-size:10px; }
.acc-wallet-owner { display:flex; align-items:center; gap:7px; padding-top:14px; border-top:1px solid rgba(32,33,38,.16); font-size:9px; }
.acc-topup { min-height:230px; max-width:546px; padding:20px; }
.acc-topup h2, .acc-transactions h2 { margin-bottom:13px; color:var(--ink); font-size:13px; }
.acc-presets { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:9px; }
.acc-preset { min-height:32px; border:1px solid var(--acc-border); border-radius:7px; background:var(--acc-surface-2); color:var(--muted); font:650 9px inherit; cursor:pointer; }
.acc-topup-submit { margin-top:9px; }
.acc-transactions { margin-top:12px; padding:20px; }
.acc-transaction-list { display:grid; }
.acc-transaction-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:62px; border-bottom:1px solid var(--acc-border); }
.acc-transaction-row:last-child { border-bottom:0; }
.acc-transaction-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:var(--acc-surface-2); color:var(--accent-ink); }
.acc-transaction-copy b, .acc-transaction-copy span { display:block; }
.acc-transaction-copy b { color:var(--ink); font-size:10.5px; }
.acc-transaction-copy span { margin-top:2px; color:var(--faint); font-size:8.5px; }
.acc-transaction-amount { font-size:10.5px; }

/* Support */
.ec-support-content { min-height:664px; display:grid; grid-template-columns:minmax(280px,366px) minmax(0,1fr); align-items:start; gap:20px; padding:20px; border-radius:var(--acc-radius); background:var(--acc-surface); }
.acc-ticket-compose, .ec-ticket-list, .acc-ticket-conversation { padding:16px; }
.acc-ticket-compose, .acc-ticket-conversation { background:transparent; }
.ec-ticket-list { min-height:624px; background:var(--acc-surface-2); }
.acc-ticket-toggle { width:100%; min-height:48px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; padding:0; border:0; background:transparent; color:var(--text); text-align:right; cursor:pointer; }
.acc-ticket-toggle-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:var(--accent-soft); color:var(--accent-ink); }
.acc-ticket-toggle-copy b, .acc-ticket-toggle-copy small { display:block; }
.acc-ticket-toggle-copy b { color:var(--ink); font-size:11px; }
.acc-ticket-toggle-copy small { margin-top:2px; color:var(--faint); font-size:8.5px; }
.acc-ticket-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--acc-normal); }
.acc-ticket-panel > div { overflow:hidden; }
.acc-ticket-panel.open { grid-template-rows:1fr; }
.acc-ticket-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:16px; border-top:1px solid var(--acc-border); margin-top:12px; }
.acc-field-wide { grid-column:1/-1; }
.ec-ticket-list > header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.ec-ticket-list > header h2 { color:var(--ink); font-size:13px; }
.ec-ticket-list > header span { color:var(--faint); font-size:9px; }
.acc-ticket-list { display:grid; gap:6px; }
.acc-ticket-row { border:1px solid var(--acc-border); border-radius:var(--acc-radius-sm); background:var(--acc-surface-2); }
.acc-ticket-row:hover { border-color:var(--accent-line2); }
.acc-ticket-row.active { border-color:var(--accent-line2); background:var(--acc-accent-surface); }
.acc-ticket-row .ui-data-row-title em { margin-right:var(--acc-space-2); color:var(--accent-ink); font-size:8px; font-style:normal; }
.acc-conversation-head { display:flex; align-items:flex-start; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--acc-border); }
.acc-conversation-head h2 { color:var(--ink); font-size:15px; }
.acc-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:6px; color:var(--faint); font-size:9px; }
.acc-thread { display:grid; gap:8px; margin:14px 0; }
.acc-message { max-width:78%; padding:10px 12px; border:1px solid var(--acc-border); border-radius:11px 11px 3px 11px; background:var(--acc-surface-2); }
.acc-message.support { margin-right:auto; border-radius:11px 11px 11px 3px; background:var(--accent-soft); border-color:var(--accent-line); }
.acc-message header { display:flex; justify-content:space-between; gap:10px; margin-bottom:5px; }
.acc-message b, .acc-message time, .acc-message small { font-size:8.5px; }
.acc-message b { color:var(--ink); }
.acc-message time, .acc-message small { color:var(--faint); }
.acc-message p { color:var(--body); font-size:10.5px; line-height:1.9; white-space:pre-wrap; }
.acc-message-attachment { display:inline-flex; align-items:center; gap:6px; margin-top:7px; font-size:9px; }
.acc-reply-form { display:grid; gap:10px; padding-top:14px; border-top:1px solid var(--acc-border); }
.acc-reply-heading, .acc-reply-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.acc-reply-heading h3 { color:var(--ink); font-size:12px; }
.acc-reply-heading p { color:var(--faint); font-size:8.5px; }
.acc-reply-attachment { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:9px; cursor:pointer; }
.acc-ticket-closed, .acc-conversation-placeholder { padding:24px; color:var(--muted); text-align:center; font-size:10px; }
.acc-conversation-placeholder h3 { margin:8px 0 4px; color:var(--ink); font-size:12px; }

/* Forms and profile */
.ac-field { min-width:0; display:flex; flex-direction:column; gap:5px; }
.ac-lbl { color:var(--body); font-size:9.5px; font-weight:650; }
.ac-lbl small { color:var(--faint); font-size:8px; }
/* Required/optional state of a customer purchase field.  The wording carries the meaning, so the
   subtle required tint only reinforces it and never becomes the sole indicator. */
.ac-lbl .pc-field-state { font-weight:650; }
.ac-lbl .pc-field-state[data-state="required"] { color:var(--accent-ink); }
.ac-input { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--acc-border-strong); border-radius:var(--acc-radius-sm); outline:0; background:var(--acc-surface-2); color:var(--text); font-size:11px; }
textarea.ac-input { min-height:92px; resize:vertical; }
.ac-input:focus { border-color:var(--accent-line2); }
.ac-input[readonly] { opacity:.72; cursor:not-allowed; }
.ac-input.is-invalid { border-color:var(--danger); }
.ac-field-error { min-height:13px; color:var(--danger); font-size:8px; }
.ac-field-help, .acc-controlled-note { color:var(--faint); font-size:8.5px; line-height:1.75; }
.acc-form-summary { color:var(--danger); font-size:9px; }
.acc-profile-header { max-width:var(--acc-readable-max); display:grid; grid-template-columns:48px minmax(0,1fr) minmax(180px,.45fr); align-items:center; gap:14px; margin-bottom:12px; padding:16px; }
.acc-profile-avatar { width:48px; height:48px; display:grid; place-items:center; border-radius:10px; background:var(--accent); color:var(--ink-on-accent); font-size:16px; font-weight:800; }
.acc-profile-name { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.acc-profile-name > b { color:var(--ink); font-size:13px; }
.acc-profile-meta { color:var(--faint); font-size:8.5px; }
.acc-profile-progress-label { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:8.5px; }
.acc-progress-track { height:5px; margin-top:7px; overflow:hidden; border-radius:5px; background:var(--acc-border); }
.acc-progress-bar { height:100%; border-radius:5px; background:var(--accent); }
.acc-profile-form { max-width:760px; display:grid; gap:12px; }
.acc-profile-section, .acc-security-disabled { padding:18px; }
.acc-card-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; }
.acc-card-heading h2, .acc-security-disabled h2 { color:var(--ink); font-size:13px; }
.acc-card-heading p, .acc-security-disabled p { margin-top:4px; color:var(--faint); font-size:8.5px; line-height:1.8; }
.acc-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.acc-profile-address-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.acc-profile-address { margin-top:11px; }
.acc-save-row { display:flex; align-items:center; gap:12px; margin-top:14px; }
.acc-dirty-indicator { display:none; color:var(--wait); font-size:8.5px; }
form[data-dirty="true"] .acc-dirty-indicator { display:inline-flex; }
.acc-security-disabled { max-width:var(--acc-readable-max); margin-top:12px; opacity:.72; }
.acc-disabled-action { margin-top:10px; min-height:36px; padding:0 12px; border:1px solid var(--acc-border); border-radius:8px; background:var(--acc-surface-2); color:var(--faint); font:650 9px inherit; }
.acc-upload { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px; border:1px dashed var(--acc-border-strong); border-radius:9px; background:var(--acc-surface-2); }
.acc-upload.error { border-color:var(--danger); }
.acc-upload-icon { width:34px; height:34px; display:grid; place-items:center; color:var(--accent-ink); }
.acc-upload-copy b, .acc-upload-copy small { display:block; }
.acc-upload-copy b { color:var(--text); font-size:9.5px; }
.acc-upload-copy small { color:var(--faint); font-size:8px; }
.acc-upload-pick, .acc-upload-remove { min-height:32px; padding:0 10px; border:1px solid var(--acc-border); border-radius:7px; background:var(--acc-surface); color:var(--text); font:650 8.5px inherit; cursor:pointer; }
.acc-file-meta { grid-column:2/-1; display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:8.5px; }
.acc-file-meta[hidden] { display:none; }

/* Favorites and notifications */
.ec-favorites-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.acc-notification-list { display:grid; gap:0; }
.acc-notification.unread { border-radius:var(--acc-radius-sm); background:var(--accent-soft); }

/* Store and cart remain reachable through preserved deep links. */
.cx-store-toolbar { margin-bottom:12px; padding:16px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.cx-store-search { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:12px; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--acc-border); }
.cx-store-search > label { color:var(--ink); font-size:10.5px; font-weight:750; }
.cx-store-search > div { min-height:42px; display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid var(--acc-border-strong); border-radius:8px; background:var(--acc-surface-2); color:var(--faint); }
.cx-store-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--ink); font:600 10.5px inherit; }
.cx-store-search span { color:var(--faint); font-size:9px; white-space:nowrap; }
.cx-category-rail, .cx-subcategory-rail { display:flex; gap:6px; overflow:auto; }
.cx-subcategory-rail { margin-top:8px; padding-top:8px; border-top:1px solid var(--acc-border); }
.cx-category-rail button, .cx-subcategory-rail button { min-height:34px; padding:0 11px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); font:650 9.5px inherit; white-space:nowrap; cursor:pointer; }
.cx-category-rail button.active, .cx-subcategory-rail button.active { border-color:var(--accent-line); background:var(--acc-accent-surface-strong); color:var(--ink); }
.cx-catalog-head, .cx-workspace-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:14px 0 9px; }
.cx-catalog-head span, .cx-catalog-head small, .cx-workspace-head span { color:var(--faint); font-size:8.5px; }
.cx-catalog-head h2, .cx-workspace-head h2 { color:var(--ink); font-size:13px; }
.cx-catalog { display:grid; gap:8px; }
.cx-product { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:13px; padding:11px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.cx-product-media { width:64px; height:64px; display:grid; place-items:center; overflow:hidden; border-radius:9px; background:var(--acc-surface-2); }
.cx-product-media img { width:100%; height:100%; object-fit:cover; border-radius: 15px;}
.cx-product-meta { color:var(--faint); font-size:8px; }
.cx-product-title { display:block; margin-top:2px; color:var(--ink); font-size:11px; font-weight:750; }
.cx-product-copy p { margin-top:4px; color:var(--muted); font-size:8.5px; line-height:1.7; }
.cx-product-delivery { display:flex; align-items:center; gap:5px; margin-top:6px; color:var(--faint); font-size:8.5px; }
.cx-product-buy { min-width:150px; display:grid; justify-items:end; gap:6px; }
.cx-product-buy small, .cx-product-buy strong { display:block; }
.cx-product-buy small { color:var(--faint); font-size:8px; }
.cx-product-buy strong { color:var(--ink); font-size:10.5px; }
.cx-product-buy button { min-height:34px; padding:0 12px; border:1px solid var(--accent); border-radius:7px; background:var(--accent); color:var(--ink-on-accent); font:750 9px inherit; cursor:pointer; }
.cx-product-buy button:disabled { opacity:.5; cursor:not-allowed; }
.cx-cart-link span { min-width:20px; height:20px; display:grid; place-items:center; border-radius:10px; background:var(--accent-soft); color:var(--accent-ink); font-size:9px; }
.cx-checkout-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:12px; padding:0; list-style:none; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.cx-checkout-steps li { display:flex; align-items:center; justify-content:center; gap:7px; min-height:48px; color:var(--faint); font-size:9px; border-left:1px solid var(--acc-border); }
.cx-checkout-steps li:last-child { border-left:0; }
.cx-checkout-steps span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--acc-surface-2); }
.cx-checkout-steps .done, .cx-checkout-steps .active { color:var(--accent-ink); }
.cx-checkout-steps .done span, .cx-checkout-steps .active span { background:var(--accent); color:var(--ink-on-accent); }
.cx-checkout-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:12px; align-items:start; }
.cx-checkout-workspace, .cx-order-summary { padding:16px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); }
.cx-order-summary { position:sticky; top:calc(var(--acc-header-height) + 16px); }
.cx-cart-row { position:relative; padding:14px 0; border-top:1px solid var(--acc-border); }
.cx-cart-row:first-of-type { border-top:0; }
.cx-cart-row > header { display:flex; justify-content:space-between; gap:12px; }
.cx-cart-row h2 { color:var(--ink); font-size:12px; }
.cx-cart-row-body { margin-top:10px; }
.cx-cart-configuration { display:flex; flex-wrap:wrap; gap:8px; }
.cx-cart-configuration > span { padding:8px 10px; border-radius:8px; background:var(--acc-surface-2); }
.cx-cart-configuration small, .cx-cart-configuration b { display:block; }
.cx-cart-configuration small { color:var(--faint); font-size:8px; }
.cx-cart-configuration b { margin-top:2px; color:var(--text); font-size:9px; }
.cx-cart-controls { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:10px; }
.cx-cart-controls small { display:block; color:var(--faint); font-size:8px; }
.cx-cart-controls b, .cx-cart-controls strong { color:var(--ink); font-size:10px; }
.cx-cart-controls label { color:var(--faint); font-size:8px; }
.cx-cart-controls input { width:72px; min-height:34px; margin-top:3px; border:1px solid var(--acc-border-strong); border-radius:7px; background:var(--acc-surface-2); color:var(--text); text-align:center; }
.cx-remove, .cx-clear-cart { margin-top:9px; border:0; background:transparent; color:var(--danger); font:650 8.5px inherit; cursor:pointer; }
.cx-summary-kicker { color:var(--faint); font-size:8.5px; }
.cx-order-summary h2 { margin:3px 0 12px; color:var(--ink); font-size:14px; }
.cx-summary-line { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--acc-border); color:var(--muted); font-size:9.5px; }
.cx-summary-line.total { color:var(--ink); font-weight:800; }
.cx-server-note, .cx-security-note { margin:10px 0; color:var(--faint); font-size:8.5px; line-height:1.75; }
.cx-payment-stage { display:grid; gap:9px; }
.cx-quote-ready { display:flex; align-items:center; gap:8px; padding:9px; border-radius:8px; background:var(--ok-soft); color:var(--ok); }
.cx-quote-ready b, .cx-quote-ready small { display:block; }
.cx-quote-ready b { font-size:9.5px; }
.cx-quote-ready small { color:var(--muted); font-size:8px; }
.cx-mobile-checkout-dock { display:none; }

/* Legacy deep-link helpers retained without the rejected dashboard composition. */
.cx-section-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.cx-section-title h2, .cx-section-title h3 { color:var(--ink); font-size:12px; }
.cx-section-title span { color:var(--faint); font-size:8px; }

/* Premium customer workspaces — visible commerce hierarchy and interaction language. */
.ui-eyebrow { margin-bottom:7px; font-size:10px; letter-spacing:.02em; }
.ui-page-actions .ui-button--primary, .ui-page-actions .ec-store-button { min-width:150px; }
.ui-stat-card { min-width:0; min-height:116px; display:flex; align-items:center; gap:14px; padding:18px; border:1px solid var(--acc-border); border-radius:16px; background:var(--acc-surface); box-shadow:0 8px 28px rgba(38,53,83,.045); transition:transform var(--motion-normal) var(--ease-standard),border-color var(--motion-fast),box-shadow var(--motion-normal); }
.ui-stat-card:hover { transform:translateY(-2px); border-color:var(--acc-border-strong); box-shadow:0 15px 35px rgba(38,53,83,.08); }
.ui-stat-card.active { border-color:var(--accent-line); background:linear-gradient(135deg,var(--acc-surface),var(--accent-soft)); }
.ui-stat-icon { width:46px; height:46px; display:grid; place-items:center; flex:none; border-radius:13px; background:var(--acc-surface-2); color:var(--accent-ink); }
.ui-stat-copy { min-width:0; display:grid; gap:3px; }
.ui-stat-copy small { color:var(--faint); font-size:10px; }
.ui-stat-copy strong { color:var(--ink); font-size:22px; line-height:1.2; }
.ui-stat-copy > span { color:var(--muted); font-size:10px; }
.ui-stat-card[data-tone="success"] .ui-stat-icon { background:color-mix(in srgb,var(--ok) 12%,transparent); color:var(--ok); }
.ui-stat-card[data-tone="warning"] .ui-stat-icon { background:color-mix(in srgb,var(--wait) 14%,transparent); color:var(--wait); }
.ui-stat-card[data-tone="danger"] .ui-stat-icon { background:color-mix(in srgb,var(--danger) 12%,transparent); color:var(--danger); }
.order-progress { width:min(100%,1000px); margin-inline:auto; display:grid; grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto minmax(24px,1fr) auto; align-items:start; min-width:0; }
.order-progress-stage { min-width:0; display:grid; justify-items:center; gap:7px; color:var(--faint); text-align:center; }
.order-progress-visual { position:relative; width:44px; height:44px; display:grid; place-items:center; }
.order-progress-node { position:relative; z-index:2; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--acc-border-strong); border-radius:50%; background:var(--acc-surface-2); color:var(--faint); }
.order-progress-node svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.order-progress-spinner { position:absolute; inset:1px; width:42px; height:42px; color:var(--accent-ink); animation:orderProgressSpin 1.1s linear infinite; pointer-events:none; }
.order-progress-content { min-width:0; display:grid; gap:3px; }
.order-progress-stage b { color:var(--muted); font-size:11px; }
.order-progress-stage small { color:var(--faint); font-size:9px; }
.order-progress-stage.done .order-progress-node { border-color:var(--ok); background:var(--ok-soft); color:var(--ok); }
.order-progress-stage.done b { color:var(--ok); }
.order-progress-stage.current .order-progress-node { border-color:var(--accent); background:var(--accent); color:var(--ink-on-accent); }
.order-progress-connector { align-self:start; width:100%; height:2px; margin-top:21px; background:var(--acc-border); }
.order-progress-connector.done { background:var(--ok); }
.order-progress-stage.current b { color:var(--ink); }
.order-progress-label { font-size:14px; }
.order-progress-description { font-size:12px; }
.ec-order-progress .order-progress-visual, .ec-order-progress .order-progress-node, .ec-order-progress .order-progress-content { display:grid; }
.ec-order-progress .order-progress-visual { position:relative; }
.ec-order-progress .order-progress-spinner { position:absolute; }
.ec-order-progress .order-progress span::after { content:none; }
@keyframes orderProgressSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .order-progress-spinner { animation:none; } }

/* Wallet presentation: compact neutral balance and cohesive top-up workspace. */
.ec-wallet .acc-topup { min-height:0; max-width:none; display:flex; flex-direction:column; gap:12px; padding:20px 24px; border:1px solid var(--acc-border); background:var(--acc-surface); }
.ec-wallet .acc-topup-heading { margin:0; padding-bottom:12px; border-bottom:1px solid var(--acc-border); }
.ec-wallet .acc-topup-heading p { max-width:54ch; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.8; }
.ec-wallet .acc-topup-heading em { display:none; }
.ec-wallet .acc-topup-block { display:grid; gap:9px; }
.ec-wallet .acc-topup-section-title { color:var(--ink); font-size:12px; font-weight:850; }
.ec-wallet .acc-presets { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; padding:0; border:0; background:transparent; }
.ec-wallet .acc-presets .ui-segmented-item { min-height:44px; justify-content:center; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--muted); font-size:11px; font-weight:750; }
.ec-wallet .acc-presets .ui-segmented-item:hover { border-color:var(--accent-line); color:var(--ink); }
.ec-wallet .acc-presets .ui-segmented-item.active { border-color:var(--acc-commerce); background:var(--acc-accent-surface-strong); color:var(--ink); box-shadow:0 0 0 1px var(--acc-commerce); }
.ec-wallet .acc-money-input { position:relative; }
.ec-wallet .acc-money-input .ac-input { min-height:52px; padding-inline:16px 70px; font-size:15px; font-weight:800; direction:ltr; text-align:right; }
.ec-wallet .acc-money-input > span { position:absolute; top:50%; right:15px; transform:translateY(-50%); padding-left:10px; border-left:1px solid var(--acc-border); color:var(--muted); font-size:11px; font-weight:800; pointer-events:none; }
.ec-wallet .acc-money-input input::-webkit-outer-spin-button, .ec-wallet .acc-money-input input::-webkit-inner-spin-button { margin:0; appearance:none; }
.ec-wallet .acc-money-input input[type=number] { appearance:textfield; }
.ec-wallet .acc-money-input .is-invalid { border-color:var(--danger); box-shadow:0 0 0 3px var(--danger-soft); }
.ec-wallet .acc-topup .ac-field-error { min-height:16px; color:var(--danger); font-size:10px; }
.ec-wallet .acc-payment-method-card { min-height:54px; display:flex; align-items:center; gap:10px; padding:8px 11px; border:1px solid var(--acc-border-strong); border-radius:12px; background:var(--acc-surface-2); color:var(--text); }
.ec-wallet .acc-payment-method-card.is-selected { border-color:var(--accent-line); background:var(--acc-accent-surface); }
.ec-wallet .acc-payment-method-card.is-unavailable { color:var(--muted); }
.ec-wallet .acc-payment-method-icon { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:9px; background:var(--acc-surface); color:var(--acc-commerce); }
.ec-wallet .acc-payment-method-card > span:nth-child(2) { min-width:0; flex:1; }
.ec-wallet .acc-payment-method-card b, .ec-wallet .acc-payment-method-card small { display:block; }
.ec-wallet .acc-payment-method-card b { color:var(--ink); font-size:12px; }
.ec-wallet .acc-payment-method-card small { margin-top:3px; color:var(--muted); font-size:10px; }
.ec-wallet .acc-payment-method-card em { padding:4px 7px; border-radius:999px; background:var(--ok-soft); color:var(--ok); font-size:9px; font-style:normal; font-weight:850; }
.ec-wallet .acc-topup-summary { display:grid; gap:6px; padding:10px 0; border-top:1px solid var(--acc-border); border-bottom:1px solid var(--acc-border); }
.ec-wallet .acc-topup-summary > span { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ec-wallet .acc-topup-summary small { color:var(--muted); font-size:10.5px; }
.ec-wallet .acc-topup-summary b { color:var(--ink); font-size:13px; }
.ec-wallet .acc-topup-submit { width:100%; min-height:48px; margin:0; }
.ec-wallet .acc-topup .acc-controlled-note { margin:-7px 0 0; text-align:center; line-height:1.7; }
@media (max-width:900px) { .ec-wallet .acc-wallet-grid { grid-template-columns:1fr; } }
@media (max-width:540px) { .ec-wallet .acc-wallet-grid { gap:12px; } .ec-wallet .acc-topup { gap:11px; padding:16px; } .ec-wallet .acc-topup-heading { padding-bottom:10px; } .ec-wallet .acc-presets { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Register Order and reusable product family. */
.cx-store-toolbar { margin-bottom:0; padding:22px; border-radius:18px; box-shadow:0 10px 32px rgba(38,53,83,.055); }
.cx-store-toolbar .ui-search { max-width:760px; }
.cx-store-toolbar .ui-filter-bar { margin-top:18px; padding-top:18px; border-top:1px solid var(--acc-border); }
.cx-category-rail, .cx-subcategory-rail { width:100%; padding:5px; border:0; background:var(--acc-surface-2); }
.cx-category-rail .ui-segmented-item, .cx-subcategory-rail .ui-segmented-item { min-height:40px; padding-inline:17px; }
.cx-catalog-head { margin:4px 0 0; padding:4px 2px; }
.cx-catalog-head h2 { margin-top:3px; font-size:18px; }
.cx-catalog-head span, .cx-catalog-head small { font-size:11px; }
.cx-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cx-product { --cx-product-media-height:150px; --cx-product-image-size:112px; min-width:0; min-height:390px; display:grid; grid-template-columns:1fr; grid-template-rows:var(--cx-product-media-height) minmax(0,1fr) auto; align-items:stretch; gap:0; overflow:hidden; padding:0; border-radius:18px; box-shadow:0 10px 34px rgba(38,53,83,.055); transition:transform var(--motion-normal) var(--ease-standard),border-color var(--motion-fast),box-shadow var(--motion-normal); }
.cx-product:hover { transform:translateY(-4px); border-color:var(--accent-line); box-shadow:0 20px 45px rgba(38,53,83,.11); }
.cx-product-media { width:100%; height:var(--cx-product-media-height); min-height:var(--cx-product-media-height); display:grid; place-items:center; overflow:hidden; border-radius:0; background:linear-gradient(145deg,var(--acc-surface-2),var(--accent-soft)); }
.cx-product-media img { display:block; width:auto; height:auto; max-width:var(--cx-product-image-size); max-height:var(--cx-product-image-size); object-fit:contain; }
.cx-product-copy { min-width:0; padding:18px 18px 12px; }
.cx-product-meta { font-size:10px; font-weight:700; }
.cx-product-title { margin-top:5px; font-size:17px; line-height:1.5; }
.cx-product-copy p { min-height:44px; margin-top:8px; font-size:11px; line-height:1.9; }
.cx-product-delivery { margin-top:10px; font-size:10px; }
.cx-product-buy { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; justify-items:start; gap:10px 12px; padding:14px 18px 18px; border-top:1px solid var(--acc-border); }
.cx-product-buy > .ui-status { grid-column:1; grid-row:1; }
.cx-product-buy > span { grid-column:2; grid-row:1; justify-self:end; text-align:left; }
.cx-product-buy > .ui-button { grid-column:1/-1; width:100%; min-height:46px; }
.cx-product-buy small { font-size:9px; }
.cx-product-buy strong { margin-top:2px; font-size:13px; }

/* Cart and checkout workspace. */
.cx-checkout-steps { overflow:hidden; margin-bottom:0; border-radius:16px; box-shadow:0 8px 26px rgba(38,53,83,.04); }
.cx-checkout-steps li { min-height:62px; font-size:11px; }
.cx-checkout-steps span { width:30px; height:30px; font-weight:800; }
.cx-checkout-grid { grid-template-columns:minmax(0,1fr) 380px; gap:24px; }
.cx-checkout-workspace, .cx-order-summary { padding:24px; border-radius:18px; box-shadow:0 10px 35px rgba(38,53,83,.055); }
.cx-checkout-workspace .ui-section-header { margin-bottom:8px; }
.cx-cart-row { margin-top:16px; padding:20px; border:1px solid var(--acc-border); border-radius:15px; background:var(--acc-surface-2); transition:opacity var(--motion-normal),transform var(--motion-normal),border-color var(--motion-fast); }
.cx-cart-row:first-of-type { border-top:1px solid var(--acc-border); }
.cx-cart-row:hover { border-color:var(--acc-border-strong); }
.cx-cart-row h2 { font-size:16px; }
.cx-cart-row-body { margin-top:16px; }
.cx-cart-configuration { gap:10px; }
.cx-cart-configuration > span { min-width:140px; padding:12px 14px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface); }
.cx-cart-configuration small, .cx-cart-controls small { font-size:9px; }
.cx-cart-configuration b, .cx-cart-controls b, .cx-cart-controls strong { margin-top:4px; font-size:11px; }
.cx-cart-controls { margin-top:16px; padding-top:15px; border-top:1px solid var(--acc-border); }
.cx-cart-controls input { width:82px; min-height:40px; font-size:12px; }
.cx-remove, .cx-clear-cart { margin-top:14px; font-size:10px; }
.cx-order-summary { top:calc(var(--acc-header-height) + 28px); padding:26px; }
.cx-summary-kicker { font-size:10px; }
.cx-order-summary h2 { margin:5px 0 18px; font-size:20px; }
.cx-summary-line { padding:13px 0; font-size:11px; }
.cx-summary-line.total { margin-top:6px; padding-block:17px; font-size:14px; }
.cx-summary-line.total strong { font-size:18px; }
.cx-server-note, .cx-security-note { margin:14px 0; font-size:9.5px; }
.cx-checkout-submit { width:100%; min-height:50px; margin-top:4px; font-size:12px; box-shadow:0 9px 22px rgba(207,159,42,.18); }

/* Orders, progress, and digital delivery. */
.ec-order-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ec-orders-panel { min-height:540px; padding:24px; border-radius:18px; box-shadow:0 10px 35px rgba(38,53,83,.055); }
.ec-orders-toolbar { min-height:70px; margin:0 0 16px; padding-bottom:18px; }
.ec-orders-toolbar > div span { font-size:10px; }
.ec-orders-toolbar > div b { font-size:14px; }
.ec-order-list { gap:0; }
.ui-order-row { padding:18px 14px; }
.ui-order-row .ui-data-row-title span { font-size:10px; }
.ui-order-row .ui-data-row-trailing { min-width:340px; }
.ui-order-row .ui-price strong { font-size:13px; }
.ec-order-detail { max-width:1280px; }
.ec-order-detail-head { min-height:150px; padding:28px; border-radius:18px; box-shadow:0 10px 35px rgba(38,53,83,.055); }
.ec-order-detail-head h2 { margin:5px 0; color:var(--ink); font-size:24px; letter-spacing:.01em; }
.ec-order-detail-head span, .ec-order-detail-head p { font-size:11px; }
.ec-order-detail-head .ui-price strong { font-size:18px; }
.ec-order-progress { display:block; margin:0; padding:24px; }
.ec-order-progress .ui-section-header { margin-bottom:22px; }
.ec-delivery { padding:26px; border-radius:18px; background:linear-gradient(145deg,var(--acc-accent-surface-strong),var(--acc-surface)); box-shadow:0 14px 38px var(--acc-neutral-shadow); }
.ec-delivery h2 { font-size:19px; }
.ec-delivery-item { margin-top:18px; padding-top:18px; }
.ec-delivery-item h3 { font-size:14px; }
.ec-delivery-field { grid-template-columns:130px minmax(0,1fr) auto; gap:14px; margin-top:12px; padding:14px; border-radius:12px; }
.ec-delivery-field > span { font-size:10px; }
.ec-delivery-field code, .ec-delivery-field pre { font-size:13px; }
.ec-delivery-field button { min-height:38px; padding-inline:14px; font-size:10px; transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast); }
.ec-delivery-field button:active { transform:scale(.97); }
.ec-order-sections { gap:18px; margin-top:0; }
.ec-order-sections > section { padding:24px; }
.ec-order-sections h2 { font-size:16px; }
.ec-order-items li { padding:14px; font-size:11px; }
.ec-order-items b { font-size:12px; }
.ec-payment-info { gap:12px; }
.ec-payment-info > div { font-size:11px; }

/* Wallet. */
.acc-wallet-grid { grid-template-columns:minmax(320px,.85fr) minmax(430px,1.15fr); gap:24px; }
.acc-wallet-balance { min-height:310px; position:relative; overflow:hidden; justify-content:flex-end; padding:30px; border-radius:20px; box-shadow:0 20px 46px rgba(207,159,42,.18); }
.acc-wallet-balance::after { content:""; position:absolute; top:-70px; left:-40px; width:210px; height:210px; border:1px solid rgba(32,33,38,.12); border-radius:50%; }
.acc-wallet-balance > span { font-size:12px; }
.acc-wallet-balance > b { margin:12px 0 34px; font-size:34px; }
.acc-wallet-balance > b small { font-size:12px; }
.acc-wallet-owner { padding-top:18px; font-size:10px; }
.acc-topup { min-height:310px; max-width:none; padding:26px; }
.acc-topup h2, .acc-transactions h2 { margin-bottom:18px; font-size:17px; }
.acc-presets { width:100%; grid-template-columns:repeat(4,1fr); margin-bottom:14px; }
.acc-presets .ui-segmented-item { justify-content:center; min-height:42px; padding-inline:8px; }
.acc-topup-submit { width:100%; min-height:48px; margin-top:12px; }
.acc-transactions { margin-top:0; padding:24px; }
.ui-transaction-row { min-height:82px; }
.acc-transaction-amount { font-size:13px; }

/* Support inbox and conversation. */
.ec-support-content { min-height:720px; display:grid; grid-template-columns:1fr; align-items:start; gap:18px; padding:0; background:transparent; }
.acc-ticket-compose { padding:0 22px; border-radius:16px; background:var(--acc-surface); box-shadow:0 8px 28px rgba(38,53,83,.05); }
.acc-ticket-toggle { min-height:74px; }
.acc-ticket-toggle-icon { width:44px; height:44px; border-radius:12px; }
.acc-ticket-toggle-copy b { font-size:13px; }
.acc-ticket-toggle-copy small { margin-top:4px; font-size:10px; }
.ec-support-workspace { min-height:620px; display:grid; grid-template-columns:minmax(300px,360px) minmax(0,1fr); gap:0; overflow:hidden; border:1px solid var(--acc-border); border-radius:20px; background:var(--acc-surface); box-shadow:0 12px 38px rgba(38,53,83,.065); }
.ec-ticket-list { min-height:620px; padding:22px; border:0; border-left:1px solid var(--acc-border); border-radius:0; background:var(--acc-surface-2); box-shadow:none; }
.acc-ticket-row { min-height:104px; padding:14px; background:var(--acc-surface); }
.acc-ticket-conversation { min-height:620px; display:flex; flex-direction:column; padding:24px 28px; background:var(--acc-surface); }
.acc-conversation-head h2 { font-size:18px; }
.acc-support-thread { flex:1; align-content:start; overflow:auto; padding:8px 2px; }
.acc-message { max-width:72%; padding:13px 15px; border-radius:15px 15px 5px 15px; }
.acc-message.support { border-radius:15px 15px 15px 5px; }
.acc-message p { font-size:11.5px; line-height:1.9; }
.acc-message b, .acc-message time, .acc-message small { font-size:9.5px; }
.acc-reply-form { position:sticky; bottom:0; margin-top:auto; padding:16px; border:1px solid var(--acc-border); border-radius:14px; background:var(--acc-surface-2); }
.acc-conversation-placeholder { display:grid; place-content:center; min-height:620px; }

/* Account settings and notification center. */
.ec-profile { max-width:1240px; }
.acc-profile-header { max-width:none; min-height:112px; grid-template-columns:62px minmax(0,1fr) minmax(230px,.45fr); margin-bottom:0; padding:22px; border-radius:18px; }
.acc-profile-avatar { width:62px; height:62px; border-radius:16px; font-size:20px; }
.acc-profile-name > b { font-size:16px; }
.acc-profile-meta { font-size:10px; }
.acc-profile-workspace { display:grid; grid-template-columns:220px minmax(0,1fr); gap:22px; align-items:start; }
.acc-profile-nav { position:sticky; top:calc(var(--acc-header-height) + 28px); display:grid; gap:5px; padding:12px; border:1px solid var(--acc-border); border-radius:16px; background:var(--acc-surface); box-shadow:0 8px 28px rgba(38,53,83,.045); }
.acc-profile-nav a { min-height:44px; display:flex; align-items:center; padding:0 14px; border-radius:10px; color:var(--muted); font-size:11px; font-weight:750; text-decoration:none; transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast); }
.acc-profile-nav a:hover, .acc-profile-nav a:first-child { background:var(--accent-soft); color:var(--accent-ink); transform:translateX(-2px); }
.acc-profile-form { max-width:none; gap:18px; }
.acc-profile-section { padding:26px; }
.acc-save-row { position:sticky; bottom:18px; z-index:4; justify-content:space-between; margin-top:0; padding:14px; border:1px solid var(--acc-border); border-radius:14px; background:color-mix(in srgb,var(--acc-surface) 94%,transparent); box-shadow:0 14px 40px rgba(38,53,83,.12); }
.acc-save-btn { min-width:170px; min-height:46px; }
.acc-security-disabled { max-width:none; margin-right:242px; padding:24px; }
.ac-lbl { font-size:11px; }
.ac-input { min-height:48px; padding:11px 13px; border-radius:11px; font-size:12px; }
textarea.ac-input { min-height:112px; }
.ac-field-help, .acc-controlled-note { font-size:9.5px; }
.acc-notification-overview { min-height:150px; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:18px; padding:26px; border:1px solid var(--accent-line); border-radius:20px; background:linear-gradient(135deg,var(--acc-surface),var(--accent-soft)); box-shadow:0 12px 36px rgba(207,159,42,.08); }
.acc-notification-overview-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:16px; background:var(--accent); color:var(--ink-on-accent); }
.acc-notification-overview div > span { color:var(--accent-ink); font-size:10px; font-weight:800; }
.acc-notification-overview strong { display:block; margin-top:4px; color:var(--ink); font-size:19px; }
.acc-notification-overview p { margin-top:5px; color:var(--muted); font-size:11px; }
.acc-notification-overview > b { color:var(--ink); font-size:24px; text-align:center; }
.acc-notification-overview > b small { display:block; margin-top:4px; color:var(--faint); font-size:9px; }
.acc-notification-center { padding:10px 24px 18px; }
.acc-notification-center .ui-section-header { padding-top:12px; }
.acc-notification { min-height:100px; border-radius:12px; }
.acc-notification.unread { margin-block:4px; padding-inline:18px; }
.ec-favorites-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }

/* Motion and feedback. */
.ui-segmented-item:active, .cx-product:active, .ui-stat-card:active { transform:scale(.99); }
.acc-toast-region { left:24px; bottom:24px; }
.acc-toast { min-width:330px; padding:14px; border-radius:14px; animation:acc-toast-enter var(--motion-slow) var(--ease-enter) both; }
@keyframes acc-toast-enter { from { opacity:0; transform:translateY(12px) scale(.98); } }

/* Invoice, modal, confirm and toast */
.invoice-print { margin-top:12px; padding:16px; }
.table-wrap { width:100%; overflow:auto; }
.data-table, .acc-data-table { width:100%; min-width:680px; border-collapse:collapse; }
.data-table th, .data-table td, .acc-data-table th, .acc-data-table td { padding:9px; border-bottom:1px solid var(--acc-border); color:var(--body); text-align:right; font-size:8.5px; }
.data-table th, .acc-data-table th { color:var(--faint); background:var(--acc-surface-2); }
.acc-invoice-totals { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:12px; }
.acc-invoice-totals p { display:flex; justify-content:space-between; padding:8px; border-radius:7px; background:var(--acc-surface-2); color:var(--muted); font-size:8.5px; }
.acc-purchase-overlay, .acc-confirm-overlay { position:fixed; z-index:160; inset:0; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.68); }
.acc-purchase-dialog, .acc-confirm-dialog { width:min(720px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:20px; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface); box-shadow:var(--acc-shadow); }
.acc-purchase-dialog { position:relative; width:min(860px,100%); display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:20px; }
.acc-purchase-status { display:block; width:min(720px,100%); }
.acc-purchase-close { position:absolute; z-index:2; top:12px; left:12px; }
.acc-purchase-media { grid-column:1; grid-row:1; width:220px; height:220px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--acc-border); border-radius:var(--acc-radius); background:var(--acc-surface-2); }
.acc-purchase-media:empty { display:none; }
.acc-purchase-media img { width:100%; height:100%; display:block; object-fit:contain; }
.acc-purchase-content { grid-column:2; grid-row:1; min-width:0; padding-left:42px; }
.acc-confirm-dialog { width:min(420px,100%); }
.acc-purchase-close { width:34px; height:34px; border:1px solid var(--acc-border); border-radius:8px; background:var(--acc-surface-2); color:var(--text); cursor:pointer; }
.acc-purchase-content form, .acc-purchase-summary { display:grid; gap:11px; }
.acc-purchase-summary { margin:12px 0; padding:12px; border-radius:9px; background:var(--acc-surface-2); }
.acc-confirm-mark { width:40px; height:40px; display:grid; place-items:center; margin-bottom:12px; border-radius:9px; background:var(--wait-soft); color:var(--wait); }
.acc-confirm-dialog h2 { color:var(--ink); font-size:14px; }
.acc-confirm-dialog p { margin-top:6px; color:var(--muted); font-size:9.5px; line-height:1.8; }
.acc-confirm-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.acc-danger-btn { min-height:38px; padding:0 13px; border:1px solid var(--danger-line); border-radius:8px; background:var(--danger-soft); color:var(--danger); font:700 10px inherit; }
.acc-toast-region { position:fixed; z-index:190; left:18px; bottom:18px; }
.acc-toast { min-width:280px; max-width:420px; display:grid; grid-template-columns:34px minmax(0,1fr) 30px; align-items:center; gap:9px; padding:10px; border:1px solid var(--ok-line); border-radius:10px; background:var(--acc-surface); box-shadow:var(--acc-shadow); }
.acc-toast.has-actions { grid-template-columns:34px minmax(0,1fr) 30px; align-items:start; }
.acc-toast.has-actions .acc-toast-icon { animation:acc-toast-icon-in var(--motion-normal) var(--ease-enter) both; }
@keyframes acc-toast-icon-in { from { opacity:0; transform:scale(.82); } to { opacity:1; transform:scale(1); } }
.acc-toast.error { border-color:var(--danger-line); }
.acc-toast-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:var(--acc-surface-2); color:var(--ok); }
.acc-toast.error .acc-toast-icon { color:var(--danger); }
.ui-toast-copy { min-width:0; display:grid; gap:3px; align-content:center; }
.ui-toast-title, .ui-toast-message { color:var(--text); font-size:9.5px; line-height:1.7; }
.ui-toast-title { font-weight:850; }
.ui-toast-message { color:var(--muted); }
.acc-toast:not(.has-actions) .ui-toast-message { color:var(--text); font-weight:850; }
.ui-toast-actions { grid-column:2/-1; display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; }
.ui-toast-actions .ui-button { min-height:34px; padding-inline:12px; font-size:10px; }
.ui-toast-actions .acc-toast-primary { background:var(--acc-commerce); color:var(--acc-commerce-text); }
.ui-toast-actions .acc-toast-secondary { background:var(--acc-surface-2); color:var(--text); }
.acc-toast-close { grid-column:3; grid-row:1; width:30px; height:30px; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.acc-cart-success-dialog { width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:42px 32px 30px; text-align:center; }
.acc-cart-success-dialog .ui-modal-close { top:12px; left:12px; width:38px; height:38px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--text); }
.acc-cart-success-icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 18px; border:1px solid var(--ok-line); border-radius:20px; background:var(--ok-soft); color:var(--ok); animation:acc-toast-icon-in 240ms var(--ease-enter) both; }
.acc-cart-success-dialog h2 { color:var(--ink); font-size:18px; line-height:1.7; }
.acc-cart-success-dialog p { margin-top:8px; color:var(--muted); font-size:11px; line-height:1.8; }
.acc-cart-success-actions { display:grid; gap:9px; margin-top:24px; }
.acc-cart-success-actions .ui-button { width:100%; min-height:44px; }
.acc-error-tracking { grid-column:2/-1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; margin-top:5px; padding-top:8px; border-top:1px solid var(--danger-line); }
.acc-error-tracking small { color:var(--muted); font-size:9px; }
.acc-error-tracking code { min-width:0; overflow:hidden; color:var(--danger); direction:ltr; unicode-bidi:isolate; font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.acc-error-tracking .ui-button { min-height:30px; padding-inline:10px; font-size:9px; }
.acc-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
body.acc-modal-open { overflow:hidden; }

/* Product configuration workspace. */
.acc-purchase-overlay { padding:28px; animation:ui-overlay-in var(--motion-normal) var(--ease-standard) both; }
.acc-purchase-dialog { width:min(980px,100%); max-height:calc(100dvh - 56px); grid-template-columns:320px minmax(0,1fr); gap:0; overflow:hidden; padding:0; border-radius:22px; box-shadow:0 28px 90px rgba(7,9,14,.3); animation:ui-modal-in var(--motion-slow) var(--ease-enter) both; }
.acc-purchase-status { display:block; width:min(560px,100%); padding:28px; }
.acc-purchase-media { grid-column:1; width:320px; height:100%; min-height:560px; border:0; border-left:1px solid var(--acc-border); border-radius:0; background:linear-gradient(155deg,var(--acc-surface-2),var(--accent-soft)); }
.acc-purchase-media img { padding:32px; object-fit:contain; }
.acc-purchase-media-fallback { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:34px; color:var(--accent-ink); text-align:center; }
.acc-purchase-media-fallback svg { width:76px; height:76px; margin-bottom:12px; padding:15px; border:1px solid var(--accent-line); border-radius:22px; background:var(--acc-surface); box-shadow:0 16px 42px rgba(38,53,83,.1); }
.acc-purchase-media-fallback small { font-size:9px; font-weight:800; }
.acc-purchase-media-fallback b { color:var(--ink); font-size:20px; line-height:1.45; }
.acc-purchase-media-fallback span { color:var(--muted); font-size:10px; line-height:1.8; }
.acc-purchase-content { grid-column:2; max-height:calc(100dvh - 56px); overflow:auto; padding:32px 34px 30px 70px; }
.acc-purchase-content > .pill { margin-bottom:10px; }
.acc-purchase-content > h2 { color:var(--ink); font-size:25px; line-height:1.5; }
.acc-purchase-content > p { margin:6px 0 22px; color:var(--muted); font-size:12px; line-height:1.9; }
.acc-purchase-content form { gap:15px; }
.acc-purchase-content form > .ac-field, .acc-purchase-content form > .ac-lbl { padding:15px; border:1px solid var(--acc-border); border-radius:13px; background:var(--acc-surface-2); }
.acc-purchase-content form > .ac-lbl { display:flex; align-items:center; gap:10px; }
.acc-purchase-delivery { min-height:42px; display:flex; align-items:center; padding:10px 13px; border-radius:11px; background:var(--accent-soft); color:var(--accent-ink); font-size:10px; font-weight:750; }
.acc-purchase-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:4px 0 0; padding:16px; border:1px solid var(--acc-border); border-radius:14px; }
.acc-purchase-summary span { display:grid; gap:4px; }
.acc-purchase-summary small { color:var(--faint); font-size:9px; }
.acc-purchase-summary b { color:var(--ink); font-size:14px; }
.acc-purchase-submit { min-height:52px; font-size:12px; box-shadow:0 10px 24px rgba(207,159,42,.2); }
.acc-purchase-close { top:16px; left:16px; width:40px; height:40px; border-radius:11px; background:var(--acc-surface); box-shadow:0 8px 24px rgba(38,53,83,.08); }

@media (max-width:1050px) {
  .acc-wallet-shortcut { display:none; }
  .ec-shortcuts, .ec-favorites-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cx-checkout-grid { grid-template-columns:minmax(0,1fr) 280px; }
}

@media (min-width:1700px) {
  .ec-overview-card { min-height:375px; }
}

/* Drawer shell, matching the reference's mobile hierarchy. */
@media (max-width:780px) {
  #accHeader { right:0; height:var(--acc-mobile-header); }
  .acc-header-inner { padding:0 12px; gap:9px; }
  .acc-layout { padding-top:var(--acc-mobile-header); padding-right:0; }
  #accMain { min-height:calc(100dvh - var(--acc-mobile-header)); padding:14px 14px 92px; }
  #accSidebar { z-index:120; width:min(280px,86vw); transform:translateX(105%); box-shadow:-16px 0 40px rgba(0,0,0,.24); transition:transform var(--acc-normal) var(--acc-ease); }
  .acc-nav-open #accSidebar { transform:translateX(0); }
  .acc-sidebar-backdrop { position:fixed; z-index:110; inset:0; display:block; border:0; background:rgba(0,0,0,.56); opacity:0; transition:opacity var(--acc-fast); }
  .acc-sidebar-backdrop.is-open { opacity:1; }
  .acc-mobile-nav-toggle { width:38px; height:38px; display:grid; place-items:center; flex:none; order:3; border:1px solid var(--acc-border); border-radius:8px; background:transparent; color:var(--text); }
  .acc-header-context { display:none; }
  .acc-brand { min-width:0; display:flex; order:2; }
  .acc-brand .logo-mark { width:32px; height:32px; }
  .acc-brand .logo-tag, .acc-store-link, .acc-user-chip > span { display:none; }
  .acc-brand .logo-name { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
  .acc-header-actions { gap:3px; order:1; }
  .acc-header-icon, .theme-btn, .acc-user-chip { width:34px; height:34px; padding:0; border:0; }
  .acc-user-chip > b { width:30px; height:30px; }
  .acc-mobile-logout { width:34px; height:34px; display:grid; place-items:center; border:0; background:transparent; color:var(--danger); }
  .acc-header-actions .theme-btn, .acc-header-actions .acc-user-chip, .acc-mobile-logout { display:none; }
  .acc-sidebar-theme { display:flex; }
  .acc-mobile-bottom-nav { position:fixed; z-index:75; right:0; bottom:0; left:0; height:66px; display:grid; grid-template-columns:repeat(5,1fr); padding:5px 8px 4px; background:var(--acc-surface); box-shadow:0 -12px 52px rgba(55,75,116,.09); }
  .acc-purchase-overlay { padding:12px; }
  .acc-purchase-dialog { width:min(620px,100%); grid-template-columns:1fr; gap:14px; padding:16px; }
  .acc-purchase-media { grid-column:1; grid-row:1; width:100%; height:min(180px,24dvh); }
  .acc-purchase-content { grid-column:1; grid-row:2; padding-left:0; }
  .acc-mobile-destination { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:8px; background:transparent; color:var(--faint); font:500 8px inherit; }
  .acc-mobile-destination span { height:23px; display:grid; place-items:center; }
  .acc-mobile-destination b { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:inherit; }
  .acc-mobile-destination.active { color:var(--accent-ink); font-weight:800; }
  .acc-skip-link { right:12px; }
  .ec-page-head, .acc-view-heading, .cx-store-head, .ec-welcome { min-height:0; align-items:flex-start; margin-bottom:14px; }
  .ec-page-head h1, .acc-view-heading h1, .cx-store-head h1, .ec-welcome h1 { font-size:19px; }
  .ec-overview-card { min-height:0; padding:18px 14px; }
  .ec-focus-card { grid-template-columns:1fr; padding:14px 0; }
  .ec-focus-identity { grid-column:1; }
  .ec-focus-icon { width:42px; height:42px; }
  .ec-focus-status { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; padding-top:10px; border-top:1px solid var(--acc-border); }
  .ec-home-grid { grid-template-columns:1fr; }
  .ec-support-content { min-height:0; grid-template-columns:1fr; padding:0; background:transparent; }
  .acc-store-submenu.open { max-height:360px; }
  .cx-store-search { grid-template-columns:1fr; gap:7px; }
  .ec-ticket-list { min-height:0; }
  .ec-dashboard-columns { grid-template-columns:1fr; margin-top:14px; }
  .ec-dashboard-panel { min-height:0; padding:18px; border-left:0; border-bottom:1px solid var(--acc-border); }
  .ec-dashboard-panel:last-child { border-bottom:0; }
  .ec-order-sections, .acc-wallet-grid, .ec-favorites-grid, .cx-checkout-grid { grid-template-columns:1fr; }
  .ui-page-header { gap:var(--acc-space-3); }
  .ui-page-actions { flex:none; }
  .ui-search { grid-template-columns:1fr; gap:var(--acc-space-2); }
  .ui-form-grid { grid-template-columns:1fr; }
  .ui-section { padding:var(--acc-space-4); }
  .ec-orders-toolbar { align-items:flex-start; flex-direction:column; gap:10px; }
  .cx-order-summary { position:static; }
  .acc-profile-header { grid-template-columns:44px minmax(0,1fr); }
  .acc-profile-progress { grid-column:1/-1; }
  .acc-profile-grid, .acc-profile-address-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:540px) {
  .ui-page { gap:var(--acc-space-3); }
  .ui-page-header { display:block; }
  .ui-page-header h1 { font-size:20px; }
  .ui-page-actions { margin-top:var(--acc-space-3); }
  .ui-page-actions .ui-button { width:100%; }
  .ui-section-header { align-items:flex-start; flex-direction:column; }
  .ui-data-row { grid-template-columns:38px minmax(0,1fr); }
  .ui-data-row-trailing { grid-column:2; justify-content:flex-start; }
  .ui-order-row { grid-template-columns:38px minmax(0,1fr); }
  .ui-order-row .ui-data-row-trailing { min-width:0; flex-wrap:wrap; }
  .ui-form-section { padding:var(--acc-space-4); }
  #accMain { padding:14px 12px 88px; }
  .ec-welcome { display:block; }
  .ec-welcome .ec-store-button { margin-top:12px; }
  .ec-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
  .ec-shortcut { min-height:88px; padding:8px 4px; }
  .ec-shortcut > span { width:34px; height:34px; }
  .ec-shortcut b { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
  .ec-shortcut i, .ec-shortcut small { display:none; }
  .ec-service-bands { gap:10px; margin-top:14px; }
  .ec-service-band { display:block; min-height:100px; padding:12px; }
  .ec-service-band header { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; }
  .ec-service-band header button { margin-top:0; }
  .ec-service-band > div { display:flex; gap:7px; overflow:hidden; }
  .ec-service-band > div > button { min-width:calc(25% - 6px); min-height:58px; flex-direction:column; justify-content:center; gap:4px; padding:5px 3px; text-align:center; }
  .ec-service-band > div > button span { width:28px; height:28px; }
  .ec-service-band > div > button b { width:100%; font-size:7.5px; }
  .ec-latest-product-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; overflow:visible; }
  .ec-latest-product { min-width:0; padding:7px; }
  .ec-latest-product > i { display:none; }
  .ec-latest-product-copy b { font-size:8px; }
  .ec-latest-product-copy small, .ec-latest-product-copy em { font-size:7px; }
  .ec-summary-actions { flex-direction:column; }
  .ec-summary-actions button { width:100%; }
  .ec-order-card { grid-template-columns:1fr; padding:13px; }
  .ec-order-card-head, .ec-order-product, .ec-order-meta, .ec-order-view { grid-column:1; }
  .ec-order-meta { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ec-order-view { width:100%; }
  .ec-order-detail-head { align-items:flex-start; padding:14px; }
  .ec-order-progress { padding:11px 9px; }
  .ec-order-progress b { font-size:7.5px; }
  .ec-delivery { padding:14px; }
  .ec-delivery-field { grid-template-columns:1fr auto; }
  .ec-delivery-field > span { grid-column:1/-1; }
  .ec-delivery-field code, .ec-delivery-field pre { font-size:10px; }
  .acc-ticket-form, .acc-profile-grid, .acc-profile-address-grid { grid-template-columns:1fr; }
  .acc-field-wide { grid-column:1; }
  .acc-ticket-row { grid-template-columns:30px minmax(0,1fr); }
  .acc-message { max-width:92%; }
  .cx-product { grid-template-columns:54px minmax(0,1fr); align-items:start; }
  .cx-product-media { width:54px; height:54px; }
  .cx-product-buy { grid-column:1/-1; min-width:0; grid-template-columns:auto 1fr auto; align-items:center; justify-items:start; padding-top:9px; border-top:1px solid var(--acc-border); }
  .cx-product-buy button { justify-self:end; }
  .cx-cart-controls { display:grid; grid-template-columns:repeat(3,1fr); }
  .cx-mobile-checkout-dock { position:sticky; z-index:20; bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:12px; margin:10px -4px 0; padding:9px; border:1px solid var(--acc-border-strong); border-radius:10px; background:var(--acc-surface); box-shadow:var(--acc-shadow); }
  .cx-mobile-checkout-dock small, .cx-mobile-checkout-dock b { display:block; }
  .cx-mobile-checkout-dock small { color:var(--faint); font-size:8px; }
  .cx-mobile-checkout-dock b { color:var(--ink); font-size:10px; }
  .cx-mobile-checkout-dock button { min-height:36px; padding:0 12px; border:0; border-radius:8px; background:var(--accent); color:var(--ink-on-accent); font:750 9px inherit; }
  .acc-toast-region { right:10px; left:10px; bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + 10px); }
  .acc-toast { min-width:0; width:100%; }
  .acc-toast-actions { flex-direction:column; }
  .ui-toast-actions .ui-button { width:100%; }
}

@media (min-width:781px) {
  .cx-checkout-grid { align-items:stretch; }
  .cx-checkout-workspace:has(.acc-state.empty) { display:flex; flex-direction:column; }
  .cx-checkout-workspace:has(.acc-state.empty) > .ui-section-content { flex:1; display:grid; align-content:center; }
}

@media (max-width:520px) {
  .acc-cart-success-dialog { width:calc(100vw - 24px); padding:38px 20px 22px; }
}

@media (max-width:430px) {
  .acc-brand .logo-name { max-width:82px; }
  .acc-header-icon { width:32px; }
  .ec-page-head, .cx-store-head { display:block; }
  .ec-page-head .ec-store-button, .cx-store-head .cx-cart-link { margin-top:10px; }
  .ec-order-filters, .cx-order-filters { width:100%; }
  .ec-order-filters button, .cx-order-filters button { flex:1; justify-content:center; }
  .ec-order-detail-head { display:block; }
  .ec-order-detail-head > div:last-child { margin-top:10px; flex-direction:row; justify-content:space-between; align-items:center; }
  .ec-order-progress span { display:grid; justify-items:center; gap:5px; text-align:center; }
  .ec-order-progress span::after { top:7px; right:50%; left:-50%; }
  .acc-presets { grid-template-columns:repeat(2,1fr); }
  .acc-profile-header { grid-template-columns:40px minmax(0,1fr); padding:13px; }
  .acc-profile-avatar { width:40px; height:40px; }
  .acc-upload { grid-template-columns:30px minmax(0,1fr); }
  .acc-upload-pick { grid-column:1/-1; }
  .cx-checkout-steps b { display:none; }
  .cx-checkout-steps li { min-height:42px; }
  .acc-invoice-totals { grid-template-columns:1fr; }
}

/* Responsive composition for the richer customer workspaces. */
@media (max-width:1180px) {
  .cx-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cx-checkout-grid { grid-template-columns:minmax(0,1fr) 340px; }
  .ec-support-workspace { grid-template-columns:320px minmax(0,1fr); }
  .acc-profile-workspace { grid-template-columns:190px minmax(0,1fr); }
}

@media (max-width:780px) {
  .ec-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cx-store-toolbar { padding:16px; }
  .cx-category-rail { margin-inline:-16px; padding-inline:16px; }
  .cx-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .cx-checkout-grid { grid-template-columns:1fr; }
  .cx-order-summary { position:static; }
  .ec-support-workspace { min-height:560px; grid-template-columns:1fr; }
  .ec-support-workspace.has-conversation .ec-ticket-list { display:none; }
  .acc-profile-workspace { grid-template-columns:1fr; }
  .acc-profile-nav { position:static; display:flex; gap:6px; overflow-x:auto; padding:7px; scroll-snap-type:x proximity; }
  .acc-profile-nav a { min-width:max-content; scroll-snap-align:start; }
  .acc-profile-security { margin-right:0; }
  .acc-notification-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .acc-purchase-overlay { align-items:flex-end; padding:0; }
  .acc-purchase-dialog { width:100%; max-height:94dvh; grid-template-columns:1fr; gap:0; padding:0; border-radius:22px 22px 0 0; }
  .acc-purchase-media { grid-column:1; grid-row:1; width:100%; height:170px; min-height:170px; border-radius:0; }
  .acc-purchase-media-fallback { flex-direction:row; justify-content:flex-start; gap:12px; padding:18px 66px 18px 18px; text-align:right; }
  .acc-purchase-media-fallback svg { width:52px; height:52px; flex:none; margin:0; padding:10px; border-radius:15px; }
  .acc-purchase-media-fallback b { font-size:15px; }
  .acc-purchase-media-fallback small, .acc-purchase-media-fallback span { display:none; }
  .acc-purchase-content { grid-column:1; grid-row:2; max-height:calc(94dvh - 170px); overflow:auto; padding:20px 16px calc(24px + env(safe-area-inset-bottom)); }
  .acc-purchase-close { top:12px; left:12px; }
}

@media (max-width:540px) {
  .ui-stat-card { min-height:112px; padding:15px; }
  .ui-stat-value { font-size:22px; }
  .ec-order-overview { gap:9px; }
  .cx-store-toolbar { padding:14px 12px; }
  .cx-category-rail { margin-inline:-12px; padding-inline:12px; }
  .cx-products { grid-template-columns:1fr; }
  .cx-product { min-height:0; grid-template-columns:112px minmax(0,1fr); }
  .cx-product-media { width:112px; height:100%; min-height:154px; }
  .cx-product-buy { grid-column:1/-1; }
  .order-progress { width:100%; display:grid; grid-template-columns:1fr; gap:0; }
  .order-progress-stage { grid-template-columns:44px minmax(0,1fr); justify-items:stretch; align-items:center; gap:13px; padding:4px 0; text-align:right; min-height:60px; }
  .order-progress-visual { grid-column:1; grid-row:1; justify-self:end; }
  .order-progress-content { grid-column:2; grid-row:1; width:100%; justify-self:stretch; align-self:center; justify-items:end; text-align:right; }
  .order-progress-connector { grid-column:1; display:block; width:2px; height:8px; margin:0; justify-self:center; background:var(--acc-border); }
  .order-progress-connector.done { background:var(--ok); }
  .order-progress-label { font-size:13.5px; }
  .order-progress-description { font-size:11px; }
  .ec-support-workspace { min-height:500px; }
  .acc-notification-overview { grid-template-columns:1fr; }
  .acc-purchase-summary { grid-template-columns:1fr; }
  .acc-purchase-submit { position:sticky; bottom:0; }
}

/* Final customer visual composition pass: denser task-first workspaces. */
#accMain { padding-top:22px; }
.ui-page { gap:18px; }
.ui-page-content { gap:18px; }
.ui-page-header { min-height:62px; }
.ui-page-header h1 { font-size:27px; }
.ui-page-header p { margin-top:5px; font-size:13.5px; line-height:1.7; }
.ui-page-header .acc-eyebrow { font-size:11.5px; }
.ui-section-header h2, .ui-form-section h2 { font-size:18px; }
.ui-section-header p, .ui-form-section header p { font-size:12.5px; }
.ui-data-row-title { font-size:14px; }
.ui-data-row-description { font-size:12px; }
.ui-data-row-meta, .ui-price small { font-size:11.5px; }
.ui-price strong { font-size:14px; }
.ui-button, .ec-store-button, .ec-secondary-button, .cx-primary-action, .cx-secondary-action, .cx-cart-link, .acc-state-action, .acc-save-btn, .acc-topup-submit, .acc-purchase-submit, .cx-checkout-submit { font-size:13px; }
.ui-button--primary, .ec-store-button, .acc-save-btn, .acc-topup-submit, .acc-purchase-submit, .cx-checkout-submit { box-shadow:0 9px 22px var(--acc-neutral-shadow); }
.ui-button--primary:hover, .ec-store-button:hover, .acc-save-btn:hover, .acc-topup-submit:hover, .acc-purchase-submit:hover, .cx-checkout-submit:hover { background:var(--acc-commerce-hover); border-color:var(--acc-commerce-hover); box-shadow:0 12px 28px var(--acc-neutral-shadow); }
.ui-button:active, .ec-store-button:active, .acc-save-btn:active, .acc-topup-submit:active, .acc-purchase-submit:active, .cx-checkout-submit:active { transform:scale(.985); transition-duration:110ms; }

/* Compact registration toolbar; the catalog begins in the initial viewport. */
.cx-store-toolbar { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); align-items:end; gap:14px; padding:14px 16px; border-radius:14px; }
.cx-store-toolbar .ui-search { max-width:none; }
.cx-store-toolbar .ui-search-label { font-size:12.5px; }
.cx-store-toolbar .ui-search-control { min-height:44px; }
.cx-store-toolbar .ui-filter-bar { min-width:0; margin:0; padding:0; border:0; }
.cx-category-rail, .cx-subcategory-rail { padding:4px; }
.cx-category-rail .ui-segmented-item, .cx-subcategory-rail .ui-segmented-item { min-height:36px; padding-inline:13px; font-size:12px; }
.cx-catalog-head { margin:0; padding:0 2px; }
.cx-catalog-head h2 { margin-top:1px; font-size:19px; }
.cx-catalog-head span, .cx-catalog-head small { font-size:12px; }
.cx-catalog { gap:14px; }
.cx-product { min-height:326px; grid-template-rows:var(--cx-product-media-height) minmax(0,1fr) auto; border-radius:15px; box-shadow:0 7px 24px rgba(38,53,83,.05); }
.cx-product:hover { transform:translateY(-2px); border-color:var(--accent-line); box-shadow:0 13px 30px rgba(38,53,83,.1); transition-duration:170ms; }
.cx-product-media { height:var(--cx-product-media-height); }
.acc-product-fallback { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:var(--accent-ink); background:var(--acc-warm-surface); }
.acc-product-fallback[hidden] { display:none; }
.acc-product-fallback b { min-width:58px; min-height:58px; display:grid; place-items:center; padding:8px; border:1px solid var(--accent-line); border-radius:18px; background:var(--acc-surface); box-shadow:0 12px 30px var(--acc-neutral-shadow); font-size:20px; font-weight:900; letter-spacing:.04em; }
.acc-product-fallback small { color:var(--accent-ink); font-size:11px; font-weight:750; }
.cx-product-copy { padding:14px 15px 10px; }
.cx-product-meta { font-size:11.5px; }
.cx-product-title { margin-top:3px; font-size:16px; }
.cx-product-copy p { min-height:39px; margin-top:5px; font-size:13px; line-height:1.65; }
.cx-product-delivery { margin-top:7px; font-size:12px; }
.cx-product-buy { gap:8px 10px; padding:11px 15px 14px; background:var(--acc-surface-2); }
.cx-product-buy small { font-size:11.5px; }
.cx-product-buy strong { font-size:14px; }
.cx-product-buy > .ui-button { min-height:43px; }

/* Product configurator: bounded configuration + summary with a decisive final bar. */
.acc-purchase-overlay { padding:24px; }
.acc-purchase-dialog { width:min(970px,100%); max-height:calc(100dvh - 48px); grid-template-columns:270px minmax(0,1fr); border-radius:20px; animation-duration:240ms; }
.acc-purchase-media { width:270px; min-height:390px; position:relative; align-content:center; padding:24px; }
.acc-purchase-media > img { width:100%; height:220px; padding:16px; }
.acc-purchase-media-fallback { min-height:250px; padding:14px; }
.acc-purchase-media-fallback .acc-product-fallback { height:auto; min-height:154px; border-radius:18px; }
.acc-purchase-assurance { position:absolute; right:24px; left:24px; bottom:24px; display:grid; gap:3px; padding-top:16px; border-top:1px solid var(--accent-line); }
.acc-purchase-assurance b { color:var(--accent-ink); font-size:14px; }
.acc-purchase-assurance span { color:var(--muted); font-size:12px; }
.acc-purchase-content { min-height:430px; max-height:calc(100dvh - 48px); overflow:auto; padding:32px 34px 0; }
.acc-purchase-content h2 { margin-top:10px; font-size:25px; }
.acc-purchase-content > p { font-size:13px; line-height:1.75; }
.acc-purchase-content form { min-height:calc(100% - 108px); align-content:start; }
.acc-purchase-content .ac-lbl { font-size:12.5px; }
.acc-purchase-content .ac-input { min-height:46px; font-size:13px; }
.acc-purchase-delivery { padding:10px 12px; font-size:12px; }
.acc-purchase-final { position:sticky; z-index:2; bottom:0; display:grid; grid-template-columns:minmax(0,1fr) 210px; align-items:center; gap:14px; margin:auto -34px 0; padding:14px 34px; border-top:1px solid var(--acc-border); background:var(--acc-surface); box-shadow:0 -12px 28px rgba(38,53,83,.06); }
.acc-purchase-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0; background:transparent; }
.acc-purchase-summary small { font-size:11.5px; }
.acc-purchase-summary b { font-size:15px; }
[data-purchase-price] { display:inline-block; color:var(--accent-ink); transition:transform 180ms var(--ease-enter),color 180ms; }
[data-purchase-price].is-updated { animation:cx-price-pop 220ms var(--ease-enter); }
@keyframes cx-price-pop { 50% { transform:translateY(-2px) scale(1.04); color:var(--accent); } }
.acc-purchase-submit { min-height:48px; margin:0; }

/* Cart emphasizes scannability and the financial decision. */
.cx-checkout-grid { grid-template-columns:minmax(0,1fr) minmax(320px,34%); gap:18px; }
.cx-checkout-steps li { min-height:52px; font-size:12px; }
.cx-checkout-workspace, .cx-order-summary { padding:20px; border-radius:16px; }
.cx-cart-row { margin-top:12px; padding:15px 17px; border-radius:13px; }
.cx-cart-row h2 { font-size:16px; }
.cx-cart-row-body { margin-top:11px; }
.cx-cart-configuration > span { min-width:125px; padding:9px 11px; }
.cx-cart-configuration small, .cx-cart-controls small { font-size:11.5px; }
.cx-cart-configuration b, .cx-cart-controls b, .cx-cart-controls strong { font-size:13px; }
.cx-cart-controls { margin-top:11px; padding-top:11px; }
.cx-order-summary { padding:22px; }
.cx-summary-kicker { font-size:11.5px; }
.cx-order-summary h2 { margin:3px 0 12px; font-size:20px; }
.cx-summary-line { padding:11px 0; font-size:13px; }
.cx-summary-line.total { padding-block:15px; }
.cx-summary-line.total strong { color:var(--accent-ink); font-size:20px; }
.cx-server-note, .cx-security-note { font-size:11.5px; }
.cx-checkout-submit { min-height:50px; font-size:14px; }
.cx-continue-shopping { border-color:var(--acc-border-strong)!important; background:var(--acc-surface)!important; color:var(--muted)!important; box-shadow:none!important; }

/* Orders are a purchase history, not a KPI dashboard. */
.ec-orders-panel { min-height:0; padding:16px 20px; border-radius:16px; }
.ec-orders-toolbar { min-height:48px; margin:0; padding:0 0 12px; }
.ec-orders-toolbar > div span { font-size:11.5px; }
.ec-orders-toolbar > div b { font-size:15px; }
.ec-order-filters { margin:0; }
.ec-order-filters .ui-segmented-item { font-size:12px; }
.ui-order-row { min-height:92px; padding:13px 10px; }
.ui-order-row .ui-data-row-description, .ui-order-row .ui-data-row-meta { display:flex; flex-wrap:wrap; gap:6px 18px; }
.ui-order-row .ui-data-row-description span, .ui-order-row .ui-data-row-meta span { display:inline-flex; gap:5px; font-size:12px; }
.ui-order-row small { color:var(--faint); font-size:11.5px; }
.ui-order-row .ui-data-row-title span { font-size:11.5px; }
.ui-order-row .ui-data-row-trailing { min-width:320px; }
.ui-order-row .ui-price strong { font-size:15px; }

/* Order detail makes ready delivery the first operational surface. */
.ec-order-detail-head { min-height:116px; padding:22px 24px; }
.ec-order-detail-head h2 { font-size:22px; }
.ec-order-detail-head span, .ec-order-detail-head p { font-size:12px; }
.ec-delivery { padding:22px 24px; }
.ec-delivery h2 { font-size:19px; }
.ec-delivery-field { padding:12px 14px; }
.ec-delivery-field > span { font-size:12px; }
.ec-delivery-field button { font-size:12px; }
.ec-delivery-field button.is-copied { border-color:var(--ok); background:var(--ok); color:#fff; }
.ec-order-progress { padding:20px 24px; }
.ui-timeline-item b { font-size:12.5px; }
.ui-timeline-item small { font-size:11.5px; }
.ec-order-sections > section { padding:20px; }
.ec-order-items li, .ec-payment-info > div { font-size:12.5px; }
.ec-order-items b { font-size:14px; }

/* Wallet keeps money controls above the fold without a poster-sized balance card. */
.acc-wallet-grid { grid-template-columns:minmax(300px,.72fr) minmax(430px,1.28fr); align-items:start; gap:18px; }
.acc-wallet-balance, .acc-topup { min-height:222px; }
.acc-wallet-balance { padding:24px; border-radius:16px; }
.acc-wallet-balance::after { width:150px; height:150px; }
.acc-wallet-balance > span { font-size:13px; }
.acc-wallet-balance > b { margin:7px 0 19px; font-size:30px; }
.acc-wallet-owner { padding-top:13px; font-size:11.5px; }
.acc-topup { padding:21px; }
.acc-topup h2, .acc-transactions h2 { margin-bottom:13px; font-size:18px; }
.acc-presets { margin-bottom:10px; }
.acc-presets .ui-segmented-item { min-height:36px; font-size:11.5px; }
.acc-topup .ac-input { min-height:42px; }
.acc-topup-submit { min-height:44px; margin-top:8px; }
.acc-transactions { padding:20px; }
.ui-transaction-row { min-height:72px; grid-template-columns:46px minmax(0,1fr) auto; padding:11px 8px; }
.ui-transaction-row .ui-data-row-leading { width:42px; height:42px; border-radius:12px; }
.ui-transaction-row.is-credit .ui-data-row-leading { color:#247957; background:#eaf8f1; }
.ui-transaction-row.is-debit .ui-data-row-leading { color:#9a5527; background:#fff2e7; }
.ui-transaction-row .ui-data-row-title { font-size:13.5px; }
.ui-transaction-row .ui-data-row-description { margin-top:3px; font-size:11.5px; }
.acc-transaction-result { min-width:180px; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.acc-transaction-status { color:var(--muted); font-size:11.5px; }
.acc-transaction-amount { min-width:122px; font-size:14px; font-weight:900; text-align:left; direction:rtl; }
.acc-transaction-amount.credit { color:#247957; }
.acc-transaction-amount.debit { color:#9a5527; }

/* Support, profile, favorites, and notifications each get a distinct workspace role. */
.ec-support-content { min-height:0; gap:14px; }
.acc-ticket-compose { padding:0 18px; }
.acc-ticket-toggle { min-height:58px; }
.acc-ticket-toggle-copy b { font-size:14px; }
.acc-ticket-toggle-copy small { font-size:11.5px; }
.ec-support-workspace { min-height:540px; grid-template-columns:minmax(300px,340px) minmax(0,1fr); border-radius:16px; }
.ec-ticket-list { min-height:540px; padding:16px; }
.acc-ticket-row { min-height:94px; padding:12px; }
.acc-ticket-conversation { min-height:540px; padding:20px 24px; }
.acc-support-thread { min-height:240px; }
.acc-message p { font-size:13px; }
.acc-message b, .acc-message time, .acc-message small { font-size:11.5px; }
.acc-reply-form { padding:13px; }
.acc-conversation-placeholder { min-height:540px; }
.ec-profile { max-width:1040px; }
.acc-profile-header { min-height:96px; grid-template-columns:54px minmax(0,1fr) 220px; padding:17px 20px; }
.acc-profile-avatar { width:54px; height:54px; }
.acc-profile-name > b { font-size:16px; }
.acc-profile-meta { font-size:11.5px; }
.acc-profile-workspace { grid-template-columns:200px minmax(0,760px); gap:18px; }
.acc-profile-nav { padding:9px; }
.acc-profile-nav a { min-height:40px; font-size:12px; }
.acc-profile-form { gap:14px; }
.acc-profile-section { padding:21px; }
.ac-lbl { font-size:12.5px; }
.ac-input { min-height:44px; font-size:13px; }
.ac-field-help, .acc-controlled-note { font-size:11.5px; }
.acc-save-row { bottom:12px; padding:11px; }
.acc-security-disabled { margin-right:218px; padding:20px; }
.ec-favorites .ui-state { width:min(620px,100%); min-height:310px; margin:16px auto; border:1px dashed var(--accent-line); border-radius:18px; background:linear-gradient(145deg,var(--acc-surface),var(--accent-soft)); }
.ec-favorites .acc-state h3 { font-size:17px; }
.ec-favorites .acc-state p { font-size:13px; }
.acc-notification-summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 14px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface); }
.acc-notification-summary > span { display:flex; align-items:center; gap:8px; color:var(--accent-ink); }
.acc-notification-summary b { color:var(--ink); font-size:13px; }
.acc-notification-summary small { color:var(--faint); font-size:12px; }
.acc-notification-center { padding:8px 18px 12px; }
.acc-notification { min-height:76px; border-radius:10px; }
.acc-notification.unread { border-right:3px solid var(--accent); background:var(--accent-soft); }
.acc-notification.read { opacity:.76; }
.acc-notification.read:hover { opacity:1; }
.acc-notification .ui-data-row-leading { transition:background var(--motion-fast),color var(--motion-fast); }
.acc-notification.tone-success .ui-data-row-leading, .acc-notification.tone-credit .ui-data-row-leading { color:#247957; background:#eaf8f1; }
.acc-notification.tone-danger .ui-data-row-leading { color:var(--danger); background:var(--danger-soft); }
.acc-notification.tone-payment .ui-data-row-leading, .acc-notification.tone-invoice .ui-data-row-leading { color:#315f99; background:#edf5ff; }
.acc-notification.tone-support .ui-data-row-leading { color:var(--ink); background:var(--acc-surface-2); }
.acc-unread-label { display:inline-flex; margin-right:8px; padding:2px 7px; border-radius:999px; background:var(--accent); color:var(--ink-on-accent); font-size:9px; font-weight:850; }
.acc-notification-read { border-color:var(--accent-line); color:var(--accent-ink); background:var(--acc-surface); }
.acc-mobile-save-dock { display:none; }

@media (min-width:1800px) {
  .cx-catalog { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .cx-store-toolbar { grid-template-columns:1fr; align-items:stretch; }
  .cx-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cx-checkout-grid, .acc-wallet-grid { grid-template-columns:1fr; }
  .cx-order-summary { position:static; }
}
@media (max-width:780px) {
  #accMain { padding-top:18px; padding-bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + 26px); }
  .acc-mobile-bottom-nav { height:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom)); padding-bottom:calc(4px + var(--account-mobile-safe-bottom)); }
  .ui-page { gap:14px; }
  .ui-page-header { min-height:0; align-items:flex-start; }
  .ui-page-header h1 { font-size:24px; }
  .ui-page-header p { font-size:13px; }
  .cx-store-toolbar { padding:12px; }
  .cx-catalog { grid-template-columns:1fr; }
  .acc-purchase-overlay { align-items:end; padding:0; }
  .acc-purchase-dialog { width:100%; max-height:92dvh; grid-template-columns:1fr; border-radius:22px 22px 0 0; animation-name:ui-sheet-in; }
  @keyframes ui-sheet-in { from { opacity:0; transform:translateY(24px); } }
  .acc-purchase-media { display:none; }
  .acc-purchase-content { grid-column:1; min-height:0; max-height:92dvh; padding:24px 18px 0; }
  .acc-purchase-content h2 { font-size:22px; }
  .acc-purchase-content form { min-height:0; }
  .acc-purchase-final { grid-template-columns:1fr; gap:10px; margin:16px -18px 0; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); }
  .ui-order-row { grid-template-columns:44px minmax(0,1fr); }
  .ui-order-row .ui-data-row-trailing { grid-column:1/-1; min-width:0; justify-content:space-between; }
  .ec-support-workspace { grid-template-columns:1fr; }
  .ec-ticket-list { min-height:0; border-left:0; }
  .acc-ticket-conversation { min-height:calc(100dvh - 210px); }
  .cx-checkout:has(.cx-mobile-checkout-dock), .ec-support.has-conversation, .ec-profile:has(#profileForm[data-dirty="true"]), .ec-profile:has(.acc-mobile-save-dock.is-success) { padding-bottom:calc(var(--account-mobile-action-height) + 24px); }
  .cx-mobile-checkout-dock { position:fixed; z-index:74; right:10px; bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + var(--account-mobile-keyboard-offset)); left:10px; min-height:var(--account-mobile-action-height); display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:10px 12px; border:1px solid var(--acc-border-strong); border-radius:16px; background:color-mix(in srgb,var(--acc-surface) 97%,transparent); box-shadow:0 -8px 32px rgba(29,38,60,.16); animation:ui-dock-in var(--motion-normal) var(--ease-enter) both; }
  .cx-mobile-checkout-dock small, .cx-mobile-checkout-dock b { display:block; }
  .cx-mobile-checkout-dock small { color:var(--muted); font-size:10px; }
  .cx-mobile-checkout-dock b { margin-top:2px; color:var(--ink); font-size:14px; }
  .cx-mobile-checkout-dock button { min-height:46px; padding:0 18px; border:0; border-radius:11px; background:var(--acc-commerce); color:var(--acc-commerce-text); font:850 12px inherit; }
  @keyframes ui-dock-in { from { opacity:0; transform:translateY(10px); } }
  .ec-support.has-conversation .ec-support-workspace { height:calc(100dvh - var(--acc-mobile-header) - var(--account-mobile-nav-height) - var(--account-mobile-action-height) - 94px); min-height:360px; overflow:hidden; }
  .ec-support.has-conversation .acc-ticket-conversation { height:100%; min-height:0; padding:14px; overflow:hidden; }
  .ec-support.has-conversation .acc-support-thread { min-height:0; overflow:auto; overscroll-behavior:contain; padding-bottom:16px; }
  .ec-support.has-conversation .acc-reply-form { position:fixed; z-index:74; right:10px; bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + var(--account-mobile-keyboard-offset)); left:10px; min-height:var(--account-mobile-action-height); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; margin:0; padding:9px; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:0 -8px 32px rgba(29,38,60,.16); }
  .ec-support.has-conversation .acc-reply-heading, .ec-support.has-conversation .acc-reply-form .ac-lbl { display:none; }
  .ec-support.has-conversation .acc-reply-form .ac-field { margin:0; }
  .ec-support.has-conversation .acc-reply-form textarea { min-height:46px; max-height:92px; resize:none; }
  .ec-support.has-conversation .acc-reply-actions { display:flex; align-items:center; gap:6px; }
  .ec-support.has-conversation .acc-reply-attachment { width:42px; min-height:42px; display:grid; place-items:center; padding:0; border:1px solid var(--acc-border); border-radius:10px; font-size:0; }
  .ec-support.has-conversation .acc-reply-actions button { min-height:42px; padding-inline:14px; }
  .acc-mobile-save-dock { position:fixed; z-index:74; right:10px; bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + var(--account-mobile-keyboard-offset)); left:10px; min-height:var(--account-mobile-action-height); align-items:center; padding:10px; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:0 -8px 32px rgba(29,38,60,.16); }
  #profileForm[data-dirty="true"] .acc-mobile-save-dock, .acc-mobile-save-dock.is-success { display:flex; animation:ui-dock-in var(--motion-normal) var(--ease-enter) both; }
  .acc-mobile-save-dock button { width:100%; min-height:46px; border:0; border-radius:11px; background:var(--acc-commerce); color:var(--acc-commerce-text); font:850 13px inherit; }
  .acc-mobile-save-dock.is-success button { background:#247957; }
  .acc-save-row { position:static; }
  .acc-profile-workspace { grid-template-columns:1fr; }
  .acc-profile-nav { position:static; display:flex; overflow:auto; }
  .acc-security-disabled { margin-right:0; }
}
@media (max-width:540px) {
  .ui-page-header { display:grid; gap:12px; }
  .ui-page-actions, .ui-page-actions .ui-button { width:100%; }
  .cx-product { --cx-product-media-height:128px; --cx-product-image-size:88px; min-height:0; grid-template-columns:96px minmax(0,1fr); grid-template-rows:auto auto; }
  .cx-product-media { width:96px; height:var(--cx-product-media-height); min-height:var(--cx-product-media-height); }
  .cx-product-copy { padding:12px; }
  .cx-product-copy p { min-height:0; font-size:12.5px; }
  .cx-product-buy { grid-column:1/-1; }
  .cx-checkout-workspace, .cx-order-summary { padding:16px; }
  .cx-cart-row { padding:14px; }
  .ec-orders-panel { padding:12px; }
  .ec-orders-toolbar { display:grid; gap:10px; }
  .ec-order-filters { width:100%; }
  .ec-order-filters .ui-segmented-item { flex:1; justify-content:center; }
  .ec-order-detail-head { min-height:0; padding:17px; }
  .ec-delivery, .ec-order-progress { padding:17px; }
  .ec-delivery-field { grid-template-columns:1fr auto; }
  .ec-delivery-field > span { grid-column:1/-1; }
  .acc-wallet-balance, .acc-topup { min-height:0; }
  .acc-profile-header { grid-template-columns:48px minmax(0,1fr); }
  .acc-profile-progress { grid-column:1/-1; }
  .acc-notification-summary { align-items:flex-start; flex-direction:column; }
  .acc-notification-center { padding:6px 10px; }
  .ui-transaction-row { grid-template-columns:42px minmax(0,1fr); }
  .ui-transaction-row .ui-data-row-trailing { grid-column:1/-1; justify-content:flex-end; }
  .acc-transaction-result { width:100%; min-width:0; justify-content:space-between; }
  .acc-notification { grid-template-columns:42px minmax(0,1fr); }
  .acc-notification .ui-data-row-trailing { grid-column:1/-1; justify-content:flex-end; }
}

/* Final visual-density pass: distinct commerce, financial, and communication surfaces. */
.acc-view:not(.ec-profile) { max-width:1600px; }
.ui-button--primary, .ec-store-button, .acc-save-btn, .acc-topup-submit, .acc-purchase-submit, .cx-checkout-submit, .cx-product-buy > .ui-button { border-color:var(--acc-commerce); background:var(--acc-commerce); color:var(--acc-commerce-text); box-shadow:0 10px 25px var(--acc-neutral-shadow); }
.ui-button--primary:hover, .ec-store-button:hover, .acc-save-btn:hover, .acc-topup-submit:hover, .acc-purchase-submit:hover, .cx-checkout-submit:hover, .cx-product-buy > .ui-button:hover { border-color:var(--acc-commerce-hover); background:var(--acc-commerce-hover); }
.cx-store-toolbar { padding:12px 14px; border-color:var(--acc-border-strong); background:var(--acc-surface); }
.cx-store-toolbar .ui-search { min-height:42px; }
.cx-store-toolbar .ui-filter-bar { margin-top:10px; padding-top:10px; }
.cx-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cx-product { border-color:var(--acc-border); background:var(--acc-surface); }
.cx-product-buy { background:var(--acc-surface-2); }
.cx-product-title { font-size:18px; }
.cx-product-copy p { font-size:13.5px; }
.acc-variant-field { min-width:0; margin:0; padding:15px; border:1px solid var(--acc-border); border-radius:13px; background:var(--acc-surface-2); }
.acc-variant-field legend { padding:0 5px; color:var(--ink); font-size:13px; font-weight:800; }
.acc-variant-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.acc-variant-option { min-width:0; min-height:72px; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px; border:1px solid var(--acc-border-strong); border-radius:11px; background:var(--acc-surface); cursor:pointer; }
.acc-variant-option:has(input:checked) { border-color:var(--accent-line2); background:var(--acc-accent-surface-strong); box-shadow:0 0 0 2px var(--acc-focus-ring); }
.acc-variant-option span { display:grid; gap:3px; }
.acc-variant-option b { color:var(--ink); font-size:13px; }
.acc-variant-option small { color:var(--muted); font-size:11px; }
.acc-variant-option strong { color:var(--acc-commerce-hover); font-size:12px; white-space:nowrap; }
.acc-variant-option.disabled { opacity:.48; cursor:not-allowed; }
.cx-checkout-grid { grid-template-columns:minmax(0,68fr) minmax(340px,32fr); gap:22px; }
.cx-cart-row { border:1px solid var(--acc-border); background:var(--acc-surface); box-shadow:0 8px 24px rgba(38,53,83,.045); }
.cx-cart-row > header { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:12px; }
.cx-cart-visual { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; background:var(--acc-accent-surface); color:var(--accent-ink); }
.cx-cart-row-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.cx-cart-row-actions button { min-height:34px; padding:0 12px; border:1px solid var(--acc-border); border-radius:8px; background:transparent; color:var(--muted); font:700 11px inherit; cursor:pointer; }
.cx-order-summary { border-color:transparent; background:var(--acc-summary); color:var(--acc-summary-text); box-shadow:0 22px 48px rgba(17,19,24,.18); }
.cx-order-summary h2, .cx-order-summary .cx-summary-line b { color:var(--acc-summary-text); }
.cx-order-summary .cx-summary-kicker, .cx-order-summary .cx-summary-line span, .cx-order-summary .cx-server-note, .cx-order-summary .cx-security-note { color:rgba(255,255,255,.65); }
.cx-order-summary .cx-summary-line { border-color:rgba(255,255,255,.11); }
.cx-order-summary .cx-summary-line.total strong { color:var(--accent); font-size:25px; }
.ec-orders-toolbar { display:grid; grid-template-columns:minmax(300px,1fr) auto; gap:14px; align-items:center; }
.ec-orders-toolbar .ui-search { max-width:none; }
.acc-wallet-grid { padding:18px; border:1px solid var(--acc-border); border-radius:20px; background:var(--acc-surface); box-shadow:0 10px 35px rgba(38,53,83,.055); }
.acc-wallet-balance { flex-basis:38%; }
.acc-wallet-balance > b { font-size:36px; }
.acc-transactions { margin-top:14px; }
.ec-favorites .ui-state { width:100%; min-height:360px; margin:0; }
.ec-favorite-suggestions { margin-top:22px; }
.ec-favorite-suggestions header { margin-bottom:12px; }
.ec-favorite-suggestions header span { color:var(--acc-commerce); font-size:11px; font-weight:800; }
.ec-favorite-suggestions h2 { margin-top:3px; color:var(--ink); font-size:20px; }
.acc-ticket-compose { display:none; }
.acc-ticket-compose:has(.acc-ticket-panel.open) { position:fixed; z-index:170; inset:50% auto auto 50%; width:min(820px,calc(100vw - 32px)); height:min(760px,calc(100dvh - 40px)); max-height:calc(100dvh - 40px); display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; transform:translate(-50%,-50%); padding:0; border:1px solid var(--acc-border-strong); border-radius:18px; background:var(--acc-surface); box-shadow:0 0 0 100vmax rgba(7,9,14,.68),0 28px 90px rgba(7,9,14,.34); }
.acc-ticket-compose:has(.acc-ticket-panel.open)::before { content:none; }
.acc-ticket-compose:has(.acc-ticket-panel.open) .acc-ticket-toggle { min-height:76px; padding:12px 20px; border-bottom:1px solid var(--acc-border); background:var(--acc-surface); cursor:default; }
.acc-ticket-compose:has(.acc-ticket-panel.open) .acc-ticket-toggle-copy b { font-size:16px; }
.acc-ticket-compose:has(.acc-ticket-panel.open) .acc-ticket-toggle-copy small { margin-top:3px; font-size:11px; }
.acc-ticket-close { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--muted); cursor:pointer; }
.acc-ticket-panel.open { min-height:0; grid-template-rows:minmax(0,1fr); overflow:hidden; }
.acc-ticket-panel.open > div { min-height:0; overflow-x:hidden; overflow-y:auto; padding:0 20px; overscroll-behavior:contain; }
.acc-ticket-compose .acc-ticket-form { grid-template-columns:minmax(0,1.55fr) minmax(220px,.85fr); gap:14px 18px; margin:0; padding:18px 0 0; border:0; }
.acc-ticket-compose .acc-ticket-form > .ac-field { min-width:0; margin:0; }
.acc-ticket-compose .acc-ticket-form .ac-input { width:100%; min-width:0; min-height:44px; border-radius:10px; }
.acc-ticket-compose #ticketMessage { min-height:150px; height:150px; max-height:260px; resize:vertical; line-height:1.8; }
.acc-ticket-compose .acc-upload { width:100%; min-width:0; grid-template-columns:42px minmax(0,1fr) auto; gap:10px 12px; padding:13px 14px; border-radius:12px; }
.acc-ticket-compose .acc-upload-icon { width:42px; height:42px; border-radius:10px; background:var(--acc-accent-surface); }
.acc-ticket-compose .acc-upload-copy { min-width:0; }
.acc-ticket-compose .acc-upload-copy b { font-size:11.5px; }
.acc-ticket-compose .acc-upload-copy small { margin-top:3px; font-size:9.5px; line-height:1.7; white-space:normal; }
.acc-ticket-compose .acc-upload-pick { min-height:36px; padding-inline:13px; font-size:10.5px; }
.acc-ticket-compose .acc-upload > .ac-field-help { grid-column:2/-1; margin:0; line-height:1.7; white-space:normal; }
.acc-ticket-compose .acc-file-meta { grid-column:1/-1; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:9px; border-top:1px solid var(--acc-border); }
.acc-ticket-compose .acc-file-meta[hidden] { display:none; }
.acc-ticket-compose #ticketFileName { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acc-ticket-actions { position:sticky; z-index:2; bottom:0; grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; margin-top:2px; padding:14px 0 16px; border-top:1px solid var(--acc-border); background:var(--acc-surface); }
.acc-ticket-actions .ui-button, .acc-ticket-submit { min-width:132px; min-height:42px; }
.acc-ticket-success-overlay { background:rgba(7,9,14,.68); animation:ui-overlay-in var(--motion-normal) var(--ease-standard) both; }
.acc-ticket-success-dialog { width:min(430px,calc(100vw - 32px)); padding:30px 28px 26px; border:1px solid var(--acc-border-strong); border-radius:18px; background:var(--acc-surface); color:var(--text); text-align:center; box-shadow:0 28px 90px rgba(7,9,14,.3); animation:ui-modal-in 240ms var(--ease-enter) both; }
.acc-ticket-success-icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 16px; border-radius:50%; background:var(--ok-soft); color:var(--ok); animation:acc-ticket-success-pop 240ms var(--ease-enter) both; }
.acc-ticket-success-dialog h2 { color:var(--ink); font-size:18px; }
.acc-ticket-success-dialog p { margin:9px auto 20px; color:var(--text); font-size:11px; line-height:2; opacity:.86; }
.acc-ticket-success-action { width:100%; min-height:44px; }
@keyframes acc-ticket-success-pop { from { opacity:0; transform:scale(.86); } to { opacity:1; transform:scale(1); } }
.acc-ticket-panel.open > div { scrollbar-width:thin; scrollbar-color:var(--acc-border-strong) transparent; }
.acc-ticket-panel.open > div::-webkit-scrollbar { width:7px; }
.acc-ticket-panel.open > div::-webkit-scrollbar-track { background:transparent; }
.acc-ticket-panel.open > div::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:999px; background-clip:padding-box; background-color:var(--acc-border-strong); }
.acc-ticket-panel.open > div::-webkit-scrollbar-thumb:hover { background-color:var(--muted); }
.acc-ticket-compose .ac-field-help, .acc-ticket-compose .acc-upload-copy small { color:var(--muted); }
.ec-ticket-list .acc-ticket-row { grid-template-columns:34px minmax(0,1fr); grid-template-areas:"leading copy"; align-items:start; gap:12px; direction:ltr; }
.ec-ticket-list .acc-ticket-row .ui-data-row-leading { grid-area:leading; width:34px; height:34px; margin-top:1px; }
.ec-ticket-list .acc-ticket-row .ui-data-row-copy { grid-area:copy; min-width:0; direction:rtl; text-align:right; }
.ec-ticket-list .acc-ticket-header { display:flex; align-items:center; min-width:0; }
.ec-ticket-list .acc-ticket-title { display:flex; align-items:center; min-width:0; gap:8px; margin:0; }
.ec-ticket-list .acc-ticket-title b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ec-ticket-list .acc-ticket-title em { flex:0 0 auto; margin:0; }
.ec-ticket-list .acc-ticket-identity { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:10px; margin-top:8px; padding:8px 0 7px; border-top:1px solid var(--acc-border); border-bottom:1px solid var(--acc-border); }
.ec-ticket-list .acc-ticket-code { min-width:0; margin:0; overflow:hidden; color:var(--acc-text-muted); text-overflow:ellipsis; white-space:nowrap; direction:ltr; text-align:left; }
.ec-ticket-list .acc-ticket-status { flex:0 0 auto; }
.ec-ticket-list .acc-ticket-meta { display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:8px; line-height:1.6; }
.ec-ticket-list .acc-ticket-meta span { white-space:nowrap; }
.acc-notification-summary { display:grid; grid-template-columns:auto 1fr auto; }
.acc-notification-filters { justify-self:center; }
.acc-notification { min-height:84px; }
@media (min-width:1600px) { .cx-catalog { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:780px) {
  .cx-catalog, .cx-checkout-grid, .acc-wallet-grid { grid-template-columns:1fr; }
  .ec-support.has-conversation .ec-ticket-list { display:none; }
  .acc-variant-options, .ec-orders-toolbar { grid-template-columns:1fr; }
  .acc-notification-summary { grid-template-columns:1fr; }
  .acc-notification-filters { justify-self:stretch; }
  .acc-ticket-compose:has(.acc-ticket-panel.open) { width:calc(100vw - 16px); height:min(780px,calc(100dvh - 16px)); max-height:calc(100dvh - 16px); border-radius:16px; }
  .acc-ticket-compose:has(.acc-ticket-panel.open) .acc-ticket-toggle { min-height:70px; padding:10px 14px; }
  .acc-ticket-panel.open > div { padding:0 14px; }
  .acc-ticket-compose .acc-ticket-form { grid-template-columns:1fr; gap:12px; padding-top:14px; }
  .acc-ticket-compose #ticketMessage { min-height:140px; height:140px; }
  .acc-ticket-compose .acc-upload { grid-template-columns:38px minmax(0,1fr); }
  .acc-ticket-compose .acc-upload-pick { grid-column:1/-1; width:100%; }
  .acc-ticket-compose .acc-upload > .ac-field-help { grid-column:1/-1; }
  .acc-ticket-actions { flex-direction:column-reverse; padding-bottom:14px; }
  .acc-ticket-actions .ui-button, .acc-ticket-submit { width:100%; }
  .ec-ticket-list .acc-ticket-row { grid-template-columns:32px minmax(0,1fr); gap:10px; padding:12px; }
  .ec-ticket-list .acc-ticket-row .ui-data-row-leading { width:32px; height:32px; }
  .ec-ticket-list .acc-ticket-identity { align-items:flex-start; flex-wrap:wrap; row-gap:6px; }
  .ec-ticket-list .acc-ticket-code { flex:1 1 130px; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
  .ec-ticket-list .acc-ticket-status { margin-inline-start:auto; }
  .ec-ticket-list .acc-ticket-meta { gap:3px 8px; }
}

/* Final professional polish for account, wallet, notifications, order detail, and cart rows. */
.ec-profile { max-width:1160px; }
.acc-profile-header { min-height:110px; padding:20px 22px; border-color:var(--acc-border-strong); background:var(--acc-surface); box-shadow:0 12px 34px var(--acc-neutral-shadow); }
.acc-profile-avatar { border:1px solid var(--accent-line); background:var(--accent); color:var(--ink-on-accent); box-shadow:0 8px 22px var(--acc-focus-ring); }
.acc-profile-name { gap:9px; }
.acc-profile-meta + .acc-profile-meta { margin-right:4px; }
.acc-profile-progress { padding:12px 14px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface-2); }
.acc-profile-workspace { grid-template-columns:210px minmax(0,1fr); gap:20px; }
.acc-profile-nav { padding:10px; border-color:var(--acc-border-strong); }
.acc-profile-nav > span { padding:7px 11px 10px; color:var(--faint); font-size:10.5px; font-weight:850; letter-spacing:.02em; }
.acc-profile-nav a { gap:9px; min-height:43px; padding-inline:11px; }
.acc-profile-nav a b { width:25px; height:25px; display:grid; place-items:center; flex:none; border-radius:8px; background:var(--acc-surface-2); color:var(--faint); font-size:9px; }
.acc-profile-nav a:hover b, .acc-profile-nav a:first-of-type b { background:var(--acc-accent-surface-strong); color:var(--ink); }
.acc-profile-form { gap:16px; }
.acc-profile-section { position:relative; overflow:hidden; padding:24px; border-color:var(--acc-border); box-shadow:0 8px 26px rgba(38,53,83,.04); scroll-margin-top:calc(var(--acc-header-height) + 24px); }
.acc-profile-section::before { content:""; position:absolute; top:0; right:0; bottom:0; width:3px; background:var(--accent); opacity:.68; }
.acc-profile-section.is-contact::before, .acc-profile-section.is-address::before { background:var(--accent); }
.acc-profile-section > header { align-items:flex-start; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--acc-border); }
.acc-profile-section > header h2 { font-size:17px; }
.acc-profile-section > header p { margin-top:4px; font-size:11.5px; }
.acc-profile-section-index { width:34px; height:29px; display:grid; place-items:center; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--faint); font-size:10px; font-weight:900; }
.acc-profile-section .ui-form-grid { gap:17px 15px; }
.acc-profile-section .ac-lbl { margin-bottom:6px; color:var(--ink); font-weight:800; }
.acc-profile-section .ac-input { border-color:var(--acc-border-strong); background:var(--acc-field); }
.acc-profile-section .ac-input:focus { border-color:var(--accent-line2); box-shadow:0 0 0 3px var(--acc-focus-ring); }
.acc-profile-section .ac-input[readonly] { border-style:dashed; background:var(--acc-surface-2); color:var(--muted); }
.acc-profile-section .ac-field-help { max-width:44ch; margin-top:6px; line-height:1.7; }
.acc-security-disabled { max-width:none; margin:0; opacity:1; }
.acc-security-disabled::before { background:var(--accent); }
.acc-security-row { min-height:66px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface-2); }
.acc-security-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:var(--acc-accent-surface); color:var(--accent-ink); }
.acc-security-row b, .acc-security-row small { display:block; }
.acc-security-row b { color:var(--ink); font-size:13px; }
.acc-security-row small { margin-top:3px; color:var(--muted); font-size:11px; }
.acc-save-row { z-index:4; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; bottom:12px; padding:12px 13px; border-color:var(--accent-line); background:color-mix(in srgb,var(--acc-surface) 94%,var(--accent) 6%); box-shadow:0 16px 44px var(--acc-neutral-shadow); }
.acc-save-copy { display:flex; align-items:center; gap:10px; }
.acc-save-icon { width:38px; height:38px; display:grid; place-items:center; flex:none; border-radius:10px; background:var(--acc-accent-surface-strong); color:var(--ink); }
.acc-save-copy b, .acc-save-copy small { display:block; }
.acc-save-copy b { color:var(--ink); font-size:12.5px; }
.acc-save-copy small { margin-top:2px; color:var(--muted); font-size:10.5px; }
.acc-save-row .acc-dirty-indicator { margin:0; white-space:nowrap; }
.acc-save-btn { min-width:176px; }

.acc-wallet-grid { grid-template-columns:minmax(300px,.76fr) minmax(440px,1.24fr); gap:16px; padding:16px; }
.acc-wallet-balance, .acc-topup { min-height:0; }
.acc-wallet-balance { padding:22px; overflow:hidden; border:0; background:var(--accent); color:var(--ink-on-accent); box-shadow:0 18px 38px var(--acc-neutral-shadow); }
.acc-wallet-balance::after { top:-50px; left:-35px; width:190px; height:190px; border:1px solid rgba(31,32,36,.14); background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%); }
.acc-wallet-balance-heading { display:flex; align-items:center; gap:11px; }
.acc-wallet-symbol { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(31,32,36,.14); border-radius:12px; background:rgba(255,255,255,.28); color:var(--ink-on-accent); }
.acc-wallet-balance-heading small, .acc-wallet-balance-heading b { display:block; }
.acc-wallet-balance-heading small { color:rgba(31,32,36,.62); font-size:10px; }
.acc-wallet-balance-heading b { margin-top:2px; color:var(--ink-on-accent); font-size:13px; }
.acc-wallet-amount { display:flex; align-items:baseline; gap:7px; margin:24px 0 12px; direction:rtl; }
.acc-wallet-amount strong { color:var(--ink-on-accent); font-size:34px; font-weight:900; letter-spacing:-.02em; }
.acc-wallet-amount small { color:rgba(31,32,36,.72); font-size:11px; font-weight:800; }
.acc-wallet-availability { width:max-content; display:flex; align-items:center; gap:7px; padding:6px 9px; border-radius:999px; background:rgba(99,202,153,.12); color:#a9e7cb; font-size:10.5px; font-weight:750; }
.acc-wallet-availability > span { width:7px; height:7px; border-radius:50%; background:#73d3a8; box-shadow:0 0 0 4px rgba(115,211,168,.1); }
.acc-wallet-owner { display:flex; align-items:center; gap:6px; margin-top:18px; padding-top:12px; border-color:rgba(31,32,36,.12); color:rgba(31,32,36,.65); }
.acc-wallet-owner span { color:var(--ink-on-accent); }
.acc-topup { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.8fr); gap:9px 14px; padding:18px 20px; }
.acc-topup-heading { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; margin-bottom:1px; }
.acc-topup-heading small { color:var(--acc-commerce); font-size:10px; font-weight:850; }
.acc-topup-heading h2 { margin:2px 0 0; font-size:17px; }
.acc-topup-heading em { padding:5px 8px; border-radius:999px; background:#eaf8f1; color:#247957; font-size:9.5px; font-style:normal; font-weight:850; }
.acc-topup-step { grid-column:1/-1; display:flex; align-items:center; gap:7px; margin-top:2px; color:var(--muted); font-size:10.5px; }
.acc-topup-step > span { width:21px; height:21px; display:grid; place-items:center; border-radius:7px; background:var(--acc-accent-surface-strong); color:var(--ink); font-size:9px; font-weight:900; }
.acc-topup .acc-presets { grid-column:1; margin:0; align-self:start; }
.acc-topup > .ac-field { grid-column:2; margin:0; }
.acc-topup .acc-payment-methods, .acc-topup [data-payment-methods] { grid-column:1/-1; }
.acc-topup-submit { grid-column:1; margin:1px 0 0; }
.acc-topup .acc-controlled-note { grid-column:2; align-self:center; margin:0; line-height:1.65; }
.acc-transactions { padding:17px 20px; }
.acc-transactions .ui-section-header { margin-bottom:6px; }
.acc-transactions .ui-section-header > div > span { color:var(--acc-commerce); font-size:10px; font-weight:850; }
.acc-transactions .ui-section-header p { font-size:10.5px; }
.ui-transaction-row { min-height:68px; border-radius:10px; }
.ui-transaction-row:hover { background:var(--acc-surface-2); }
.ui-transaction-row .ui-data-row-title { display:flex; align-items:center; gap:8px; }
.acc-transaction-kind { padding:3px 7px; border-radius:999px; font-size:9px; font-weight:850; }
.is-credit .acc-transaction-kind { background:#eaf8f1; color:#247957; }
.is-debit .acc-transaction-kind { background:#fff2e7; color:#9a5527; }
.acc-transaction-status { padding:4px 7px; border-radius:999px; background:#eef5f1; color:#42715e; }

.acc-notification-summary { min-height:64px; grid-template-columns:minmax(210px,1fr) auto minmax(100px,.45fr); padding:10px 13px; border-color:var(--acc-border-strong); box-shadow:0 8px 24px rgba(38,53,83,.04); }
.acc-notification-summary-state { display:flex; align-items:center; gap:10px; }
.acc-notification-summary-state > span:first-child { width:38px; height:38px; display:grid; place-items:center; flex:none; border-radius:10px; background:var(--accent); color:var(--ink-on-accent); }
.acc-notification-summary-state b, .acc-notification-summary-state small { display:block; }
.acc-notification-summary-state small { margin-top:2px; color:var(--faint); font-size:10px; }
.acc-notification-history { display:flex; align-items:baseline; justify-content:flex-end; gap:6px; }
.acc-notification-history b { font-size:17px; }
.acc-notification-history small { font-size:10px; }
.acc-notification-filters { padding:3px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); }
.acc-notification-center { padding:8px 14px 10px; }
.acc-notification-center .ui-section-header { margin-bottom:2px; }
.acc-notification { min-height:76px; margin:2px 0; padding:10px 8px; border:1px solid transparent; }
.acc-notification.unread { margin:3px 0; padding-inline:11px; border-color:var(--accent-line); border-right-width:3px; background:linear-gradient(90deg,var(--acc-surface),var(--acc-accent-surface)); }
.acc-notification.read { opacity:.7; }
.acc-notification.is-important { border-right-color:var(--danger); }
.acc-notification .ui-data-row-title { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.acc-notification .ui-data-row-description { max-width:82ch; margin-top:3px; line-height:1.75; }
.acc-notification-time { display:inline-flex; align-items:center; gap:5px; color:var(--faint); }
.acc-important-label, .acc-unread-label { display:inline-flex; margin:0; padding:2px 6px; border-radius:999px; font-size:8.5px; font-weight:900; }
.acc-important-label { background:var(--danger-soft); color:var(--danger); }
.acc-notification .ui-data-row-trailing { gap:6px; }
.acc-notification .ui-button { min-height:32px; padding-inline:10px; font-size:10px; }

.ec-order-detail-head { min-height:0; display:grid; grid-template-columns:minmax(280px,1fr) minmax(460px,1.25fr); align-items:center; gap:22px; padding:20px 22px; overflow:hidden; border-color:var(--acc-border-strong); background:var(--acc-surface); box-shadow:0 12px 34px var(--acc-neutral-shadow); }
.ec-order-hero-main { display:flex; align-items:center; gap:13px; }
.ec-order-hero-icon { width:48px; height:48px; display:grid; place-items:center; flex:none; border-radius:13px; background:var(--acc-accent-surface-strong); color:var(--ink); }
.ec-order-detail-head .ec-order-hero-main h2 { margin:3px 0; font-size:20px; }
.ec-order-keyfacts { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:8px; }
.ec-order-keyfacts > div { min-height:67px; display:flex; flex-direction:column; justify-content:center; padding:10px 12px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.ec-order-keyfacts dt { color:var(--faint); font-size:10px; }
.ec-order-keyfacts dd { margin-top:5px; color:var(--ink); font-size:12px; font-weight:850; }
.ec-order-keyfacts .is-amount dd { color:var(--accent-ink); font-size:15px; }
.ec-delivery-status { display:inline-flex; width:max-content; padding:4px 7px; border-radius:999px; font-size:10px; }
.ec-delivery-status.is-ready { background:#eaf8f1; color:#247957; }
.ec-delivery-status.is-waiting { background:var(--wait-soft); color:var(--wait); }
.ec-delivery, .ec-order-progress { border-color:var(--acc-border-strong); box-shadow:0 8px 28px rgba(38,53,83,.04); }
.ec-order-sections { gap:14px; }
.ec-order-sections > section { border-color:var(--acc-border); box-shadow:0 8px 24px rgba(38,53,83,.035); }
.ec-order-sections .ui-section-header > div > span { color:var(--acc-commerce); font-size:9.5px; font-weight:850; }
.ec-order-items li { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.ec-order-item-mark { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:var(--acc-accent-surface-strong); color:var(--ink); }
.ec-order-items li > div small, .ec-order-item-quantity small { display:block; color:var(--faint); font-size:9.5px; }
.ec-order-items li > div b { display:block; margin-top:2px; }
.ec-order-item-quantity { min-width:48px; padding-right:10px; border-right:1px solid var(--acc-border); text-align:center; }
.ec-order-item-quantity b { display:block; margin-top:2px; color:var(--ink); }
.ec-payment-info { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.ec-payment-info > div { padding:10px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); }
.ec-payment-info dt { color:var(--faint); font-size:9.5px; }
.ec-payment-info dd { margin-top:4px; color:var(--ink); font-size:11.5px; font-weight:850; }
.ec-invoice-action { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:11px; padding-top:11px; border-top:1px solid var(--acc-border); }
.ec-invoice-action > span { display:flex; align-items:center; gap:8px; color:var(--acc-commerce-hover); }
.ec-invoice-action b, .ec-invoice-action small { display:block; }
.ec-invoice-action b { color:var(--ink); font-size:11.5px; }
.ec-invoice-action small { margin-top:2px; color:var(--faint); font-size:9.5px; }
.ec-order-support { min-height:66px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:11px; margin-top:14px; padding:11px 13px; border:1px dashed var(--acc-border-strong); border-radius:13px; background:var(--acc-surface); }
.ec-order-support-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:var(--acc-accent-surface); color:var(--accent-ink); }
.ec-order-support b, .ec-order-support small { display:block; }
.ec-order-support b { color:var(--ink); font-size:12px; }
.ec-order-support small { margin-top:2px; color:var(--muted); font-size:10px; }

.cx-cart-row { padding:17px; border-color:var(--acc-border-strong); transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast); }
.cx-cart-row:hover { border-color:var(--accent-line); box-shadow:0 12px 32px var(--acc-neutral-shadow); transform:translateY(-1px); }
.cx-cart-visual { width:54px; height:54px; border:1px solid rgba(185,120,8,.14); border-radius:14px; }
.cx-cart-row > header { grid-template-columns:54px minmax(0,1fr) auto; }
.cx-cart-product h2 { margin-top:2px; font-size:16px; }
.cx-cart-product > small { display:block; margin-top:3px; color:var(--faint); font-size:10px; }
.cx-cart-configuration > span { border-color:transparent; background:var(--acc-surface-2); }
.cx-cart-controls { align-items:center; padding:11px 12px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.cx-cart-controls > div, .cx-cart-controls > label { min-width:120px; }
.cx-cart-quantity { display:grid; justify-items:center; }
.cx-quantity-control { display:flex; align-items:center; margin-top:4px; padding:2px; border:1px solid var(--acc-border-strong); border-radius:9px; background:var(--acc-surface); }
.cx-cart-controls .cx-quantity-control input { width:70px; min-height:34px; margin:0; border:0; background:transparent; font-weight:850; }
.cx-cart-line-total { text-align:left; }
.cx-cart-line-total strong { color:var(--acc-commerce-hover); font-size:15px; }
.cx-cart-row-actions { padding-top:9px; border-top:1px solid var(--acc-border); }
.cx-cart-row-actions button:hover { border-color:var(--accent-line2); color:var(--accent-ink); background:var(--acc-accent-surface); }
.cx-cart-row-actions .cx-remove { border-color:transparent; color:var(--danger); }

@media (max-width:1100px) {
  .ec-order-detail-head { grid-template-columns:1fr; }
  .acc-wallet-grid { grid-template-columns:1fr; }
}
@media (max-width:780px) {
  .acc-profile-workspace { grid-template-columns:1fr; }
  .acc-profile-nav > span { display:none; }
  .acc-profile-nav a { min-width:max-content; }
  .acc-profile-section { padding:19px 17px; }
  .acc-save-row { position:static; grid-template-columns:1fr auto; }
  .acc-save-copy { grid-column:1/-1; }
  .acc-save-row .acc-dirty-indicator { justify-self:start; }
  .acc-topup { grid-template-columns:1fr; }
  .acc-topup > *, .acc-topup .acc-presets, .acc-topup > .ac-field, .acc-topup-submit, .acc-topup .acc-controlled-note { grid-column:1; }
  .acc-notification-summary { grid-template-columns:1fr auto; }
  .acc-notification-filters { grid-column:1/-1; grid-row:2; width:100%; }
  .acc-notification-history { grid-column:2; grid-row:1; }
  .ec-order-keyfacts { grid-template-columns:repeat(3,1fr); }
  .ec-payment-info { grid-template-columns:1fr; }
}
@media (max-width:540px) {
  .acc-profile-header { padding:16px; }
  .acc-profile-section .ui-form-grid { grid-template-columns:1fr; }
  .acc-security-row { grid-template-columns:40px minmax(0,1fr); }
  .acc-security-row .ui-button { grid-column:1/-1; width:100%; }
  .acc-save-row { display:none; }
  .acc-wallet-grid { padding:10px; }
  .acc-wallet-amount strong { font-size:30px; }
  .acc-notification-summary { grid-template-columns:1fr; }
  .acc-notification-history { display:none; }
  .acc-notification-filters { grid-column:1; grid-row:auto; }
  .acc-notification .ui-data-row-trailing { justify-content:flex-start; padding-right:50px; }
  .ec-order-detail-head { padding:15px; }
  .ec-order-keyfacts { grid-template-columns:1fr 1fr; }
  .ec-order-keyfacts .is-amount { grid-column:1/-1; }
  .ec-order-support { grid-template-columns:40px minmax(0,1fr); }
  .ec-order-support .ui-button { grid-column:1/-1; width:100%; }
  .ec-invoice-action { align-items:flex-start; flex-direction:column; }
  .ec-invoice-action .ui-button { width:100%; }
  .cx-cart-row > header { grid-template-columns:48px minmax(0,1fr); }
  .cx-cart-row > header > .ui-status-badge { grid-column:1/-1; justify-self:start; }
  .cx-cart-product > small { display:none; }
  .cx-cart-controls { grid-template-columns:1fr auto; }
  .cx-cart-line-total { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; padding-top:9px; border-top:1px solid var(--acc-border); }
  .cx-cart-controls > div, .cx-cart-controls > label { min-width:0; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .acc-ticket-success-dialog, .acc-ticket-success-icon { animation:none; }
}
@media print {
  #accHeader, #accSidebar, .acc-sidebar-backdrop, .acc-mobile-bottom-nav, .ec-back-button, .ec-support-order { display:none!important; }
  .acc-layout { padding:0; }
  #accMain { padding:0; }
  .invoice-print { border:0; }
}
.acc-ticket-conversation .acc-detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem 1rem;
  margin-top: .65rem;
  font-size: .86rem;
  color: var(--acc-muted, #8f929b);
}
.acc-ticket-conversation .acc-detail-meta > span,
.acc-ticket-conversation .acc-detail-meta > .ui-status-badge {
  display: inline-flex;
  align-items: baseline;
  gap: .25rem;
  min-width: 0;
  line-height: 1.7;
}
.acc-ticket-conversation .acc-detail-meta > span::first-line { color: var(--acc-text, inherit); }
.acc-ticket-conversation .acc-detail-meta > span b { color: var(--acc-text, inherit); font-weight: 650; }
.acc-ticket-conversation .acc-detail-meta > span[dir="ltr"] { direction: ltr; unicode-bidi: isolate; }
@media (max-width: 780px) {
  .acc-ticket-conversation .acc-detail-meta { align-items: flex-start; gap: .45rem .7rem; }
  .acc-ticket-conversation .acc-detail-meta > span { flex: 1 1 100%; }
  .acc-ticket-conversation .acc-detail-meta > .ui-status-badge { flex: 0 0 auto; }
}

/* Account motion foundation — transitions.dev recipes; component adapters follow. */
/* Recipe 03-notification-badge.md */
:root {
  --badge-slide-dur: 260ms;
  --badge-pop-dur: 500ms;
  --badge-pop-close-dur: 180ms;
  --badge-fade-dur: 400ms;
  --badge-fade-close-dur: 180ms;
  --badge-blur: 2px;
  --badge-offset-x: -8.2px;
  --badge-offset-y: 12.4px;
  --badge-slide-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --badge-pop-ease: cubic-bezier(0.34, 1.36, 0.64, 1);
  --badge-close-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes t-badge-slide-in {
  from { transform: translate(var(--badge-offset-x), var(--badge-offset-y)); }
  to   { transform: translate(0, 0); }
}

/* .t-badge is the absolutely-positioned wrapper for the dot.
   Adjust top/right (or left/bottom) to anchor it on your trigger. */
.t-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  pointer-events: none;
  will-change: transform;
}
.t-badge[data-open="true"] {
  animation: t-badge-slide-in var(--badge-slide-dur) var(--badge-slide-ease);
}

.t-badge-dot {
  display: block;
  transform-origin: center;
  transform: scale(1);
  opacity: 1;
  filter: blur(0);
  transition:
    transform var(--badge-pop-dur)  var(--badge-pop-ease),
    opacity   var(--badge-fade-dur) var(--badge-pop-ease),
    filter    var(--badge-pop-dur)  var(--badge-pop-ease);
  will-change: transform, opacity, filter;
}
.t-badge[data-open="false"] .t-badge-dot {
  transform: scale(0);
  opacity: 0;
  filter: blur(var(--badge-blur));
  transition:
    transform var(--badge-pop-close-dur)  var(--badge-close-ease),
    opacity   var(--badge-fade-close-dur) var(--badge-close-ease),
    filter    var(--badge-pop-close-dur)  var(--badge-close-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-badge, .t-badge-dot { animation: none !important; transition: none !important; }
}

/* Recipe 04-text-states-swap.md */
:root {
  --text-swap-dur: 150ms;
  --text-swap-translate-y: 4px;
  --text-swap-blur: 2px;
  --text-swap-ease: ease-in-out;
}

.t-text-swap {
  display: inline-block;
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition:
    transform var(--text-swap-dur) var(--text-swap-ease),
    filter    var(--text-swap-dur) var(--text-swap-ease),
    opacity   var(--text-swap-dur) var(--text-swap-ease);
  will-change: transform, filter, opacity;
}
.t-text-swap.is-exit {
  transform: translateY(calc(var(--text-swap-translate-y) * -1));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
}
.t-text-swap.is-enter-start {
  transform: translateY(var(--text-swap-translate-y));
  filter: blur(var(--text-swap-blur));
  opacity: 0;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .t-text-swap { transition: none !important; }
}

/* Recipe 06-modal.md */
:root {
  --modal-open-dur: 250ms;
  --modal-close-dur: 150ms;
  --modal-scale: 0.96;
  --modal-scale-close: 0.96;
  --modal-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-modal {
  transform-origin: center;
  transform: scale(var(--modal-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--modal-open-dur) var(--modal-ease),
    opacity   var(--modal-open-dur) var(--modal-ease);
  will-change: transform, opacity;
}
.t-modal.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
.t-modal.is-closing {
  transform: scale(var(--modal-scale-close));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--modal-close-dur) var(--modal-ease),
    opacity   var(--modal-close-dur) var(--modal-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-modal { transition: none !important; }
}

/* Recipe 07-panel-reveal.md */
:root {
  --panel-open-dur: 400ms;
  --panel-close-dur: 350ms;
  --panel-translate-y: 100px;
  --panel-blur: 2px;
  --panel-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-panel-slide {
  transform: translateY(var(--panel-translate-y));
  opacity: 0;
  filter: blur(var(--panel-blur));
  pointer-events: none;
  transition:
    transform var(--panel-close-dur) var(--panel-ease),
    opacity   var(--panel-close-dur) var(--panel-ease),
    filter    var(--panel-close-dur) var(--panel-ease);
  will-change: transform, opacity, filter;
}
.t-panel-slide[data-open="true"] {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
  pointer-events: auto;
  transition:
    transform var(--panel-open-dur) var(--panel-ease),
    opacity   var(--panel-open-dur) var(--panel-ease),
    filter    var(--panel-open-dur) var(--panel-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-panel-slide { transition: none !important; }
}

/* Recipe 08-page-side-by-side.md */
:root {
  --page-slide-dur: 250ms;
  --page-fade-dur: 250ms;
  --page-slide-distance: 8px;
  --page-blur: 3px;
  --page-stagger: 0ms;
  --page-exit-enabled: 1;
  --page-slide-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --page-fade-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-page-slide {
  position: relative;
}
.t-page-slide .t-page[data-page-id="1"] {
  --t-page-from-x: calc(var(--page-slide-distance) * -1);
}
.t-page-slide .t-page[data-page-id="2"] {
  --t-page-from-x: var(--page-slide-distance);
}
.t-page-slide .t-page {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(var(--t-page-from-x, 0px) * var(--page-exit-enabled)));
  filter: blur(calc(var(--page-blur) * var(--page-exit-enabled)));
  transition:
    opacity   var(--page-fade-dur)  var(--page-fade-ease),
    transform var(--page-slide-dur) var(--page-slide-ease),
    filter    var(--page-slide-dur) var(--page-slide-ease);
  will-change: opacity, transform, filter;
}
.t-page-slide[data-page="1"] .t-page[data-page-id="1"],
.t-page-slide[data-page="2"] .t-page[data-page-id="2"] {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  filter: blur(0);
  transition-delay: var(--page-stagger);
}

@media (prefers-reduced-motion: reduce) {
  .t-page-slide .t-page { transition: none !important; }
}

/* Recipe 09-icon-swap.md */
:root {
  --icon-swap-dur: 250ms;
  --icon-swap-blur: 2px;
  --icon-swap-start-scale: 0.25;
  --icon-swap-ease: ease-in-out;
}

.t-icon-swap {
  position: relative;
  display: inline-grid;
}
.t-icon-swap .t-icon {
  grid-area: 1 / 1;
  transition:
    opacity   var(--icon-swap-dur) var(--icon-swap-ease),
    filter    var(--icon-swap-dur) var(--icon-swap-ease),
    transform var(--icon-swap-dur) var(--icon-swap-ease);
  will-change: opacity, filter, transform;
}
.t-icon-swap[data-state="a"] .t-icon[data-icon="a"],
.t-icon-swap[data-state="b"] .t-icon[data-icon="b"] {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.t-icon-swap[data-state="a"] .t-icon[data-icon="b"],
.t-icon-swap[data-state="b"] .t-icon[data-icon="a"] {
  opacity: 0;
  filter: blur(var(--icon-swap-blur));
  transform: scale(var(--icon-swap-start-scale));
}

@media (prefers-reduced-motion: reduce) {
  .t-icon-swap .t-icon { transition: none !important; }
}

/* Recipe 10-success-check.md */
:root {
  --check-opacity-dur: 500ms;
  --check-rotate-dur: 500ms;
  --check-rotate-from: 80deg;
  --check-bob-dur: 500ms;
  --check-y-amount: 40px;
  --check-blur-dur: 500ms;
  --check-blur-from: 10px;
  --check-path-dur: 500ms;
  --check-path-delay: 80ms;
  --check-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-opacity: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-rotate: cubic-bezier(0.22, 1, 0.36, 1);
  --check-ease-bob: cubic-bezier(0.34, 1.35, 0.64, 1);
  --check-ease-path: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Wrapper drives the appear animation; it doesn't own any
   sizing or color so you can drop in any icon. */
.t-success-check {
  display: inline-block;
  transform-origin: center;
  opacity: 0;
  will-change: transform, opacity, filter;
}
/* overflow: visible keeps the stroke from clipping while it
   draws; display: block kills the inline whitespace under SVGs. */
.t-success-check svg { display: block; overflow: visible; }
/* Stroke-draw setup. Replace 20 with the result of
   path.getTotalLength() for your path; round caps mean any
   sub-pixel overshoot is invisible. */
.t-success-check svg path {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
}

.t-success-check[data-state="in"] {
  animation:
    t-check-fade   var(--check-opacity-dur) var(--check-ease-opacity) forwards,
    t-check-rotate var(--check-rotate-dur)  var(--check-ease-rotate)  forwards,
    t-check-blur   var(--check-blur-dur)    var(--check-ease-out)     forwards,
    t-check-bob    var(--check-bob-dur)     var(--check-ease-bob)     forwards;
}
.t-success-check[data-state="in"] svg path {
  animation: t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay, 0ms) forwards;
}

@keyframes t-check-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes t-check-rotate {
  from { transform: rotate(var(--check-rotate-from)); }
  to   { transform: rotate(0deg); }
}
@keyframes t-check-blur {
  from { filter: blur(var(--check-blur-from)); }
  to   { filter: blur(0); }
}
@keyframes t-check-bob {
  from { translate: 0 var(--check-y-amount); }
  to   { translate: 0 0; }
}
@keyframes t-check-draw { to { stroke-dashoffset: 0; } }

@media (prefers-reduced-motion: reduce) {
  .t-success-check { animation: none !important; opacity: 1; }
  .t-success-check svg path { animation: none !important; stroke-dashoffset: 0 !important; }
}

/* Recipe 12-error-state-shake.md */
:root {
  --shake-distance: 6px;
  --shake-overshoot: 4px;
  --shake-dur-a: 80ms;
  --shake-dur-b: 60ms;
  --shake-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --revert-hold: 3000ms;
  --revert-dur: 280ms;
}

/* Border-color tween. Define your input's default / focused
   / error border-color in your own component CSS — this rule
   only owns the interpolation. Use a constant border-width
   across states so the tween never shifts inner content. */
.t-input {
  transition: border-color 150ms ease-out;
  will-change: transform;
}
.t-input.is-error {
  /* Error border auto-reverts on the hold timer, so the
     fade-out uses the slower revert duration (matches the
     message fade). */
  transition: border-color var(--revert-dur, 280ms) ease-out;
}

/* Error message reveal. Visibility is delayed by --revert-dur
   on hide so the message stays painted for the full opacity
   fade-out. Entering .is-error drops the delay to 0 so the
   message becomes visible immediately. */
.t-error-msg {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity    var(--revert-dur, 280ms) ease-out,
    visibility 0s linear var(--revert-dur, 280ms);
}
.t-input-wrap.is-error .t-error-msg {
  opacity: 1;
  visibility: visible;
  transition:
    opacity    var(--revert-dur, 280ms) ease-out,
    visibility 0s linear 0s;
}

/* Multi-segment keyframe with per-stop easing so each leg
   of the shake follows its own cubic-bezier independently.
   %-stops are cumulative durations as a fraction of the
   total (80, 60, 80, 60 = 280ms): 28.57%, 57.14%, 78.57%,
   100%. Recompute if any segment duration changes. */
.t-input.is-shaking {
  animation: t-input-shake calc(
      var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2
    ) linear;
}
@keyframes t-input-shake {
  0%      { transform: translateX(0);                                 animation-timing-function: var(--shake-ease); }
  28.57%  { transform: translateX(var(--shake-distance));             animation-timing-function: var(--shake-ease); }
  57.14%  { transform: translateX(calc(var(--shake-distance) * -1)); animation-timing-function: var(--shake-ease); }
  78.57%  { transform: translateX(var(--shake-overshoot));            animation-timing-function: var(--shake-ease); }
  100%    { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .t-input { animation: none !important; transform: none !important; }
}

/* Recipe 14-skeleton-reveal.md */
:root {
  --pulse-dur: 1000ms;
  --pulse-count: 1;
  --pulse-min: 0.5;
  --reveal-dur: 400ms;
  --reveal-blur: 2px;
  --reveal-ease: ease-in-out;
}

/* The wrap stacks two layers on the same coordinates. The
   skeleton owns the cold pulse + the fade-out side of the
   reveal; the content owns the fade-in side. They share the
   same duration / ease so the swap reads as one motion. */
.t-skel { position: relative; }
.t-skel-skeleton,
.t-skel-content {
  position: absolute;
  inset: 0;
}

.t-skel-skeleton {
  z-index: 1;
  opacity: 1;
  filter: blur(0);
  transition:
    opacity var(--reveal-dur) var(--reveal-ease),
    filter  var(--reveal-dur) var(--reveal-ease);
}
.t-skel-content {
  z-index: 2;
  opacity: 0;
  filter: blur(var(--reveal-blur));
  transition:
    opacity var(--reveal-dur) var(--reveal-ease),
    filter  var(--reveal-dur) var(--reveal-ease);
}
.t-skel.is-revealed .t-skel-skeleton {
  opacity: 0;
  filter: blur(var(--reveal-blur));
}
.t-skel.is-revealed .t-skel-content {
  opacity: 1;
  filter: blur(0);
}
/* Snap-back when replaying: kill transitions so the reverse
   (revealed → skeleton) is instant. Drop `.is-resetting`
   after a forced reflow and the next reveal animates again. */
.t-skel.is-resetting .t-skel-skeleton,
.t-skel.is-resetting .t-skel-content {
  transition: none !important;
}

/* Pulse: place the animation on the bar/avatar children, not
   on the skeleton itself, so the skeleton's opacity / filter
   stay free for the cross-fade transition above. */
.t-skel-skeleton.is-pulsing > * {
  animation: t-skel-pulse var(--pulse-dur) ease-in-out var(--pulse-count);
}
@keyframes t-skel-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: var(--pulse-min); }
}

@media (prefers-reduced-motion: reduce) {
  .t-skel-skeleton, .t-skel-content {
    transition: none !important;
  }
  .t-skel-skeleton.is-pulsing > * { animation: none !important; }
}

/* Recipe 15-shimmer-text.md */
:root {
  --shimmer-dur: 2000ms;
  --shimmer-base: #7c7c7c;
  --shimmer-highlight: #0d0d0d;
  --shimmer-band: 400%;
  --shimmer-ease: linear;
}

/* Two-layer construction:
   1. The base text renders normally in --shimmer-base.
   2. ::before duplicates it via content: attr(data-text),
      paints a transparent → highlight → transparent gradient
      onto it, and clips that gradient to the glyphs via
      background-clip: text. Animating background-position
      sweeps the band across the text. */
.t-shimmer {
  position: relative;
  display: inline-block;
  color: var(--shimmer-base);
}
.t-shimmer::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(
    90deg,
    transparent          0%,
    transparent         40%,
    var(--shimmer-highlight) 50%,
    transparent         60%,
    transparent        100%
  );
  background-size: var(--shimmer-band) 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: t-shimmer var(--shimmer-dur) var(--shimmer-ease) infinite;
}
@keyframes t-shimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: 0% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .t-shimmer::before { animation: none !important; }
}

/* Recipe 16-tabs-sliding.md */
:root {
  --tabs-dur: 250ms;
  --tabs-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --tabs-text-muted: rgba(15, 15, 15, 0.8);
  --tabs-text-active: #0f0f0f;
  --tabs-bar-bg: #f1f1f1;
  --tabs-pill-bg: #ffffff;
}

/* The bar is just a flex container with padding for the pill
   to sit inside. Tabs sit on z-index: 1, the pill on z-index: 0,
   so labels read above the pill background. */
.t-tabs {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border-radius: 48px;
  background: var(--tabs-bar-bg);
}
.t-tab {
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  height: 30px;
  padding: 4px 12px;
  color: var(--tabs-text-muted);
  cursor: pointer;
  border-radius: 48px;
  z-index: 1;
  transition: color var(--tabs-dur) var(--tabs-ease);
}
.t-tab:not([aria-selected="true"]):hover,
.t-tab[aria-selected="true"] {
  color: var(--tabs-text-active);
}

/* The pill: width + transform are written inline by JS so
   the transition tweens between the previous and next
   measured positions. */
.t-tabs-pill {
  position: absolute;
  top: 3px;
  left: 0;
  height: 30px;
  width: 0;
  background: var(--tabs-pill-bg);
  border-radius: 48px;
  transform: translateX(0);
  transition:
    transform var(--tabs-dur) var(--tabs-ease),
    width     var(--tabs-dur) var(--tabs-ease);
  will-change: transform, width;
  z-index: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .t-tabs-pill, .t-tab { transition: none !important; }
}

/* Recipe 17-tooltip.md */
:root {
  --tt-in-dur: 150ms;
  --tt-out-dur: 50ms;
  --tt-scale: 0.98;
  --tt-delay: 80ms;
  --tt-in-ease: ease-out;
  --tt-out-ease: ease-out;
  --tt-bg: #ffffff;
  --tt-fg: #2f2f2f;
}

.t-tt-wrap {
  position: relative;
  display: inline-block;
}
.t-tt {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translate(-50%, 0) scale(var(--tt-scale));
  transform-origin: 50% 100%;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--tt-bg);
  color: var(--tt-fg);
  white-space: nowrap;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.06),
    0 2px 6px 0 rgba(0, 0, 0, 0.05),
    0 4px 42px 0 rgba(0, 0, 0, 0.06);
  opacity: 0;
  pointer-events: none;
  /* Default rule controls the LEAVE state. transition-delay
     stays unset so leaving plays without delay. */
  transition:
    opacity   var(--tt-out-dur) var(--tt-out-ease),
    transform var(--tt-out-dur) var(--tt-out-ease);
}
/* The 50ms delay belongs ONLY to the hover rule so leaving
   the trigger snaps the delay back to 0 and the disappear
   plays immediately. */
.t-tt-wrap:hover .t-tt,
.t-tt-trigger:focus-visible + .t-tt {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
  transition-duration: var(--tt-in-dur);
  transition-timing-function: var(--tt-in-ease);
  transition-delay: var(--tt-delay);
}

@media (prefers-reduced-motion: reduce) {
  .t-tt { transition: none !important; }
}

/* Recipe 21-accordion.md */
:root {
  --acc-expand: 250ms;
  --acc-collapse: 250ms;
  --acc-chevron: 250ms;
  --acc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* grid-template-rows 0fr → 1fr gives a clean height animation
   with no JS measurement; the inner element clips overflow. */
.t-acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel {
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--acc-expand) var(--acc-ease);
}
.t-acc-panel-inner {
  overflow: hidden;
  opacity: 0;
  filter: blur(2px);
  transition:
    opacity var(--acc-collapse) var(--acc-ease),
    filter var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel-inner {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity var(--acc-expand) var(--acc-ease),
    filter var(--acc-expand) var(--acc-ease);
}
/* Flip the chevron vertically to turn the "v" into a "^".
   scaleY(-1) about the centre passes through a flat line at
   the midpoint (same look as a `d:` path morph) but animates
   in every browser, unlike CSS `d:` morphing (Chromium only).
   The chevron path is symmetric about the 16x16 viewBox
   centre, so the flip lands exactly on the "^"; non-scaling
   -stroke keeps the stroke width constant through the flip. */
.t-acc-chevron {
  display: inline-flex;
  transform: scaleY(1);
  transform-origin: center;
  transition: transform var(--acc-chevron) var(--acc-ease);
}
.t-acc-chevron path { vector-effect: non-scaling-stroke; }
.t-acc[data-open="true"] .t-acc-chevron {
  transform: scaleY(-1);
}

@media (prefers-reduced-motion: reduce) {
  .t-acc-panel, .t-acc-panel-inner, .t-acc-chevron {
    transition: none !important;
  }
}

/* Recipe 22-toast.md */
:root {
  --toast-open: 350ms;
  --toast-close: 250ms;
  --toast-distance: 16px;
  --toast-blur: 2px;
  --toast-scale: 0.97;
  --toast-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-toast {
  opacity: 0;
  transform: translateY(var(--toast-distance)) scale(var(--toast-scale));
  filter: blur(var(--toast-blur));
  will-change: transform, opacity, filter;
  transition:
    opacity var(--toast-close) var(--toast-ease),
    transform var(--toast-close) var(--toast-ease),
    filter var(--toast-close) var(--toast-ease);
}
.t-toast.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  transition:
    opacity var(--toast-open) var(--toast-ease),
    transform var(--toast-open) var(--toast-ease),
    filter var(--toast-open) var(--toast-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-toast { transition: none !important; }
}

/* Recipe 24-learn-more-hover.md */
:root {
  --learn-shift: 2px;
  --learn-spread: 8deg;
  --learn-in: 350ms;
  --learn-out: 350ms;
  --learn-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-learn-chevron {
  display: inline-flex;
  transform: translateX(0);
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn-arm {
  transform-box: view-box;
  transform-origin: 10px 8px;
  vector-effect: non-scaling-stroke;
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn:hover .t-learn-chevron { transform: translateX(var(--learn-shift)); transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm { transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm-top { transform: rotate(var(--learn-spread)); }
.t-learn:hover .t-learn-arm-bot { transform: rotate(calc(var(--learn-spread) * -1)); }

@media (prefers-reduced-motion: reduce) {
  .t-learn-chevron, .t-learn-arm { transition: none !important; }
}

/* Recipe 25-checkbox-check.md */
:root {
  --check-box: 150ms;
  --check-draw: 350ms;
  --check-delay: 0ms;
  --check-uncheck: 150ms;
  --check-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-check {
  transition:
    background var(--check-box) var(--check-ease),
    box-shadow var(--check-box) var(--check-ease);
}
.t-check svg path {
  stroke-dasharray: var(--check-len, 15);
  stroke-dashoffset: var(--check-len, 15);
  transition: stroke-dashoffset var(--check-uncheck) var(--check-ease);
}
.t-check[aria-checked="true"] svg path {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset var(--check-draw) var(--check-ease) var(--check-delay);
}

@media (prefers-reduced-motion: reduce) {
  .t-check, .t-check svg path { transition: none !important; }
}

/* Matrix recipe shared with Auth in customer-matrix.css. */

/* Semantic tokens follow transitions-polish usage, not nearest-number rounding. */
body.acc-app {
  --duration-stagger:40ms; --duration-micro:80ms; --duration-quick:150ms;
  --duration-fast:250ms; --duration-medium:350ms; --duration-slow:400ms; --duration-very-slow:500ms;
  --ease-smooth-out:cubic-bezier(.22,1,.36,1); --ease-in-out:ease-in-out;
  --ease-out:ease-out; --ease-linear:linear; --ease-bounce:cubic-bezier(.34,1.36,.64,1);
  --distance-micro:4px; --distance-small:6px; --distance-base:8px; --distance-medium:12px; --distance-large:30px;
  --blur-small:2px; --blur-medium:3px; --blur-large:8px;
  --motion-fast:var(--duration-quick); --motion-normal:var(--duration-fast); --motion-slow:var(--duration-slow);
  --ease-standard:var(--ease-smooth-out); --ease-enter:var(--ease-smooth-out); --ease-exit:var(--ease-smooth-out);
  --acc-fast:var(--duration-quick); --acc-normal:var(--duration-fast); --acc-slow:var(--duration-slow);
  --acc-ease:var(--ease-smooth-out); --acc-ease-emphasized:var(--ease-smooth-out);
  --modal-open-dur:var(--duration-fast); --modal-close-dur:var(--duration-quick); --modal-ease:var(--ease-smooth-out);
  --panel-open-dur:var(--duration-slow); --panel-close-dur:var(--duration-medium); --panel-translate-y:var(--distance-base); --panel-ease:var(--ease-smooth-out);
  --page-slide-dur:var(--duration-fast); --page-fade-dur:var(--duration-fast); --page-slide-distance:var(--distance-base); --page-blur:var(--blur-medium);
  --page-slide-ease:var(--ease-smooth-out); --page-fade-ease:var(--ease-smooth-out);
  --tabs-dur:var(--duration-fast); --tabs-ease:var(--ease-smooth-out);
  --text-swap-dur:var(--duration-quick); --text-swap-translate-y:var(--distance-micro); --text-swap-blur:var(--blur-small);
  --icon-swap-dur:var(--duration-fast); --icon-swap-blur:var(--blur-small);
  --toast-open:var(--duration-slow); --toast-close:var(--duration-medium); --toast-distance:var(--distance-medium); --toast-blur:var(--blur-small); --toast-ease:var(--ease-smooth-out);
  --reveal-dur:var(--duration-slow); --reveal-blur:var(--blur-small); --pulse-count:infinite;
  --badge-slide-dur:var(--duration-fast); --badge-pop-dur:var(--duration-very-slow); --badge-fade-dur:var(--duration-slow);
  --badge-pop-close-dur:var(--duration-quick); --badge-fade-close-dur:var(--duration-quick);
  --badge-offset-x:calc(-1 * var(--distance-base)); --badge-offset-y:var(--distance-base); --badge-close-ease:var(--ease-smooth-out);
  --check-opacity-dur:var(--duration-very-slow); --check-rotate-dur:var(--duration-very-slow); --check-bob-dur:var(--duration-very-slow);
  --check-blur-dur:var(--duration-very-slow); --check-path-dur:var(--duration-very-slow); --check-path-delay:var(--duration-micro);
  --check-y-amount:var(--distance-large); --check-blur-from:var(--blur-large);
  --tt-in-dur:var(--duration-quick); --tt-delay:var(--duration-micro); --tt-bg:var(--acc-surface); --tt-fg:var(--acc-text);
  --shimmer-base:currentColor; --shimmer-highlight:var(--acc-text); --matrix-base:var(--acc-border-strong); --matrix-active:var(--acc-text-muted);
  --acc-expand:var(--duration-fast); --acc-collapse:var(--duration-fast); --acc-chevron:var(--duration-fast);
  --learn-in:var(--duration-fast); --learn-out:var(--duration-fast); --learn-shift:-2px;
}
/* Recipes retain their selectors; these adapters preserve existing Account geometry. */
.acc-app .acc-view { animation:none; }
.acc-app .acc-motion-stage { position:relative; min-width:0; }
.acc-app .acc-motion-stage > .t-page[data-page-id="2"],
.acc-app .acc-motion-stage > .t-skel-content { position:relative; inset:auto; }
.acc-app .acc-motion-stage > .acc-motion-outgoing { position:absolute; inset:0; width:100%; pointer-events:none; overflow:hidden; max-height:100%; }
.acc-app .acc-motion-overlay { animation:none; opacity:0; transition:opacity var(--modal-open-dur) var(--modal-ease); }
.acc-app .acc-motion-overlay.is-open { opacity:1; }
.acc-app .acc-motion-overlay.is-closing { opacity:0; transition-duration:var(--modal-close-dur); pointer-events:none; }
.acc-app .t-modal { animation:none; }
.acc-app .t-toast { animation:none; }
.acc-app .t-success-check { animation:none; }
.acc-app .t-success-check[data-state="in"] {
  animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards,
    t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards,
    t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards,
    t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards;
}
.acc-app .acc-save-icon.t-success-check { --check-y-amount:8px; --check-blur-from:2px; }
.acc-app .acc-badge.t-badge { position:absolute; top:0; right:0; padding:0; background:transparent; border:0; }
.acc-app .acc-badge .t-badge-dot { min-width:16px; min-height:16px; padding:1px 4px; border-radius:99px; background:var(--danger); color:white; }
.acc-app .acc-nav-btn .acc-badge.t-badge { position:relative; inset:auto; margin-right:auto; }
.acc-app .acc-motion-tabs { position:relative; }
.acc-app .acc-motion-tabs > .t-tabs-pill { top:0; left:0; border-radius:8px; background:var(--acc-accent-surface-strong); }
.acc-app .acc-motion-tabs > button { position:relative; z-index:1; }
.acc-app .ui-segmented.acc-motion-tabs > .active { background:transparent; }
.acc-app .acc-motion-nav > .t-tabs-pill { border-radius:3px 0 0 3px; background:var(--accent); }
.acc-app .acc-motion-nav .acc-nav-btn.active::before { display:none; }
/* Bottom navigation retains its existing transparent background; move the existing emphasis. */

.acc-app .acc-store-submenu.t-acc-panel { max-height:none; padding:0 28px 0 4px; overflow:visible; opacity:1; display:grid; gap:0; grid-template-rows:0fr; transition:grid-template-rows var(--acc-collapse) var(--acc-ease); }
.acc-app .acc-store-submenu.t-acc-panel[data-open="true"] { grid-template-rows:1fr; }
.acc-app .acc-store-submenu > .t-acc-panel-inner { min-height:0; display:grid; gap:2px; }
.acc-app .acc-store-submenu[data-open="true"] > .t-acc-panel-inner { opacity:1; filter:blur(0); }
.acc-app .acc-nav-chevron.t-acc-chevron.open { transform:scaleY(-1); }
.acc-app .t-tt-wrap > .t-tt { z-index:200; font-size:11px; font-weight:500; line-height:1.5; max-width:min(230px,70vw); white-space:normal; width:max-content; text-align:center; }
.acc-app .t-tt-trigger:focus-visible > .t-tt { opacity:1; transform:translate(-50%,0) scale(1); transition-duration:var(--tt-in-dur); transition-delay:var(--tt-delay); }
.acc-app #accHeader .t-tt { bottom:auto; top:calc(100% + 8px); transform-origin:50% 0; }
.acc-app .acc-tip-dismissed > .t-tt { opacity:0 !important; transition:none; }
.acc-app .t-tt-wrap:hover > .t-tt { pointer-events:auto; }
.acc-app .t-tt::after { content:""; position:absolute; inset:-8px 0; z-index:-1; }
.acc-app .t-icon-swap { pointer-events:none; }
.acc-app .acc-motion-checkbox { position:absolute; opacity:0; width:16px; height:16px; margin:0; z-index:1; cursor:pointer; }
.acc-app .acc-motion-check { display:inline-grid; place-items:center; width:16px; height:16px; margin-inline-end:5px; vertical-align:middle; border:1px solid var(--acc-border-strong); border-radius:3px; color:var(--acc-commerce-text); pointer-events:none; }
.acc-app .acc-motion-check svg { width:12px; height:12px; }
.acc-app .acc-motion-check[aria-checked="true"] { background:var(--acc-commerce); }
.acc-app .acc-motion-checkbox:focus-visible + .acc-motion-check { outline:3px solid var(--acc-focus-ring); outline-offset:2px; }
.acc-app .acc-motion-checkbox:disabled + .acc-motion-check { opacity:.5; }
.acc-app .acc-motion-wait { display:flex; gap:12px; align-items:center; justify-content:center; min-height:180px; color:var(--muted); }
/* Shared localized async feedback. Keep the installed Matrix pulse and scan timing. */
.acc-app .ui-pending { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; vertical-align:middle; --matrix-cycle:1200ms; --matrix-ease:ease-in-out; --matrix-base:#a28b64; --matrix-active:#715323; }
.acc-app[data-theme="dark"] .ui-pending { --matrix-base:#80735f; --matrix-active:#fedb99; }
.acc-app .ui-pending .t-matrix { flex:none; width:14px; height:14px; }
.acc-app .ui-pending-button { position:relative; box-sizing:border-box; overflow:hidden; }
.acc-app .ui-pending-button > .ui-pending { position:absolute; inset:0; padding:0 8px; --matrix-base:color-mix(in srgb,currentColor 65%,transparent); --matrix-active:currentColor; }
.acc-app .ui-pending-button .ui-pending-copy { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acc-app .ui-pending-compact .ui-pending-copy { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.acc-app .ui-pending-region { position:relative; }
.acc-app .ui-pending-region > .ui-pending { position:absolute; inset-inline:0; bottom:0; font-size:11px; }
.acc-app .acc-purchase-pending { padding:28px 16px; text-align:center; }
.acc-app .acc-purchase-pending p { margin:12px 0 0; color:var(--acc-text-muted); font-size:12px; }
.acc-app .acc-skeleton-card { animation:none; background:var(--acc-surface-2); }
.acc-app .ui-skeleton-stack > .acc-skeleton-card { animation:t-skel-pulse var(--pulse-dur) var(--ease-in-out) infinite; }
.acc-app .ui-button,.acc-app .btn,.acc-app .acc-state-action,.acc-app .acc-header-icon,.acc-app .acc-mobile-destination,.acc-app .acc-nav-btn {
  transition:transform var(--duration-quick) var(--ease-smooth-out),background-color var(--duration-quick),color var(--duration-quick),border-color var(--duration-quick);
}
.acc-app button:not(:disabled):active,.acc-app a.ui-button:active { scale:.98; }
.acc-app button,.acc-app a.ui-button { transition-property:transform,scale,background-color,color,border-color; transition-duration:var(--duration-quick); }
@media (max-width:780px) {
  .acc-app #accSidebar.t-panel-slide { transform:translateX(8px); opacity:0; visibility:hidden; filter:blur(2px); transition:transform var(--panel-close-dur) var(--panel-ease),opacity var(--panel-close-dur) var(--panel-ease),filter var(--panel-close-dur) var(--panel-ease),visibility 0s linear var(--panel-close-dur); }
  .acc-app.acc-nav-open #accSidebar.t-panel-slide { transform:translateX(0); opacity:1; visibility:visible; filter:blur(0); transition:transform var(--panel-open-dur) var(--panel-ease),opacity var(--panel-open-dur) var(--panel-ease),filter var(--panel-open-dur) var(--panel-ease); }
  .acc-app .acc-sidebar-backdrop { transition:opacity var(--panel-close-dur) var(--panel-ease); }
}
@media (hover:none) {
  .acc-app .t-tt-wrap:not(:focus-visible) > .t-tt { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .acc-app *, .acc-app *::before, .acc-app *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .acc-app button:active,.acc-app a.ui-button:active { scale:1; }
  .acc-app .t-page,.acc-app .t-skel-content,.acc-app .t-skel-skeleton,.acc-app .t-input,.acc-app .t-success-check,.acc-app .t-icon,.acc-app .t-badge-dot { filter:none !important; }
  .acc-app .t-success-check[data-state="in"] { opacity:1; transform:none; translate:none; }
  .acc-app .t-success-check svg path { stroke-dashoffset:0 !important; }
  .acc-app .t-shimmer::before { display:none; }
}
.acc-app .acc-mobile-nav-toggle.t-tt-wrap { display:none; }
.acc-app .acc-header-icon.t-tt-wrap,.acc-app .theme-btn.t-tt-wrap { display:grid; place-items:center; }
.acc-app [aria-busy="true"],.acc-app button:has(.acc-motion-label-out) { position:relative; }
.acc-app .acc-motion-label-out { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.acc-app .acc-toast-leaving { position:absolute; inset:0; pointer-events:none; }
.acc-app .ui-modal-close > .t-tt,.acc-app .acc-purchase-close > .t-tt { left:0; transform:translate(0,0) scale(var(--tt-scale)); }
.acc-app .ui-modal-close:hover > .t-tt,.acc-app .acc-purchase-close:hover > .t-tt,
.acc-app .ui-modal-close:focus-visible > .t-tt,.acc-app .acc-purchase-close:focus-visible > .t-tt { transform:translate(0,0) scale(1); }
@media (max-width:780px) {
  .acc-app .acc-mobile-nav-toggle.t-tt-wrap { display:grid; place-items:center; }
  .acc-app #accHeader .theme-btn.t-tt-wrap { display:none; }
}
.acc-app #accMobileNav.acc-motion-tabs { position:fixed; }
.acc-app #accMobileNav > .t-tabs-pill { top:0; height:auto; background:var(--acc-accent-surface); border:0; }
.acc-app .acc-header-icon .acc-badge.t-badge { top:-4px; left:-4px; right:auto; }
.acc-app .acc-badge .t-badge-dot { min-width:18px; height:18px; display:grid; place-items:center; padding:0 4px; border:2px solid var(--acc-surface); }
.acc-app .acc-nav-btn .acc-badge .t-badge-dot { border:0; }
.acc-app .acc-sidebar-backdrop:not(.is-open) { pointer-events:none; }
.acc-app .ui-modal-close.t-tt-wrap,.acc-app .acc-purchase-close.t-tt-wrap { position:absolute; display:grid; place-items:center; }
.acc-app #accMobileNavToggle > .t-tt { left:0; transform:translate(0,0) scale(var(--tt-scale)); }
.acc-app #accMobileNavToggle:hover > .t-tt,.acc-app #accMobileNavToggle:focus-visible > .t-tt { transform:translate(0,0) scale(1); }

/* Phase B: commerce recipes, followed by scoped token adapters. */

:root {
  --resize-dur: 300ms;
  --resize-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-resize {
  transition:
    width  var(--resize-dur) var(--resize-ease),
    height var(--resize-dur) var(--resize-ease);
  will-change: width, height;
}

@media (prefers-reduced-motion: reduce) {
  .t-resize { transition: none !important; }
}

:root {
  --digit-dur: 500ms;
  --digit-distance: 8px;
  --digit-stagger: 70ms;
  --digit-blur: 2px;
  --digit-ease: cubic-bezier(0.34, 1.45, 0.64, 1);
  --digit-dir-x: 0;
  --digit-dir-y: 1;
}

@keyframes t-digit-pop-in {
  0%   {
    transform: translate(
      calc(var(--digit-distance) * var(--digit-dir-x)),
      calc(var(--digit-distance) * var(--digit-dir-y))
    );
    opacity: 0;
    filter: blur(var(--digit-blur));
  }
  100% { transform: translate(0, 0); opacity: 1; filter: blur(0); }
}

.t-digit-group {
  display: inline-flex;
  align-items: baseline;
}
.t-digit {
  display: inline-block;
  will-change: transform, opacity, filter;
}
.t-digit-group.is-animating .t-digit {
  animation: t-digit-pop-in var(--digit-dur) var(--digit-ease) both;
}
.t-digit-group.is-animating .t-digit[data-stagger="1"] {
  animation-delay: var(--digit-stagger);
}
.t-digit-group.is-animating .t-digit[data-stagger="2"] {
  animation-delay: calc(var(--digit-stagger) * 2);
}

@media (prefers-reduced-motion: reduce) {
  .t-digit-group .t-digit { animation: none !important; }
}

:root {
  --stagger-dur: 500ms;
  --stagger-distance: 12px;
  --stagger-stagger: 40ms;
  --stagger-blur: 3px;
  --stagger-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Lines start translated down + blurred + invisible; .is-shown
   on the parent flips them to their resting state. The second
   line's transition-delay holds it back by --stagger-stagger
   so the eye lands on the headline first. */
.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }

.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
/* Exit decouples from the stagger: same fade for every line,
   no Y return, no blur — so the disappearance reads as a
   single quiet fade instead of a reverse reveal. */
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .t-stagger-line { transition: none !important; }
}

:root {
  --think-hold: 2000ms;
  --think-swap: 150ms;
  --think-gap: 50ms;
  --think-distance: 8px;
  --think-blur: 2px;
  --think-shimmer: 2000ms;
  --think-base: #7c7c7c;
  --think-highlight: #0d0d0d;
  --think-ease: ease-in-out;
}

/* Set your type on .t-think: the sizer only reports the right
   width if it is set in the same font as the line. */
.t-think { position: relative; display: inline-block; text-align: center; }
.t-think-sizer { display: block; visibility: hidden; white-space: nowrap; }
.t-think-text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  color: var(--think-base);
  white-space: nowrap;
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
  transition:
    transform var(--think-swap) var(--think-ease),
    filter var(--think-swap) var(--think-ease),
    opacity var(--think-swap) var(--think-ease);
  will-change: transform, filter, opacity;
}
/* Shimmer sweeps the glyphs only (background-clip: text). */
.t-think-text::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(90deg,
    transparent 0%, transparent 40%,
    var(--think-highlight) 50%,
    transparent 60%, transparent 100%);
  background-size: 400% 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: t-think-shimmer var(--think-shimmer) linear infinite;
}
@keyframes t-think-shimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: 0% 0; }
}
/* The outgoing line floats over the box so both halves animate. */
.t-think-text.is-exit {
  transform: translateY(calc(var(--think-distance) * -1));
  filter: blur(var(--think-blur));
  opacity: 0;
}
.t-think-text.is-enter-start {
  transition: none;
  transform: translateY(var(--think-distance));
  filter: blur(var(--think-blur));
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .t-think-text { transition: none !important; transform: none !important; filter: none !important; }
  .t-think-text::before { display: none !important; }
}

body.acc-app {
  --resize-dur: var(--duration-fast); --resize-ease: var(--ease-smooth-out);
  --digit-dur: var(--duration-fast); --digit-distance: var(--distance-micro);
  --digit-stagger: var(--duration-stagger); --digit-blur: var(--blur-small); --digit-ease: var(--ease-smooth-out);
  --stagger-dur: var(--duration-very-slow); --stagger-distance: var(--distance-medium);
  --stagger-stagger: var(--duration-stagger); --stagger-blur: var(--blur-medium); --stagger-ease: var(--ease-in-out);
  --think-swap: var(--duration-quick); --think-gap: 0ms; --think-distance: var(--distance-micro);
  --think-blur: var(--blur-small); --think-ease: var(--ease-in-out);
  --think-base: var(--acc-text-muted); --think-highlight: var(--acc-text);
}
.acc-commerce .t-resize { box-sizing:border-box; overflow:hidden; }
.acc-commerce .t-digit-group { display:inline-block; font-variant-numeric:tabular-nums; }
.acc-commerce .acc-money-motion { --digit-distance:0px; --digit-blur:0px; --digit-dur:var(--duration-quick); }
.acc-commerce .acc-row-enter { animation:acc-commerce-row var(--duration-fast) var(--ease-smooth-out) both; animation-delay:calc(var(--row-index,0) * var(--duration-stagger)); }
@keyframes acc-commerce-row { from { opacity:0; transform:translateY(var(--distance-micro)); } to { opacity:1; transform:none; } }
.acc-commerce .acc-status-enter { animation:acc-commerce-status var(--duration-quick) var(--ease-in-out); }
.acc-commerce [data-commerce-status] { display:inline-block; }
@keyframes acc-commerce-status { from { opacity:.4; transform:translateY(var(--distance-micro)); filter:blur(var(--blur-small)); } to { opacity:1; transform:none; filter:blur(0); } }
.acc-commerce .acc-cart-exit { opacity:0; transform:translateY(calc(-1 * var(--distance-micro))); transition:opacity var(--duration-quick) var(--ease-smooth-out),transform var(--duration-quick) var(--ease-smooth-out); pointer-events:none; }
.acc-commerce .t-stagger.is-hiding .t-stagger-line { transition:opacity var(--duration-quick) var(--ease-out); transition-delay:0s; }
.acc-commerce .acc-wallet-thinking { display:block; margin-top:8px; font-size:12px; min-height:1.6em; }
.acc-commerce .t-think[data-pending="false"] .t-think-text::before { display:none; }
.acc-commerce .acc-motion-stage { --page-blur:0px; --reveal-blur:0px; }
.acc-commerce-order-loading { min-height:280px; }
@media (prefers-reduced-motion: reduce) {
  .acc-commerce .acc-row-enter,.acc-commerce .acc-status-enter { animation:none !important; }
  .acc-commerce .acc-cart-exit { transition:none !important; transform:none !important; }
  .acc-commerce .t-stagger-line { transform:none !important; filter:none !important; }
}

.acc-app .acc-commerce-success.t-success-check { --check-y-amount:var(--distance-base); --check-blur-from:var(--blur-small); }

/* Phase C: recipe 13, followed by Account token adapters. */
:root {
  --clear-dur: 1000ms;
  --clear-out-dur: 400ms;
  --clear-in-dur: 400ms;
  --clear-out-fly: 12px;
  --clear-in-fly: 12px;
  --clear-out-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --clear-in-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --clear-blur: 2px;
  --glow-delay: 50ms;
  --glow-peak-at: 0.15;
  --glow-opacity: 0.42;
  --glow-spread: 1.5;
}
/* The wrap clips the glow to its rounded box. The hairline
   border is `inset` so it sits inside that clip — when the
   glow's mix-blend-mode darkens its area, the border
   underneath darkens with it. Bring your own width / height /
   border-radius / surface color. */
.t-clear {
  position: relative;
  overflow: hidden;
}
.t-clear-mirror,
.t-clear-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  z-index: 2;
}
.t-clear-mirror { opacity: 0; }
.t-clear.has-value .t-clear-mirror,
.t-clear.is-clearing .t-clear-mirror { opacity: 1; }
/* Hide the input's own glyphs while the mirror owns them so
   the cleared text doesn't double-render with the fly-up. */
.t-clear.has-value > input,
.t-clear.is-clearing > input {
  -webkit-text-fill-color: transparent;
}
.t-clear.has-value .t-clear-placeholder { opacity: 0; }
/* The streak overlay: empty by default; JS writes a stack of
   `radial-gradient(...)` layers into background during a clear,
   then animates opacity. mix-blend-mode: multiply darkens the
   underlying input + hairline; flip to `screen` in dark mode
   so the same alpha values lighten instead of vanish. */
.t-clear-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  z-index: 3;
  mix-blend-mode: multiply;
}

/* The transitions live in JS (per-frame transform/opacity/
   filter writes), so this stylesheet only owns the resting
   state + the variables that JS reads. Read them with
   `parseFloat(getComputedStyle(root).getPropertyValue(...))`
   so live tweaks apply on the next clear without a reload. */

@media (prefers-reduced-motion: reduce) {
  .t-clear-glow { opacity: 0 !important; }
}

.acc-app {
  --clear-dur:var(--duration-slow); --clear-out-dur:var(--duration-slow); --clear-in-dur:var(--duration-slow);
  --clear-out-fly:var(--distance-micro); --clear-in-fly:var(--distance-micro); --clear-blur:var(--blur-small);
  --clear-out-ease:var(--ease-smooth-out); --clear-in-ease:var(--ease-smooth-out); --glow-delay:0ms;
}
.acc-app .ui-search-control.t-clear { overflow:visible; }
.acc-app .t-clear-glow,.acc-app .t-clear-mirror,.acc-app .t-clear-placeholder { clip-path:inset(0 round 8px); }
.acc-app .t-clear.is-clearing input::placeholder { color:transparent; }
.acc-app .t-clear-placeholder { color:var(--muted) !important; }
.acc-ticket-modal-open { overflow:hidden; }
.acc-app .acc-ticket-compose.t-modal { transform:translate(-50%,-50%) scale(var(--modal-scale)); }
.acc-app .acc-ticket-compose.t-modal.is-open { transform:translate(-50%,-50%) scale(1); }
.acc-app .acc-ticket-compose.t-modal.is-closing { transform:translate(-50%,-50%) scale(var(--modal-scale-close)); }
.acc-app .acc-ticket-compose .acc-ticket-panel { transition:none; }
.acc-app .acc-ticket-cancel { color:var(--text); }
.acc-app .acc-message-enter { animation:acc-commerce-row var(--duration-fast) var(--ease-smooth-out); }
.acc-app .acc-profile-section { scroll-margin-top:calc(var(--acc-header-height) + var(--acc-space-6)); }
@media (prefers-reduced-motion: reduce) {
  .acc-app .acc-message-enter { animation:none !important; }
  .acc-app .acc-ticket-compose.t-modal { transform:translate(-50%,-50%) !important; }
  .acc-app .t-clear-mirror,.acc-app .t-clear-placeholder { transform:none !important; filter:none !important; }
}

/* Visual V1 — Account shell, shared primitives and Home. Frozen motion above. */
body.acc-app {
  --acc-canvas:#1f2024; --acc-sidebar:#25262a; --acc-surface:#292a2e;
  --acc-surface-2:#303135; --acc-field:#242529; --acc-border:rgba(241,236,224,.09);
  --acc-border-strong:rgba(241,236,224,.19); --acc-text:#f3f1ec; --acc-text-muted:#b5b3ad;
  --acc-accent-surface:rgba(254,219,153,.07); --acc-accent-surface-strong:rgba(254,219,153,.11);
  --acc-v1-ambient:rgba(254,219,153,.035); --acc-v1-focus:#fedb99;
  --acc-radius-sm:10px; --acc-radius-md:16px; --acc-radius-lg:20px;
  --acc-shadow:0 16px 40px rgba(0,0,0,.14);
  color:var(--acc-text); font-size:14px; line-height:1.8;
}
body.acc-app[data-theme="light"] {
  --acc-canvas:#f6f4ef; --acc-sidebar:#faf9f6; --acc-surface:#fff;
  --acc-surface-2:#f2f0eb; --acc-field:#fbfaf7; --acc-border:rgba(48,44,35,.10);
  --acc-border-strong:rgba(48,44,35,.22); --acc-text:#27282c; --acc-text-muted:#65645f;
  --acc-accent-surface:rgba(254,219,153,.22); --acc-accent-surface-strong:rgba(254,219,153,.30);
  --acc-v1-ambient:rgba(210,177,112,.055); --acc-v1-focus:#805916;
  --acc-shadow:0 16px 40px rgba(52,43,25,.065);
}
.acc-app .page { background:radial-gradient(ellipse at 20% 0%,var(--acc-v1-ambient),transparent 58%),var(--acc-canvas); }
.acc-app #accHeader { background:var(--acc-canvas); border-bottom:1px solid var(--acc-border); }
.acc-app .acc-header-inner { max-width:1552px; margin-inline:auto; padding-inline:36px; }
.acc-app .acc-header-context { gap:10px; }
.acc-app .acc-header-context small { color:var(--acc-text-muted); font-size:11px; }
.acc-app .acc-header-context b { color:var(--acc-text); font-size:13px; font-weight:650; }
.acc-app .acc-header-actions { gap:10px; }
.acc-app .acc-header-icon,.acc-app .theme-btn,.acc-app .acc-user-chip { min-width:40px; height:40px; border-radius:10px; }
.acc-app .acc-user-chip { border:0; background:transparent; gap:9px; }
.acc-app .acc-user-chip > b { width:32px; height:32px; background:var(--acc-surface-2); color:var(--acc-text); border:1px solid var(--acc-border-strong); border-radius:50%; }
.acc-app .acc-user-chip > span { font-size:11px; font-weight:550; }
.acc-app .acc-wallet-shortcut { min-width:132px; height:40px; padding-inline:12px; background:transparent; border:0; border-inline-start:1px solid var(--acc-border-strong); border-radius:0; }
.acc-app .acc-wallet-shortcut small { font-size:10px; color:var(--acc-text-muted); }
.acc-app .acc-wallet-shortcut b { font-size:12px; font-weight:650; font-variant-numeric:tabular-nums; }
.acc-app #accSidebar { border-inline-end:1px solid var(--acc-border); background:var(--acc-sidebar); }
.acc-app .acc-sidebar-brand { min-height:var(--acc-header-height); padding-inline:22px; gap:12px; }
.acc-app .acc-sidebar-brand .logo-mark { width:34px; height:34px; border-radius:10px; box-shadow:none; }
.acc-app .acc-sidebar-brand b { font-size:16px; font-weight:800; }
.acc-app .acc-sidebar-brand small { font-size:10px; color:var(--acc-text-muted); }
.acc-app .acc-sidebar-user { min-height:112px; margin-inline:20px; padding:22px 0; gap:12px; border-top:0; }
.acc-app .acc-sidebar-user > span { width:42px; height:42px; background:var(--acc-surface-2); color:var(--acc-text); border:1px solid var(--acc-border-strong); border-radius:50%; font-size:17px; font-weight:600; }
.acc-app .acc-sidebar-user b { font-size:13px; font-weight:700; }
.acc-app .acc-sidebar-user small { font-size:11px; color:var(--acc-text-muted); }
.acc-app .acc-sidebar-nav { padding:20px 16px 18px; gap:5px; }
.acc-app .acc-nav-label { padding:0 14px 9px; font-size:10px; font-weight:550; color:var(--acc-text-muted); }
.acc-app .acc-nav-btn { min-height:44px; padding-inline:14px 12px; font-size:13px; gap:11px; color:var(--acc-text-muted); }
.acc-app .acc-nav-btn .ic { width:22px; height:22px; display:grid; place-items:center; }
.acc-app .acc-nav-btn.active { color:var(--acc-text); background:var(--acc-accent-surface-strong); font-weight:750; }
.acc-app .acc-nav-btn.active .ic { color:var(--accent-ink); }
.acc-app .acc-nav-btn:hover { background:var(--acc-surface-2); color:var(--acc-text); }
.acc-app .acc-nav-divider { margin:14px 10px; }
.acc-app .acc-store-submenu button { font-size:11px; min-height:36px; }
.acc-app .acc-sidebar-logout { font-size:12px; color:var(--acc-text-muted); }
.acc-app .acc-sidebar-logout:hover { color:var(--danger); }
.acc-app #accMain { padding:32px 36px 56px; }

/* Shared surface and type hierarchy; dedicated workspace layouts are retained. */
.acc-app .ui-section,.acc-app .ui-card { border-color:var(--acc-border); box-shadow:none; }
.acc-app .ui-page-header h1 { font-size:26px; font-weight:800; line-height:1.5; }
.acc-app .ui-page-header p { color:var(--acc-text-muted); font-size:13px; line-height:1.9; }
.acc-app .ui-section-header h2,.acc-app .ui-form-section h2 { font-size:17px; line-height:1.7; font-weight:750; }
.acc-app .ui-form-section { background:transparent; border:0; border-top:1px solid var(--acc-border); border-radius:0; box-shadow:none; }
.acc-app .ui-form-section header p { color:var(--acc-text-muted); font-size:12px; line-height:1.9; }
.acc-app .ui-label,.acc-app .ac-lbl { font-size:13px; font-weight:650; color:var(--acc-text); }
.acc-app .ui-input,.acc-app .ac-input { min-height:46px; border-color:var(--acc-border-strong); border-radius:9px; background:var(--acc-field); color:var(--acc-text); font-size:14px; line-height:1.8; box-shadow:none; }
.acc-app .ui-input::placeholder,.acc-app .ac-input::placeholder { color:var(--acc-text-muted); }
.acc-app .ui-input:focus,.acc-app .ac-input:focus { border-color:var(--acc-v1-focus); box-shadow:0 0 0 3px var(--acc-accent-surface); }
.acc-app .ui-input[readonly] { color:var(--acc-text-muted); background:var(--acc-surface-2); }
.acc-app .ui-field-help,.acc-app .ac-field-help { color:var(--acc-text-muted); font-size:12px; line-height:1.85; }
.acc-app .ui-field-error,.acc-app .ac-field-error { font-size:12px; line-height:1.8; }
.acc-app .ui-input.is-invalid,.acc-app .ac-input.is-invalid,.acc-app [aria-invalid="true"] { border-color:var(--danger); }
.acc-app .ui-button { font-size:13px; font-weight:650; border-radius:9px; box-shadow:none; }
.acc-app .ui-button--primary,.acc-app .btn-primary { box-shadow:none; }
.acc-app button:focus-visible,.acc-app a:focus-visible,.acc-app input:focus-visible,.acc-app select:focus-visible,.acc-app textarea:focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:3px; }
.acc-app .ui-state h3 { font-size:17px; line-height:1.8; }
.acc-app .ui-state p { font-size:13px; color:var(--acc-text-muted); line-height:1.9; }

/* Home: operational context first, shopping discovery second. */
.acc-app .ec-home { display:grid; gap:24px; }
.acc-app .ec-home .ec-overview-card { min-height:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.acc-app .ec-home .ec-welcome { min-height:90px; display:flex; align-items:center; justify-content:space-between; margin:0; padding:0; gap:24px; }
.acc-app .ec-home .ec-welcome > div > span { font-size:11px; font-weight:500; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-welcome h1 { margin:4px 0 6px; font-size:29px; line-height:1.45; font-weight:800; letter-spacing:-.025em; }
.acc-app .ec-home .ec-welcome p { font-size:13px; line-height:1.9; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-store-button { min-height:46px; padding:0 18px; margin:0; gap:16px; background:#fedb99; border-color:#fedb99; color:#1f2024; font-size:13px; font-weight:750; box-shadow:none; flex:none; }
.acc-app .ec-home .ec-store-button:hover { background:#f4ca78; border-color:#f4ca78; }
.acc-app .ec-home-activity { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px 0; border-block:1px solid var(--acc-border-strong); }
.acc-app .ec-home-activity-item { min-width:0; display:flex; align-items:center; gap:15px; min-height:48px; padding:0 22px; border:0; border-inline-end:1px solid var(--acc-border); background:transparent; color:var(--acc-text); text-align:right; cursor:pointer; }
.acc-app .ec-home-activity-item:first-child { padding-inline-start:0; }
.acc-app .ec-home-activity-item:last-child { border-inline-end:0; padding-inline-end:0; }
.acc-app .ec-home-activity-item > strong { min-width:25px; font-size:27px; line-height:1.3; font-weight:650; font-variant-numeric:tabular-nums; }
.acc-app .ec-home-activity-item > span { min-width:0; }
.acc-app .ec-home-activity-item b { display:block; font-size:12px; font-weight:600; }
.acc-app .ec-home-activity-item small { display:block; color:var(--acc-text-muted); font-size:10px; margin-top:3px; }
.acc-app .ec-home-activity-item.has-activity > strong { color:var(--accent-ink); }
.acc-app .ec-home-activity-item > svg { margin-inline-start:auto; color:var(--acc-text-muted); flex:none; }
.acc-app .ec-home-activity-item:hover b { color:var(--accent-ink); }
.acc-app .ec-home .ec-dashboard-columns { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr); gap:20px; margin:0; overflow:visible; border:0; border-radius:0; background:transparent; }
.acc-app .ec-home .ec-dashboard-panel { min-width:0; padding:24px; border:1px solid var(--acc-border); border-radius:16px; background:var(--acc-surface); }
.acc-app .ec-home .ec-dashboard-panel > header { min-height:42px; margin:0 0 24px; align-items:center; }
.acc-app .ec-home .ec-dashboard-panel > header span,.acc-app .ec-home-shortcut-section > header > span,.acc-app .ec-home-discovery > header > span { color:var(--acc-text-muted); font-size:10px; font-weight:500; }
.acc-app .ec-home .ec-dashboard-panel > header h2 { margin-top:2px; font-size:17px; font-weight:750; }
.acc-app .ec-home .ec-dashboard-panel > header button,.acc-app .ec-home .ec-service-band header button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; gap:8px; padding:0; font-size:11px; font-weight:600; color:var(--acc-text-muted); border:0; background:transparent; cursor:pointer; }
.acc-app .ec-home .ec-dashboard-panel > header button:hover,.acc-app .ec-home .ec-service-band header button:hover { color:var(--accent-ink); }
.acc-app .ec-home .ec-focus-card { display:grid; gap:22px; padding:0; }
.acc-app .ec-home-order-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.acc-app .ec-home-order-total { flex:none; text-align:left; }
.acc-app .ec-home-order-total > span { display:block; color:var(--acc-text-muted); font-size:11px; }
.acc-app .ec-home-order-total > strong { display:block; margin-top:4px; font-size:20px; font-weight:750; font-variant-numeric:tabular-nums; }
.acc-app .ec-home .ec-focus-identity { gap:14px; }
.acc-app .ec-home .ec-focus-icon { width:52px; height:58px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface-2); color:var(--acc-text-muted); flex:none; }
.acc-app .ec-home .ec-focus-copy > span { font-size:11px; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-focus-copy h2 { margin-top:3px; font-size:20px; line-height:1.65; font-weight:750; overflow-wrap:anywhere; }
.acc-app .ec-home .ec-focus-card .ec-info-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-block:18px; border-block:1px solid var(--acc-border); }
.acc-app .ec-home .ec-focus-card .ec-info-row { min-height:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:0; border:0; }
.acc-app .ec-home .ec-info-row > span { font-size:11px; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-info-row > strong { margin:0; font-size:14px; line-height:1.7; font-weight:650; text-align:right; font-variant-numeric:tabular-nums; }
.acc-app .ec-home .ec-info-row > strong .acc-status { font-size:11px; padding:3px 8px; min-height:25px; border-radius:6px; }
.acc-app[data-theme="light"] .ec-home .ui-status.success { color:#18704a; }
.acc-app[data-theme="light"] .ec-home .ui-status.warning { color:#815410; }
.acc-app .ec-home .ec-summary-actions { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px; margin:0; }
.acc-app .ec-home .ec-summary-actions button { width:auto; min-height:44px; flex:none; margin:0; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; gap:16px; border:1px solid var(--acc-border-strong); border-radius:9px; background:transparent; color:var(--acc-text); font-size:12px; font-weight:650; }
.acc-app .ec-home .ec-summary-actions button:hover { border-color:var(--acc-v1-focus); background:var(--acc-accent-surface); }
.acc-app .ec-home .ec-summary-actions > span { font-size:10px; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-dashboard-wallet { background:transparent; border-color:var(--acc-border-strong); display:flex; flex-direction:column; }
.acc-app .ec-home-wallet-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-wallet-summary { padding:0; display:flex; flex:1; flex-direction:column; gap:22px; }
.acc-app .ec-home .ec-wallet-summary .ec-info-row:first-child { display:flex; flex-direction:column; align-items:flex-start; padding:6px 0 24px; gap:8px; }
.acc-app .ec-home .ec-wallet-summary .ec-info-row:first-child > strong { font-size:30px; font-weight:700; letter-spacing:-.02em; line-height:1.6; }
.acc-app .ec-home .ec-wallet-summary .ec-info-row:last-child { padding:16px 0; }
.acc-app .ec-home .ec-wallet-summary .ec-info-row:last-child > strong { font-size:13px; }
.acc-app .ec-home .ec-wallet-summary .ec-summary-actions { margin-top:auto; gap:9px; }
.acc-app .ec-home .ec-wallet-summary .ec-summary-actions button:first-child { background:var(--acc-surface); }
.acc-app .ec-home .ec-wallet-summary .ec-summary-actions button:last-child { padding-inline:2px; border-color:transparent; font-size:11px; color:var(--acc-text-muted); }
.acc-app .ec-home-shortcut-section,.acc-app .ec-home-discovery { min-width:0; padding-top:4px; }
.acc-app .ec-home-shortcut-section > header,.acc-app .ec-home-discovery > header { margin-bottom:16px; }
.acc-app .ec-home-shortcut-section h2,.acc-app .ec-home-discovery h2 { font-size:17px; font-weight:700; margin-top:2px; }
.acc-app .ec-home .ec-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-block:1px solid var(--acc-border); }
.acc-app .ec-home .ec-shortcut { min-height:96px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; padding:16px 14px; border:0; border-inline-end:1px solid var(--acc-border); border-radius:0; background:transparent; text-align:right; }
.acc-app .ec-home .ec-shortcut:first-child { padding-inline-start:0; }
.acc-app .ec-home .ec-shortcut:last-child { border-inline-end:0; }
.acc-app .ec-home .ec-shortcut > span { width:24px; height:28px; border:0; border-radius:0; background:transparent; color:var(--acc-text-muted); flex:none; }
.acc-app .ec-home .ec-shortcut div { min-width:0; }
.acc-app .ec-home .ec-shortcut b { font-size:12px; font-weight:650; }
.acc-app .ec-home .ec-shortcut small { display:block; font-size:10px; line-height:1.8; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-shortcut i { display:none; }
.acc-app .ec-home .ec-shortcut:hover { background:var(--acc-surface); }
.acc-app .ec-home .ec-service-bands { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:0; }
.acc-app .ec-home .ec-service-band { display:block; min-height:0; padding:0; border:0; border-radius:0; background:transparent; }
.acc-app .ec-home .ec-service-band header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; gap:12px; }
.acc-app .ec-home .ec-service-band header h2 { font-size:13px; font-weight:650; }
.acc-app .ec-home .ec-service-band header button { margin:0; }
.acc-app .ec-home .ec-service-band > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; }
.acc-app .ec-home .ec-service-band > div > button { min-width:0; min-height:58px; flex-direction:row; justify-content:flex-start; padding:10px 12px; gap:10px; border:1px solid var(--acc-border); border-radius:9px; background:transparent; text-align:right; }
.acc-app .ec-home .ec-service-band > div > button span { width:24px; height:28px; border-radius:0; background:transparent; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-service-band > div > button b { font-size:11px; font-weight:600; width:auto; }
.acc-app .ec-home .ec-service-band > div > button > svg { margin-inline-start:auto; flex:none; width:15px; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-service-band > div > button:hover { background:var(--acc-surface); }
.acc-app .ec-home .ec-latest-product { padding:12px 0; gap:12px; border:0; border-radius:0; background:transparent; }
.acc-app .ec-home .ec-latest-product-mark { width:36px; height:40px; border-radius:8px; color:var(--acc-text-muted); background:var(--acc-surface-2); font-size:12px; }
.acc-app .ec-home .ec-latest-product-copy b { font-size:12px; font-weight:650; }
.acc-app .ec-home .ec-latest-product-copy small { font-size:10px; color:var(--acc-text-muted); }
.acc-app .ec-home .ec-latest-product-copy em { font-size:11px; font-weight:650; color:var(--acc-text); }
.acc-app .ec-home .ec-latest-product > i { color:var(--acc-text-muted); }
.acc-app .ec-home .ui-state { min-height:180px; padding:20px; }

@media (min-width:781px) and (max-width:1100px) {
  body.acc-app { --acc-sidebar-width:212px; }
  .acc-app #accMain { padding:26px 24px 48px; }
  .acc-app .acc-header-inner { padding-inline:24px; }
  .acc-app .acc-sidebar-brand { padding-inline:18px; }
  .acc-app .acc-sidebar-nav { padding-inline:12px; }
  .acc-app .acc-nav-btn { font-size:12px; padding-inline:12px 8px; gap:9px; }
  .acc-app .ec-home .ec-dashboard-columns { grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr); gap:14px; }
  .acc-app .ec-home .ec-dashboard-panel { padding:20px; }
  .acc-app .ec-home .ec-welcome h1 { font-size:27px; }
  .acc-app .ec-home-order-heading { flex-wrap:wrap; gap:16px; }
  .acc-app .ec-home-order-total { display:flex; gap:12px; width:100%; align-items:center; justify-content:space-between; }
  .acc-app .ec-home-order-total > strong { margin:0; font-size:18px; }
  .acc-app .ec-home-activity-item { padding-inline:14px; gap:10px; }
  .acc-app .ec-home-activity-item b { font-size:11px; }
  .acc-app .ec-home-activity-item > svg { display:none; }
  .acc-app .ec-home .ec-wallet-summary .ec-info-row:first-child > strong { font-size:25px; }
  .acc-app .ec-home .ec-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .acc-app .ec-home .ec-shortcut:nth-child(2) { border-inline-end:0; }
  .acc-app .ec-home .ec-shortcut:nth-child(3) { padding-inline-start:0; }
  .acc-app .ec-home .ec-shortcut:nth-child(-n+2) { border-bottom:1px solid var(--acc-border); }
  .acc-app .ec-home .ec-service-band > div { grid-template-columns:1fr; }
}
@media (max-width:780px) {
  .acc-app #accMain { padding:24px 20px calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + 28px); }
  .acc-app .acc-header-inner { padding-inline:16px; gap:10px; justify-content:space-between; }
  .acc-app .acc-mobile-nav-toggle { order:2; }
  .acc-app .acc-brand { order:0; margin:0; }
  .acc-app .acc-header-actions { order:1; gap:4px; margin-inline-start:auto; margin-inline-end:0; }
  .acc-app .acc-header-icon,.acc-app .acc-mobile-nav-toggle { width:44px; min-width:44px; height:44px; }
  .acc-app .acc-brand .logo-mark { width:28px; height:28px; border-radius:8px; }
  .acc-app .acc-brand .logo-name { max-width:130px; font-size:14px; }
  .acc-app .acc-mobile-bottom-nav { padding:5px 12px calc(4px + var(--account-mobile-safe-bottom)); height:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom)); background:var(--acc-sidebar); border-top:1px solid var(--acc-border-strong); box-shadow:0 -5px 22px rgba(0,0,0,.04); }
  .acc-app .acc-mobile-destination { min-height:48px; font-size:10px; gap:3px; color:var(--acc-text-muted); }
  .acc-app .acc-mobile-destination.active { color:var(--accent-ink); }
  .acc-app .acc-mobile-destination b { font-size:10px; font-weight:600; }
  .acc-app .acc-nav-btn { min-height:46px; }
  .acc-app .ui-page-header h1 { font-size:23px; }
  .acc-app .ui-page-header p { font-size:12px; }
  .acc-app .ui-input,.acc-app .ac-input { font-size:16px; }
  .acc-app .ec-home { gap:22px; }
  .acc-app .ec-home .ec-welcome { min-height:0; align-items:flex-start; flex-wrap:wrap; gap:16px; }
  .acc-app .ec-home .ec-welcome h1 { font-size:26px; margin-block:4px; }
  .acc-app .ec-home .ec-welcome p { font-size:12px; }
  .acc-app .ec-home .ec-store-button { min-height:44px; font-size:12px; padding-inline:16px; }
  .acc-app .ec-home-activity { grid-template-columns:1fr; padding:4px 0; }
  .acc-app .ec-home-activity-item,.acc-app .ec-home-activity-item:first-child,.acc-app .ec-home-activity-item:last-child { min-height:56px; padding:8px 2px; gap:12px; border-inline-end:0; border-bottom:1px solid var(--acc-border); }
  .acc-app .ec-home-activity-item:last-child { border-bottom:0; }
  .acc-app .ec-home-activity-item > strong { font-size:21px; min-width:24px; }
  .acc-app .ec-home-activity-item > span { display:flex; flex:1; align-items:center; justify-content:space-between; gap:8px; }
  .acc-app .ec-home-activity-item b { font-size:12px; }
  .acc-app .ec-home-activity-item small { margin:0; font-size:10px; }
  .acc-app .ec-home-activity-item > svg { width:16px; }
  .acc-app .ec-home .ec-dashboard-columns { grid-template-columns:1fr; gap:18px; }
  .acc-app .ec-home .ec-dashboard-panel { padding:20px; border-radius:14px; }
  .acc-app .ec-home .ec-dashboard-panel > header { margin-bottom:20px; }
  .acc-app .ec-home .ec-focus-copy h2 { font-size:18px; }
  .acc-app .ec-home-order-heading { flex-wrap:wrap; gap:16px; }
  .acc-app .ec-home-order-total { display:flex; gap:12px; width:100%; align-items:center; justify-content:space-between; }
  .acc-app .ec-home-order-total > strong { margin:0; font-size:20px; }
  .acc-app .ec-home .ec-focus-card { gap:18px; }
  .acc-app .ec-home .ec-focus-card .ec-info-list { gap:16px 14px; padding-block:18px; }
  .acc-app .ec-home .ec-focus-card .ec-info-row > strong { font-size:12px; }
  .acc-app .ec-home .ec-summary-actions { gap:10px; }
  .acc-app .ec-home .ec-summary-actions > span { font-size:9px; }
  .acc-app .ec-home .ec-wallet-summary { gap:16px; }
  .acc-app .ec-home .ec-wallet-summary .ec-info-row:first-child { padding:0 0 18px; }
  .acc-app .ec-home .ec-wallet-summary .ec-info-row:first-child > strong { font-size:29px; }
  .acc-app .ec-home .ec-shortcuts { grid-template-columns:1fr; }
  .acc-app .ec-home .ec-shortcut,.acc-app .ec-home .ec-shortcut:first-child { min-height:72px; padding:12px 2px; border-inline-end:0; border-bottom:1px solid var(--acc-border); gap:14px; }
  .acc-app .ec-home .ec-shortcut:last-child { border-bottom:0; }
  .acc-app .ec-home .ec-shortcut b { font-size:13px; }
  .acc-app .ec-home .ec-shortcut small { font-size:11px; }
  .acc-app .ec-home .ec-shortcut i { display:block; margin-inline-start:auto; color:var(--acc-text-muted); }
  .acc-app .ec-home .ec-service-bands { grid-template-columns:1fr; gap:24px; }
  .acc-app .ec-home .ec-service-band header h2 { font-size:13px; }
}
@media (max-width:380px) {
  .acc-app #accMain { padding-inline:16px; }
  .acc-app .ec-home-activity-item small { display:none; }
  .acc-app .ec-home .ec-service-band > div { grid-template-columns:1fr; }
  .acc-app .ec-home .ec-dashboard-panel { padding:16px; }
}

/* Visual V2 — Orders and Order Detail. V1 shell and frozen motion remain unchanged. */
.acc-app .ec-orders { max-width:1280px; }
.acc-app .ec-orders-panel { min-height:480px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.acc-app .ec-orders-panel > .ui-section-header { display:none; }
.acc-app .ec-orders-toolbar { min-height:64px; margin:0; padding:0 0 18px; border-bottom:1px solid var(--acc-border-strong); }
.acc-app .ec-orders-toolbar .ui-search-label { color:var(--acc-text); font-size:12px; font-weight:650; }
.acc-app .ec-orders-toolbar .ui-search-control { min-height:44px; border-color:var(--acc-border); background:var(--acc-field); }
.acc-app .ec-orders-toolbar .ui-segmented { padding:3px; border-color:var(--acc-border); background:var(--acc-surface-2); }
.acc-app .ec-orders-toolbar .ui-segmented-item { min-height:36px; padding-inline:12px; color:var(--acc-text-muted); }
.acc-app .ec-orders-toolbar .ui-segmented-item.active { background:var(--acc-surface); color:var(--acc-text); box-shadow:none; }
.acc-app .ec-order-list { border-bottom:1px solid var(--acc-border-strong); }
.acc-app .v2-order-row { min-height:104px; grid-template-columns:48px minmax(260px,1fr) minmax(410px,auto); gap:16px; padding:17px 4px; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; }
.acc-app .v2-order-row:last-child { border-bottom:0; }
.acc-app .v2-order-row:hover { background:var(--acc-accent-surface); }
.acc-app .v2-order-row .ui-data-row-leading { width:48px; height:52px; padding:3px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.acc-app .v2-order-row .ui-data-row-copy { min-width:0; align-self:center; }
.acc-app .v2-order-row .ui-data-row-title { display:flex; align-items:baseline; gap:10px; }
.acc-app .v2-order-row .ui-data-row-title > b { min-width:0; font-size:14px; line-height:1.75; font-weight:700; overflow-wrap:anywhere; }
.acc-app .v2-order-reference { color:var(--acc-text-muted); font-size:11px; font-weight:550; }
.acc-app .v2-order-row .ui-data-row-description { display:flex; align-items:center; flex-wrap:wrap; gap:7px 18px; margin-top:8px; }
.acc-app .v2-order-row .ui-data-row-description > span { display:inline-flex; align-items:center; gap:5px; color:var(--acc-text-muted); font-size:11px; }
.acc-app .v2-order-row .ui-data-row-description small { color:var(--acc-text-muted); font-size:10px; }
.acc-app .v2-order-row .ui-data-row-description b { color:var(--acc-text-muted); font-size:11px; font-weight:550; }
.acc-app .v2-order-row .v2-order-fx { padding-inline-start:18px; border-inline-start:1px solid var(--acc-border); }
.acc-app .v2-order-row .ui-data-row-trailing { min-width:0; display:grid; grid-template-columns:minmax(105px,auto) minmax(145px,auto) 138px; align-items:center; justify-content:end; gap:18px; }
.acc-app .v2-order-status { justify-self:start; }
.acc-app .v2-order-status .ui-status { min-height:26px; padding:3px 8px; border-radius:7px; font-size:10px; }
.acc-app .v2-order-row .ui-price { min-width:0; text-align:right; }
.acc-app .v2-order-row .ui-price small { display:block; color:var(--acc-text-muted); font-size:10px; }
.acc-app .v2-order-row .ui-price strong { display:block; margin-top:2px; color:var(--acc-text); font-size:15px; font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.acc-app .v2-order-row .ec-order-view { min-height:42px; padding-inline:13px; white-space:nowrap; }

.acc-app .ec-order-detail { max-width:1280px; }
.acc-app .ec-order-detail > .ui-page-header { margin-bottom:22px; }
.acc-app .ec-order-detail > .ui-page-content { display:flex; flex-direction:column; }
.acc-app .ec-order-detail .v2-order-overview { order:1; }
.acc-app .ec-order-detail .v2-order-sections { order:2; }
.acc-app .ec-order-detail .ec-delivery { order:3; }
.acc-app .ec-order-detail .ec-order-progress { order:4; }
.acc-app .ec-order-detail .ec-order-messages { order:5; }
.acc-app .ec-order-detail .ec-order-support { order:6; }
.acc-app .v2-order-overview { min-height:0; display:grid; grid-template-columns:minmax(280px,1.5fr) minmax(150px,.7fr) minmax(210px,1fr) minmax(125px,.62fr); align-items:stretch; gap:0; padding:0; overflow:hidden; border-color:var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:none; }
.acc-app .v2-order-overview > * { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:22px; border-inline-start:1px solid var(--acc-border); }
.acc-app .v2-order-overview > :first-child { border-inline-start:0; }
.acc-app .v2-order-overview .ec-order-hero-main { flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; }
.acc-app .v2-order-overview .ec-order-hero-icon { width:48px; height:52px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v2-order-overview .ec-order-hero-main span,.acc-app .v2-order-overview small,.acc-app .v2-order-overview p { color:var(--acc-text-muted); font-size:10px; }
.acc-app .v2-order-overview .ec-order-hero-main h2 { margin:3px 0 2px; color:var(--acc-text); font-size:18px; line-height:1.7; font-weight:750; }
.acc-app .v2-order-state { gap:7px; align-items:flex-start; }
.acc-app .v2-order-state > span:last-child { color:var(--acc-text-muted); font-size:10px; line-height:1.7; }
.acc-app .v2-order-state .ui-status { border-radius:7px; }
.acc-app .v2-order-total { align-items:flex-start; background:var(--acc-accent-surface); }
.acc-app .v2-order-total strong { margin:5px 0 2px; color:var(--acc-text); font-size:21px; line-height:1.55; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.acc-app .v2-order-total span { color:var(--acc-text-muted); font-size:10px; }
.acc-app .v2-order-delivery-summary { gap:7px; align-items:flex-start; }
.acc-app .v2-order-delivery-summary b { font-size:11px; font-weight:700; }
.acc-app .v2-order-sections { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.82fr); align-items:start; gap:20px; margin:24px 0 0; }
.acc-app .v2-order-sections > section,.acc-app .v2-order-financial > section { min-width:0; padding:22px; border:1px solid var(--acc-border); border-radius:16px; background:var(--acc-surface); box-shadow:none; }
.acc-app .v2-order-financial { display:grid; align-content:start; gap:14px; }
.acc-app .ec-order-products .ui-section-header,.acc-app .v2-order-financial .ui-section-header { margin-bottom:16px; }
.acc-app .ec-order-products .ui-section-header h2,.acc-app .v2-order-financial .ui-section-header h2 { font-size:16px; }
.acc-app .ec-order-items { gap:0; border-block:1px solid var(--acc-border); }
.acc-app .ec-order-items li { min-height:96px; display:grid; grid-template-columns:48px minmax(150px,1fr) minmax(300px,auto); align-items:center; gap:14px; padding:16px 0; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; }
.acc-app .ec-order-items li:last-child { border-bottom:0; }
.acc-app .ec-order-item-mark { width:48px; height:52px; overflow:hidden; padding:3px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.acc-app .ec-order-item-mark img,.acc-app .ec-order-item-mark .acc-product-fallback { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.acc-app .ec-order-item-mark .acc-product-fallback b { width:100%; min-width:0; min-height:0; height:100%; padding:2px; border-radius:7px; box-shadow:none; font-size:12px; }
.acc-app .ec-order-item-copy small,.acc-app .ec-order-item-values small { display:block; color:var(--acc-text-muted); font-size:10px; }
.acc-app .ec-order-item-copy b { display:block; margin-top:2px; color:var(--acc-text); font-size:13px; line-height:1.75; }
.acc-app .ec-order-item-copy > span { display:block; margin-top:2px; color:var(--acc-text-muted); font-size:11px; }
.acc-app .ec-order-item-values { display:grid; grid-template-columns:repeat(2,minmax(95px,auto)); gap:10px 20px; }
.acc-app .ec-order-item-values > span { min-width:0; }
.acc-app .ec-order-item-values b,.acc-app .ec-order-item-values strong { display:block; margin-top:2px; color:var(--acc-text); font-size:12px; font-weight:650; white-space:nowrap; }
.acc-app .ec-order-item-values .is-total strong { font-size:14px; font-weight:750; }
.acc-app .ec-payment-info,.acc-app .ec-order-history-info { display:grid; grid-template-columns:1fr; gap:0; margin-bottom:0; }
.acc-app .ec-payment-info > div,.acc-app .ec-order-history-info > div { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; }
.acc-app .ec-payment-info > div:last-child,.acc-app .ec-order-history-info > div:last-child { border-bottom:0; }
.acc-app .ec-payment-info dt,.acc-app .ec-order-history-info dt { color:var(--acc-text-muted); font-size:11px; }
.acc-app .ec-payment-info dd,.acc-app .ec-order-history-info dd { margin:0; color:var(--acc-text); font-size:12px; font-weight:650; text-align:left; }
.acc-app .ec-payment-info .is-payment-total dd { font-size:17px; font-weight:800; }
.acc-app .ec-order-history { background:var(--acc-accent-surface); border-color:var(--acc-border-strong); }
.acc-app .ec-order-history .ui-section-header p { max-width:420px; color:var(--acc-text-muted); font-size:10px; line-height:1.8; }
.acc-app .ec-order-history-info .is-historical-total dd { font-size:14px; font-weight:750; }
.acc-app .ec-invoice-action { margin-top:14px; padding-top:14px; border-top:1px solid var(--acc-border); }
.acc-app .ec-delivery,.acc-app .ec-order-progress { margin-top:20px; padding:22px; border-color:var(--acc-border); border-radius:16px; box-shadow:none; }
.acc-app .ec-delivery { background:var(--acc-surface); }
.acc-app .ec-order-progress { background:transparent; }
.acc-app .ec-order-support { margin-top:20px; border-style:solid; border-color:var(--acc-border); background:transparent; }

@media (min-width:781px) and (max-width:1100px) {
  .acc-app .v2-order-row { grid-template-columns:44px minmax(0,1fr); gap:12px; }
  .acc-app .v2-order-row .ui-data-row-trailing { grid-column:1/-1; grid-template-columns:minmax(100px,1fr) minmax(150px,1fr) 138px; padding-inline-start:56px; }
  .acc-app .v2-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .acc-app .v2-order-overview > :nth-child(3) { border-inline-start:0; border-top:1px solid var(--acc-border); }
  .acc-app .v2-order-overview > :nth-child(4) { border-top:1px solid var(--acc-border); }
  .acc-app .v2-order-sections { grid-template-columns:1fr; }
}

@media (max-width:780px) {
  .acc-app .ec-orders > .ui-page-header { margin-bottom:18px; }
  .acc-app .ec-orders-toolbar { display:grid; grid-template-columns:1fr; gap:12px; padding-bottom:14px; }
  .acc-app .ec-orders-toolbar .ui-segmented { width:100%; overflow-x:auto; justify-content:flex-start; }
  .acc-app .ec-orders-toolbar .ui-segmented-item { min-width:max-content; }
  .acc-app .v2-order-row { min-height:0; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px 12px; padding:16px 0; }
  .acc-app .v2-order-row .ui-data-row-leading { grid-column:1; grid-row:1; width:42px; height:46px; }
  .acc-app .v2-order-row .ui-data-row-copy { grid-column:2/-1; grid-row:1; }
  .acc-app .v2-order-row .ui-data-row-title { align-items:flex-start; flex-direction:column; gap:1px; }
  .acc-app .v2-order-row .ui-data-row-title > b { font-size:13px; }
  .acc-app .v2-order-row .ui-data-row-description { gap:4px 12px; margin-top:5px; }
  .acc-app .v2-order-row .ui-data-row-description small { display:none; }
  .acc-app .v2-order-row .v2-order-fx { width:100%; padding:4px 0 0; border-inline-start:0; font-size:10px; }
  .acc-app .v2-order-row .ui-data-row-trailing { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:auto 1fr auto; gap:10px; padding-top:11px; border-top:1px solid var(--acc-border); }
  .acc-app .v2-order-status { grid-column:1; grid-row:1; }
  .acc-app .v2-order-row .ui-price { grid-column:2; grid-row:1; }
  .acc-app .v2-order-row .ui-price small { display:none; }
  .acc-app .v2-order-row .ui-price strong { font-size:14px; }
  .acc-app .v2-order-row .ec-order-view { grid-column:3; grid-row:1; min-height:40px; padding-inline:11px; font-size:11px; }
  .acc-app .ec-order-detail > .ui-page-header { margin-bottom:18px; }
  .acc-app .v2-order-overview { grid-template-columns:1fr 1fr; border-radius:14px; }
  .acc-app .v2-order-overview > * { padding:16px; }
  .acc-app .v2-order-overview > .ec-order-hero-main { grid-column:1/-1; border-inline-start:0; border-bottom:1px solid var(--acc-border); }
  .acc-app .v2-order-overview > .v2-order-state { grid-column:1/-1; border-inline-start:0; border-bottom:1px solid var(--acc-border); }
  .acc-app .v2-order-overview > .v2-order-total { grid-column:1/-1; border-inline-start:0; border-bottom:1px solid var(--acc-border); }
  .acc-app .v2-order-overview > .v2-order-delivery-summary { grid-column:1/-1; border-inline-start:0; }
  .acc-app .v2-order-total strong { font-size:21px; }
  .acc-app .v2-order-sections { grid-template-columns:1fr; gap:16px; margin-top:18px; }
  .acc-app .v2-order-sections > section,.acc-app .v2-order-financial > section { padding:18px; border-radius:14px; }
  .acc-app .ec-order-items li { grid-template-columns:42px minmax(0,1fr); gap:11px; padding:14px 0; }
  .acc-app .ec-order-item-mark { width:42px; height:46px; }
  .acc-app .ec-order-item-values { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; padding-top:12px; border-top:1px solid var(--acc-border); }
  .acc-app .ec-order-item-values .is-total { text-align:left; }
  .acc-app .ec-delivery,.acc-app .ec-order-progress { margin-top:16px; padding:18px; border-radius:14px; }
  .acc-app .ec-order-support { margin-top:16px; }
}

@media (max-width:420px) {
  .acc-app .v2-order-row .v2-order-fx { display:none; }
  .acc-app .v2-order-row .ui-data-row-trailing { grid-template-columns:auto 1fr; }
  .acc-app .v2-order-row .ec-order-view { grid-column:1/-1; grid-row:2; width:100%; }
  .acc-app .v2-order-overview .ec-order-hero-main h2 { font-size:16px; }
  .acc-app .ec-order-item-values { grid-template-columns:1fr 1fr; }
  .acc-app .ec-payment-info > div,.acc-app .ec-order-history-info > div { align-items:flex-start; flex-direction:column; gap:3px; }
  .acc-app .ec-payment-info dd,.acc-app .ec-order-history-info dd { text-align:right; }
}

/* Visual V3 — Cart, Wallet and Transactions. V1/V2 and frozen motion remain unchanged. */
.acc-app .cx-checkout { max-width:1280px; }
.acc-app .cx-checkout > .ui-page-header { margin-bottom:18px; }
.acc-app .cx-checkout-steps { overflow:hidden; border:1px solid var(--acc-border); border-radius:14px; background:var(--acc-surface); }
.acc-app .cx-checkout-steps li { min-height:48px; padding:9px 14px; border-inline-start:1px solid var(--acc-border); background:transparent; color:var(--acc-text-muted); }
.acc-app .cx-checkout-steps li:first-child { border-inline-start:0; }
.acc-app .cx-checkout-steps li.done,.acc-app .cx-checkout-steps li.active { background:var(--acc-accent-surface); color:var(--acc-text); }
.acc-app .cx-checkout-steps li > span { width:24px; height:24px; border:1px solid var(--acc-border-strong); background:var(--acc-surface); color:var(--acc-text-muted); }
.acc-app .cx-checkout-steps li.done > span,.acc-app .cx-checkout-steps li.active > span { border-color:var(--accent-line); background:var(--accent); color:var(--ink-on-accent); }
.acc-app .cx-checkout-grid { grid-template-columns:minmax(0,1fr) 346px; align-items:start; gap:22px; }
.acc-app .cx-checkout-workspace { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.acc-app .cx-checkout-workspace > .ui-section-header { margin-bottom:8px; padding:0 2px 13px; border-bottom:1px solid var(--acc-border-strong); }
.acc-app .cx-checkout-workspace > .ui-section-header h2 { font-size:16px; }
.acc-app .cx-checkout-workspace > .ui-section-header > span { color:var(--acc-text-muted); font-size:11px; }
.acc-app .v3-cart-row { display:grid; grid-template-columns:minmax(230px,1fr) minmax(390px,1.2fr) auto; align-items:center; gap:14px 18px; margin:0; padding:17px 2px; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; box-shadow:none; }
.acc-app .v3-cart-row:hover { border-color:var(--acc-border-strong); background:var(--acc-accent-surface); box-shadow:none; transform:none; }
.acc-app .v3-cart-row > header { grid-template-columns:48px minmax(0,1fr); gap:11px; }
.acc-app .v3-cart-row > header > .ui-status-badge { grid-column:2; justify-self:start; margin-top:4px; min-height:23px; padding:2px 7px; border-radius:6px; font-size:9px; }
.acc-app .v3-cart-row .cx-cart-visual { width:48px; height:52px; padding:3px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); }
.acc-app .v3-cart-row .cx-cart-product h2 { margin:1px 0 0; font-size:13px; line-height:1.7; }
.acc-app .v3-cart-row .cx-cart-product > small { margin:1px 0 0; font-size:9.5px; }
.acc-app .v3-cart-row .cx-cart-row-body { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(245px,1.3fr); align-items:center; gap:14px; margin:0; }
.acc-app .v3-cart-row .cx-cart-configuration { display:grid; grid-template-columns:1fr; gap:3px; }
.acc-app .v3-cart-row .cx-cart-configuration > span { min-width:0; padding:0; border:0; background:transparent; }
.acc-app .v3-cart-row .cx-cart-configuration small,.acc-app .v3-cart-row .cx-cart-controls small { font-size:9.5px; }
.acc-app .v3-cart-row .cx-cart-configuration b { display:block; margin-top:2px; color:var(--acc-text); font-size:11px; font-weight:650; }
.acc-app .v3-cart-row .cx-cart-controls { display:grid; grid-template-columns:minmax(88px,1fr) 72px minmax(100px,1fr); align-items:center; gap:10px; margin:0; padding:0 14px 0 0; border:0; border-inline-start:1px solid var(--acc-border); border-radius:0; background:transparent; }
.acc-app .v3-cart-row .cx-cart-controls > div,.acc-app .v3-cart-row .cx-cart-controls > label { min-width:0; }
.acc-app .v3-cart-row .cx-cart-unit-price b,.acc-app .v3-cart-row .cx-cart-line-total strong { display:block; margin-top:2px; color:var(--acc-text); font-size:12px; white-space:nowrap; }
.acc-app .v3-cart-row .cx-cart-line-total { text-align:left; }
.acc-app .v3-cart-row .cx-cart-line-total strong { font-size:13px; font-weight:800; }
.acc-app .v3-cart-row .cx-cart-quantity { justify-items:start; }
.acc-app .v3-cart-row .cx-quantity-control { margin-top:2px; padding:0; border-color:var(--acc-border); border-radius:8px; }
.acc-app .v3-cart-row .cx-cart-controls .cx-quantity-control input { width:60px; min-height:32px; }
.acc-app .v3-cart-row .cx-cart-row-actions { align-self:center; flex-direction:column; gap:3px; margin:0; padding:0 12px 0 0; border:0; border-inline-start:1px solid var(--acc-border); }
.acc-app .v3-cart-row .cx-cart-row-actions button { min-height:29px; padding:0 8px; border-color:transparent; font-size:9.5px; }
.acc-app .v3-cart-row > .acc-inline-notice { grid-column:1/-1; margin:0; }
.acc-app .v3-cart-summary { position:sticky; top:calc(var(--acc-header-height) + 18px); padding:22px; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:0 12px 34px var(--acc-neutral-shadow); }
.acc-app .v3-cart-summary .cx-summary-kicker { color:var(--acc-commerce); font-size:9.5px; }
.acc-app .v3-cart-summary h2 { margin:3px 0 14px; color:var(--acc-text); font-size:17px; }
.acc-app .v3-cart-summary .cx-summary-line { min-height:43px; padding:10px 0; border-bottom:1px solid var(--acc-border); color:var(--acc-text-muted); font-size:11px; }
.acc-app .v3-cart-summary .cx-summary-line b { color:var(--acc-text); font-size:11px; }
.acc-app .v3-cart-summary .cx-summary-line.total { align-items:flex-end; padding:17px 0; border-bottom:0; }
.acc-app .v3-cart-summary .cx-summary-line.total span { color:var(--acc-text); font-weight:700; }
.acc-app .v3-cart-summary .cx-summary-line.total strong { color:var(--acc-text); font-size:22px; font-weight:850; }
.acc-app .v3-cart-trust { display:flex; align-items:flex-start; gap:9px; margin:1px 0 15px; padding:11px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v3-cart-trust > svg { flex:none; margin-top:1px; color:var(--acc-commerce); }
.acc-app .v3-cart-trust b,.acc-app .v3-cart-trust span { display:block; }
.acc-app .v3-cart-trust b { color:var(--acc-text); font-size:10.5px; }
.acc-app .v3-cart-trust span { margin-top:2px; font-size:9.5px; line-height:1.7; }
.acc-app .v3-cart-summary .cx-checkout-submit { min-height:46px; border-radius:10px; font-size:12px; }
.acc-app .v3-cart-summary .cx-clear-cart { min-height:36px; margin-top:8px; color:var(--danger); font-size:10px; }

.acc-app .ec-wallet { max-width:1180px; }
.acc-app .ec-wallet > .ui-page-header { margin-bottom:18px; }
.acc-app .ec-wallet .acc-wallet-grid { display:grid; grid-template-columns:minmax(270px,.68fr) minmax(480px,1.32fr); gap:20px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.acc-app .ec-wallet .v3-wallet-balance { min-height:274px; display:flex; flex-direction:column; padding:24px; overflow:hidden; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); color:var(--acc-text); box-shadow:none; }
.acc-app .ec-wallet .v3-wallet-balance::before { content:""; position:absolute; inset-inline:24px; top:0; height:3px; border-radius:0 0 4px 4px; background:var(--accent); }
.acc-app .ec-wallet .v3-wallet-balance::after { display:none; }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-symbol { border-color:var(--acc-border); background:var(--acc-surface-2); color:var(--acc-commerce); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-balance-heading small { color:var(--acc-text-muted); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-balance-heading b { color:var(--acc-text); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-amount { margin:32px 0 10px; }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-amount strong { color:var(--acc-text); font-size:31px; }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-amount small { color:var(--acc-text-muted); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-availability { padding:0; border-radius:0; background:transparent; color:var(--acc-text-muted); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-availability > span { background:var(--ok); box-shadow:none; }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-owner { margin-top:auto; border-color:var(--acc-border); color:var(--acc-text-muted); }
.acc-app .ec-wallet .v3-wallet-balance .acc-wallet-owner span { color:var(--acc-text); }
.acc-app .ec-wallet .v3-wallet-topup { min-height:274px; grid-template-columns:minmax(0,1fr) minmax(210px,.72fr); gap:10px 18px; padding:21px 22px; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:none; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-heading { margin:0; padding-bottom:12px; border-bottom:1px solid var(--acc-border); }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-heading h2 { margin:1px 0; font-size:16px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-heading p { color:var(--acc-text-muted); font-size:10px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-heading em { border:1px solid var(--acc-border); border-radius:7px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-block { align-content:start; gap:7px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-section-title,.acc-app .ec-wallet .v3-wallet-topup .ac-lbl { color:var(--acc-text); font-size:10.5px; font-weight:750; }
.acc-app .ec-wallet .v3-wallet-topup .acc-presets { margin:0; }
.acc-app .ec-wallet .v3-wallet-topup .acc-presets .ui-segmented-item { min-height:34px; padding-inline:8px; font-size:10px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-money-input .ac-input { min-height:40px; }
.acc-app .ec-wallet .v3-wallet-topup .ac-field-help { font-size:9px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-payment { grid-column:1/-1; padding-top:9px; border-top:1px solid var(--acc-border); }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-summary { grid-column:1; gap:4px; margin:0; padding:8px 0; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-summary small { font-size:9px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-summary b { font-size:11px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-topup-submit { grid-column:2; min-height:42px; align-self:center; margin:0; border-radius:10px; }
.acc-app .ec-wallet .v3-wallet-topup .acc-controlled-note { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:5px; color:var(--acc-text-muted); font-size:9px; }
.acc-app .v3-transactions { margin-top:24px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.acc-app .v3-transactions > .ui-section-header { margin-bottom:6px; padding:0 2px 14px; border-bottom:1px solid var(--acc-border-strong); }
.acc-app .v3-transactions > .ui-section-header h2 { font-size:16px; }
.acc-app .v3-transactions > .ui-section-header p { font-size:10px; }
.acc-app .v3-transactions .acc-transaction-list { border-bottom:1px solid var(--acc-border-strong); }
.acc-app .v3-transaction-row { min-height:66px; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; margin:0; padding:11px 4px; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; }
.acc-app .v3-transaction-row:last-child { border-bottom:0; }
.acc-app .v3-transaction-row:hover { background:var(--acc-accent-surface); }
.acc-app .v3-transaction-row .ui-data-row-leading { width:36px; height:36px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v3-transaction-row.is-credit .ui-data-row-leading,.acc-app .v3-transaction-row.is-debit .ui-data-row-leading { background:var(--acc-surface-2); }
.acc-app .v3-transaction-row.is-credit .ui-data-row-leading { color:var(--ok); }
.acc-app .v3-transaction-row.is-debit .ui-data-row-leading { color:var(--acc-text-muted); }
.acc-app .v3-transaction-row .ui-data-row-title { gap:7px; }
.acc-app .v3-transaction-row .ui-data-row-title > b { font-size:12px; font-weight:650; }
.acc-app .v3-transaction-row .acc-transaction-kind { padding:2px 6px; border:1px solid var(--acc-border); border-radius:6px; background:transparent; color:var(--acc-text-muted); font-size:8.5px; }
.acc-app .v3-transaction-row .acc-transaction-date { color:var(--acc-text-muted); font-size:10px; }
.acc-app .v3-transaction-row .acc-transaction-result { min-width:130px; }
.acc-app .v3-transaction-row .acc-transaction-amount { min-width:130px; color:var(--acc-text); font-size:13px; font-weight:750; font-variant-numeric:tabular-nums; }
.acc-app .v3-transaction-row .acc-transaction-amount.credit { color:var(--ok); }

@media (min-width:781px) and (max-width:1180px) {
  .acc-app .v3-cart-row { grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr); }
  .acc-app .v3-cart-row .cx-cart-row-actions { grid-column:1/-1; flex-direction:row; justify-content:flex-end; padding:8px 0 0; border-inline-start:0; border-top:1px solid var(--acc-border); }
  .acc-app .ec-wallet .acc-wallet-grid { grid-template-columns:1fr; }
}

@media (max-width:780px) {
  .acc-app .cx-checkout-grid { grid-template-columns:1fr; gap:18px; }
  .acc-app .cx-checkout-steps { overflow-x:auto; }
  .acc-app .cx-checkout-steps li { min-width:150px; }
  .acc-app .v3-cart-row { grid-template-columns:1fr; gap:12px; padding:16px 0; }
  .acc-app .v3-cart-row > header { grid-template-columns:46px minmax(0,1fr) auto; }
  .acc-app .v3-cart-row > header > .ui-status-badge { grid-column:3; grid-row:1; margin:0; }
  .acc-app .v3-cart-row .cx-cart-row-body { grid-template-columns:1fr; gap:11px; }
  .acc-app .v3-cart-row .cx-cart-configuration { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .acc-app .v3-cart-row .cx-cart-controls { padding:10px 0 0; border-inline-start:0; border-top:1px solid var(--acc-border); }
  .acc-app .v3-cart-row .cx-cart-row-actions { flex-direction:row; justify-content:flex-end; padding:8px 0 0; border-inline-start:0; border-top:1px solid var(--acc-border); }
  .acc-app .v3-cart-summary { position:static; }
  .acc-app .cx-mobile-checkout-dock { bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + var(--account-mobile-keyboard-offset) + 12px); }
  .acc-app .ec-wallet .acc-wallet-grid { grid-template-columns:1fr; gap:14px; }
  .acc-app .ec-wallet .v3-wallet-topup { grid-template-columns:1fr; }
  .acc-app .ec-wallet .v3-wallet-topup > *,.acc-app .ec-wallet .v3-wallet-topup .acc-topup-payment,.acc-app .ec-wallet .v3-wallet-topup .acc-topup-summary,.acc-app .ec-wallet .v3-wallet-topup .acc-topup-submit,.acc-app .ec-wallet .v3-wallet-topup .acc-controlled-note { grid-column:1; }
  .acc-app .ec-wallet .v3-wallet-topup .acc-controlled-note { justify-content:flex-start; }
}

@media (max-width:430px) {
  .acc-app .cx-checkout-steps li { min-width:132px; padding-inline:10px; }
  .acc-app .v3-cart-row > header { grid-template-columns:44px minmax(0,1fr); }
  .acc-app .v3-cart-row > header > .ui-status-badge { grid-column:2; grid-row:2; justify-self:start; }
  .acc-app .v3-cart-row .cx-cart-configuration { grid-template-columns:1fr; }
  .acc-app .v3-cart-row .cx-cart-controls { grid-template-columns:1fr 68px; }
  .acc-app .v3-cart-row .cx-cart-line-total { grid-column:1/-1; }
  .acc-app .v3-cart-summary { padding:18px; }
  .acc-app .ec-wallet .v3-wallet-balance,.acc-app .ec-wallet .v3-wallet-topup { padding:18px; }
  .acc-app .ec-wallet .v3-wallet-balance { min-height:240px; }
  .acc-app .ec-wallet .v3-wallet-balance .acc-wallet-amount strong { font-size:28px; }
  .acc-app .v3-transaction-row { grid-template-columns:34px minmax(0,1fr); gap:10px; }
  .acc-app .v3-transaction-row .ui-data-row-trailing { grid-column:2; justify-content:flex-start; }
  .acc-app .v3-transaction-row .acc-transaction-result,.acc-app .v3-transaction-row .acc-transaction-amount { min-width:0; text-align:right; }
}

/* Visual V4 — Support, conversation and profile. V1–V3 and frozen motion remain unchanged. */
.acc-app .v4-support { max-width:1280px; }
.acc-app .v4-support > .ui-page-header { margin-bottom:18px; }
.acc-app .v4-support .ec-support-content { gap:0; }
.acc-app .v4-support .ec-support-workspace { min-height:640px; grid-template-columns:350px minmax(0,1fr); gap:0; overflow:hidden; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); box-shadow:none; }
.acc-app .v4-ticket-list { min-height:640px; padding:0; border:0; border-inline-end:1px solid var(--acc-border); border-radius:0; background:var(--acc-surface); }
.acc-app .v4-ticket-list > .ui-section-header { min-height:62px; margin:0; padding:15px 18px; border-bottom:1px solid var(--acc-border-strong); }
.acc-app .v4-ticket-list > .ui-section-header h2 { font-size:15px; }
.acc-app .v4-ticket-list > .ui-section-header > span { color:var(--acc-text-muted); font-size:10px; }
.acc-app .v4-ticket-list .acc-ticket-list { display:block; padding:0; }
.acc-app .v4-ticket-row { min-height:92px; display:grid; grid-template-columns:34px minmax(0,1fr); grid-template-areas:"leading copy"; align-items:start; gap:11px; margin:0; padding:14px 16px; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; box-shadow:none; text-align:right; }
.acc-app .v4-ticket-row:last-child { border-bottom:0; }
.acc-app .v4-ticket-row:hover { background:var(--acc-accent-surface); }
.acc-app .v4-ticket-row.active { background:var(--acc-accent-surface-strong); box-shadow:inset -3px 0 0 var(--accent); }
.acc-app .v4-ticket-row .ui-data-row-leading { grid-area:leading; width:34px; height:34px; margin:0; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v4-ticket-row.active .ui-data-row-leading { border-color:var(--accent-line); background:var(--acc-surface); color:var(--acc-commerce); }
.acc-app .v4-ticket-row .ui-data-row-copy { grid-area:copy; min-width:0; }
.acc-app .v4-ticket-row .acc-ticket-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:8px; }
.acc-app .v4-ticket-row .acc-ticket-title { min-width:0; display:block; }
.acc-app .v4-ticket-row .acc-ticket-title b { display:block; overflow:hidden; color:var(--acc-text); font-size:12.5px; line-height:1.65; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.acc-app .v4-ticket-date { color:var(--acc-text-muted); font-size:9px; white-space:nowrap; }
.acc-app .v4-ticket-row .acc-ticket-identity { min-height:24px; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:5px; padding:0; border:0; }
.acc-app .v4-ticket-row .acc-ticket-code { color:var(--acc-text-muted); font-size:9.5px; }
.acc-app .v4-ticket-row .acc-ticket-status .ui-status { min-height:23px; padding:2px 7px; border-radius:6px; font-size:8.5px; }
.acc-app .v4-ticket-row .acc-ticket-meta { display:flex; gap:5px 12px; margin-top:5px; color:var(--acc-text-muted); font-size:9px; }
.acc-app .v4-ticket-row .acc-ticket-meta span { white-space:nowrap; }
.acc-app .v4-support .acc-conversation-placeholder { min-height:638px; border:0; border-radius:0; background:var(--acc-surface); }
.acc-app .v4-support .acc-conversation-placeholder > span { width:46px; height:46px; border:1px solid var(--acc-border); background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v4-support .acc-conversation-placeholder h3 { font-size:15px; }
.acc-app .v4-support .acc-conversation-placeholder p { max-width:34ch; color:var(--acc-text-muted); font-size:11px; }

.acc-app .v4-ticket-conversation { min-width:0; min-height:640px; display:flex; flex-direction:column; padding:0; border:0; border-radius:0; background:var(--acc-surface); box-shadow:none; }
.acc-app .v4-ticket-conversation .acc-conversation-head { min-height:112px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:18px; padding:18px 24px; border-bottom:1px solid var(--acc-border-strong); background:var(--acc-surface); }
.acc-app .v4-ticket-conversation .acc-conversation-back { min-height:34px; margin-top:2px; padding:0 9px; border:1px solid var(--acc-border); border-radius:8px; background:var(--acc-surface-2); color:var(--acc-text-muted); font-size:9.5px; }
.acc-app .v4-conversation-summary { min-width:0; }
.acc-app .v4-conversation-summary .acc-eyebrow { color:var(--acc-commerce); font-size:9px; }
.acc-app .v4-conversation-summary h2 { margin:3px 0 7px; overflow-wrap:anywhere; color:var(--acc-text); font-size:18px; line-height:1.7; }
.acc-app .v4-conversation-summary h2:focus { outline:2px solid var(--accent-line); outline-offset:4px; border-radius:4px; }
.acc-app .v4-conversation-summary .acc-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px 14px; color:var(--acc-text-muted); font-size:9.5px; }
.acc-app .v4-conversation-summary .ui-status { min-height:24px; padding:2px 7px; border-radius:6px; font-size:8.5px; }
.acc-app .v4-ticket-conversation .acc-support-thread { width:min(100%,760px); min-height:270px; display:flex; flex-direction:column; gap:16px; align-self:center; padding:26px 28px 20px; }
.acc-app .v4-ticket-conversation .v4-message { width:min(88%,620px); margin:0; padding:13px 15px; border:1px solid var(--acc-border); border-radius:11px; background:var(--acc-surface-2); box-shadow:none; }
.acc-app .v4-ticket-conversation .v4-message.support { align-self:flex-start; border-inline-start:3px solid var(--accent); background:var(--acc-accent-surface); }
.acc-app .v4-ticket-conversation .v4-message.customer { align-self:flex-end; background:var(--acc-surface-2); }
.acc-app .v4-ticket-conversation .v4-message header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; }
.acc-app .v4-ticket-conversation .v4-message header b { color:var(--acc-text); font-size:10px; font-weight:750; }
.acc-app .v4-ticket-conversation .v4-message time { color:var(--acc-text-muted); font-size:8.5px; white-space:nowrap; }
.acc-app .v4-ticket-conversation .v4-message p { margin:0; color:var(--acc-text); font-size:12px; line-height:2; overflow-wrap:anywhere; }
.acc-app .v4-ticket-conversation .acc-message-attachment { min-height:32px; margin-top:10px; padding:5px 8px; border:1px solid var(--acc-border); border-radius:7px; background:var(--acc-surface); color:var(--acc-text); font-size:9.5px; }
.acc-app .v4-reply-form { width:min(calc(100% - 56px),720px); align-self:center; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; margin:0 28px 24px; padding:18px 0 0; border:0; border-top:1px solid var(--acc-border-strong); border-radius:0; background:transparent; box-shadow:none; }
.acc-app .v4-reply-form .acc-reply-heading { grid-column:1/-1; display:flex; align-items:start; justify-content:space-between; gap:16px; }
.acc-app .v4-reply-form .acc-reply-heading h3 { color:var(--acc-text); font-size:13px; }
.acc-app .v4-reply-form .acc-reply-heading p { margin-top:2px; color:var(--acc-text-muted); font-size:9.5px; }
.acc-app .v4-reply-form .acc-dirty-indicator { padding:4px 7px; border-radius:6px; background:var(--acc-surface-2); color:var(--acc-text-muted); font-size:8.5px; }
.acc-app .v4-reply-form > .ac-field { grid-column:1/-1; }
.acc-app .v4-reply-form #replyMessage { min-height:104px; resize:vertical; border-color:var(--acc-border-strong); background:var(--acc-field); font-size:12px; line-height:1.9; }
.acc-app .v4-reply-form .acc-inline-feedback { grid-column:1/-1; min-height:0; }
.acc-app .v4-reply-form .acc-reply-actions { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.acc-app .v4-reply-form .acc-reply-attachment { min-height:38px; padding:0 11px; border:1px solid var(--acc-border); border-radius:8px; background:var(--acc-surface); color:var(--acc-text-muted); font-size:10px; }
.acc-app .v4-reply-form .btn-primary { min-width:126px; min-height:40px; border-radius:9px; font-size:11px; }

.acc-app .v4-ticket-composer.t-modal { width:min(820px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); padding:0; overflow:hidden; border:1px solid var(--acc-border-strong); border-radius:18px; background:var(--acc-surface); box-shadow:0 26px 76px rgba(10,12,18,.28); }
.acc-app .v4-ticket-composer .acc-ticket-toggle { min-height:76px; padding:14px 20px; border-bottom:1px solid var(--acc-border-strong); background:var(--acc-surface); }
.acc-app .v4-ticket-composer .acc-ticket-toggle-icon { width:38px; height:38px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); color:var(--acc-commerce); }
.acc-app .v4-ticket-composer .acc-ticket-toggle-copy b { font-size:14px; }
.acc-app .v4-ticket-composer .acc-ticket-toggle-copy small { margin-top:2px; color:var(--acc-text-muted); font-size:10px; }
.acc-app .v4-ticket-composer .acc-ticket-panel.open > div { padding:0 20px; }
.acc-app .v4-ticket-composer .acc-ticket-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; padding:20px 0 0; }
.acc-app .v4-ticket-composer .ac-lbl { margin-bottom:5px; font-size:11px; }
.acc-app .v4-ticket-composer .ac-input { min-height:42px; border-color:var(--acc-border-strong); background:var(--acc-field); font-size:11.5px; }
.acc-app .v4-ticket-composer #ticketMessage { min-height:116px; height:116px; line-height:1.9; }
.acc-app .v4-ticket-composer .acc-upload { min-height:74px; grid-template-columns:34px minmax(0,1fr) auto; padding:10px 12px; border-color:var(--acc-border); border-radius:10px; background:var(--acc-surface-2); }
.acc-app .v4-ticket-composer .acc-upload-icon { width:34px; height:34px; border-radius:9px; }
.acc-app .v4-ticket-composer .acc-upload-copy b { font-size:10.5px; }
.acc-app .v4-ticket-composer .acc-upload-copy small,.acc-app .v4-ticket-composer .ac-field-help { font-size:8.5px; }
.acc-app .v4-ticket-composer .acc-ticket-actions { margin-top:3px; padding:14px 0 18px; border-top:1px solid var(--acc-border); }
.acc-app .v4-ticket-composer .acc-ticket-actions .ui-button,.acc-app .v4-ticket-composer .acc-ticket-submit { min-height:40px; border-radius:9px; font-size:11px; }

.acc-app .v4-profile { max-width:1080px; }
.acc-app .v4-profile > .ui-page-header { margin-bottom:18px; }
.acc-app .v4-profile-header { min-height:92px; grid-template-columns:50px minmax(0,1fr) 220px; gap:14px; padding:17px 20px; border:1px solid var(--acc-border-strong); border-radius:15px; background:var(--acc-surface); box-shadow:none; }
.acc-app .v4-profile-header .acc-profile-avatar { width:50px; height:50px; border-color:var(--acc-border); background:var(--acc-surface-2); color:var(--acc-text); box-shadow:none; }
.acc-app .v4-profile-header .acc-profile-name > b { font-size:15px; }
.acc-app .v4-profile-header .acc-profile-meta { font-size:10px; }
.acc-app .v4-profile-header .acc-profile-progress { padding:10px 12px; border-color:var(--acc-border); border-radius:10px; background:var(--acc-surface-2); }
.acc-app .v4-profile-header .acc-profile-progress-label { font-size:9.5px; }
.acc-app .v4-profile-header .acc-progress-track { height:4px; margin-top:7px; background:var(--acc-border); }
.acc-app .v4-profile-workspace { grid-template-columns:176px minmax(0,1fr); align-items:start; gap:18px; }
.acc-app .v4-profile-nav { position:sticky; top:calc(var(--acc-header-height) + 18px); gap:2px; padding:7px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface); box-shadow:none; }
.acc-app .v4-profile-nav > span { padding:8px 9px 10px; color:var(--acc-text-muted); font-size:9px; }
.acc-app .v4-profile-nav a { min-height:38px; gap:8px; padding:7px 8px; border-radius:8px; color:var(--acc-text-muted); font-size:10.5px; }
.acc-app .v4-profile-nav a b { width:22px; height:22px; border:0; border-radius:6px; background:var(--acc-surface-2); color:var(--acc-text-muted); font-size:8px; }
.acc-app .v4-profile-nav a:hover { background:var(--acc-accent-surface); color:var(--acc-text); }
.acc-app .v4-profile-form { gap:0; overflow:hidden; border:1px solid var(--acc-border-strong); border-radius:16px; background:var(--acc-surface); }
.acc-app .v4-profile-form > .acc-form-summary:empty,.acc-app .v4-profile-form > #profileFeedback:empty { display:none; }
.acc-app .v4-profile-form .acc-profile-section { margin:0; padding:24px; overflow:visible; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; box-shadow:none; }
.acc-app .v4-profile-form .acc-profile-section::before { display:none; }
.acc-app .v4-profile-form .acc-profile-section > header { margin-bottom:20px; padding:0 0 12px; border-bottom:1px solid var(--acc-border); }
.acc-app .v4-profile-form .acc-profile-section > header h2 { font-size:15px; }
.acc-app .v4-profile-form .acc-profile-section > header p { margin-top:3px; color:var(--acc-text-muted); font-size:9.5px; }
.acc-app .v4-profile-form .acc-profile-section-index { width:28px; height:24px; border-color:var(--acc-border); border-radius:7px; background:var(--acc-surface-2); color:var(--acc-text-muted); font-size:8px; }
.acc-app .v4-profile-form .ui-form-grid { gap:17px 16px; }
.acc-app .v4-profile-form .ac-lbl { margin-bottom:6px; color:var(--acc-text); font-size:10.5px; font-weight:700; }
.acc-app .v4-profile-form .ac-input { min-height:43px; border-color:var(--acc-border-strong); border-radius:9px; background:var(--acc-field); font-size:11.5px; }
.acc-app .v4-profile-form textarea.ac-input { min-height:92px; line-height:1.9; }
.acc-app .v4-profile-form .ac-input[readonly] { border-style:solid; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v4-profile-form .ac-field-help { max-width:54ch; margin-top:5px; color:var(--acc-text-muted); font-size:9px; line-height:1.75; }
.acc-app .v4-profile-form .ac-field-error { margin-top:5px; font-size:9px; }
.acc-app .v4-security-section { background:var(--acc-surface-2); }
.acc-app .v4-security-section .acc-security-row { min-height:62px; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; padding:10px 12px; border-color:var(--acc-border); border-radius:10px; background:var(--acc-surface); }
.acc-app .v4-security-section .acc-security-icon { width:38px; height:38px; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v4-security-section .acc-security-row b { font-size:11.5px; }
.acc-app .v4-security-section .acc-security-row small { font-size:9.5px; }
.acc-app .v4-security-section .acc-disabled-action { min-height:34px; padding-inline:10px; border-color:var(--acc-border); color:var(--acc-text-muted); font-size:9px; }
.acc-app .v4-profile-save { position:static; min-height:68px; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; margin:0; padding:12px 16px; border:0; border-radius:0; background:var(--acc-surface); box-shadow:none; }
.acc-app .v4-profile-save .acc-save-icon { width:34px; height:34px; border:1px solid var(--acc-border); border-radius:9px; background:var(--acc-surface-2); color:var(--acc-text-muted); }
.acc-app .v4-profile-save .acc-save-copy b { font-size:11px; }
.acc-app .v4-profile-save .acc-save-copy small { font-size:9px; }
.acc-app .v4-profile-save .acc-dirty-indicator { color:var(--acc-text-muted); font-size:9px; }
.acc-app .v4-profile-save .acc-save-btn { min-width:142px; min-height:40px; border-radius:9px; font-size:11px; box-shadow:none; }

@media (min-width:781px) and (max-width:1100px) {
  .acc-app .v4-support .ec-support-workspace { grid-template-columns:300px minmax(0,1fr); }
  .acc-app .v4-ticket-row { padding-inline:12px; }
  .acc-app .v4-ticket-conversation .acc-conversation-head { padding-inline:18px; }
  .acc-app .v4-profile-workspace { grid-template-columns:152px minmax(0,1fr); gap:14px; }
  .acc-app .v4-profile-nav a { font-size:9.5px; }
}

@media (max-width:780px) {
  .acc-app .v4-support .ec-support-workspace { min-height:0; grid-template-columns:1fr; overflow:visible; border:0; border-radius:0; background:transparent; }
  .acc-app .v4-ticket-list { min-height:0; border:0; border-block:1px solid var(--acc-border-strong); background:transparent; }
  .acc-app .v4-ticket-list > .ui-section-header { padding-inline:2px; background:transparent; }
  .acc-app .v4-ticket-row { min-height:84px; padding:13px 2px; }
  .acc-app .v4-ticket-row.active { box-shadow:inset -3px 0 0 var(--accent); }
  .acc-app .v4-support .acc-conversation-placeholder { display:none; }
  .acc-app .v4-ticket-conversation { min-height:0; border-block:1px solid var(--acc-border-strong); background:transparent; }
  .acc-app .v4-ticket-conversation .acc-conversation-head { min-height:0; grid-template-columns:1fr; gap:11px; padding:15px 2px; background:transparent; }
  .acc-app .v4-ticket-conversation .acc-conversation-back { width:max-content; margin:0; }
  .acc-app .v4-ticket-conversation .acc-support-thread { width:100%; min-height:0; gap:13px; padding:20px 2px; }
  .acc-app .v4-ticket-conversation .v4-message { width:min(94%,620px); padding:12px 13px; }
  .acc-app .v4-ticket-conversation .v4-message p { font-size:11.5px; }
  .acc-app .v4-reply-form { width:100%; margin:0; padding:17px 2px calc(18px + var(--account-mobile-safe-bottom)); }
  .acc-app .v4-ticket-composer.t-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
  .acc-app .v4-ticket-composer .acc-ticket-toggle { min-height:68px; padding:11px 14px; }
  .acc-app .v4-ticket-composer .acc-ticket-panel.open > div { padding:0 14px; }
  .acc-app .v4-ticket-composer .acc-ticket-form { grid-template-columns:1fr; gap:12px; padding-top:14px; }
  .acc-app .v4-ticket-composer #ticketMessage { min-height:126px; height:126px; }
  .acc-app .v4-ticket-composer .acc-ticket-actions { padding-bottom:14px; }
  .acc-app .v4-profile-header { grid-template-columns:46px minmax(0,1fr); padding:15px; }
  .acc-app .v4-profile-header .acc-profile-progress { grid-column:1/-1; }
  .acc-app .v4-profile-workspace { grid-template-columns:1fr; gap:12px; }
  .acc-app .v4-profile-nav { position:static; display:flex; gap:4px; overflow-x:auto; padding:5px; }
  .acc-app .v4-profile-nav > span { display:none; }
  .acc-app .v4-profile-nav a { min-width:max-content; min-height:36px; }
  .acc-app .v4-profile-form .acc-profile-section { padding:19px 16px; }
  .acc-app .v4-profile-form .ui-form-grid { grid-template-columns:1fr; gap:15px; }
  .acc-app .v4-profile-save { grid-template-columns:1fr auto; padding:12px 14px; }
  .acc-app .v4-profile-save .acc-save-copy { grid-column:1/-1; }
  .acc-app .v4-profile-save .acc-save-btn { min-width:128px; }
  .acc-app .v4-profile .acc-mobile-save-dock { bottom:calc(var(--account-mobile-nav-height) + var(--account-mobile-safe-bottom) + var(--account-mobile-keyboard-offset) + 12px); }
}

@media (max-width:430px) {
  .acc-app .v4-ticket-row .acc-ticket-header { grid-template-columns:1fr; gap:1px; }
  .acc-app .v4-ticket-date { grid-row:2; }
  .acc-app .v4-ticket-row .acc-ticket-identity { margin-top:3px; }
  .acc-app .v4-ticket-conversation .v4-message { width:96%; }
  .acc-app .v4-reply-form .acc-reply-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .acc-app .v4-reply-form .acc-reply-actions { justify-content:space-between; }
  .acc-app .v4-reply-form .btn-primary { min-width:120px; }
  .acc-app .v4-ticket-composer .acc-upload { grid-template-columns:32px minmax(0,1fr); }
  .acc-app .v4-ticket-composer .acc-upload-pick { grid-column:1/-1; width:100%; }
  .acc-app .v4-profile-form { border-radius:14px; }
  .acc-app .v4-security-section .acc-security-row { grid-template-columns:36px minmax(0,1fr); }
  .acc-app .v4-security-section .acc-disabled-action { grid-column:1/-1; width:100%; }
  .acc-app .v4-profile-save { display:none; }
}

/* Phase 1 clarity: existing shell, home, catalog and product configuration only. */
body.acc-app { --acc-sidebar-width:216px; --acc-header-height:60px; }
.acc-app .acc-header-inner { min-height:60px; }
.acc-app .acc-sidebar-brand { min-height:60px; padding:12px 18px; }
.acc-app .acc-sidebar-brand small,.acc-app .acc-header-context small { display:none; }
.acc-app .acc-sidebar-nav { padding:20px 12px 12px; gap:3px; }
.acc-app .acc-nav-btn { min-height:44px; padding:9px 12px; font-size:12px; border-radius:8px; }
.acc-app .acc-nav-btn.active { background:var(--acc-accent-surface); color:var(--acc-text); }
.acc-app .acc-header-icon,.acc-app .theme-btn,.acc-app .acc-mobile-nav-toggle { min-width:44px; min-height:44px; }
.acc-app .acc-wallet-shortcut { display:none; }
.acc-app .clarity-home { display:grid; gap:24px; max-width:960px; margin-inline:auto; }
.acc-app .clarity-heading h1,.acc-app .cx-store h1 { margin:0; font-size:24px; line-height:1.6; font-weight:700; }
.acc-app .clarity-summary { display:grid; grid-template-columns:1.4fr 1fr 1fr; padding-block:18px; border-block:1px solid var(--acc-border); }
.acc-app .clarity-summary button { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-height:60px; padding:0 20px; border:0; border-inline-start:1px solid var(--acc-border); background:none; color:var(--acc-text); text-align:start; cursor:pointer; }
.acc-app .clarity-summary button:first-child { border:0; padding-inline-start:0; }
.acc-app .clarity-summary span { font-size:12px; color:var(--acc-text-muted); }
.acc-app .clarity-summary b { font-size:19px; font-weight:600; }
.acc-app .clarity-current > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.acc-app .clarity-current h2 { font-size:15px; font-weight:600; margin:0; }
.acc-app .clarity-home .ui-button { min-height:44px; font-size:12px; }
.acc-app .clarity-order { display:grid; grid-template-columns:1fr auto; gap:18px; padding:24px; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface); }
.acc-app .clarity-order-title { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.acc-app .clarity-order h3 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.acc-app .clarity-order-meta { grid-column:1; display:flex; gap:24px; align-items:center; color:var(--acc-text-muted); font-size:12px; }
.acc-app .clarity-order-meta b { color:var(--acc-text); font-size:14px; font-weight:500; }
.acc-app .clarity-order > button { grid-column:2; grid-row:1/3; align-self:center; }
.acc-app .clarity-shortcuts { display:flex; gap:12px; flex-wrap:wrap; }
.acc-app .clarity-shortcuts .ui-button { border-color:transparent; background:transparent; color:var(--acc-text-muted); }
.acc-app .clarity-shortcuts .ui-button:hover { color:var(--acc-text); background:var(--acc-surface-2); }
.acc-app .cx-store { gap:20px; }
.acc-app .cx-store .ui-page-header { margin:0; }
.acc-app .cx-store-toolbar { padding:0 0 16px; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:none; box-shadow:none; grid-template-columns:1fr; gap:12px; }
.acc-app .cx-store-toolbar .ui-search { max-width:420px; }
.acc-app .cx-store-toolbar input { min-height:44px; }
.acc-app .cx-store .ui-segmented-item { min-height:44px; }
.acc-app .cx-store .cx-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.acc-app .clarity-product { display:flex; flex-direction:column; gap:12px; padding:14px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface); min-width:0; }
.acc-app .clarity-product-media { width:112px; aspect-ratio:1/1; display:grid; place-items:center; align-self:center; overflow:hidden; border-radius:8px; }
.acc-app .clarity-product-media img { display:block; width:100%; height:100%; aspect-ratio:1/1; object-fit:contain; }
.acc-app .clarity-product-media [hidden] { display:none; }
.acc-app .clarity-product-copy { display:flex; flex-direction:column; align-items:flex-start; gap:6px; flex:1; }
.acc-app .clarity-product-title { color:var(--acc-text); font-size:15px; font-weight:600; line-height:1.8; text-decoration:none; overflow-wrap:anywhere; }
.acc-app .clarity-product-copy small,.acc-app .clarity-availability { font-size:11px; color:var(--acc-text-muted); }
.acc-app .clarity-product-buy { display:flex; flex-direction:column; gap:12px; }
.acc-app .clarity-product-buy b { font-size:14px; font-weight:600; }
.acc-app .clarity-product-buy small { color:var(--acc-text-muted); }
.acc-app .clarity-product-buy .ui-button { min-height:44px; font-size:12px; }
.acc-app .acc-purchase-dialog { width:min(680px,calc(100vw - 32px)); min-height:0; grid-template-columns:100px minmax(0,1fr); gap:20px; padding:24px; border-radius:14px; }
.acc-app .acc-purchase-media { width:100px; height:100px; min-height:0; padding:0; background:none; border:0; align-self:start; margin-top:8px; }
.acc-app .acc-purchase-media > img { width:100px; height:100px; aspect-ratio:1/1; object-fit:contain; padding:0; }
.acc-app .acc-purchase-content { padding:0; min-height:0; max-height:calc(100dvh - 112px); }
.acc-app .acc-purchase-content h2 { margin:0 0 16px; padding-inline-end:28px; font-size:19px; line-height:1.8; }
.acc-app .acc-purchase-content form { min-height:0; gap:14px; }
.acc-app .acc-purchase-close { width:44px; height:44px; top:8px; left:8px; }
.acc-app .acc-purchase-content .ac-input { min-height:44px; }
.acc-app .acc-purchase-content .acc-variant-field { margin:0; padding:0; border:0; background:none; }
.acc-app .acc-purchase-content .acc-variant-option { min-height:52px; padding:9px 10px; border-radius:8px; }
.acc-app .acc-purchase-content .acc-variant-option b { font-size:12px; }
.acc-app .acc-purchase-content .acc-variant-option small { font-size:11px; }
.acc-app .acc-purchase-content .acc-variant-option strong { font-size:12px; }
.acc-app .acc-purchase-delivery { margin:0; padding:0; background:none; border:0; color:var(--acc-text-muted); font-size:12px; }
.acc-app .acc-purchase-final { position:sticky; bottom:0; display:flex; flex-wrap:wrap; gap:12px; padding:16px 0 0; margin:4px 0 0; border-top:1px solid var(--acc-border); background:var(--acc-surface); }
.acc-app .acc-purchase-summary { flex:1; padding:0; border:0; background:none; grid-template-columns:1fr; }
.acc-app .acc-purchase-summary b { font-size:15px; }
.acc-app .acc-purchase-submit { min-height:44px; font-size:12px; }
.acc-app .clarity-product-details { margin-bottom:16px; color:var(--acc-text-muted); font-size:12px; }
.acc-app .clarity-product-details summary { min-height:44px; display:list-item; align-content:center; cursor:pointer; }
.acc-app .clarity-product-details p { margin:0; line-height:1.9; }
@media (max-width:780px) {
  .acc-app .acc-header-inner { min-height:60px; padding-inline:12px; }
  .acc-app .clarity-home { gap:20px; }
  .acc-app .clarity-heading h1,.acc-app .cx-store h1 { font-size:21px; }
  .acc-app .clarity-summary { grid-template-columns:1fr 1fr; gap:16px 0; padding-block:16px; }
  .acc-app .clarity-summary button { padding-inline:12px; min-height:52px; gap:5px; }
  .acc-app .clarity-summary button:first-child { grid-column:1/-1; }
  .acc-app .clarity-summary button:nth-child(2) { border:0; padding-inline-start:0; }
  .acc-app .clarity-summary b { font-size:18px; }
  .acc-app .clarity-order { grid-template-columns:1fr; padding:16px; gap:14px; }
  .acc-app .clarity-order h3 { font-size:17px; }
  .acc-app .clarity-order-title { justify-content:space-between; gap:10px; }
  .acc-app .clarity-order-meta { justify-content:space-between; gap:12px; }
  .acc-app .clarity-order > button { grid-row:auto; grid-column:1; justify-self:stretch; }
  .acc-app .clarity-shortcuts { gap:4px; justify-content:space-between; }
  .acc-app .clarity-shortcuts .ui-button { padding-inline:8px; }
  .acc-app .cx-store .cx-catalog { grid-template-columns:1fr; gap:0; }
  .acc-app .clarity-product { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px 14px; padding:18px 0; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:none; }
  .acc-app .clarity-product-media { width:76px; align-self:start; }
  .acc-app .clarity-product-title { font-size:14px; }
  .acc-app .clarity-product-copy { gap:4px; }
  .acc-app .clarity-product-buy { grid-column:1/-1; flex-direction:row; justify-content:space-between; align-items:center; }
  .acc-app .clarity-product-buy .ui-button { padding-inline:14px; }
  .acc-app .acc-purchase-overlay { padding:12px; align-items:center; }
  .acc-app .acc-purchase-dialog { width:100%; max-height:calc(100dvh - 24px); display:block; padding:22px 16px 16px; border-radius:14px; }
  .acc-app .acc-purchase-media { display:none; }
  .acc-app .acc-purchase-content { max-height:calc(100dvh - 72px); padding:0; }
  .acc-app .acc-purchase-content h2 { font-size:18px; }
  .acc-app .acc-purchase-final { flex-direction:column; align-items:stretch; }
  .acc-app .acc-purchase-summary { display:block; }
  .acc-app .acc-purchase-summary > span { display:flex; justify-content:space-between; align-items:center; gap:12px; }
}
.acc-app .cx-store-toolbar .ui-search-control { background:var(--acc-field); color:var(--acc-text-muted); border-color:var(--acc-border-strong); }
.acc-app .cx-store-toolbar .ui-search-control input::placeholder { color:var(--acc-text-muted); }
.acc-app .cx-store-toolbar .ui-segmented { background:transparent; }

.acc-app .clarity-home .ui-status { font-size:11px; }
.acc-app[data-theme="light"] .clarity-home .ui-status.success { color:#18704a; }
.acc-app[data-theme="light"] .clarity-home .ui-status.warning { color:#815410; }

/* Legacy Dashboard: operational account overview and shared shell scale. */
body.acc-app { --acc-sidebar-width:184px; --acc-header-height:56px; --acc-mobile-header:56px; --account-mobile-nav-height:60px; }
.acc-app .acc-header-inner { min-height:56px; padding-inline:24px; gap:12px; }
.acc-app .acc-sidebar-brand { min-height:56px; padding:10px 14px; gap:8px; }
.acc-app .acc-sidebar-brand b { font-size:14px; font-weight:650; }
.acc-app .acc-sidebar-brand .logo-mark { width:28px; height:28px; }
.acc-app .acc-sidebar-nav { padding:12px 8px; gap:0; }
.acc-app .acc-nav-btn { min-height:44px; padding:8px 10px; gap:8px; font-size:13px; font-weight:450; border-radius:6px; }
.acc-app .acc-nav-btn .ic svg { width:18px; height:18px; }
.acc-app .acc-nav-btn.active { font-weight:600; }
.acc-app .acc-nav-divider { margin:10px 8px; }
.acc-app .acc-header-icon svg,.acc-app .theme-btn > svg { width:17px; height:17px; }
.acc-app .acc-user-chip { font-size:12px; }
.acc-app .acc-user-chip > b { width:28px; height:28px; font-size:12px; }
.acc-app #accMain:has(.acc-dashboard) { padding:24px 24px 48px; }
.acc-app .acc-dashboard { --dash-gap:20px; --dash-padding:16px; display:grid; gap:var(--dash-gap); max-width:1040px; margin-inline:auto; color:var(--acc-text); font-size:14px; line-height:1.7; }
.acc-dashboard h1,.acc-dashboard h2,.acc-dashboard h3,.acc-dashboard p { margin:0; }
.acc-dashboard .dash-page-header { display:flex; justify-content:flex-start; align-items:center; gap:24px; }
.acc-dashboard .dash-page-header h1 { font-size:24px; font-weight:650; line-height:1.5; }
.acc-dashboard .dash-page-header p { font-size:12px; color:var(--acc-text-muted); margin-top:2px; }
.acc-dashboard button { font-family:inherit; cursor:pointer; }
.acc-dashboard .dash-button,.acc-dashboard .dash-link { min-height:44px; padding:8px 12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--acc-border-strong); border-radius:7px; background:transparent; color:var(--acc-text); font-size:13px; font-weight:500; white-space:nowrap; transition:background-color var(--duration-quick) var(--ease-out),border-color var(--duration-quick) var(--ease-out),opacity var(--duration-quick) var(--ease-out); }
.acc-dashboard .dash-link { border-color:transparent; color:var(--acc-text-muted); padding-inline:8px; }
.acc-dashboard .dash-button:hover,.acc-dashboard .dash-link:hover { background:var(--acc-surface-2); color:var(--acc-text); }
.acc-dashboard .dash-button:active,.acc-dashboard .dash-link:active { background:var(--acc-accent-surface-strong); }
.acc-dashboard .dash-primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); padding-inline:18px; font-weight:600; }
.acc-dashboard .dash-primary:hover { background:var(--accent); opacity:.86; color:var(--accent-ink); }
.acc-dashboard button:focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:3px; }
.acc-dashboard button[aria-busy="true"] { opacity:.7; cursor:wait; }
.acc-dashboard .dash-summary { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); padding:16px 0; }
.acc-dashboard .dash-summary-cell { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; padding:0 16px; border:0; border-inline-start:1px solid var(--acc-border); background:transparent; color:var(--acc-text); text-align:start; min-height:54px; }
.acc-dashboard .dash-summary-cell:first-child { border-inline-start:0; }
.acc-dashboard .dash-summary-cell > span { color:var(--acc-text-muted); font-size:12px; font-weight:450; }
.acc-dashboard .dash-summary-cell strong { font-size:20px; line-height:1.4; font-weight:600; }
.acc-dashboard .dash-summary-cell strong small { font-size:12px; font-weight:400; }
.acc-dashboard .dash-summary-cell:hover { background:var(--acc-accent-surface); }
.acc-dashboard .dash-attention { display:grid; grid-template-columns:150px minmax(0,1fr); padding:8px 16px; border-block:1px solid var(--acc-border); border-inline-start:2px solid var(--accent); background:transparent; }
.acc-dashboard .dash-attention h2 { grid-column:1; grid-row:1/5; padding-block:10px; font-size:16px; font-weight:600; }
.acc-dashboard .dash-attention-row { grid-column:2; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-size:13px; }
.acc-dashboard .dash-attention-row + .dash-attention-row { border-top:1px solid var(--acc-border); }
.acc-dashboard .dash-workspace { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); gap:0 20px; align-items:start; }
.acc-dashboard .dash-section > header { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; margin-bottom:8px; }
.acc-dashboard .dash-section h2 { font-size:17px; font-weight:600; }
.acc-dashboard .dash-orders { grid-column:1; grid-row:1; }
.acc-dashboard .dash-support { grid-column:2; grid-row:1/3; padding-inline-start:20px; border-inline-start:1px solid var(--acc-border); }
.acc-dashboard .dash-wallet { grid-column:1; grid-row:2; margin-top:20px; padding-top:12px; border-top:1px solid var(--acc-border); }
.acc-dashboard .dash-order-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:8px 12px; align-items:center; padding:14px; border:1px solid color-mix(in srgb,var(--acc-border) 75%,transparent); border-radius:6px; background:transparent; }
.acc-dashboard .dash-order-image,.acc-dashboard .dash-skeleton-image { grid-column:1; grid-row:1/3; display:block; width:48px; height:48px; aspect-ratio:1; overflow:hidden; border-radius:6px; }
.acc-dashboard .dash-order-image img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; }
.acc-dashboard .dash-order-image [hidden] { display:none; }
.acc-dashboard .dash-order-copy { min-width:0; grid-column:2; grid-row:1/3; }
.acc-dashboard h3 { font-size:14px; font-weight:600; line-height:1.8; overflow-wrap:anywhere; }
.acc-dashboard .dash-order-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:4px; }
.acc-dashboard time,.acc-dashboard .dash-order-reference { color:var(--acc-text-muted); font-size:11px; font-weight:400; }
.acc-dashboard .dash-order-reference { display:block; margin-top:4px; overflow-wrap:anywhere; }
.acc-dashboard .dash-order-value { grid-column:3; grid-row:1; font-size:13px; font-weight:600; white-space:nowrap; text-align:end; }
.acc-dashboard .dash-order-row > button,.acc-dashboard .dash-order-row > .dash-skeleton-button { grid-column:3; grid-row:2; }
.acc-dashboard .dash-status { display:inline-flex; align-items:center; min-height:24px; font-size:11px; font-weight:500; color:var(--acc-text); }
.acc-dashboard .dash-status[data-status="paid"],.acc-dashboard .dash-status[data-status="delivered"],.acc-dashboard .dash-status[data-status="answered"] { color:#8dcba2; }
.acc-dashboard .dash-status[data-status="waiting_user"],.acc-dashboard .dash-status[data-status="pending_payment"],.acc-dashboard .dash-status[data-status="needs_information"] { color:#efc675; }
.acc-dashboard .dash-support-counts { display:grid; gap:4px; font-size:12px; color:var(--acc-text-muted); padding-bottom:12px; }
.acc-dashboard .dash-support-counts span { display:flex; align-items:center; gap:8px; }
.acc-dashboard .dash-support-counts b { color:var(--acc-text); min-width:16px; font-size:14px; font-weight:600; }
.acc-dashboard .dash-ticket { padding-block:12px 4px; border-top:1px solid var(--acc-border); }
.acc-dashboard .dash-ticket-meta { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:6px; }
.acc-dashboard .dash-ticket > button { margin-top:4px; padding-inline:0; }
.acc-dashboard .dash-section footer { display:flex; gap:16px; flex-wrap:wrap; border-top:1px solid var(--acc-border); margin-top:8px; }
.acc-dashboard .dash-section footer button { padding-inline:0; }
.acc-dashboard .dash-transaction { display:flex; justify-content:space-between; gap:16px; align-items:center; min-height:60px; }
.acc-dashboard .dash-transaction > div { display:grid; gap:4px; }
.acc-dashboard .dash-transaction b { font-size:13px; font-weight:500; }
.acc-dashboard .dash-transaction strong { font-size:14px; font-weight:600; }
.acc-dashboard .dash-empty,.acc-dashboard .dash-resource-error { min-height:84px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:13px; color:var(--acc-text-muted); }
.acc-dashboard .dash-skeleton-line,.acc-dashboard .dash-skeleton-button,.acc-dashboard .dash-skeleton-image { display:block; border-radius:4px; background:var(--acc-border-strong); }
.acc-dashboard .dash-skeleton-line { width:65%; height:12px; margin-block:6px; }
.acc-dashboard .dash-skeleton-line:nth-child(even) { width:45%; }
.acc-dashboard .dash-skeleton-button { width:112px; height:44px; }
.acc-dashboard .dash-summary-cell .dash-skeleton-line:first-child { width:90px; }
.acc-dashboard .dash-summary-cell .dash-skeleton-line:last-child { height:20px; width:65%; }
.acc-dashboard .dash-attention-loading { grid-column:1/-1; min-height:130px; display:grid; align-content:center; gap:12px; }
.acc-dashboard .dash-loading { min-height:0; padding:0; border:0; background:none; }
.acc-dashboard .dash-loading .dash-order-row { min-height:122px; }
.acc-dashboard .dash-loading .dash-ticket { min-height:118px; }
.acc-app[data-theme="light"] .acc-dashboard .dash-primary { background:var(--acc-text); color:#fff; border-color:var(--acc-text); }
.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="paid"],.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="delivered"],.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="answered"] { color:#226b42; }
.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="waiting_user"],.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="pending_payment"],.acc-app[data-theme="light"] .acc-dashboard .dash-status[data-status="needs_information"] { color:#7f5410; }
@media (max-width:1100px) and (min-width:781px) {
  .acc-dashboard .dash-workspace { grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr); gap:0 20px; }
  .acc-dashboard .dash-support { padding-inline-start:20px; }
  .acc-dashboard .dash-order-row { grid-template-columns:48px minmax(0,1fr); }
  .acc-dashboard .dash-order-copy { grid-row:1; }
  .acc-dashboard .dash-order-image { grid-row:1; }
  .acc-dashboard .dash-order-value { grid-column:2; grid-row:2; text-align:start; }
  .acc-dashboard .dash-order-row > button { grid-column:2; grid-row:3; }
}
@media (max-width:780px) {
  .acc-app .acc-header-inner { min-height:56px; padding-inline:12px; }
  .acc-app .acc-mobile-bottom-nav { height:calc(60px + var(--account-mobile-safe-bottom)); padding:3px 8px calc(3px + var(--account-mobile-safe-bottom)); }
  .acc-app .acc-mobile-destination { min-height:44px; }
  .acc-app .acc-mobile-destination svg { width:18px; height:18px; }
  .acc-app #accMain:has(.acc-dashboard) { padding:20px 16px calc(80px + var(--account-mobile-safe-bottom)); }
  .acc-app .acc-dashboard { --dash-gap:16px; font-size:13px; }
  .acc-dashboard .dash-page-header { gap:12px; }
  .acc-dashboard .dash-page-header h1 { font-size:21px; }
  .acc-dashboard .dash-page-header p { font-size:11px; }
  .acc-dashboard .dash-primary { padding-inline:14px; }
  .acc-dashboard .dash-summary { grid-template-columns:1fr 1fr; padding:12px 0; gap:12px 0; }
  .acc-dashboard .dash-summary-cell { min-height:48px; gap:4px; padding-inline:12px; }
  .acc-dashboard .dash-summary-cell:nth-child(3) { border-inline-start:0; }
  .acc-dashboard .dash-summary-cell strong { font-size:18px; }
  .acc-dashboard .dash-summary-cell > span { font-size:11px; }
  .acc-dashboard .dash-attention { display:block; padding:8px 12px; }
  .acc-dashboard .dash-attention h2 { font-size:16px; padding:0 0 4px; }
  .acc-dashboard .dash-attention-row { gap:8px; font-size:12px; }
  .acc-dashboard .dash-attention-row button { font-size:12px; padding-inline:0; }
  .acc-dashboard .dash-attention-loading { min-height:154px; }
  .acc-dashboard .dash-workspace { grid-template-columns:1fr; gap:20px; }
  .acc-dashboard .dash-section { grid-column:1; grid-row:auto; padding:0; margin:0; border:0; }
  .acc-dashboard .dash-section h2 { font-size:16px; }
  .acc-dashboard .dash-orders { order:0; }
  .acc-dashboard .dash-support { order:1; padding-top:8px; border-top:1px solid var(--acc-border); }
  .acc-dashboard .dash-wallet { order:2; padding-top:8px; border-top:1px solid var(--acc-border); }
  .acc-dashboard .dash-order-row { grid-template-columns:48px minmax(0,1fr); gap:8px 12px; padding:12px; }
  .acc-dashboard .dash-order-image { grid-row:1; }
  .acc-dashboard .dash-order-copy { grid-column:2; grid-row:1; }
  .acc-dashboard .dash-order-meta { gap:8px; margin-top:2px; }
  .acc-dashboard .dash-order-reference { display:none; }
  .acc-dashboard .dash-order-value { grid-column:1/-1; grid-row:2; text-align:start; padding-block:4px; }
  .acc-dashboard .dash-order-row > button,.acc-dashboard .dash-order-row > .dash-skeleton-button { grid-column:2; grid-row:2; justify-self:end; }
  .acc-dashboard .dash-order-row > button { font-size:12px; padding-inline:10px; }
  .acc-dashboard .dash-support-counts { display:flex; flex-wrap:wrap; gap:4px 16px; }
  .acc-dashboard .dash-support-counts span { font-size:12px; }
  .acc-dashboard .dash-ticket { padding-top:10px; }
  .acc-dashboard .dash-loading .dash-order-row { min-height:138px; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-dashboard button { transition:none !important; }
  .acc-dashboard .t-text-swap { transform:none !important; filter:none !important; }
}
.acc-dashboard .dash-primary { color:#25262a; }
.acc-dashboard .dash-primary:hover { color:#25262a; }
@media (min-width:781px) {
  .acc-dashboard .dash-attention { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; padding:12px 16px 4px; }
  .acc-dashboard .dash-attention h2 { grid-column:1/-1; grid-row:1; padding:0 0 4px; }
  .acc-dashboard .dash-attention-row { grid-column:auto; display:block; padding:4px 0; }
  .acc-dashboard .dash-attention-row + .dash-attention-row { border-top:0; border-inline-start:1px solid var(--acc-border); padding-inline-start:16px; }
  .acc-dashboard .dash-attention-row > span { display:block; }
  .acc-dashboard .dash-attention-row > button { padding-inline:0; }
  .acc-dashboard .dash-attention-loading { min-height:96px; }
}
.acc-app #accHeader,.acc-app #accSidebar { --badge-pop-ease:var(--ease-smooth-out); }
.acc-app .acc-dashboard button:active { transform:none; scale:none; }
.acc-dashboard .t-shimmer::before { display:none; }
.acc-dashboard .dash-summary-cell .dash-skeleton-line { margin:0; }
.acc-dashboard .dash-skeleton-line { max-width:180px; }
.acc-dashboard .dash-loading .dash-order-row { min-height:106px; }
.acc-dashboard .dash-support-counts > .dash-skeleton-line { width:130px; margin:3px 0; }
.acc-dashboard .dash-transaction > div { width:140px; }
.acc-dashboard .dash-transaction > .dash-skeleton-line { width:115px; }
.acc-dashboard .dash-attention-loading { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 16px; min-height:0; }
.acc-dashboard .dash-attention-loading > .dash-skeleton-line { grid-column:1/-1; width:110px; height:20px; margin:0; }
.acc-dashboard .dash-attention-loading .dash-skeleton-line { width:180px; height:14px; margin-block:4px; }
.acc-dashboard .dash-attention-loading .dash-skeleton-button { height:44px; width:85px; background:transparent; position:relative; }
.acc-dashboard .dash-attention-loading .dash-skeleton-button::after { content:""; position:absolute; top:14px; right:0; width:80px; height:12px; background:var(--acc-border-strong); border-radius:4px; }
@media (max-width:780px) {
  .acc-dashboard .dash-attention-loading { display:block; }
  .acc-dashboard .dash-attention-loading > .dash-skeleton-line { margin-bottom:4px; }
  .acc-dashboard .dash-attention-loading .dash-attention-row { display:flex; }
  .acc-dashboard .dash-attention-loading .dash-skeleton-line { max-width:160px; }
  .acc-dashboard .dash-loading .dash-order-row { min-height:130px; }
}

/* Products only: compact browsing at the frozen Dashboard's scale. */
.acc-app #accMain:has(.cx-store) { padding:24px 24px 48px; }
.acc-app .cx-store { width:100%; max-width:1040px; margin-inline:auto; gap:20px; font-size:14px; }
.acc-app .cx-store .ui-page-header { min-height:36px; padding:0; margin:0; border:0; }
.acc-app .cx-store .ui-page-header h1 { font-size:24px; font-weight:650; line-height:1.5; }
.acc-app .cx-store .ui-page-toolbar,.acc-app .cx-store .ui-page-content { min-width:0; }
.acc-app .cx-store .cx-store-toolbar { display:grid; grid-template-columns:minmax(260px,320px) minmax(0,1fr); align-items:start; gap:16px; padding:0 0 12px; }
.acc-app .cx-store .ui-search { width:100%; min-width:0; min-height:44px; max-width:none; margin:0; gap:0; position:relative; }
.acc-app .cx-store .ui-search-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.acc-app .cx-store .ui-search-control { min-height:44px; padding:0 12px; border-radius:6px; box-shadow:none; }
.acc-app .cx-store .ui-search-control input { min-height:42px; height:42px; padding:0; font-size:13px; }
.acc-app .cx-store .ui-search-control > small { font-size:11px; white-space:nowrap; }
.acc-app .cx-store .ui-filter-bar { margin:0; padding:0; border:0; min-width:0; display:grid; gap:4px; }
.acc-app .cx-store .products-category-scroll { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; align-items:start; }
.acc-app .cx-store .products-category-scroll.has-overflow { grid-template-columns:44px minmax(0,1fr) 44px; }
.acc-app .cx-store [data-store-scroll] { display:none; width:44px; height:44px; align-items:center; justify-content:center; padding:0; border:0; border-radius:6px; color:var(--acc-text-muted); background:transparent; cursor:pointer; }
.acc-app .cx-store .has-overflow > [data-store-scroll] { display:inline-flex; }
.acc-app .cx-store [data-store-scroll]:disabled { opacity:.3; cursor:default; }
.acc-app .cx-store [data-store-scroll]:hover:not(:disabled) { color:var(--acc-text); background:var(--acc-surface-2); }
.acc-app .cx-store .cx-category-rail,.acc-app .cx-store .cx-subcategory-rail { width:100%; min-width:0; margin:0; padding:0 0 4px; gap:4px; border:0; border-radius:0; background:transparent; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:var(--acc-border-strong) transparent; scroll-padding-inline:4px; }
.acc-app .cx-store .ui-segmented-item { flex-shrink:0; min-height:44px; padding:8px 12px; border:0; border-radius:6px; font-size:12px; font-weight:450; }
.acc-app .cx-store .ui-segmented-item.active { font-weight:600; background:var(--acc-accent-surface); }
.acc-app .cx-store .cx-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.acc-app .cx-store .clarity-product { display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-rows:auto auto; gap:8px 16px; align-items:start; padding:16px 0; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; box-shadow:none; }
.acc-app .cx-store .clarity-product-media { grid-column:1; grid-row:1; width:72px; height:72px; aspect-ratio:1 / 1; align-self:start; border-radius:6px; }
.acc-app .cx-store .clarity-product-media img { width:100%; height:100%; aspect-ratio:1 / 1; object-fit:contain; }
.acc-app .cx-store .clarity-product-copy { grid-column:2; grid-row:1; min-width:0; gap:4px; padding:0; }
.acc-app .cx-store .clarity-product-title { font-size:14px; font-weight:600; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
.acc-app .cx-store .products-facts { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; line-height:1.8; }
.acc-app .cx-store .products-facts > small { border-inline-start:1px solid var(--acc-border-strong); padding-inline-start:8px; }
.acc-app .cx-store .clarity-availability[data-available="false"] { color:var(--acc-text); }
.acc-app .cx-store .clarity-product-buy { grid-column:1/-1; grid-row:2; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; }
.acc-app .cx-store .clarity-product-buy > span { font-size:11px; white-space:nowrap; }
.acc-app .cx-store .clarity-product-buy b { font-size:14px; font-weight:600; }
.acc-app .cx-store .clarity-product-buy .ui-button { min-height:44px; width:auto; padding:8px 12px; border:1px solid var(--acc-border-strong); border-radius:6px; background:transparent; color:var(--acc-text); font-size:12px; font-weight:500; box-shadow:none; }
.acc-app .cx-store button,.acc-app .cx-store .clarity-product-title { transition:background-color var(--duration-quick) var(--ease-out),color var(--duration-quick) var(--ease-out),border-color var(--duration-quick) var(--ease-out); }
.acc-app .cx-store .clarity-product-buy button:hover:not(:disabled) { background:var(--acc-surface-2); border-color:var(--acc-v1-focus); }
.acc-app .cx-store button:active:not(:disabled) { transform:none; scale:none; background:var(--acc-accent-surface-strong); }
.acc-app .cx-store .clarity-product-title:hover { color:var(--acc-text); text-decoration:underline; text-underline-offset:3px; }
.acc-app .cx-store button:focus-visible,.acc-app .cx-store a:focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:2px; }
.acc-app .cx-store .acc-product-fallback { min-width:0; min-height:0; padding:4px; gap:2px; }
.acc-app .cx-store .acc-product-fallback b { font-size:20px; }
.acc-app .cx-store .acc-product-fallback small { display:none; }
.acc-app .cx-store .products-loading { padding:0; margin:0; min-height:0; border:0; background:none; }
.acc-app .cx-store .products-placeholder .clarity-product-media,.acc-app .cx-store .products-skeleton-line,.acc-app .cx-store .products-skeleton-price,.acc-app .cx-store .products-skeleton-action { display:block; background:var(--acc-border-strong); border-radius:4px; }
.acc-app .cx-store .products-placeholder .clarity-product-copy { width:100%; padding-top:4px; gap:12px; }
.acc-app .cx-store .products-skeleton-line { width:65%; height:14px; }
.acc-app .cx-store .products-skeleton-line + .products-skeleton-line { width:45%; height:11px; }
.acc-app .cx-store .products-skeleton-price { width:112px; height:16px; }
.acc-app .cx-store .products-skeleton-action { width:102px; height:44px; }
@media (min-width:1101px) {
  .acc-app .cx-store .clarity-product-buy { grid-column:2; justify-content:flex-start; gap:20px; }
}
@media (max-width:1100px) {
  .acc-app .cx-store .cx-store-toolbar { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:780px) {
  .acc-app #accMain:has(.cx-store) { padding:20px 16px calc(80px + var(--account-mobile-safe-bottom)); }
  .acc-app .cx-store { gap:16px; font-size:13px; }
  .acc-app .cx-store .ui-page-header { min-height:32px; }
  .acc-app .cx-store .ui-page-header h1 { font-size:21px; }
  .acc-app .cx-store .cx-store-toolbar { padding-bottom:8px; }
  .acc-app .cx-store .cx-catalog { grid-template-columns:1fr; gap:0; }
  .acc-app .cx-store .clarity-product { grid-template-columns:64px minmax(0,1fr); gap:8px 12px; padding:12px 0; }
  .acc-app .cx-store .clarity-product-media { width:64px; height:64px; }
  .acc-app .cx-store .clarity-product-buy b { font-size:13px; }
  .acc-app .cx-store .cx-category-rail,.acc-app .cx-store .cx-subcategory-rail { padding-inline:8px; scroll-padding-inline:8px; scrollbar-width:none; }
  .acc-app .cx-store .ui-segmented::-webkit-scrollbar { display:none; }
  .acc-app .cx-store .products-category-scroll.has-overflow .ui-segmented { --rail-fade-left:0px; --rail-fade-right:0px; mask-image:linear-gradient(to right,transparent,#000 var(--rail-fade-left),#000 calc(100% - var(--rail-fade-right)),transparent); }
  .acc-app .cx-store .products-category-scroll.can-scroll-next .ui-segmented { --rail-fade-left:20px; }
  .acc-app .cx-store .products-category-scroll.can-scroll-previous .ui-segmented { --rail-fade-right:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .cx-store button,.acc-app .cx-store .clarity-product-title,.acc-app .cx-store .t-text-swap { transition:none !important; }
  .acc-app .cx-store .t-text-swap { transform:none !important; filter:none !important; }
}

/* Products: transitions.dev checkbox stroke-draw adapted to a reversible perimeter.
   Separate surface/draw clocks and a faster return; geometry never animates. */
.acc-app .cx-store .clarity-product:not(.products-placeholder) {
  --product-hover-surface:rgba(255,255,255,.025);
  --product-draw-in:220ms;
  --product-draw-delay:40ms;
  --product-draw-out:180ms;
  --product-scale-in:240ms;
  --product-surface-duration:180ms;
  position:relative;
  isolation:isolate;
  border-bottom-color:transparent;
  transition:transform var(--product-draw-out) var(--ease-smooth-out);
}

/* The installed 22-toast recipe owns entrance on a wrapper; Product hover owns the surface. */
.acc-app .cx-store .product-item-slot,
.acc-app .cx-store .product-item-motion { display:grid; min-width:0; }
.acc-app .cx-store .product-item-motion {
  --toast-open:220ms;
  --toast-distance:8px;
  --toast-scale:.97;
  --toast-blur:1px;
  --toast-ease:cubic-bezier(0.22,1,0.36,1);
  --product-item-stagger:30ms;
  --product-item-delay-cap:210ms;
  transform-origin:center;
  transition-delay:var(--product-item-delay,0ms);
}
@media (max-width:780px) {
  .acc-app .cx-store .product-item-motion { --toast-open:180ms; --toast-distance:6px; --toast-scale:.98; --toast-blur:0px; --product-item-stagger:20ms; --product-item-delay-cap:140ms; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .cx-store .product-item-motion { transition:none !important; opacity:1 !important; transform:none !important; filter:none !important; }
}

/* transitions.dev page-side-by-side, scoped to the collection rather than the shell. */
.acc-app .cx-store .products-collection-stage {
  --page-slide-dur:250ms;
  --page-fade-dur:250ms;
  --page-slide-distance:4px;
  --page-blur:1px;
  --products-exit-duration:100ms;
  --page-stagger:0ms;
  position:relative;
  min-width:0;
}
.acc-app .cx-store .products-collection-stage > .t-page[data-page-id="2"] { position:relative; inset:auto; }
.acc-app .cx-store .products-collection-stage > .t-page[data-page-id="1"] {
  --page-slide-distance:0px;
  --page-slide-dur:var(--products-exit-duration);
  --page-fade-dur:var(--products-exit-duration);
  position:absolute;
  inset:0;
  width:100%;
  pointer-events:none;
}
@media (max-width:780px) {
  .acc-app .cx-store .products-collection-stage { --page-slide-dur:200ms; --page-fade-dur:200ms; --page-slide-distance:2px; --page-blur:0px; --products-exit-duration:80ms; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .cx-store .products-collection-stage > .t-page { transition:none !important; transform:none !important; filter:none !important; }
}
.acc-app[data-theme="light"] .cx-store .clarity-product:not(.products-placeholder) {
  --product-hover-surface:rgba(0,0,0,.015);
}
.acc-app .cx-store .clarity-product:not(.products-placeholder)::before {
  content:"";
  position:absolute;
  inset:4px -8px;
  z-index:-1;
  pointer-events:none;
  border-radius:6px;
  background-color:transparent;
  transition:background-color var(--product-surface-duration) var(--ease-smooth-out);
}
.acc-app .cx-store .product-boundary {
  position:absolute;
  top:4px;
  left:-8px;
  width:calc(100% + 16px);
  height:calc(100% - 8px);
  z-index:-1;
  overflow:visible;
  pointer-events:none;
  fill:none;
  stroke:#fedb99;
}
.acc-app .cx-store .product-boundary path {
  stroke-width:2px;
  stroke-linecap:butt;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:var(--product-rail-offset,1);
  transition:stroke-dashoffset var(--product-draw-out) var(--ease-smooth-out),stroke-width var(--product-surface-duration) var(--ease-smooth-out);
}
@media (min-width:781px) and (hover:hover) and (pointer:fine) {
  .acc-app .cx-store .clarity-product:not(.products-placeholder):hover { transform:scale(1.015); transition-duration:var(--product-scale-in); }
  .acc-app .cx-store .clarity-product:not(.products-placeholder):hover::before { background-color:var(--product-hover-surface); }
  .acc-app .cx-store .clarity-product:hover .product-boundary path {
    stroke-dashoffset:0;
    stroke-width:1.5px;
    transition:stroke-dashoffset var(--product-draw-in) var(--ease-smooth-out) var(--product-draw-delay),stroke-width var(--product-surface-duration) var(--ease-smooth-out);
  }
}
.acc-app .cx-store .clarity-product:has(:focus-visible)::before { background-color:var(--product-hover-surface); transition:none; }
.acc-app .cx-store .clarity-product:has(:focus-visible) .product-boundary path { stroke-dashoffset:0; stroke-width:1.5px; transition:none; }
.acc-app .cx-store .clarity-product :is(a,button):focus-visible {
  outline:2px solid #fedb99;
  outline-offset:2px;
  box-shadow:0 0 0 4px #353535;
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .cx-store .clarity-product:not(.products-placeholder) { transform:none !important; transition:none !important; }
  .acc-app .cx-store .clarity-product:not(.products-placeholder)::before,.acc-app .cx-store .product-boundary path { transition:none !important; }
}
.acc-app .pc-overlay { padding:24px; }
.acc-app .pc-dialog {
  width:min(680px,100%); max-height:calc(100dvh - 48px); min-height:0;
  display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden;
  border:1px solid var(--acc-border-strong); border-radius:14px; background:var(--bg,#202124);
  box-shadow:0 24px 80px rgba(0,0,0,.22);
}
.acc-app .pc-dialog .pc-close { top:12px; left:12px; width:44px; height:44px; border-radius:10px; box-shadow:none; z-index:4; }
.acc-app .pc-dialog:focus { outline:none; }
.acc-app .pc-header { display:flex; align-items:center; gap:14px; padding:24px 24px 20px; padding-inline-end:72px; flex:none; }
.acc-app .pc-artwork { width:64px; height:64px; flex:none; display:grid; place-items:center; overflow:hidden; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface-2); }
.acc-app .pc-artwork > img { width:100%; height:100%; object-fit:contain; }
.acc-app .pc-artwork .acc-purchase-media-fallback { min-height:0; padding:0; }
.acc-app .pc-artwork .acc-product-fallback { min-height:0; height:64px; padding:0; }
.acc-app .pc-artwork .acc-product-fallback b { min-width:0; min-height:0; padding:0; font-size:18px; border:0; box-shadow:none; }
.acc-app .pc-artwork small,.acc-app .pc-artwork .acc-purchase-media-fallback > span { display:none; }
.acc-app .pc-heading { min-width:0; }
.acc-app .pc-heading h2 { margin:0; font-size:18px; font-weight:750; line-height:1.7; text-align:start; overflow-wrap:anywhere; color:var(--acc-text); }
.acc-app .pc-description { margin:6px 0 0; font-size:12px; line-height:1.8; color:var(--acc-text-muted); }
.acc-app .pc-description summary { cursor:pointer; width:fit-content; padding:4px 0; }
.acc-app .pc-description p { margin:8px 0 0; line-height:1.85; }
.acc-app .pc-form { display:flex; flex-direction:column; gap:0; min-height:0; overflow:auto; overscroll-behavior:contain; }
.acc-app .pc-options { display:grid; gap:22px; padding:4px 24px 20px; }
.acc-app .pc-plans { margin:0; padding:0; border:0; min-width:0; }
.acc-app .pc-plans legend { margin-bottom:12px; padding:0; font-size:13px; font-weight:750; color:var(--acc-text); }
.acc-app .pc-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
.acc-app .pc-plan-grid:not([data-plan-count="3"]) .pc-plan:last-child:nth-child(odd) { grid-column:1 / -1; }
.acc-app .pc-plan-grid[data-plan-count="1"] { grid-template-columns:minmax(0,320px); }
.acc-app .pc-plan-grid[data-plan-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.acc-app .pc-plan-grid[data-plan-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.acc-app .pc-plan { position:relative; display:grid; align-content:center; gap:16px; min-width:0; min-height:106px; padding:14px; border:1px solid var(--acc-border-strong); border-radius:10px; background:transparent; cursor:pointer; transition:border-color var(--duration-quick) var(--ease-smooth-out),background-color var(--duration-quick) var(--ease-smooth-out); }
.acc-app .pc-plan input { appearance:none; position:absolute; inset-inline-end:14px; top:17px; width:16px; height:16px; margin:0; border:1.5px solid var(--acc-text-muted); border-radius:50%; background:transparent; }
.acc-app .pc-plan input:checked { border:5px solid var(--accent-ink); background:var(--acc-surface); }
.acc-app .pc-plan:has(input:checked) { border-color:var(--accent-ink); background:var(--acc-accent-surface); }
.acc-app .pc-plan-copy { display:grid; gap:4px; min-width:0; padding-inline-end:24px; }
.acc-app .pc-plan-copy b { font-size:14px; font-weight:750; line-height:1.7; color:var(--acc-text); overflow-wrap:anywhere; }
.acc-app .pc-plan-copy small,.acc-app .pc-plan-unavailable { font-size:11px; color:var(--acc-text-muted); line-height:1.7; }
.acc-app .pc-plan-price { color:var(--acc-text); font-size:13px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.acc-app .pc-plan.is-unavailable { opacity:.55; cursor:not-allowed; }
.acc-app .pc-plan:has(input:focus-visible) { outline:2px solid var(--accent-ink); outline-offset:3px; }
.acc-app .pc-dialog :is(button,summary,input,select,textarea):focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.acc-app .pc-dialog :is(.pc-plan,.pc-switch) input:focus-visible { outline:none; }
.acc-app .pc-switch input:focus-visible + .pc-switch-track { outline:2px solid var(--accent-ink); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) { .acc-app .pc-plan:not(.is-unavailable):hover { border-color:var(--accent-ink); } }
.acc-app .pc-delivery { display:grid; gap:5px; border-top:1px solid var(--acc-border); padding-top:12px; }
.acc-app .pc-delivery-estimate { width:min(100%,480px); margin:0 auto; color:var(--acc-text-muted); font-size:12px; line-height:1.8; }
.acc-app .pc-delivery-option { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:12px; width:min(100%,480px); margin-inline:auto; min-height:56px; padding:0; cursor:pointer; }
.acc-app .pc-delivery-option.is-disabled { cursor:default; }
.acc-app .pc-switch input:disabled { cursor:not-allowed; }
.acc-app .pc-delivery-option.is-disabled .pc-delivery-copy b { color:var(--acc-text-muted); }
.acc-app .pc-switch input:disabled + .pc-switch-track { background:#303238; border-color:#555963; }
.acc-app .pc-switch input:disabled + .pc-switch-track .pc-switch-thumb { background:#8c9099; }
.acc-app .pc-delivery-option[hidden] { display:none; }
.acc-app .pc-delivery-copy { display:grid; gap:4px; }
.acc-app .pc-delivery-copy b { font-size:13px; color:var(--acc-text); }
.acc-app .pc-delivery-copy small { font-size:11px; line-height:1.8; color:var(--acc-text-muted); }
.acc-app .pc-switch { position:relative; width:44px; height:44px; direction:ltr; display:grid; place-items:center; }
.acc-app .pc-switch input { position:absolute; inset:0; width:44px; height:44px; margin:0; opacity:0; cursor:pointer; z-index:1; }
.acc-app .pc-switch-track { width:38px; height:24px; padding:2px; display:block; box-sizing:border-box; border:1px solid #858994; border-radius:20px; background:#575b63; }
.acc-app .pc-switch-thumb { display:block; width:18px; height:18px; border-radius:50%; background:#f2f1ed; transition:transform var(--duration-quick) var(--ease-smooth-out); }
.acc-app .pc-switch input:checked + .pc-switch-track { background:#FEDB99; border-color:#FEDB99; }
.acc-app .pc-switch input:checked + .pc-switch-track .pc-switch-thumb { transform:translateX(14px); background:#282a30; }
.acc-app .pc-custom-fields { display:grid; gap:14px; }
.acc-app .pc-field-label-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; position:relative; min-width:0; }
.acc-app .pc-field-label-row .ac-lbl { margin:0; min-width:0; }
.acc-app .pc-help-anchor { position:relative; display:inline-grid; place-items:center; flex:none; width:30px; height:30px; margin:-4px 0; }
.acc-app .pc-help-button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--acc-text-muted); cursor:pointer; }
.acc-app .pc-help-button svg { display:block; width:17px; height:17px; }
.acc-app .pc-help-button:hover,.acc-app .pc-help-button[aria-expanded="true"] { color:var(--acc-text); background:transparent; }
.acc-app .pc-help-button:focus-visible,.acc-app .pc-guide-link:focus-visible { outline:2px solid var(--accent-ink); outline-offset:1px; }
.acc-app .pc-help-popover { position:absolute; z-index:7; bottom:calc(100% + 5px); inset-inline-start:0; width:max-content; max-width:min(276px,calc(100vw - 64px)); padding:8px 10px; border:1px solid var(--acc-border-strong); border-radius:7px; background:var(--acc-surface); color:var(--acc-text); font-size:11px; font-weight:450; line-height:1.8; text-align:right; white-space:pre-wrap; overflow-wrap:anywhere; box-shadow:0 2px 8px var(--acc-neutral-shadow); opacity:0; visibility:hidden; pointer-events:none; translate:var(--pc-help-shift,0px) 0; transform:scale(var(--scale-small)); transform-origin:100% 100%; transition:opacity var(--tt-out-dur) var(--ease-out),transform var(--tt-out-dur) var(--ease-out),visibility 0s var(--tt-out-dur); }
.acc-app .pc-help-popover[data-open="true"] { opacity:1; visibility:visible; pointer-events:auto; transform:scale(1); transition:opacity var(--duration-quick) var(--ease-out),transform var(--duration-quick) var(--ease-out),visibility 0s; }
.acc-app .pc-guide-link { color:var(--acc-text-muted); font-size:11px; font-weight:600; text-decoration:underline; text-decoration-color:var(--acc-border-strong); text-underline-offset:3px; overflow-wrap:anywhere; }
.acc-app .pc-guide-link:hover { color:var(--acc-text); }
.acc-app .pc-block-notice { display:grid; gap:3px; margin:0 24px 14px; padding:10px 12px; border:1px solid var(--acc-border-strong); border-inline-start:2px solid #FEDB99; border-radius:7px; background:var(--acc-accent-surface); color:var(--acc-text); text-align:right; line-height:1.7; animation:pc-status-in var(--duration-quick) var(--ease-out) both; }
.acc-app .pc-block-notice strong { font-size:12px; font-weight:750; }
.acc-app .pc-block-notice span { font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.acc-app .pc-block-notice small { font-size:10px; color:var(--acc-text-muted); overflow-wrap:anywhere; }
.acc-app .pc-block-notice[hidden] { display:none; }
@keyframes pc-status-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
.acc-app .pc-custom-fields .ac-input { width:100%; min-height:44px; }
.acc-app .pc-summary { position:sticky; bottom:0; z-index:2; display:grid; grid-template-columns:max-content minmax(188px,228px); justify-content:center; align-items:center; gap:12px; margin:0; padding:18px 24px; border-top:1px solid var(--acc-border); background:var(--bg,#202124); }
.acc-app .pc-total { display:grid; gap:4px; min-width:0; }
.acc-app .pc-total > small,.acc-app .pc-selected-plan { font-size:11px; line-height:1.7; color:var(--acc-text-muted); }
.acc-app .pc-price-line { display:flex; align-items:baseline; gap:6px; }
.acc-app .pc-price-number { display:inline-flex; inline-size:calc(var(--pc-price-width,10ch) + 1em); flex:none; justify-content:flex-end; font-size:22px; font-weight:800; line-height:1.5; color:var(--acc-text); font-variant-numeric:tabular-nums; transition:none; --digit-dur:500ms; --digit-distance:8px; --digit-stagger:70ms; --digit-blur:2px; --digit-ease:cubic-bezier(0.34,1.45,0.64,1); --digit-dir-x:0; --digit-dir-y:1; }
.acc-app .pc-currency { font-size:12px; font-weight:500; color:var(--acc-text-muted); }
.acc-app .pc-dialog .pc-submit { flex:none; min-width:188px; min-height:46px; padding:0 20px; margin:0; border-radius:10px; font-size:13px; box-shadow:none; }
.acc-app .pc-dialog .pc-submit.is-purchase-blocked,.acc-app .pc-dialog .pc-submit.is-purchase-blocked:hover { border-color:var(--acc-border-strong); background:var(--acc-surface-2); color:var(--acc-text); box-shadow:none; cursor:not-allowed; opacity:1; transform:none; }
.acc-app .pc-feedback:empty { display:none; }
.acc-app .pc-feedback:not(:empty) { padding:0 24px 16px; margin:0; }
.acc-app[data-theme="light"] .pc-dialog,.acc-app[data-theme="light"] .pc-summary { background:#fff; }
.acc-app[data-theme="light"] .pc-plan { background:#fff; border-color:#d7d7d7; }
.acc-app[data-theme="light"] .pc-plan:has(input:checked) { background:#fffbf3; border-color:var(--accent-ink); }
.acc-app[data-theme="light"] .pc-switch-track { background:#727680; border-color:#727680; }
.acc-app[data-theme="light"] .pc-switch input:checked + .pc-switch-track { background:#FEDB99; border-color:#89651f; }
.acc-app[data-theme="light"] .pc-switch input:disabled + .pc-switch-track { background:#e4e5e8; border-color:#b8bbc2; }
.acc-app[data-theme="light"] .pc-switch input:disabled + .pc-switch-track .pc-switch-thumb { background:#969aa3; }
@media (max-width:600px) {
  .acc-app .pc-overlay { padding:12px; align-items:center; }
  .acc-app .pc-dialog { width:100%; max-height:calc(100dvh - 24px); padding:0; border-radius:16px; }
  .acc-app .pc-header { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; padding:22px 16px 20px; padding-inline-end:58px; align-items:start; }
  .acc-app .pc-artwork { width:48px; height:48px; border-radius:8px; }
  .acc-app .pc-heading h2 { font-size:16px; line-height:1.65; }
  .acc-app .pc-description { font-size:11px; }
  .acc-app .pc-options { padding:0 16px 18px; gap:18px; }
  .acc-app .pc-plan-grid[data-plan-count] { grid-template-columns:1fr; gap:8px; }
  .acc-app .pc-plan { grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:66px; padding:14px; padding-inline-start:38px; gap:10px; }
  .acc-app .pc-plan-copy { padding:0; }
  .acc-app .pc-plan input { top:24px; inset-inline-start:13px; inset-inline-end:auto; }
  .acc-app .pc-summary { display:grid; grid-template-columns:1fr; gap:12px; padding:14px 16px max(14px,env(safe-area-inset-bottom)); }
  .acc-app .pc-total { grid-template-columns:1fr auto; align-items:center; column-gap:10px; }
  .acc-app .pc-total > small { grid-column:1; }
  .acc-app .pc-price-line { grid-column:2; grid-row:1 / span 2; }
  .acc-app .pc-price-number { font-size:20px; }
  .acc-app .pc-dialog .pc-submit { width:100%; min-width:0; min-height:46px; }
  .acc-app .pc-block-notice { margin-inline:16px; }
}
@media (prefers-reduced-motion:reduce) { .acc-app .pc-switch-thumb,.acc-app .pc-help-popover { transition:none; } .acc-app .pc-block-notice { animation:none; } }

/* Orders history: presentation scope only; frozen customer surfaces stay untouched. */
.acc-app .oh-orders { width:100%; max-width:1040px; margin-inline:auto; gap:24px; }
.acc-app .oh-orders .ui-page-header { justify-content:flex-start; align-items:center; gap:24px; }
.acc-app .oh-orders .ui-page-header h1 { font-size:24px; line-height:1.5; }
.acc-app .oh-orders .ui-page-header p { font-size:12px; margin-top:6px; }
.acc-app .oh-orders .ui-page-actions { margin:0; }
.acc-app .oh-orders .oh-new { min-height:44px; min-width:96px; padding:0 16px; font-size:12px; border-radius:8px; }
.acc-app .oh-toolbar { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; align-items:center; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--acc-border); }
.acc-app .oh-search { position:relative; display:flex; align-items:center; gap:10px; flex:1 1 280px; width:min(360px,100%); max-width:360px; min-width:0; height:44px; padding-inline:12px 0; border:1px solid var(--acc-border-strong); border-radius:8px; color:var(--acc-text-muted); background:transparent; }
.acc-app .oh-search > svg { flex:none; fill:none; stroke:currentColor; stroke-width:1.6; }
.acc-app .oh-search input { width:100%; min-width:0; height:42px; border:0; border-radius:8px; background:transparent; color:var(--acc-text); font:inherit; font-size:12px; padding:0 0 0 10px; outline:none; }
.acc-app .oh-search:focus-within { outline:2px solid var(--accent-ink); outline-offset:3px; }
.acc-app .oh-search input:focus-visible { outline:none; }
.acc-app .oh-search input::-webkit-search-cancel-button { display:none; }
.acc-app .oh-clear { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; border-radius:8px; background:transparent; color:var(--acc-text-muted); cursor:pointer; }
.acc-app .oh-clear[hidden] { display:none; }
.acc-app .oh-clear svg { fill:none; stroke:currentColor; stroke-width:1.8; }
.acc-app .oh-clear .t-tt { left:0; transform:translate(0,0) scale(var(--tt-scale)); }
.acc-app .oh-clear:is(:hover,:focus-visible) .t-tt { transform:translate(0,0) scale(1); }
.acc-app .oh-filter-scroll { min-width:0; max-width:100%; overflow-x:auto; scrollbar-width:none; padding:4px; margin:-4px; }
.acc-app .oh-filter-scroll::-webkit-scrollbar { display:none; }
.acc-app .oh-filters { display:flex; width:max-content; gap:4px; padding:0; border:0; background:transparent; border-radius:8px; }
.acc-app .oh-filters .ui-segmented-item { flex:none; min-height:44px; padding:0 12px; gap:6px; font-size:12px; font-weight:600; border-radius:8px; white-space:nowrap; background:transparent; }
.acc-app .oh-filters .ui-segmented-item b { font-size:10px; font-weight:400; color:var(--acc-text-muted); font-variant-numeric:tabular-nums; }
.acc-app .oh-filters .ui-segmented-item.active { color:var(--acc-text); font-weight:600; }
.acc-app .oh-filters .t-tabs-pill { background:#303135; border:1px solid var(--acc-border-strong); border-radius:8px; box-sizing:border-box; --tabs-dur:250ms; --tabs-ease:cubic-bezier(.22,1,.36,1); }
.acc-app[data-theme="light"] .oh-filters .t-tabs-pill { background:#e8e9e7; }
.acc-app .oh-orders .oh-filters button:focus-visible { outline-offset:-3px; }
.acc-app .oh-result-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:-8px; color:var(--acc-text-muted); font-size:12px; }
.acc-app .oh-result-meta small { font-size:11px; }
.acc-app .oh-orders #ordersResults { margin-top:-12px; min-width:0; --panel-open-dur:250ms; --panel-close-dur:150ms; --panel-translate-y:8px; --panel-blur:2px; --panel-ease:cubic-bezier(.22,1,.36,1); --stagger-dur:250ms; --stagger-distance:8px; --stagger-blur:2px; --stagger-ease:cubic-bezier(.22,1,.36,1); }
.acc-app .oh-list { display:grid; min-width:0; }
.acc-app .oh-row { display:grid; grid-template-columns:minmax(0,1fr) 160px 154px 118px; align-items:center; column-gap:20px; row-gap:12px; min-height:108px; padding:18px 8px; border-bottom:1px solid var(--acc-border); border-radius:6px; background:transparent; transition:background-color var(--duration-quick) var(--ease-smooth-out); }
.acc-app .oh-row.t-stagger-line { transition:opacity var(--stagger-dur) var(--stagger-ease),transform var(--stagger-dur) var(--stagger-ease),filter var(--stagger-dur) var(--stagger-ease); }
.acc-app .oh-identity { display:flex; align-items:center; gap:14px; min-width:0; }
.acc-app .oh-artwork { width:48px; height:48px; flex:none; border-radius:8px; overflow:hidden; background:var(--acc-surface-2); }
.acc-app .oh-artwork .clarity-product-visual { width:100%; height:100%; }
.acc-app .oh-artwork img { width:100%; height:100%; display:block; object-fit:contain; }
.acc-app .oh-artwork .acc-product-fallback { width:48px; height:48px; min-height:0; padding:0; border:0; }
.acc-app .oh-artwork .acc-product-fallback b { min-width:0; min-height:0; border:0; font-size:12px; }
.acc-app .oh-artwork .acc-product-fallback small { display:none; }
.acc-app .oh-copy { min-width:0; }
.acc-app .oh-copy h2 { margin:0; color:var(--acc-text); font-size:14px; font-weight:700; line-height:1.8; overflow-wrap:anywhere; }
.acc-app .oh-meta { display:flex; align-items:center; flex-wrap:wrap; gap:3px 10px; margin-top:5px; color:var(--acc-text-muted); font-size:11px; line-height:1.8; }
.acc-app .oh-meta bdi { overflow-wrap:anywhere; }
.acc-app .oh-state { display:grid; gap:5px; }
.acc-app .oh-state small { font-size:11px; color:var(--acc-text-muted); line-height:1.8; }
.acc-app .oh-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; line-height:1.8; color:var(--acc-text-muted); }
.acc-app .oh-status i { width:5px; height:5px; border-radius:50%; background:currentColor; flex:none; }
.acc-app .oh-status.success { color:#91c6a5; }
.acc-app .oh-status.warning { color:#e0bc79; }
.acc-app .oh-status.danger { color:#e49a9e; }
.acc-app .oh-status.processing { color:#9abadd; }
.acc-app .oh-total { display:grid; gap:3px; }
.acc-app .oh-total small { font-size:11px; color:var(--acc-text-muted); }
.acc-app .oh-total strong { font-size:14px; font-weight:700; color:var(--acc-text); line-height:1.8; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.acc-app .oh-view { display:flex; align-items:center; justify-content:flex-end; gap:6px; min-height:44px; min-width:0; width:100%; padding:0 4px; border:0; border-radius:8px; background:transparent; color:var(--acc-text-muted); font:inherit; font-size:12px; font-weight:600; cursor:pointer; --learn-shift:2px; --learn-spread:8deg; --learn-in:350ms; --learn-out:350ms; --learn-ease:cubic-bezier(.22,1,.36,1); }
.acc-app .oh-chevron { display:flex; transform:scaleX(-1); }
.acc-app .oh-chevron svg { width:16px; height:16px; }
.acc-app .oh-orders :is(button,a):focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.acc-app .oh-row:focus-within { background:var(--acc-surface-2); }
.acc-app .oh-orders .acc-state { max-width:560px; margin:36px auto; padding:24px 16px; border:0; background:transparent; box-shadow:none; }
.acc-app .oh-orders .acc-state h3 { font-size:16px; }
.acc-app .oh-orders .acc-state p { font-size:13px; }
.acc-app .oh-orders .acc-state.error .acc-state-actions { display:flex; flex-direction:column; align-items:center; gap:20px; }
.acc-app .oh-error-reference { max-width:100%; }
.acc-app .oh-error-reference .ui-copy-field { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:4px 10px; margin:0; border:1px solid var(--acc-border); border-radius:8px; background:transparent; }
.acc-app .oh-error-reference .ui-copy-field > span { font-size:11px; color:var(--acc-text-muted); }
.acc-app .oh-error-reference code { font-size:11px; color:var(--acc-text-muted); overflow-wrap:anywhere; background:transparent; padding:0; }
.acc-app .oh-error-reference button { min-height:44px; padding:0 8px; border:0; background:transparent; font-size:11px; color:var(--acc-text); }
.acc-app .oh-orders .acc-loading { min-height:260px; }
.acc-app .oh-pending { display:grid; place-items:center; padding:24px; font-size:12px; }
.acc-app[data-theme="light"] .oh-status.success { color:#326b49; }
.acc-app[data-theme="light"] .oh-status.warning { color:#815714; }
.acc-app[data-theme="light"] .oh-status.danger { color:#a33841; }
.acc-app[data-theme="light"] .oh-status.processing { color:#315f93; }
@media (hover:hover) and (pointer:fine) {
  .acc-app .oh-row:hover { background:rgba(255,255,255,.025); }
  .acc-app[data-theme="light"] .oh-row:hover { background:rgba(31,32,36,.025); }
  .acc-app .oh-view:hover { color:var(--accent-ink); }
}
@media (max-width:1100px) and (min-width:701px) {
  .acc-app .oh-row { grid-template-columns:minmax(0,1fr) 148px 132px; column-gap:16px; }
  .acc-app .oh-identity { grid-row:1 / span 2; }
  .acc-app .oh-state { grid-column:2; grid-row:1 / span 2; }
  .acc-app .oh-total { grid-column:3; }
  .acc-app .oh-view { grid-column:3; justify-content:flex-start; }
}
@media (min-width:1101px) {
  .acc-app .oh-search { width:360px; }
  .acc-app .oh-row { grid-template-columns:minmax(0,1fr) 164px 156px 128px; column-gap:16px; padding-inline:12px; }
  .acc-app .oh-view { justify-content:flex-start; align-self:center; }
}
@media (max-width:700px) {
  .acc-app .oh-orders { gap:20px; }
  .acc-app .oh-orders .ui-page-header { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; align-items:center; }
  .acc-app .oh-orders .ui-page-header h1 { font-size:21px; }
  .acc-app .oh-orders .ui-page-header p { font-size:12px; }
  .acc-app .oh-orders .ui-page-actions { width:auto; }
  .acc-app .oh-orders .oh-new { width:auto; min-width:88px; padding:0 12px; }
  .acc-app .oh-toolbar { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding-bottom:12px; }
  .acc-app .oh-search { width:100%; max-width:none; }
  .acc-app .oh-filters .ui-segmented-item { padding:0 10px; }
  .acc-app .oh-row { grid-template-columns:minmax(0,1fr) auto; padding:16px 0; row-gap:10px; min-height:0; border-radius:0; }
  .acc-app .oh-identity { grid-column:1 / -1; gap:12px; }
  .acc-app .oh-state { grid-column:1 / -1; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; }
  .acc-app .oh-total { grid-column:1; }
  .acc-app .oh-total small { display:none; }
  .acc-app .oh-view { grid-column:2; width:auto; }
  .acc-app .oh-meta { gap:3px 8px; }
  .acc-app .oh-result-meta { margin-top:-6px; }
  .acc-app .oh-orders #ordersResults { margin-top:-14px; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .oh-row,.acc-app .oh-view { transition:none; }
  .acc-app .oh-orders .t-learn-chevron,.acc-app .oh-orders .t-learn-arm { transform:none !important; }
}

/* Order Detail: isolated from the accepted Orders list and customer shell. */
.acc-app .od-detail { max-width:1040px; margin-inline:auto; width:100%; gap:24px; --od-line:var(--acc-border); --panel-open-dur:400ms; --panel-translate-y:8px; --panel-blur:2px; --panel-ease:cubic-bezier(.22,1,.36,1); --icon-swap-dur:250ms; --icon-swap-blur:2px; --icon-swap-start-scale:.25; --icon-swap-ease:ease-in-out; --text-swap-dur:150ms; --text-swap-translate-y:4px; --text-swap-blur:2px; --text-swap-ease:ease-in-out; --acc-expand:250ms; --acc-collapse:250ms; --acc-chevron:250ms; --acc-ease:cubic-bezier(.22,1,.36,1); }
.acc-app .od-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.acc-app .od-header h1 { margin:0; font-size:24px; line-height:1.5; font-weight:700; color:var(--acc-text); }
.acc-app .od-identity { display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; color:var(--acc-text-muted); font-size:12px; }
.acc-app .od-identity bdi { color:var(--acc-text); font-weight:500; }
.acc-app .od-identity time { border-inline-start:1px solid var(--od-line); padding-inline-start:12px; }
.acc-app .od-back,.acc-app .od-copy { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:0 10px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--acc-text-muted); font:inherit; font-size:12px; cursor:pointer; flex-shrink:0; }
.acc-app .od-back svg,.acc-app .od-copy svg,.acc-app .od-progress svg,.acc-app .od-references svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.acc-app .od-copy { min-width:68px; font-size:11px; }
.acc-app .od-copy.is-copied { color:var(--acc-text); }
.acc-app .od-detail button:focus-visible,.acc-app .od-detail a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:8px; }
.acc-app .od-status { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding-bottom:22px; border-bottom:1px solid var(--od-line); }
.acc-app .od-status p { margin:0; font-size:13px; color:var(--acc-text-muted); line-height:1.9; }
.acc-app .od-status .pill { font-size:12px; min-height:28px; }
.acc-app .od-grid { display:grid; grid-template-columns:minmax(0,1fr) 296px; grid-template-areas:'items payment' 'progress payment' 'delivery payment' 'messages messages' 'references references'; column-gap:36px; row-gap:26px; align-items:start; }
.acc-app .od-section { min-width:0; }
.acc-app .od-section h2 { margin:0 0 16px; font-size:14px; font-weight:650; color:var(--acc-text); }
.acc-app .od-section h3 { margin:0; color:var(--acc-text); font-size:14px; font-weight:600; line-height:1.9; overflow-wrap:anywhere; }
.acc-app .od-items { grid-area:items; }
.acc-app .od-items ul { list-style:none; padding:0; margin:0; }
.acc-app .od-item { display:grid; grid-template-columns:64px minmax(0,1fr); gap:4px 14px; padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--od-line); }
.acc-app .od-item:last-child { margin-bottom:0; }
.acc-app .od-art { grid-row:1 / span 2; width:64px; height:64px; display:grid; place-items:center; border-radius:10px; overflow:hidden; background:var(--acc-surface); }
.acc-app .od-art img { display:block; width:100%; height:100%; object-fit:contain; }
.acc-app .od-art .cx-product-monogram { font-size:20px; }
.acc-app .od-item-identity { min-width:0; }
.acc-app .od-item-identity p { margin:4px 0; color:var(--acc-text-muted); font-size:12px; line-height:1.8; }
.acc-app .od-item-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; grid-column:2; font-size:13px; }
.acc-app .od-item-price small { color:var(--acc-text-muted); font-size:11px; }
.acc-app .od-progress-section { grid-area:progress; }
.acc-app .od-progress { display:flex; flex-wrap:wrap; padding:0; margin:0; list-style:none; gap:14px 20px; }
.acc-app .od-progress li { display:flex; gap:8px; align-items:flex-start; position:relative; min-width:110px; }
.acc-app .od-progress li:not(:last-child) { padding-inline-end:18px; }
.acc-app .od-progress li:not(:last-child)::after { content:''; position:absolute; inset-inline-end:-8px; top:10px; width:20px; height:1px; background:var(--od-line); }
.acc-app .od-stage-mark { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; flex-shrink:0; color:var(--acc-text-muted); border:1px solid var(--od-line); }
.acc-app .is-current .od-stage-mark { border-color:var(--accent); }
.acc-app .is-current .od-stage-mark::after { content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.acc-app .od-stage-label { color:var(--acc-text-muted); font-size:12px; }
.acc-app .is-current .od-stage-label { color:var(--acc-text); font-weight:600; }
.acc-app .od-progress small { display:block; margin-top:5px; font-size:10px; color:var(--acc-text-muted); line-height:1.7; }
.acc-app .od-payment { grid-area:payment; border-inline-start:1px solid var(--od-line); padding-inline-start:24px; }
.acc-app .od-payment-state { display:inline-flex; align-items:center; gap:7px; font-size:12px; line-height:1.9; color:var(--acc-text-muted); }
.acc-app .od-payment-state::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.acc-app .od-payment-state.success { color:#9bc9ad; }
.acc-app .od-payment-state.warning { color:#d7bd91; }
.acc-app .od-payment-state.danger { color:#df9da1; }
.acc-app[data-theme="light"] .od-payment-state.success { color:#326b49; }
.acc-app[data-theme="light"] .od-payment-state.warning { color:#815714; }
.acc-app[data-theme="light"] .od-payment-state.danger { color:#a33841; }
.acc-app .od-totals { margin:18px 0 14px; }
.acc-app .od-totals>div { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 12px; padding:7px 0; font-size:12px; }
.acc-app .od-totals dt { color:var(--acc-text-muted); }
.acc-app .od-totals dd { margin:0; font-weight:500; }
.acc-app .od-totals .od-total { margin-top:10px; padding-top:14px; border-top:1px solid var(--od-line); }
.acc-app .od-total dd { font-size:19px; font-weight:700; }
.acc-app .od-method { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:11px; color:var(--acc-text-muted); }
.acc-app .od-method b { color:var(--acc-text); font-weight:500; }
.acc-app .od-actions { display:grid; gap:8px; margin-top:20px; }
.acc-app .od-actions .ui-button { width:100%; min-height:44px; font-size:12px; border-radius:9px; }
.acc-app .od-muted { margin:8px 0 0; font-size:12px; line-height:1.9; color:var(--acc-text-muted); }
.acc-app .od-delivery { grid-area:delivery; }
.acc-app .od-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.acc-app .od-section-head h2 { margin:0; }
.acc-app .od-section-head .ui-button { min-height:44px; font-size:11px; padding:0 12px; }
.acc-app .od-delivery-item { padding:16px; border:1px solid var(--od-line); border-radius:10px; background:var(--acc-surface); margin-top:10px; }
.acc-app .od-delivery-item h3 { font-size:12px; }
.acc-app .od-delivery-item p,.acc-app .od-delivery-item small { font-size:11px; line-height:1.8; color:var(--acc-text-muted); }
.acc-app .od-delivery-value { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; margin:12px 0; }
.acc-app .od-delivery-value>span { min-width:0; flex:1; }
.acc-app .od-delivery-value small { display:block; margin-bottom:6px; }
.acc-app .od-delivery-value code,.acc-app .od-delivery-value pre { display:block; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.9; font-family:inherit; color:var(--acc-text); }
.acc-app .od-messages { grid-area:messages; }
.acc-app .od-references { grid-area:references; border-top:1px solid var(--od-line); }
.acc-app .od-references .t-acc-head { display:flex; align-items:center; justify-content:space-between; width:100%; padding:14px 0; min-height:48px; border:0; background:transparent; font:inherit; font-size:12px; color:var(--acc-text-muted); cursor:pointer; }
.acc-app .od-reference-content { padding:4px 4px 20px; }
.acc-app .od-reference { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; font-size:12px; min-width:0; }
.acc-app .od-reference>span { color:var(--acc-text-muted); }
.acc-app .od-reference code,.acc-app .od-reference b { overflow-wrap:anywhere; min-width:0; font:inherit; }
.acc-app .od-history { margin:14px 0 0; padding:0; list-style:none; }
.acc-app .od-history li { display:flex; flex-wrap:wrap; gap:6px 18px; padding:8px 0; font-size:12px; }
.acc-app .od-history time,.acc-app .od-history p { color:var(--acc-text-muted); font-size:11px; margin:0; }
.acc-app .od-wait { min-height:320px; display:grid; place-items:center; }
.acc-app .od-problem .ui-state { padding:48px 20px; }
.acc-app .od-detail #invoiceResult:empty { display:none; }
.acc-app .od-detail .invoice-print { margin-top:0!important; box-shadow:none; border-radius:10px; max-width:100%; }
.acc-app .od-detail .table-wrap { max-width:100%; overflow-x:auto; }
/* Installed recipes 07/09/04/21. All motion tokens live only on Order Detail. */
.acc-app .od-detail { animation:od-panel-in var(--panel-open-dur) var(--panel-ease) both; }
@keyframes od-panel-in { from { opacity:0; transform:translateY(var(--panel-translate-y)); filter:blur(var(--panel-blur)); } to { opacity:1; transform:none; filter:blur(0); } }
.acc-app .od-detail .t-icon-swap { display:inline-grid; }
.acc-app .od-detail .t-icon { display:inline-flex; grid-area:1/1; transition:opacity var(--icon-swap-dur) var(--icon-swap-ease),filter var(--icon-swap-dur) var(--icon-swap-ease),transform var(--icon-swap-dur) var(--icon-swap-ease); }
.acc-app .od-detail .t-icon-swap[data-state="a"] [data-icon="b"],.acc-app .od-detail .t-icon-swap[data-state="b"] [data-icon="a"] { opacity:0; filter:blur(var(--icon-swap-blur)); transform:scale(var(--icon-swap-start-scale)); }
.acc-app .od-detail .t-icon-swap[data-state="a"] [data-icon="a"],.acc-app .od-detail .t-icon-swap[data-state="b"] [data-icon="b"] { opacity:1; filter:blur(0); transform:scale(1); }
.acc-app .od-detail .t-text-swap { display:inline-block; transition:transform var(--text-swap-dur) var(--text-swap-ease),filter var(--text-swap-dur) var(--text-swap-ease),opacity var(--text-swap-dur) var(--text-swap-ease); }
.acc-app .od-detail .t-text-swap.is-exit { transform:translateY(-4px); filter:blur(2px); opacity:0; }
.acc-app .od-detail .t-text-swap.is-enter-start { transform:translateY(4px); filter:blur(2px); opacity:0; transition:none; }
.acc-app .od-detail .t-acc-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--acc-collapse) var(--acc-ease); }
.acc-app .od-detail .t-acc-panel-inner { overflow:hidden; opacity:0; filter:blur(2px); transition:opacity var(--acc-collapse) var(--acc-ease),filter var(--acc-collapse) var(--acc-ease); }
.acc-app .od-detail .t-acc[data-open="true"] .t-acc-panel { grid-template-rows:1fr; transition-duration:var(--acc-expand); }
.acc-app .od-detail .t-acc[data-open="true"] .t-acc-panel-inner { opacity:1; filter:blur(0); transition-duration:var(--acc-expand); }
.acc-app .od-detail .t-acc-chevron { display:inline-flex; transform:scaleY(1); transition:transform var(--acc-chevron) var(--acc-ease); }
.acc-app .od-detail .t-acc[data-open="true"] .t-acc-chevron { transform:scaleY(-1); }
.acc-app .od-detail .t-acc-chevron path { vector-effect:non-scaling-stroke; }
@media (hover:hover) and (pointer:fine) { .acc-app .od-back:hover,.acc-app .od-copy:hover { color:var(--acc-text); background:var(--acc-surface); } }
@media (max-width:1100px) and (min-width:701px) { .acc-app .od-grid { grid-template-columns:minmax(0,1fr) 248px; column-gap:24px; } .acc-app .od-payment { padding-inline-start:18px; } }
@media (max-width:700px) {
  .acc-app .od-detail { gap:18px; }
  .acc-app .od-header { align-items:flex-start; gap:8px; }
  .acc-app .od-header h1 { font-size:21px; }
  .acc-app .od-back { padding-inline:4px; font-size:11px; gap:5px; }
  .acc-app .od-heading { min-width:0; }
  .acc-app .od-identity { gap:0 3px; font-size:11px; }
  .acc-app .od-identity time { flex-basis:100%; border:0; padding:0; }
  .acc-app .od-identity .od-copy { min-width:44px; padding:0 5px; }
  .acc-app .od-identity .od-copy .t-text-swap { display:none; }
  .acc-app .od-status { padding-bottom:18px; gap:8px; }
  .acc-app .od-status p { width:100%; font-size:12px; }
  .acc-app .od-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:'items' 'progress' 'payment' 'delivery' 'messages' 'references'; gap:24px; }
  .acc-app .od-section h2 { margin-bottom:12px; }
  .acc-app .od-item { gap:4px 12px; padding-bottom:14px; margin-bottom:14px; }
  .acc-app .od-item h3 { font-size:13px; line-height:1.9; }
  .acc-app .od-item-price { font-size:12px; }
  .acc-app .od-progress { display:grid; gap:0; }
  .acc-app .od-progress li { padding:0 0 18px; min-height:48px; }
  .acc-app .od-progress li:last-child { padding-bottom:0; }
  .acc-app .od-progress li:not(:last-child)::after { width:1px; height:calc(100% - 24px); top:22px; inset-inline-start:10px; inset-inline-end:auto; }
  .acc-app .od-progress small { margin-top:2px; }
  .acc-app .od-payment { border-inline-start:0; border-top:1px solid var(--od-line); padding:20px 0 0; }
  .acc-app .od-actions { grid-template-columns:1fr; }
  .acc-app .od-delivery-item { padding:12px; }
  .acc-app .od-total dd { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-app .od-detail { animation:none; }
  .acc-app .od-detail .t-icon,.acc-app .od-detail .t-text-swap,.acc-app .od-detail .t-acc-panel,.acc-app .od-detail .t-acc-panel-inner,.acc-app .od-detail .t-acc-chevron { transition:none!important; }
}

.acc-app .od-detail h1:focus { outline:none; }

.acc-app .od-file { display:inline-flex; align-items:center; min-height:44px; color:var(--acc-text); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.acc-app[data-theme="light"] .od-detail button:focus-visible,.acc-app[data-theme="light"] .od-detail a:focus-visible { outline-color:#896527; }
.acc-app[data-theme="light"] .od-detail .is-current .od-stage-mark { border-color:#896527; }
.acc-app[data-theme="light"] .od-detail .is-current .od-stage-mark::after { background:#896527; }

/* Historical order pricing context; static metadata inside the accepted summary. */
.acc-app .od-price-basis { display:grid; gap:4px; margin:0 0 16px; color:var(--acc-text-muted); font-size:12px; line-height:1.9; }

/* Wallet: frozen Customer proportions, content-led balance and one top-up flow. */
.acc-app .cw-wallet { width:100%; max-width:1040px; margin-inline:auto; gap:24px; color:var(--acc-text); font-size:14px; line-height:1.7; --digit-dur:500ms; --digit-distance:8px; --digit-stagger:70ms; --digit-blur:2px; --digit-ease:cubic-bezier(.34,1.45,.64,1); --digit-dir-x:0; --digit-dir-y:1; --text-swap-dur:150ms; --text-swap-translate-y:4px; --text-swap-blur:2px; --text-swap-ease:ease-in-out; --stagger-dur:250ms; --stagger-distance:8px; --stagger-stagger:40ms; --stagger-blur:2px; --stagger-ease:cubic-bezier(.22,1,.36,1); }
.acc-app .cw-wallet h2,.acc-app .cw-wallet h3,.acc-app .cw-wallet p { margin:0; }
.acc-app .cw-wallet > .ui-page-header { margin:0; }
.acc-app .cw-wallet > .ui-page-header h1 { font-size:24px; line-height:1.5; }
.acc-app .cw-wallet > .ui-page-header p { font-size:12px; margin-top:6px; }
.acc-app .cw-workspace { display:grid; grid-template-columns: minmax(230px,.8fr) minmax(0,1.5fr); align-items:start; column-gap:36px; padding-top:24px; border-top:1px solid var(--acc-border); }
.acc-app .cw-balance { position:relative; min-width:0; padding:20px; border:2px solid #FEDB99; border-radius:12px; background:var(--acc-surface); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.acc-app .cw-balance h2 { padding-inline-end:44px; font-size:14px; font-weight:500; color:var(--acc-text-muted); }
.acc-app .cw-card-chip { position:absolute; inset-inline-end:20px; top:20px; width:32px; height:25px; color:var(--acc-v1-focus); opacity:.65; }
.acc-app .cw-card-chip svg { display:block; width:100%; height:100%; stroke:currentColor; stroke-width:1; }
.acc-app .cw-balance-value { display:flex; align-items:baseline; gap:8px; margin-block:16px; }
.acc-app .cw-balance-value strong { font-size:28px; font-weight:650; line-height:1.5; }
.acc-app .cw-balance-value > span { font-size:12px; color:var(--acc-text-muted); }
.acc-app .cw-number { display:inline-flex; direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
.acc-app .cw-readiness,.acc-app .cw-owner { font-size:12px; color:var(--acc-text-muted); }
.acc-app .cw-owner { margin-top:12px; }
.acc-app .cw-balance .cw-owner { margin-top:4px; }
.acc-app .cw-topup { display:grid; align-content:start; gap:8px; min-width:0; container:wallet-topup / inline-size; padding-inline-start:32px; border:0; border-inline-start:1px solid var(--acc-border); background:transparent; }
.acc-app .cw-topup h2,.acc-app .cw-history h2 { font-size:17px; font-weight:600; }
.acc-app .cw-topup > header p,.acc-app .cw-history > header p { margin-top:4px; font-size:12px; color:var(--acc-text-muted); }
.acc-app .cw-amount { display:grid; gap:8px; }
.acc-app .cw-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.acc-app .cw-presets button { min-width:0; min-height:44px; padding:4px 6px; border:1px solid var(--acc-border-strong); border-radius:8px; background:transparent; color:var(--acc-text); font:inherit; font-size:13px; cursor:pointer; transition:background-color var(--duration-quick) var(--ease-out),border-color var(--duration-quick) var(--ease-out); }
.acc-app .cw-presets button:hover { background:var(--acc-surface-2); }
.acc-app .cw-presets button.active { background:var(--acc-accent-surface); border-color:var(--accent); color:var(--acc-text); font-weight:650; box-shadow:none; }
.acc-app .cw-custom label,.acc-app .cw-payment h3,.acc-app .cw-payment .ac-lbl { display:block; font-size:12px; font-weight:500; margin:0 0 6px; color:var(--acc-text); }
.acc-app .cw-money-input { position:relative; }
.acc-app .cw-money-input input,.acc-app .cw-payment select { width:100%; min-width:0; min-height:44px; border:1px solid var(--acc-border-strong); border-radius:8px; background:var(--acc-surface-2); color:var(--acc-text); font:inherit; font-size:14px; padding:8px 12px; box-shadow:none; }
.acc-app .cw-money-input input { padding-inline-end:64px; }
.acc-app .cw-money-input input::placeholder { color:var(--acc-text-muted); font-size:12px; }
.acc-app .cw-money-input > span { position:absolute; inset-inline-end:12px; top:50%; transform:translateY(-50%); color:var(--acc-text-muted); font-size:12px; pointer-events:none; }
.acc-app .cw-wallet :is(button,input,select):focus-visible,.acc-app .cw-selected-method:has(input:focus-visible) { outline:2px solid var(--acc-v1-focus); outline-offset:3px; border-radius:8px; box-shadow:none; }
.acc-app .cw-error { display:block; min-height:20px; padding-top:2px; color:var(--danger); font-size:11px; line-height:1.6; }
.acc-app .cw-money-input input.is-invalid { border-color:var(--danger); }
.acc-app .cw-payment { display:grid; gap:0; min-width:0; padding:0; margin:0; }
.acc-app .cw-payment .ac-field { margin:0; }
.acc-app .cw-payment h3 { margin-bottom:4px; }
.acc-app .cw-payment [data-crypto-pair]:not([hidden]) { margin-top:12px; }
.acc-app .cw-unavailable { display:flex; gap:8px; align-items:center; color:var(--acc-text-muted); font-size:12px; }
.acc-app .cw-unavailable svg,.acc-app .cw-direction svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.acc-app .cw-selected-method { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; cursor:pointer; }
.acc-app .cw-selected-method input { width:16px; height:16px; accent-color:var(--acc-v1-focus); margin:0; }
.acc-app .cw-selected-method small { font-size:11px; color:var(--acc-text-muted); margin-inline-start:auto; }
.acc-app .cw-action { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto; align-items:start; gap:12px; padding-top:8px; border-top:1px solid var(--acc-border); }
.acc-app .cw-summary { min-width:0; display:grid; gap:2px; }
.acc-app .cw-action > .cw-submit { grid-column:auto; align-self:center; }
.acc-app .cw-summary > small { color:var(--acc-text-muted); font-size:12px; }
.acc-app .cw-summary > strong { display:flex; align-items:baseline; gap:6px; font-size:24px; font-weight:650; line-height:1.6; }
.acc-app .cw-currency { font-size:12px; font-weight:400; color:var(--acc-text-muted); }
.acc-app .cw-summary-method { font-size:11px; color:var(--acc-text-muted); }
.acc-app .cw-wallet .cw-submit { width:auto; flex-shrink:0; min-height:44px; min-width:144px; padding:8px 16px; border:1px solid var(--accent); border-radius:8px; font-size:13px; font-weight:600; background:var(--accent); color:var(--ink-on-accent); box-shadow:none; margin:0; }
.acc-app .cw-wallet .cw-submit:disabled { background:var(--acc-surface-2); border-color:var(--acc-border); color:var(--acc-text-muted); opacity:.7; cursor:not-allowed; filter:none; }
.acc-app .cw-history { padding-top:24px; border-top:1px solid var(--acc-border); }
.acc-app .cw-history > header { margin-bottom:12px; }
.acc-app .cw-transactions { max-width:880px; padding:0; margin:0; list-style:none; }
.acc-app .cw-transaction { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:12px; align-items:center; padding:16px 0; border-bottom:1px solid var(--acc-border); }
.acc-app .cw-direction { color:var(--acc-text-muted); display:flex; }
.acc-app .cw-transaction h3 { font-size:14px; font-weight:600; line-height:1.8; }
.acc-app .cw-transaction-copy { min-width:0; }
.acc-app .cw-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 12px; margin-top:3px; font-size:11px; color:var(--acc-text-muted); }
.acc-app .cw-meta bdi,.acc-app .cw-note { overflow-wrap:anywhere; }
.acc-app .cw-note { font-size:12px; color:var(--acc-text-muted); padding-top:4px; }
.acc-app .cw-transaction-value { display:flex; align-items:baseline; gap:6px; white-space:nowrap; font-size:14px; font-weight:600; }
.acc-app .cw-transaction-value small { font-size:11px; font-weight:400; }
.acc-app .cw-transaction-value[data-direction=credit] { color:#8dcba2; }
.acc-app .cw-history .acc-state { max-width:560px; margin:16px auto; padding:20px 16px; border:0; background:transparent; box-shadow:none; }
.acc-app .cw-empty-action { min-height:44px; border:1px solid var(--acc-border-strong); border-radius:8px; padding:8px 12px; color:var(--acc-text); background:transparent; font:inherit; font-size:12px; cursor:pointer; }
.acc-app[data-theme=light] .cw-presets button.active { background:rgba(254,219,153,.26); border-color:#d6b77f; }
.acc-app[data-theme=light] .cw-wallet .cw-submit:not(:disabled) { background:var(--acc-text); border-color:var(--acc-text); color:#fff; }
.acc-app[data-theme=light] .cw-transaction-value[data-direction=credit] { color:#226b42; }
@media (max-width:1100px) and (min-width:781px) {
  .acc-app .cw-workspace { grid-template-columns:220px minmax(0,1fr); gap:24px; }
  .acc-app .cw-balance { padding:16px; }
  .acc-app .cw-card-chip { top:16px; inset-inline-end:16px; }
  .acc-app .cw-balance-value strong { font-size:24px; }
  .acc-app .cw-topup { padding-inline-start:24px; }
  .acc-app .cw-action { gap:12px; }
}
@media (max-width:780px) {
  .acc-app .cw-wallet { gap:16px; }
  .acc-app .cw-wallet > .ui-page-header h1 { font-size:21px; }
  .acc-app .cw-workspace { grid-template-columns:1fr; gap:20px; padding-top:16px; }
  .acc-app .cw-balance { padding:14px 16px; }
  .acc-app .cw-card-chip { top:14px; inset-inline-end:16px; }
  .acc-app .cw-balance-value strong { font-size:26px; }
  .acc-app .cw-balance-value { margin-block:10px; }
  .acc-app .cw-topup { border-inline-start:0; border-top:1px solid var(--acc-border); padding:16px 0 0; gap:8px; }
  .acc-app .cw-topup > header p { margin-top:2px; }
  .acc-app .cw-presets button { font-size:12px; }
  .acc-app .cw-action { grid-template-columns:1fr; align-items:stretch; gap:4px; padding-top:0; border-top:0; }
  .acc-app .cw-summary { min-width:0; grid-template-columns:1fr auto; align-items:baseline; gap:0 8px; }
  .acc-app .cw-summary > strong { grid-column:2; grid-row:1/3; font-size:22px; }
  .acc-app .cw-summary-method { grid-column:1; }
  .acc-app .cw-wallet .cw-submit { width:100%; }
  .acc-app .cw-history { padding-top:16px; }
  .acc-app .cw-transaction { grid-template-columns:20px minmax(0,1fr); gap:6px 8px; padding:14px 0; }
  .acc-app .cw-transaction-value { grid-column:2; font-size:14px; }
}
@container wallet-topup (max-width:479px) {
  .acc-app .cw-action { grid-template-columns:1fr; align-items:stretch; gap:4px; padding-top:0; border-top:0; }
  .acc-app .cw-wallet .cw-submit { width:100%; }
}
@media (min-width:781px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  /* Card hover recipe adaptation: scale only, with the shared fast/smooth-out tokens. */
  .acc-app .cw-balance { transition:transform var(--duration-fast) var(--ease-smooth-out); }
  .acc-app .cw-balance:hover { transform:scale(1.015); }
}
@media (prefers-reduced-motion:reduce) {
  .cw-wallet .cw-presets button { transition:none; }
}

/* Support: Dashboard rhythm, isolated from all accepted Customer surfaces. */
.acc-app .cs-support { width:100%; max-width:1040px; margin-inline:auto; gap:24px; color:var(--acc-text); font-size:14px; line-height:1.7; --panel-open-dur:400ms; --panel-close-dur:350ms; --panel-translate-y:8px; --panel-blur:2px; --panel-ease:cubic-bezier(.22,1,.36,1); --stagger-dur:500ms; --stagger-distance:12px; --stagger-stagger:40ms; --stagger-blur:3px; --stagger-ease:cubic-bezier(.22,1,.36,1); --text-swap-dur:150ms; --text-swap-translate-y:4px; --text-swap-blur:2px; --text-swap-ease:ease-in-out; --tabs-dur:250ms; --tabs-ease:cubic-bezier(.22,1,.36,1); --learn-shift:2px; --learn-spread:8deg; --learn-in:350ms; --learn-out:350ms; --learn-ease:cubic-bezier(.22,1,.36,1); }
.acc-app #accMain:has(.cs-support) { padding:24px 24px 48px; }
.acc-app .cs-support .ui-page-header { justify-content:flex-start; align-items:center; gap:24px; }
.acc-app .cs-support .ui-page-header h1 { font-size:24px; line-height:1.5; font-weight:650; }
.acc-app .cs-support .ui-page-header p { font-size:12px; margin-top:2px; }
.acc-app .cs-support .ui-page-actions { margin:0; }
.cs-support :is(h2,h3,p) { margin:0; }
.cs-support :is(button,input,select,textarea) { font-family:inherit; }
.cs-support button { cursor:pointer; }
.cs-support :is(button,a,input,textarea,select):focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:3px; }
.cs-support .cs-button,.cs-support .cs-back { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 14px; border:1px solid var(--acc-border-strong); border-radius:7px; background:transparent; color:var(--acc-text); font-size:13px; font-weight:500; }
.cs-support .cs-primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); font-weight:600; }
.cs-support button:disabled { cursor:default; opacity:.55; }
.cs-support .cs-button:hover:not(:disabled) { background:var(--acc-surface-2); }
.cs-support .cs-primary:hover:not(:disabled) { background:var(--accent); opacity:.86; }
.cs-support .cs-back { border:0; padding-inline:0; color:var(--acc-text-muted); justify-content:flex-start; }
.cs-tools { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-bottom:16px; }
.cs-search { width:300px; max-width:100%; }
.cs-search label,.cs-label { display:block; font-size:12px; color:var(--acc-text-muted); margin-bottom:6px; }
.cs-search>div { display:flex; align-items:center; height:44px; border:1px solid var(--acc-border-strong); border-radius:7px; background:var(--acc-input-surface,var(--acc-surface-2)); }
.cs-search input { min-width:0; width:100%; height:100%; background:transparent; border:0; padding:8px 12px; color:var(--acc-text); font-size:13px; border-radius:7px; }
.cs-search input::-webkit-search-cancel-button { display:none; }
.cs-search button { flex:0 0 44px; height:44px; border:0; background:transparent; color:var(--acc-text-muted); display:grid; place-items:center; border-radius:7px; }
#supportCount { font-size:12px; color:var(--acc-text-muted); padding-block:10px; }
.cs-support .cs-filters { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border-radius:8px; background:var(--acc-surface-2); width:fit-content; max-width:100%; margin-bottom:12px; position:relative; }
.cs-support .cs-filters .t-tab { height:44px; padding:8px 12px; font-size:12px; border-radius:6px; color:var(--acc-text-muted); background:transparent; position:relative; z-index:1; border:0; }
.cs-support .cs-filters .t-tab[aria-selected="true"] { color:var(--acc-text); font-weight:600; }
.cs-support .cs-filters .t-tabs-pill { top:0; left:0; border-radius:6px; background:var(--acc-accent-surface); border:1px solid var(--acc-accent-border); }
.cs-support #supportResults { min-height:250px; }
.cs-list { border-top:1px solid var(--acc-border); }
.cs-row { display:grid; width:100%; grid-template-columns:minmax(0,1fr) 175px 16px; gap:16px; align-items:center; padding:18px 8px; text-align:start; border:0; border-bottom:1px solid var(--acc-border); background:transparent; color:var(--acc-text); border-radius:0; }
.cs-row:hover { background:var(--acc-surface-2); }
.cs-identity { min-width:0; display:grid; gap:8px; }
.cs-identity>strong { display:block; font-size:14px; font-weight:600; line-height:1.8; overflow-wrap:anywhere; text-align:start; }
.cs-meta { display:flex; flex-wrap:wrap; gap:4px 12px; color:var(--acc-text-muted); font-size:11px; }
.cs-meta bdi { font-size:10px; overflow-wrap:anywhere; }
.cs-row-state { display:grid; gap:7px; justify-items:start; }
.cs-row-state time { font-size:11px; color:var(--acc-text-muted); }
.cs-status { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--acc-text-muted); white-space:nowrap; }
.cs-status::before { content:''; width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:currentColor; }
.cs-status[data-status="waiting_user"] { color:var(--acc-warning-text,#edc681); }
.cs-status[data-status="answered"] { color:var(--acc-success-text,#8bcbaf); }
.acc-app[data-theme="light"] .cs-status[data-status="waiting_user"] { color:#80530c; }
.acc-app[data-theme="light"] .cs-status[data-status="answered"] { color:#286148; }
.cs-arrow { display:flex; transform:rotate(180deg); color:var(--acc-text-muted); }
.cs-pagination { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:20px; font-size:12px; color:var(--acc-text-muted); }
.cs-state { padding:48px 16px; text-align:center; display:grid; justify-items:center; gap:14px; background:transparent; border:0; box-shadow:none; }
.cs-support .cs-state.acc-state { margin:0; border:0; box-shadow:none; background:transparent; }
.cs-state h2,.cs-state h3 { font-size:17px; }
.cs-state p { color:var(--acc-text-muted); font-size:13px; max-width:440px; }
.cs-loading { min-height:280px; display:flex; align-items:center; justify-content:center; }
.cs-support .cs-detail { width:100%; max-width:850px; margin:0; background:transparent; padding:0; border:0; border-radius:0; box-shadow:none; min-height:0; }
.cs-support .acc-conversation-head { padding:0 0 18px; display:block; border-bottom:1px solid var(--acc-border); }
.cs-support .acc-conversation-head h2 { font-size:19px; font-weight:600; line-height:1.9; overflow-wrap:anywhere; text-align:start; margin:8px 0; outline:none; }
.cs-support .acc-conversation-head h2:focus-visible { outline:none; }
.cs-support .acc-detail-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:11px; color:var(--acc-text-muted); }
.cs-support .acc-detail-meta bdi { overflow-wrap:anywhere; }
.cs-support .cs-attention,.cs-support .cs-supporting { margin-top:14px; color:var(--acc-text-muted); font-size:12px; }
.cs-support .cs-attention { border-inline-start:2px solid var(--accent); padding-inline-start:10px; }
.cs-support .cs-transcript { display:block; min-height:0; max-height:none; overflow:visible; padding:0; margin:0; width:100%; background:transparent; }
.cs-message { padding:22px 0; border-bottom:1px solid var(--acc-border); }
.cs-message header { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-bottom:9px; }
.cs-message header strong { font-size:12px; font-weight:600; }
.cs-message header time { font-size:11px; color:var(--acc-text-muted); }
.cs-message.cs-staff header strong { border-inline-start:2px solid var(--accent); padding-inline-start:9px; }
.cs-message p { font-size:14px; line-height:2; white-space:pre-wrap; overflow-wrap:anywhere; text-align:start; max-width:760px; }
.cs-message .cs-attachment { display:inline-flex; align-items:center; gap:10px; max-width:100%; min-height:44px; margin-top:10px; font-size:12px; color:var(--acc-text); text-decoration:underline; text-underline-offset:4px; }
.cs-attachment bdi { overflow-wrap:anywhere; min-width:0; }
.cs-attachment small { color:var(--acc-text-muted); flex-shrink:0; }
.cs-support .cs-reply { padding:22px 0 0; margin:0; border:0; background:transparent; }
.cs-composer-heading { display:flex; gap:16px; align-items:center; margin-bottom:12px; }
.cs-composer-heading h3 { font-size:17px; font-weight:600; }
.cs-support .cs-reply textarea { width:100%; min-height:114px; resize:vertical; border:1px solid var(--acc-border-strong); border-radius:8px; background:var(--acc-surface-2); color:var(--acc-text); padding:12px; font-size:14px; line-height:1.9; }
.cs-support .acc-inline-feedback:empty { display:none; }
.cs-reply-file { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:12px; font-size:12px; }
.cs-reply-file input { max-width:100%; width:280px; min-height:44px; color:var(--acc-text-muted); }
.cs-reply-file input::file-selector-button { min-height:44px; margin-inline-end:12px; border:1px solid var(--acc-border-strong); border-radius:7px; background:transparent; color:var(--acc-text); padding:8px 12px; font-family:inherit; cursor:pointer; }
.cs-reply-file small { color:var(--acc-text-muted); }
.cs-reply-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }
.cs-reply-actions .acc-wallet-thinking { position:static; font-size:12px; }
.cs-closed { padding-top:20px; display:grid; justify-items:start; gap:12px; }
.cs-closed p { font-size:13px; color:var(--acc-text-muted); }
.cs-support .cs-ticket-composer { width:min(600px,calc(100vw - 32px)); border:1px solid var(--acc-border-strong); border-radius:12px; background:var(--acc-surface); box-shadow:0 24px 80px #0003; padding:0; }
.cs-support .cs-ticket-composer .acc-ticket-toggle { padding:18px 20px; min-height:76px; gap:12px; }
.cs-support .cs-ticket-composer .acc-ticket-toggle-copy b { font-size:18px; }
.cs-support .cs-ticket-composer .acc-ticket-toggle-copy small { font-size:12px; }
.cs-support .cs-ticket-composer .acc-ticket-toggle-icon { display:none; }
.cs-support .cs-ticket-composer .acc-ticket-close { width:44px; height:44px; display:grid; place-items:center; }
.cs-support .cs-ticket-composer .acc-ticket-form { padding:0 20px 20px; gap:12px 16px; }
.cs-support .cs-ticket-composer .ac-field { gap:5px; }
.cs-support .cs-ticket-composer .ac-input { min-height:44px; font-size:13px; border-radius:7px; padding:9px 12px; }
.cs-support .cs-ticket-composer textarea.ac-input { min-height:110px; }
.cs-support .cs-ticket-composer .ac-lbl { font-size:12px; }
.cs-support .cs-ticket-composer .acc-upload { padding:12px; border:1px solid var(--acc-border); border-radius:7px; background:transparent; min-height:0; gap:8px; }
.cs-support .cs-ticket-composer .acc-upload-icon { display:none; }
.cs-support .cs-ticket-composer .acc-upload-copy b { font-size:12px; }
.cs-support .cs-ticket-composer .acc-upload-copy small { font-size:11px; }
.cs-support .cs-ticket-composer .acc-upload-pick,.cs-support .cs-ticket-composer .acc-upload-remove { min-height:44px; }
.cs-support .cs-ticket-composer .acc-ticket-actions { margin-top:0; padding-top:12px; }
.cs-support .cs-ticket-composer .acc-form-summary:empty,.cs-support .cs-ticket-composer .ac-field-error:empty { display:none; }
.cs-support .cs-ticket-composer .acc-wallet-thinking { position:static; font-size:12px; }
.cs-support .cs-message-entered { opacity:1; transform:translateY(0); filter:blur(0); }
.cs-support .cs-transcript .cs-message-enter-start { opacity:0; transform:translateY(var(--stagger-distance)); filter:blur(var(--stagger-blur)); }
@media (max-width:780px) {
  .acc-app #accMain:has(.cs-support) { padding:20px 16px calc(100px + env(safe-area-inset-bottom)); }
  .acc-app .cs-support { gap:20px; }
  .acc-app .cs-support .ui-page-header { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; }
  .acc-app .cs-support .ui-page-header h1 { font-size:21px; }
  .acc-app .cs-support .ui-page-actions { width:auto; }
  .cs-tools { align-items:flex-end; gap:12px; }
  .cs-search { flex:1; }
  #supportCount { white-space:nowrap; font-size:11px; }
  .cs-support .cs-filters { width:100%; gap:4px; }
  .cs-support .cs-filters .t-tab { padding-inline:9px; font-size:11px; }
  .cs-row { grid-template-columns:minmax(0,1fr) 16px; gap:10px; padding:16px 0; }
  .cs-identity { gap:7px; }
  .cs-identity>strong { font-size:14px; }
  .cs-meta { gap:4px 10px; }
  .cs-row-state { grid-column:1; grid-row:2; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
  .cs-arrow { grid-column:2; grid-row:1/3; }
  .cs-support .acc-conversation-head h2 { font-size:18px; }
  .cs-support .cs-detail { max-width:none; }
  .cs-message { padding:18px 0; }
  .cs-reply-actions>.cs-button { width:100%; }
  .cs-reply-file { display:grid; gap:6px; }
  .cs-reply-file input { width:100%; }
  .cs-support .cs-ticket-composer { width:calc(100vw - 24px); max-height:calc(100dvh - 24px - var(--account-mobile-keyboard-offset,0px)); }
  .cs-support .cs-ticket-composer .acc-ticket-toggle { padding:14px 16px; }
  .cs-support .cs-ticket-composer .acc-ticket-form { padding:0 16px 16px; gap:12px; }
  .cs-support .cs-ticket-composer .acc-upload { display:flex; flex-wrap:wrap; }
  .cs-support .cs-ticket-composer .acc-upload-pick { margin:0; }
}
@media (hover:none),(pointer:coarse) { .cs-support .t-learn-chevron,.cs-support .t-learn-arm { transform:none!important; } }
@media (prefers-reduced-motion:reduce) { .cs-support .t-stagger-line,.cs-support .t-panel-slide,.cs-support .t-text-swap,.cs-support .t-tabs-pill,.cs-support .t-tab,.cs-support .t-learn-chevron,.cs-support .t-learn-arm { transition:none!important; animation:none!important; } }
/* Support dialog geometry overrides the former composer grid without shared changes. */
.acc-app .cs-support .cs-primary { color:var(--ink-on-accent); }
.acc-app[data-theme=light] .cs-support .cs-primary { background:#27282c; border-color:#27282c; color:#fff; }
.acc-app .cs-support .cs-ticket-composer:has(.acc-ticket-panel.open) { width:min(600px,calc(100vw - 32px)); height:auto; max-height:calc(100dvh - 40px); border-radius:12px; }
.acc-app .cs-support .cs-ticket-composer .acc-ticket-toggle { display:flex; width:100%; align-items:center; justify-content:space-between; text-align:start; }
.acc-app .cs-support .acc-ticket-toggle-copy { flex:1; min-width:0; }
.acc-app .cs-support .acc-ticket-toggle-copy b,.acc-app .cs-support .acc-ticket-toggle-copy small { display:block; }
.acc-app .cs-support .cs-ticket-composer .acc-ticket-panel.open>div { padding:0; }
.acc-app .cs-support .cs-ticket-composer .acc-ticket-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding-top:16px; }
.acc-app .cs-support .cs-ticket-composer #ticketMessage { height:110px; min-height:110px; }
.acc-app .cs-support .cs-ticket-composer .acc-upload { grid-template-columns:minmax(0,1fr) auto; }
.acc-app .cs-support .cs-ticket-composer .acc-upload>.ac-field-help { grid-column:1/-1; }
.acc-app .cs-support .cs-ticket-composer .acc-ticket-actions { position:static; padding-bottom:0; }
.acc-app .cs-support .cs-ticket-composer .acc-ticket-actions button { min-height:44px; }
.acc-app .cs-support .cs-message p { font-weight:400; }
@media(max-width:780px) {
 .acc-app .cs-support .cs-ticket-composer:has(.acc-ticket-panel.open) { width:calc(100vw - 24px); height:auto; max-height:calc(100dvh - 24px - var(--account-mobile-keyboard-offset,0px)); }
 .acc-app .cs-support .cs-ticket-composer .acc-ticket-form { grid-template-columns:minmax(0,1fr); }
 .acc-app .cs-support .cs-ticket-composer .acc-ticket-actions { position:sticky; padding-bottom:10px; }
}
/* Support chat: scoped detail workspace, preserving list/create and frozen pages. */
.acc-app .cs-has-detail>.ui-page-header { display:none; }
.acc-app #accMain:has(.cs-chat) { padding-block:24px; }
.acc-app .cs-support .cs-chat { width:100%; max-width:880px; height:calc(100dvh - 104px); max-height:920px; min-height:340px; margin-inline:auto; display:grid; grid-template-rows:auto minmax(0,1fr) auto; border:1px solid var(--acc-border); border-radius:12px; background:var(--acc-surface); overflow:visible; --stagger-dur:250ms; --stagger-distance:8px; --stagger-stagger:40ms; --stagger-blur:2px; --stagger-ease:cubic-bezier(.22,1,.36,1); --icon-swap-start-scale:.8; --check-y-amount:6px; --check-blur-from:2px; }
.cs-chat .cs-chat-head { padding:16px 20px; margin:0; border-bottom:1px solid var(--acc-border); }
.cs-chat .cs-chat-heading { display:flex; align-items:flex-start; gap:12px; }
.cs-chat .cs-back { min-width:44px; width:44px; height:44px; overflow:hidden; white-space:nowrap; font-size:0; flex:none; margin:0; border:1px solid var(--acc-border); border-radius:8px; }
.cs-chat .cs-back svg { width:18px; height:18px; }
.cs-support .cs-chat .cs-chat-head h2 { flex:1; min-width:0; font-size:18px; line-height:1.7; margin:6px 0; max-height:6.8em; overflow-y:auto; }
.cs-support .cs-chat .acc-detail-meta { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:4px 12px; margin-top:6px; padding-inline-start:56px; font-size:11px; }
.cs-chat .cs-chat-body { min-height:0; position:relative; }
.cs-support .cs-chat .cs-transcript { display:flex; flex-direction:column; align-items:flex-start; height:100%; max-height:100%; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--acc-border-strong) transparent; padding:20px 24px; scroll-padding:20px; border:0; }
.cs-chat .cs-transcript:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.cs-support .cs-chat .cs-bubble { flex:none; width:fit-content; max-width:72%; min-width:80px; margin:16px 0 0; padding:11px 14px 8px; border:1px solid var(--acc-border); border-radius:10px; background:var(--acc-surface-2); box-shadow:none; }
.cs-support .cs-chat .cs-bubble:first-child { margin-top:0; }
.cs-support .cs-chat .cs-bubble.cs-same-author { margin-top:5px; }
.cs-support .cs-chat .cs-bubble.cs-staff { align-self:flex-end; background:color-mix(in srgb,var(--accent) 5%,var(--acc-surface)); border-color:color-mix(in srgb,var(--accent) 18%,var(--acc-border)); }
.cs-support .cs-chat .cs-bubble header { margin:0 0 5px; }
.cs-support .cs-chat .cs-bubble header strong { padding:0; border:0; font-size:11px; color:var(--acc-text-muted); }
.cs-support .cs-chat .cs-bubble.cs-staff header strong { color:var(--acc-text); }
.cs-support .cs-chat .cs-bubble p { font-size:14px; line-height:1.9; font-weight:400; text-align:start; white-space:pre-wrap; unicode-bidi:plaintext; overflow-wrap:anywhere; margin:0; }
.cs-chat .cs-bubble footer { display:flex; justify-content:flex-end; margin-top:5px; }
.cs-chat .cs-bubble time { color:var(--acc-text-muted); font-size:10px; line-height:1.7; }
.cs-support .cs-chat .cs-attachment { display:flex; gap:10px; min-height:48px; margin-top:9px; padding:7px 0; border-top:1px solid var(--acc-border); border-radius:4px; text-decoration:none; }
.cs-chat .cs-attachment>span:nth-child(2) { flex:1; min-width:0; }
.cs-chat .cs-attachment bdi { display:block; overflow-wrap:anywhere; font-size:12px; }
.cs-chat .cs-attachment small { display:block; color:var(--acc-text-muted); font-size:10px; }
.cs-chat .cs-attachment small bdi { display:inline; font-size:inherit; }
.cs-chat .cs-download-label { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.cs-chat .cs-attachment:hover { color:var(--accent); }
.acc-app[data-theme=light] .cs-chat .cs-attachment:hover { color:#72501b; }
.cs-support .cs-chat .cs-chat-latest { position:absolute; z-index:2; bottom:12px; left:50%; transform:translateX(-50%); height:44px; padding:0 12px; gap:5px; border-radius:8px; background:var(--acc-surface); box-shadow:0 2px 8px #0002; font-size:12px; }
.cs-chat [hidden] { display:none!important; }
.cs-support .cs-chat .cs-chat-composer { margin:0; padding:12px 16px; border:0; border-top:1px solid var(--acc-border); border-radius:0 0 12px 12px; background:var(--acc-surface); position:relative; z-index:3; min-width:0; }
.cs-chat-inputrow { display:flex; align-items:flex-end; gap:8px; padding:6px; background:var(--acc-surface-2); border:1px solid var(--acc-border-strong); border-radius:10px; }
.cs-chat-inputrow:focus-within { border-color:var(--acc-accent-border); }
.cs-chat-field { position:relative; flex:1; min-width:0; }
.cs-support .cs-chat #replyMessage { width:100%; display:block; height:44px; min-height:44px; max-height:136px; padding:10px 4px; margin:0; background:transparent; border:0; border-radius:6px; box-shadow:none; resize:none; font-size:14px; line-height:24px; overflow-y:auto; }
.cs-support .cs-chat #replyMessage:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.cs-chat .cs-chat-icon { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; border-radius:7px; color:var(--acc-text-muted); cursor:pointer; flex:none; }
.cs-chat .cs-chat-icon:hover { background:var(--acc-surface); color:var(--acc-text); }
.cs-support .cs-chat .cs-chat-send { min-width:86px; width:auto; height:44px; min-height:44px; padding:0 12px; display:flex; justify-content:center; gap:7px; border-radius:7px; font-size:12px; flex:none; }
.cs-chat .cs-chat-send .t-icon-swap { width:20px; height:20px; align-items:center; justify-items:center; }
.cs-chat .cs-chat-send .t-icon { display:flex; align-items:center; justify-content:center; }
.cs-chat .cs-chat-send .ui-pending { gap:0; }
.cs-chat .cs-chat-send:disabled { opacity:.8; cursor:wait; }
.cs-chat .cs-chat-file { display:flex; align-items:center; max-width:100%; gap:8px; margin-top:6px; padding-inline:10px 0; border:1px solid var(--acc-border); border-radius:7px; width:fit-content; }
.cs-chat-file-copy { font-size:11px; color:var(--acc-text-muted); overflow-wrap:anywhere; min-width:0; }
.cs-chat .cs-chat-feedback { display:flex; flex-direction:column; gap:3px; font-size:11px; line-height:1.6; }
.cs-chat .cs-chat-feedback:has(:not(:empty)) { padding:6px 6px 0; }
.cs-chat .cs-chat-feedback .acc-inline-feedback { margin:0; padding:0; min-height:0; font-size:11px; }
.cs-chat .cs-chat-feedback :empty { display:none; }
.cs-chat #replyAttachmentError:not(:empty),.cs-chat #replyFeedback.error { color:var(--acc-danger-text,#dd8e89); }
.cs-support .cs-chat .cs-closed { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin:0; padding:12px 20px; border:0; border-top:1px solid var(--acc-border); border-radius:0; background:transparent; color:var(--acc-text-muted); font-size:12px; }
.cs-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.cs-chat .cs-chat-field .t-clear-mirror,.cs-chat .cs-chat-field .t-clear-placeholder { white-space:pre-wrap; align-items:flex-start; line-height:24px; }
.cs-chat .cs-chat-field.is-clearing textarea { color:transparent; -webkit-text-fill-color:transparent; }
.cs-chat .cs-chat-field.is-clearing textarea::placeholder { color:transparent; }
.cs-chat .t-tt { font-size:11px; z-index:5; }
@media(max-width:780px) {
 .acc-app #accMain:has(.cs-chat) { padding:12px 12px calc(76px + env(safe-area-inset-bottom)); }
 .acc-app .cs-support .cs-chat { height:calc(100dvh - 144px - var(--account-mobile-keyboard-offset,0px)); min-height:260px; max-height:none; border-radius:10px; }
 .cs-chat .cs-chat-head { padding:12px; }
 .cs-support .cs-chat .cs-chat-head h2 { font-size:16px; margin:2px 0; line-height:1.8; max-height:5.4em; }
 .cs-chat .cs-chat-heading { gap:8px; }
 .cs-support .cs-chat .acc-detail-meta { padding-inline-start:0; margin-top:8px; gap:4px 9px; font-size:10px; }
 .cs-chat .cs-status { font-size:11px; }
 .cs-support .cs-chat .cs-transcript { padding:14px 12px; }
 .cs-support .cs-chat .cs-bubble { max-width:86%; padding:9px 11px 7px; margin-top:13px; }
 .cs-support .cs-chat .cs-bubble p { font-size:13px; line-height:1.95; }
 .cs-support .cs-chat .cs-chat-composer { padding:9px; }
 .cs-chat-inputrow { gap:4px; padding:4px; }
 .cs-support .cs-chat .cs-chat-send { min-width:44px; width:44px; padding:0; }
 .cs-chat .cs-send-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 .cs-support .cs-chat #replyMessage { font-size:16px; }
 .cs-support .cs-chat .cs-closed { padding:9px 12px; }
}
@media(prefers-reduced-motion:reduce) {
 .cs-chat .t-icon-swap .t-icon,.cs-chat .t-text-swap,.cs-chat .t-tt { transition:none!important; }
 .cs-chat .cs-transcript { scroll-behavior:auto!important; }
}
.cs-support .cs-chat .acc-detail-meta>span { flex:0 0 auto; }
.cs-chat .cs-chat-icon:disabled { opacity:.5; cursor:wait; }
/* Support messenger: one inbox/chat workspace inside the frozen account shell. */
.acc-app #accMain:has(.cm-support) { padding:24px; }
.acc-app .cm-support { width:100%; max-width:1280px; margin-inline:auto; }
.cm-support .cm-workspace { --cm-height:calc(100dvh - 104px); height:var(--cm-height); min-height:340px; display:grid; grid-template-columns:clamp(300px,27%,340px) minmax(0,1fr); border:1px solid var(--acc-border); border-radius:10px; overflow:hidden; background:var(--acc-surface); }
.cm-workspace.t-page-slide>.t-page { position:relative; inset:auto; min-width:0; min-height:0; opacity:1; transform:none; filter:none; pointer-events:auto; transition:none; }
.cm-inbox { display:flex; flex-direction:column; border-inline-end:1px solid var(--acc-border); }
.cm-inbox-head { padding:16px 14px 10px; border-bottom:1px solid var(--acc-border); }
.cm-inbox-head>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.cm-support .cm-inbox-head h1 { margin:0; font-size:18px; line-height:1.7; }
.cm-support .cm-inbox-head .cs-primary { height:44px; min-height:44px; font-size:12px; padding:0 10px; }
.cm-search { display:flex; align-items:center; gap:4px; border:1px solid var(--acc-border); background:var(--acc-surface-2); border-radius:7px; }
.cm-support .cm-search input { min-width:0; width:100%; border:0; background:transparent; height:44px; padding:0 10px; color:var(--acc-text); font:inherit; font-size:12px; border-radius:6px; }
.cm-support .cm-search button { border:0; background:transparent; padding:0; min-width:44px; height:44px; }
.cm-filter { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:6px; }
.cm-support .cm-filter select { color:var(--acc-text); background:var(--acc-surface); border:1px solid var(--acc-border); border-radius:6px; height:44px; min-width:0; max-width:65%; padding:0 8px; font:inherit; font-size:11px; }
.cm-filter #supportCount { font-size:10px; color:var(--acc-text-muted); white-space:nowrap; }
.cm-inbox-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--acc-border-strong) transparent; padding:4px 0; }
.cm-support .cs-list { display:block; margin:0; }
.cm-support .cm-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:4px 8px; width:100%; min-height:76px; height:76px; padding:9px 14px; margin:0; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; background:transparent; text-align:start; transition:background-color var(--duration-fast) var(--ease-smooth-out),color var(--duration-fast) var(--ease-smooth-out); }
.cm-row::before { content:''; position:absolute; inset-inline-start:0; top:12px; bottom:12px; width:2px; background:#FEDB99; opacity:0; transition:opacity var(--duration-fast) var(--ease-smooth-out); }
.cm-support .cm-row:hover { background:var(--acc-surface-2); }
.cm-support .cm-row[aria-current=true] { background:var(--acc-surface-2); }
.cm-row[aria-current=true]::before { opacity:1; }
.cm-row-title { grid-column:1/-1; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; color:var(--acc-text); font-weight:500; }
.cm-row[aria-current=true] .cm-row-title { font-weight:700; }
.cm-row-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; grid-column:1/-1; min-width:0; }
.cm-row-meta .cs-status { font-size:10px; }
.cm-row-meta time { font-size:10px; color:var(--acc-text-muted); white-space:nowrap; }
.cm-row-id { display:none; }
.cm-support .cs-pagination { padding:8px; margin:0; gap:5px; border-top:1px solid var(--acc-border); }
.cm-support .cs-pagination button { min-height:44px; padding:0 7px; font-size:11px; }
.cm-support .cs-pagination>span { font-size:10px; }
.cm-support .cm-row:focus-visible,.cm-inbox-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.cm-support input:focus-visible,.cm-support select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.cm-skip { position:absolute; clip:rect(0,0,0,0); width:1px; height:1px; overflow:hidden; }
.cm-skip:focus { clip:auto; width:auto; height:44px; inset:8px 8px auto; z-index:8; color:var(--acc-text); background:var(--acc-surface); border:2px solid var(--accent); border-radius:6px; }
.cm-conversation { min-width:0; }
.cm-chat-stage { height:100%; --reveal-dur:250ms; --reveal-blur:2px; --reveal-ease:cubic-bezier(.22,1,.36,1); }
.cm-wait { display:flex; align-items:center; justify-content:center; gap:10px; }
.cm-wait>.cs-back { display:none; }
.cm-chat-stage.is-revealed>.cm-wait { pointer-events:none; visibility:hidden; transition:opacity var(--reveal-dur) var(--reveal-ease),filter var(--reveal-dur) var(--reveal-ease),visibility 0s var(--reveal-dur); }
.cm-support .cm-chat-stage .cs-chat { max-width:none; width:100%; height:100%; min-height:0; max-height:none; border:0; border-radius:0; margin:0; }
.cm-support .cs-chat-head { padding:14px 18px; }
.cm-support .cs-chat-head h2 { font-size:16px; margin:0; }
.cm-support .cs-chat-head .cs-back { display:none; }
.cm-support .cs-chat .acc-detail-meta { padding-inline-start:0; font-size:10px; margin-top:6px; }
.cm-support .cs-chat .acc-detail-meta>span:not(.cs-status) { display:none; }
.cm-support .cs-chat .cs-transcript { padding:16px 18px; }
.cm-support .cs-chat .cs-chat-composer { border-radius:0; }
.cm-empty { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:24px; text-align:center; color:var(--acc-text-muted); }
.cm-empty h2 { font-size:16px; margin:0; color:var(--acc-text); }
.cm-empty p { font-size:12px; max-width:320px; margin:0; line-height:1.9; }
.cm-empty .cs-back { display:none; }
.cm-support .cs-state { padding:24px 16px; }
.cm-support .cs-state h3 { font-size:14px; }
.cm-support .cs-state p { font-size:12px; }
@media(max-width:1100px) {
 .cm-support .cm-workspace { display:block; position:relative; --page-slide-distance:8px; --page-blur:2px; --page-slide-dur:250ms; --page-fade-dur:250ms; }
 .cm-workspace.t-page-slide>.t-page { position:absolute; inset:0; opacity:0; pointer-events:none; transform:translateX(var(--cm-from-x)); filter:blur(var(--page-blur)); transition:opacity var(--page-fade-dur) var(--page-fade-ease),transform var(--page-slide-dur) var(--page-slide-ease),filter var(--page-slide-dur) var(--page-slide-ease); }
 .cm-workspace>.cm-inbox { --cm-from-x:8px; border:0; }
 .cm-workspace>.cm-conversation { --cm-from-x:-8px; }
 .cm-workspace[data-page="1"]>.cm-inbox,.cm-workspace[data-page="2"]>.cm-conversation { opacity:1; transform:translateX(0); filter:blur(0); pointer-events:auto; }
 .cm-support .cs-chat-head .cs-back,.cm-empty .cs-back,.cm-wait>.cs-back { display:inline-flex; }
 .cm-wait>.cs-back { position:absolute; top:12px; right:12px; }
 .cm-inbox-head { padding:14px; }
 .cm-support .cm-filter select { max-width:240px; }
 .cm-support .cm-row { padding-inline:16px; }
 .cm-support .cs-chat-head .cs-chat-heading { align-items:center; }
}
@media(max-width:780px) {
 .acc-app #accMain:has(.cm-support) { padding:12px 12px calc(76px + env(safe-area-inset-bottom)); }
 .cm-support .cm-workspace { --cm-height:calc(100dvh - 144px - var(--account-mobile-keyboard-offset,0px)); min-height:260px; }
 .cm-support .cs-chat-head { padding:12px; }
 .cm-support .cs-chat .cs-transcript { padding:14px 12px; }
 .cm-support .cm-search input { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .cm-workspace.t-page-slide>.t-page,.cm-support .cm-row,.cm-row::before { transition:none!important; filter:none!important; transform:none!important; }
}

.cm-support .cs-chat-send .ui-pending-copy { display:none; }
.cm-support .cs-chat-send { white-space:nowrap; flex-wrap:nowrap; }
.acc-app .cm-support :is(input,select,button,a):focus-visible,.acc-app .cm-support .cs-chat #replyMessage:focus-visible,.acc-app .cm-support .cs-transcript:focus-visible,.acc-app .cm-support .cm-inbox-scroll:focus-visible { outline-color:var(--acc-v1-focus); }

/* Support final polish: retain messenger geometry and shared motion recipes. */
.cm-support .cm-workspace { border-color:color-mix(in srgb,var(--acc-border) 75%,transparent); }
.cm-support .cm-inbox { background:color-mix(in srgb,var(--acc-canvas) 30%,var(--acc-surface)); }
.cm-support .cm-inbox-head { padding:12px 14px 8px; }
.cm-support .cm-inbox-head>div:first-child { margin-bottom:8px; }
.cm-support .cm-filter { padding-top:4px; }
.cm-support .cm-row:not([aria-current=true]) .cm-row-title { color:color-mix(in srgb,var(--acc-text) 85%,var(--acc-text-muted)); }
.cm-support .cm-search { position:relative; }
.cm-support .cm-search input { padding-inline-end:48px; }
.cm-support .cm-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
.cm-support .cm-search [data-support-clear] { position:absolute; inset-inline-end:0; top:0; }
.cm-support .cm-search [data-support-clear][hidden] { display:none!important; }
.cm-support .cm-search.t-clear { overflow:visible; }
.cm-support .cs-chat .cs-chat-head { padding:10px 18px; }
.cm-support .cs-chat .cs-chat-head h2 { margin:0; }
.cm-support .cs-chat .acc-detail-meta { margin-top:4px; }
.cm-support .cs-chat .cs-bubble { margin-top:12px; border-color:color-mix(in srgb,var(--acc-border) 65%,transparent); }
.cm-support .cs-chat .cs-bubble:first-child { margin-top:0; }
.cm-support .cs-chat .cs-bubble.cs-same-author { margin-top:5px; }
.cm-support .cs-chat .cs-bubble.cs-staff { background:color-mix(in srgb,var(--accent) 3%,var(--acc-surface)); border-color:color-mix(in srgb,var(--acc-border) 65%,transparent); }
.cm-support .cs-chat #replyMessage::placeholder { color:var(--acc-text-muted); opacity:1; }
.cm-support .cs-chat .cs-chat-field.is-clearing #replyMessage::placeholder { color:transparent; }
@media(max-width:780px) {
 .cm-support .cs-chat .cs-chat-head { padding:10px 12px; }
}

/* Account Profile Sheet: continuous details with section-local editing. */
.acc-app .ap-profile { max-width:1040px; margin-inline:auto; color:var(--acc-text); font:14px/1.7 Vazirmatn,system-ui,sans-serif; --resize-dur:300ms; --panel-open-dur:250ms; --panel-close-dur:200ms; --panel-translate-y:6px; --panel-blur:2px; --text-swap-dur:150ms; --text-swap-y:4px; --text-swap-blur:2px; --check-y-amount:6px; --check-blur-from:2px; }
.ap-profile .ap-heading { margin-bottom:24px; }
.ap-profile .ap-heading-loading { height:60.4px; display:grid; align-content:start; justify-items:start; gap:4px; }
.ap-profile .ap-heading-loading span { width:160px; height:36px; border-radius:4px; background:var(--acc-surface-2); }
.ap-profile .ap-heading-loading span+span { width:230px; height:20.4px; }
.acc-app .ap-profile .ap-heading h1 { margin:0 0 4px; font-size:24px; line-height:36px; font-weight:650; }
.ap-profile p { margin:0; color:var(--acc-text-muted); font-size:12px; }
.ap-profile .ap-identity { display:flex; align-items:center; gap:14px; min-width:0; min-height:88px; padding:16px 0 24px; border-bottom:1px solid var(--acc-border); box-sizing:border-box; }
.ap-profile .ap-monogram { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border-radius:50%; background:var(--acc-surface-2); border:1px solid var(--acc-border); color:var(--acc-text); font-size:15px; }
.ap-profile .ap-owner { min-width:0; display:grid; gap:2px; }
.ap-profile .ap-owner-name { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.ap-profile .ap-owner bdi { color:var(--acc-text-muted); font-size:12px; text-align:start; overflow-wrap:anywhere; }
.ap-profile .ap-sheet { min-width:0; }
.ap-profile .ap-section { min-width:0; padding:24px 0 28px; background:transparent; border:0; border-bottom:1px solid var(--acc-border); border-radius:0; box-shadow:none; scroll-margin-top:76px; }
.ap-profile .ap-section:last-child { border-bottom:0; padding-bottom:8px; }
.ap-profile .ap-section-head { display:flex; align-items:center; justify-content:flex-start; gap:24px; margin-bottom:16px; }
.acc-app .ap-profile .ap-section-head h2 { margin:0 0 3px; font-size:16px; line-height:27px; font-weight:650; }
.ap-profile .ap-section-head h2:focus { outline:none; }
.ap-profile .ap-section-head>div:first-child { min-width:0; }
.ap-profile .ap-header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.ap-profile .ap-edit { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:0; background:transparent; color:var(--acc-text-muted); padding:0 8px; height:44px; width:80px; border-radius:7px; cursor:pointer; font:inherit; font-size:12px; transition:color 150ms ease-out,background-color 150ms ease-out; }
.ap-profile .ap-edit[hidden] { display:none; }
@media(hover:hover) and (pointer:fine) { .ap-profile .ap-edit:hover { color:var(--acc-text); background:var(--acc-surface-2); } }
.ap-profile .ap-values,.ap-profile .ap-contact-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:16px 32px; }
.ap-profile .ap-stage { max-width:852px; }
.ap-profile .ap-contact-values { max-width:840px; }
.ap-profile .ap-values-address { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ap-profile .ap-values dt,.ap-profile .ap-contact-values dt { color:var(--acc-text-muted); font-size:12px; margin:0 0 4px; }
.ap-profile .ap-values dd,.ap-profile .ap-contact-values dd { margin:0; font-size:14px; font-weight:400; line-height:25px; overflow-wrap:anywhere; text-align:start; }
.ap-profile .ap-values>div,.ap-profile .ap-contact-values>div { min-width:0; }
.ap-profile .ap-values dd.ap-missing { color:var(--acc-text-muted); }
.ap-profile .ap-wide { grid-column:1/-1; }
.ap-profile .ap-contact-values dd { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.ap-profile .ap-contact-values bdi { min-width:0; overflow-wrap:anywhere; }
.ap-profile .ap-contact-values small { font-size:11px; color:var(--acc-text-muted); white-space:nowrap; }
.ap-profile .ap-stage { position:relative; margin:-6px; }
.ap-profile .ap-stage.t-resize { overflow:hidden; }
.ap-profile .ap-view,.ap-profile .ap-form { width:100%; padding:6px; box-sizing:border-box; }
.ap-profile .ap-view { position:relative; display:block; }
.ap-profile .ap-form { position:absolute; top:0; inset-inline:0; margin:0; border:0; background:none; box-shadow:none; border-radius:0; pointer-events:none; visibility:hidden; }
.ap-profile [data-editing=true] .ap-view { position:absolute; top:0; inset-inline:0; }
.ap-profile [data-editing=true] .ap-form { position:relative; pointer-events:auto; visibility:visible; }
.ap-profile .ap-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.ap-profile .ap-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.ap-profile .ap-fields-personal { gap:14px 32px; }
.ap-profile .ap-field { min-width:0; }
.ap-profile .ap-fields-personal .ap-field label { margin-bottom:4px; }
.ap-profile .ap-field label { display:flex; align-items:baseline; gap:6px; color:var(--acc-text-muted); font-size:12px; margin-bottom:6px; }
.ap-profile .ap-field label small { font-size:10px; }
.ap-profile .ap-field input,.ap-profile .ap-field textarea { display:block; width:100%; min-width:0; height:44px; margin:0; padding:9px 12px; border:1px solid var(--acc-border-strong); border-radius:7px; background:var(--acc-surface-2); color:var(--acc-text); font:inherit; font-size:14px; line-height:24px; box-shadow:none; }
.acc-app[data-theme=light] .ap-profile .ap-field :is(input,textarea) { background:var(--acc-surface); }
.ap-profile .ap-field textarea { min-height:72px; height:72px; max-height:180px; resize:vertical; }
.ap-profile .ap-help { display:block; color:var(--acc-text-muted); font-size:10px; line-height:18px; margin-top:4px; }
.ap-profile .ap-help:empty,.ap-profile .acc-field-error:empty,.ap-profile .acc-form-summary:empty,.ap-profile .ap-failure:empty { display:none; }
.ap-profile .acc-field-error,.ap-profile .acc-form-summary,.ap-profile .ap-failure { color:#dd8e89; font-size:11px; line-height:20px; margin:5px 0 0; }
.ap-profile .acc-form-summary { margin:0 0 12px; }
.ap-profile .is-invalid { border-color:#dd8e89!important; }
.acc-app[data-theme=light] .ap-profile :is(.acc-field-error,.acc-form-summary,.ap-failure) { color:#9b3932; }
.ap-profile .ap-form-footer { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:18px; padding-top:0; transition-delay:40ms; }
.ap-profile .ap-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 16px; border-radius:7px; border:1px solid var(--acc-border-strong); background:transparent; color:var(--acc-text); font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.ap-profile .ap-button:hover { background:var(--acc-surface-2); }
.ap-profile .ap-primary { min-width:132px; }
.ap-profile .ap-primary,.ap-profile .ap-primary:hover { background:var(--accent); border-color:var(--accent); color:#27282c; }
.acc-app[data-theme=light] .ap-profile .ap-primary { background:#27282c; border-color:#27282c; color:#fff; }
.ap-profile button:disabled { opacity:.5; cursor:default; }
.ap-profile button[aria-busy=true],.ap-profile button[data-saved=true] { opacity:1; }
.ap-profile .ap-section-status { display:flex; align-items:center; justify-content:flex-end; gap:5px; min-height:20px; width:70px; font-size:11px; color:var(--acc-text-muted); }
.ap-profile .ap-check:empty { display:none; }
.ap-profile :is(input,textarea,button):focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:3px; }

.ap-profile .ap-reveal>.t-skel-content { position:relative; }
.ap-profile .ap-reveal:not(.is-revealed) { min-height:650px; }
.ap-profile .ap-skeleton { pointer-events:none; }
.ap-profile .ap-skeleton span { display:block; height:20px; background:var(--acc-surface-2); border-radius:4px; }
.ap-profile .ap-skeleton-identity { display:flex; align-items:center; gap:14px; height:88px; border-bottom:1px solid var(--acc-border); }
.ap-profile .ap-skeleton .ap-skeleton-avatar { width:48px; height:48px; border-radius:50%; }
.ap-profile .ap-skeleton-identity>div { display:grid; gap:8px; width:200px; }
.ap-profile .ap-skeleton-identity>div>span:first-child { width:60%; }
.ap-profile .ap-skeleton-section { padding:24px 0 28px; border-bottom:1px solid var(--acc-border); }
.ap-profile .ap-skeleton .ap-skeleton-heading { width:130px; margin-bottom:24px; }
.ap-profile .ap-skeleton-section>div { display:grid; grid-template-columns:1fr 1fr; max-width:840px; gap:16px 32px; }
.ap-profile .ap-skeleton-section>div>span { width:65%; height:44px; }
.ap-profile .ap-load-error { padding:24px 0; }
@media(min-width:781px) {
 .ap-profile .ap-contact { padding-bottom:22px; }
 .acc-app .ap-profile .ap-contact h2 { margin-bottom:2px; }
 .ap-profile .ap-contact .ap-section-head { margin-bottom:12px; }
}
@media(min-width:1101px) { .acc-app .ap-profile { margin-top:-8px; } }
@media(max-width:780px) {
 .ap-profile .ap-heading-loading { height:57.4px; }
 .ap-profile .ap-heading-loading span:first-child { height:33px; }
 .acc-app .ap-profile .ap-heading h1 { font-size:22px; line-height:33px; }
 .ap-profile .ap-section { padding:24px 0; }
 .ap-profile .ap-section-head { gap:12px; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
 .ap-profile .ap-header-actions { position:relative; }
 .ap-profile .ap-section-status { position:absolute; top:44px; inset-inline-end:0; font-size:10px; width:72px; }
 .ap-profile .ap-edit { width:72px; }
 .ap-profile .ap-values,.ap-profile .ap-contact-values { grid-template-columns:minmax(0,1fr); gap:16px; }
 .ap-profile .ap-fields { grid-template-columns:minmax(0,1fr); gap:14px; }
 .ap-profile .ap-field input,.ap-profile .ap-field textarea { font-size:16px; }
 .ap-profile .ap-form-footer { flex-direction:column; align-items:stretch; }
 .ap-profile .ap-form-footer .ap-primary { width:100%; }
 .ap-profile .ap-form-footer [data-section-cancel] { align-self:flex-end; }
 .ap-profile .ap-skeleton-section>div { grid-template-columns:1fr; }
 .ap-profile .ap-reveal:not(.is-revealed) { min-height:1100px; }
}
@media(prefers-reduced-motion:reduce) {
 .ap-profile .ap-stage,.ap-profile .t-panel-slide,.ap-profile .t-text-swap,.ap-profile .t-icon { transition:none!important; transition-delay:0ms!important; }
 .ap-profile .t-panel-slide,.ap-profile .t-text-swap { transform:none!important; filter:none!important; }
}
/* Account-only Jalali birthday picker; no shared motion overrides. */
.ap-profile .ap-field input[type=hidden] { display:none; }
.ap-profile .ap-birthday-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; height:44px; padding:9px 12px; border:1px solid var(--acc-border-strong); border-radius:7px; background:var(--acc-surface-2); color:var(--acc-text); font:inherit; text-align:start; cursor:pointer; }
.ap-profile .ap-birthday-trigger svg { fill:none; stroke:currentColor; flex:none; color:var(--acc-text-muted); }
.acc-app[data-theme=light] .ap-birthday-trigger { background:var(--acc-surface); }
.ap-profile .ap-birthday-trigger[aria-invalid=true] { border-color:#dd8e89; }
.ap-calendar { position:fixed; inset:auto; margin:0; width:336px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:10px 12px; box-sizing:border-box; overflow:auto; border:1px solid var(--acc-border-strong); border-radius:10px; background:var(--acc-surface); color:var(--acc-text); font:14px/1.7 Vazirmatn,system-ui,sans-serif; box-shadow:0 8px 28px #0000001f; z-index:160; opacity:0; transform:translateY(4px) scale(.97); transform-origin:top right; transition:opacity 250ms cubic-bezier(.22,1,.36,1),transform 250ms cubic-bezier(.22,1,.36,1); }
.ap-calendar[open] { display:flex; flex-direction:column; }
.ap-calendar>div:not(.ap-calendar-body),.ap-calendar>footer { flex-shrink:0; }
.ap-calendar[data-origin=bottom] { transform-origin:bottom right; }
.ap-calendar.is-open { opacity:1; transform:translateY(0) scale(1); }
.ap-calendar.is-closing { opacity:0; transform:translateY(4px) scale(.99); transition-duration:150ms; pointer-events:none; }
.ap-calendar button { box-sizing:border-box; appearance:none; border:1px solid transparent; border-radius:7px; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:0 6px; min-height:44px; }
.ap-calendar button:disabled { opacity:.35; cursor:default; }
.ap-calendar button:focus-visible { outline:2px solid var(--acc-v1-focus); outline-offset:-2px; position:relative; z-index:1; }
.ap-calendar-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:0; }
.ap-calendar-top strong { font-size:14px; font-weight:600; line-height:20px; }
.ap-calendar-top span { display:block; font-size:12px; color:var(--acc-text-muted); min-height:18px; line-height:18px; }
.ap-calendar-top button { width:44px; font-size:22px; color:var(--acc-text-muted); }
.ap-calendar-navigation { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; margin-bottom:0; }
.ap-calendar-navigation>button { font:24px/1 system-ui; }
.ap-calendar-level button { font-size:13px; font-weight:600; }
.ap-calendar-level { display:flex; align-items:center; justify-content:center; gap:2px; min-width:0; }
.ap-calendar-level [data-cal=years]::after { content:"⌄"; padding-inline-start:5px; color:var(--acc-text-muted); }
.ap-calendar-level button[hidden] { display:none; }
.ap-calendar-body { min-height:0; height:204px; flex:0 1 auto; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.ap-calendar-weekdays,.ap-calendar [role=row] { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.ap-calendar-weekdays { height:24px; align-items:center; text-align:center; font-size:11px; color:var(--acc-text-muted); }
.ap-calendar-weekdays abbr { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.ap-calendar [role=gridcell] { position:relative; min-height:36px; height:36px; font-size:13px; padding:0; transition:background-color 120ms ease-out,color 120ms ease-out,border-color 120ms ease-out; }
.ap-calendar [aria-selected=true] { background:#FEDB99; color:#27282c; font-weight:650; border-color:#FEDB99; }
.ap-calendar-check { position:absolute; bottom:0; inset-inline-end:3px; font-size:8px; line-height:10px; }
.ap-calendar [aria-current=date]:not([aria-selected=true])::after { content:""; position:absolute; width:3px; height:3px; border-radius:50%; background:currentColor; bottom:3px; left:calc(50% - 1.5px); }
.ap-calendar-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding-top:0; }
.ap-calendar [aria-pressed=true] { background:color-mix(in srgb,#FEDB99 12%,var(--acc-surface)); border-color:color-mix(in srgb,#FEDB99 60%,var(--acc-border)); }
.ap-calendar-hint { font-size:11px; color:var(--acc-text-muted); margin:4px 0 0; line-height:14px; text-align:center; }
.ap-calendar-footer { display:flex; align-items:center; gap:4px; margin-top:0; padding-top:0; border-top:1px solid var(--acc-border); }
.ap-calendar-footer small { margin-inline-end:auto; font-size:10px; color:var(--acc-text-muted); }
.ap-calendar-footer button { font-size:11px; }
@media(hover:hover) and (pointer:fine) {
 .ap-calendar button:not(:disabled):not([aria-selected=true]):hover { background:var(--acc-surface-2); }
 .ap-profile .ap-birthday-trigger:hover { border-color:var(--acc-text-muted); }
}
@media(max-width:780px) {
 .ap-calendar { inset:0; margin:auto; width:390px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 160px - env(safe-area-inset-bottom)); transform:translateY(4px) scale(.96); transform-origin:center; }
 .ap-calendar::backdrop { background:#0008; }
 .ap-calendar { box-shadow:0 12px 32px #00000033; }
 .ap-calendar [role=gridcell] { min-height:44px; height:44px; }
 .ap-calendar-body { height:288px; }
 .ap-calendar.is-closing { transform:translateY(4px) scale(.96); }
}
@media(prefers-reduced-motion:reduce) {
 .ap-calendar,.ap-calendar.is-open,.ap-calendar.is-closing { transition:none; transform:none; }
 .ap-calendar [role=gridcell] { transition:none; }
}

.acc-app[data-theme=light] .ap-calendar { background:color-mix(in srgb,var(--acc-surface) 88%,var(--acc-canvas)); border-color:var(--acc-border-strong); }

/* Customer Cart replacement: contained items and one checkout workspace. */
.acc-app .cc-cart{width:100%;max-width:1040px;margin-inline:auto;gap:8px;color:var(--acc-text);font-size:14px;line-height:1.7;--digit-dur:500ms;--digit-distance:8px;--digit-stagger:70ms;--digit-blur:2px;--digit-ease:cubic-bezier(.34,1.45,.64,1);--digit-dir-x:0;--digit-dir-y:1;--resize-dur:300ms;--resize-ease:cubic-bezier(.22,1,.36,1);--text-swap-dur:150ms;--text-swap-translate-y:4px;--text-swap-blur:2px;--text-swap-ease:ease-in-out;}
.acc-app .cc-cart :is(h2,h3,p,dl,dd){margin:0;}
.acc-app .cc-cart > .ui-page-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0;}
.acc-app .cc-cart > .ui-page-header h1{font-size:24px;line-height:1.5;}
.acc-app .cc-cart > .ui-page-header p{font-size:12px;margin-top:6px;}
.acc-app .cc-cart .ui-page-actions{margin:0;}
.acc-app .cc-continue{display:inline-flex;align-items:center;gap:6px;padding:8px 8px;min-height:44px;border:0;border-radius:8px;background:none;color:var(--acc-text-muted);font:inherit;font-size:12px;cursor:pointer;}
.acc-app .cc-continue:hover{background:var(--acc-surface-2);color:var(--acc-text);}
.acc-app .cc-workspace{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:20px;align-items:start;border-top:0;padding-top:0;}
.acc-app .cc-items{min-width:0;}
.acc-app .cc-section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:28px;padding-inline:2px;}
.acc-app .cc-cart h2{font-size:16px;font-weight:650;line-height:1.6;}
.acc-app .cc-section-head > span{color:var(--acc-text-muted);font-size:12px;}
.acc-app .cc-item-list{display:flex;flex-direction:column;gap:0;}
.acc-app .cc-item-shell{min-width:0;position:relative;}
.acc-app .cc-item-shell::after{content:'';display:block;height:10px;}
.acc-app .cc-item{display:block;width:100%;border:1px solid var(--acc-border);border-radius:12px;background:color-mix(in srgb,var(--acc-surface) 65%,var(--acc-canvas));padding:16px;}
.acc-app .cc-item-heading{display:flex;gap:14px;align-items:flex-start;}
.acc-app .cc-art{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;overflow:hidden;border-radius:10px;border:1px solid var(--acc-border);background:var(--acc-surface-2);color:var(--acc-text-muted);}
.acc-app .cc-art img{width:100%;height:100%;object-fit:cover;display:block;}
.acc-app .cc-art [hidden]{display:none;}
.acc-app .cc-identity{min-width:0;padding-top:3px;}
.acc-app .cc-identity h3{font-size:14px;font-weight:650;line-height:1.8;text-align:right;overflow-wrap:anywhere;text-wrap:pretty;}
.acc-app .cc-meta{display:flex;gap:4px 10px;flex-wrap:wrap;color:var(--acc-text-muted);font-size:12px;margin-top:4px;}
.acc-app .cc-meta span+span{border-inline-start:1px solid var(--acc-border-strong);padding-inline-start:10px;}
.acc-app .cc-item-body{padding-inline-start:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--acc-border);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;}
.acc-app .cc-item-prices{display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.acc-app .cc-item-payable{display:flex;flex-direction:column;align-items:flex-start;gap:0;}
.acc-app .cc-item-payable > span,.acc-app .cc-unit > span:first-child{font-size:11px;color:var(--acc-text-muted);}
.acc-app .cc-item-payable strong{font-size:19px;font-weight:700;line-height:1.6;}
.acc-app .cc-unit{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 5px;font-size:11px;color:var(--acc-text-muted);}
.acc-app .cc-source{display:flex;flex-basis:100%;gap:4px;padding-inline-start:0;margin-inline-start:0;border:0;font-size:10px;line-height:1.5;color:var(--acc-text-muted);}
.acc-app .cc-money{display:inline-flex;gap:5px;align-items:baseline;white-space:nowrap;}
.acc-app .cc-money small{font-size:11px;font-weight:400;}
.acc-app .cc-delivery-price{font-size:11px;color:var(--acc-text-muted);margin-top:5px;}
.acc-app .cc-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 8px;margin-top:0;}
.acc-app .cc-quantity{display:flex;align-items:center;gap:8px;}
.acc-app .cc-quantity > label{font-size:12px;color:var(--acc-text-muted);}
.acc-app .cc-stepper{display:inline-flex;direction:ltr;align-items:center;height:44px;border:1px solid var(--acc-border-strong);border-radius:8px;background:var(--acc-surface-2);}
.acc-app .cc-stepper button{width:44px;height:44px;flex:0 0 44px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--acc-text);font:inherit;font-size:20px;cursor:pointer;}
.acc-app .cc-stepper input{width:44px;height:44px;min-width:0;padding:0;border:0;border-inline:1px solid var(--acc-border);border-radius:0;background:transparent;box-shadow:none;color:var(--acc-text);font:inherit;font-size:14px;font-weight:600;text-align:center;appearance:textfield;}
.acc-app .cc-stepper input::-webkit-inner-spin-button,.acc-app .cc-stepper input::-webkit-outer-spin-button{appearance:none;margin:0;}
.acc-app .cc-stepper button:not(:disabled):hover{background:var(--acc-accent-surface);color:var(--acc-text);}
.acc-app .cc-remove,.acc-app .cc-clear{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--acc-text-muted);font:inherit;font-size:12px;cursor:pointer;}
.acc-app .cc-remove:hover,.acc-app .cc-clear:hover{border-color:var(--acc-border);background:var(--acc-surface-2);color:var(--acc-danger);}
.acc-app .cc-list-footer{display:flex;justify-content:flex-start;padding-top:0;padding-inline:6px;}
.acc-app .cc-item-progress{font-size:11px;color:var(--acc-text-muted);}
.acc-app .cc-item-progress:empty{display:none;}
.acc-app .cc-item-progress .ui-pending-copy{font-size:11px;}
.acc-app .cc-cart :is(button,input,select):focus-visible{outline:2px solid var(--acc-v1-focus);outline-offset:3px;border-radius:8px;box-shadow:none;}
.acc-app .cc-stepper:has(input[aria-invalid=true]){border-color:var(--acc-danger);}
.acc-app .cc-cart :is(button,input,select):disabled{cursor:not-allowed;opacity:.45;transform:none;}
.acc-app .cc-summary{padding:20px;border:1px solid color-mix(in srgb,var(--acc-border-strong) 65%,var(--acc-border));border-radius:12px;background:var(--acc-surface);min-width:0;margin-top:40px;}
.acc-app .cc-summary h2{display:flex;align-items:center;margin-bottom:16px;}
.acc-app .cc-breakdown{display:flex;flex-direction:column;gap:12px;font-size:12px;}
.acc-app .cc-breakdown > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.acc-app .cc-breakdown dt{color:var(--acc-text-muted);}
.acc-app .cc-breakdown dd{white-space:nowrap;}
.acc-app .cc-rate{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--acc-text-muted);margin-top:12px;}
.acc-app .cc-payable{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--acc-border);padding-top:14px;margin:14px 0;}
.acc-app .cc-payable > span{font-size:12px;color:var(--acc-text-muted);}
.acc-app .cc-payable > strong{font-size:27px;line-height:1.6;font-weight:700;}
.acc-app .cc-cart .ui-button{min-height:44px;padding:8px 14px;border-radius:8px;font-size:13px;box-shadow:none;transform:none;}
.acc-app .cc-submit{width:100%;background:var(--acc-commerce);border:1px solid var(--acc-commerce);color:var(--acc-commerce-text);}
.acc-app .cc-cart .cc-submit:disabled{background:var(--acc-surface-2);color:var(--acc-text-muted);border-color:var(--acc-border);}
.acc-app .cc-note{color:var(--acc-text-muted);font-size:11px;line-height:1.8;margin-top:10px;}
.acc-app .cc-payment{display:grid;gap:12px;}
.acc-app .cc-confirmed,.acc-app .cc-wallet{font-size:12px;color:var(--acc-text-muted);}
.acc-app .cc-payment .ui-field{margin:0;gap:6px;}
.acc-app .cc-payment .ui-label{font-size:12px;}
.acc-app .cc-payment .ui-input{min-height:44px;height:44px;padding:8px 10px;border-radius:8px;}
.acc-app .cc-error{font-size:12px;line-height:1.9;color:var(--acc-danger);margin-top:10px;overflow-wrap:anywhere;}
.acc-app .cc-summary > .cc-error{margin-bottom:12px;}
.acc-app .cc-item-body > .cc-error,.acc-app .cc-delivery-price{flex-basis:100%;}
.acc-app .cc-item-body > .cc-error{grid-row:3;}
.acc-app .cc-item-actions:has(.cc-item-progress .ui-pending){position:relative;}
.acc-app .cc-item-progress:not(:empty){position:absolute;inset-inline-end:0;top:0;width:60px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.acc-app .cc-item-actions:has(.cc-item-progress .ui-pending) .cc-remove{visibility:hidden;}
.acc-app .cc-item-progress .ui-pending-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.acc-app .cc-error[hidden]{display:none;}
.acc-app .cc-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:280px;padding:32px 20px;border:1px solid var(--acc-border);border-radius:12px;background:color-mix(in srgb,var(--acc-surface) 65%,var(--acc-canvas));}
.acc-app .cc-state p{font-size:13px;color:var(--acc-text-muted);}
.acc-app .cc-empty-icon{display:grid;place-items:center;color:var(--acc-text-muted);margin-bottom:4px;}

.acc-app .cc-cart .ui-page-content{display:flex;flex-direction:column;gap:16px;}
.acc-app .cc-flow{padding:8px 0 14px;border-bottom:1px solid var(--acc-border);}
.acc-app .cc-flow ol{display:flex;list-style:none;margin:0;padding:0;max-width:700px;}
.acc-app .cc-flow-step{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:var(--acc-text-muted);font-size:13px;}
.acc-app .cc-flow-step:not(:last-child)::after{content:"";height:1px;background:var(--acc-border-strong);flex:1;margin:0 18px;}
.acc-app .cc-flow-step:last-child{flex:0 0 auto;}
.acc-app .cc-flow-marker{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid var(--acc-border-strong);border-radius:50%;font-size:12px;font-weight:500;}
.acc-app .cc-flow-label{white-space:nowrap;}
.acc-app .cc-flow-step[aria-current=step]{color:var(--acc-text);font-weight:700;}
.acc-app .cc-flow-step[aria-current=step] .cc-flow-marker{color:#262422;border-color:#fedb99;background:#fedb99;font-weight:700;box-shadow:none;}
.acc-app .cc-flow-step[data-step-state=complete] .cc-flow-marker{color:var(--acc-text);border-color:var(--acc-border-strong);}
.acc-app .cc-flow-step[data-step-state=complete]::after{background:color-mix(in srgb,#fedb99 45%,var(--acc-border-strong));}
.acc-app .cc-stepper button:not(:disabled):active{background:var(--acc-accent-surface-strong,var(--acc-surface));}
.acc-app .cc-item-actions .cc-remove{border-color:transparent;border-radius:8px;padding-inline:8px;}
.acc-app .cc-cart .cc-stepper input:disabled{opacity:1;}
.acc-app .cc-stepper input{font-variant-numeric:tabular-nums;border-inline-color:var(--acc-border-strong);}
.acc-app .cc-stepper button{display:grid;place-items:center;line-height:1;}
.acc-app .cc-item-body{column-gap:20px;}
.acc-app .cc-item-actions{margin-inline-start:0;}
.acc-app[data-theme=light] .cc-item{border-color:color-mix(in srgb,var(--acc-border-strong) 12%,var(--acc-border));}
.acc-app[data-theme=light] .cc-summary{background:var(--acc-surface);border-color:color-mix(in srgb,var(--acc-border-strong) 30%,var(--acc-border));}
.acc-app .cc-clear{color:color-mix(in srgb,var(--acc-text-muted) 94%,var(--acc-canvas));}
.acc-app .cc-clear:is(:hover,:focus-visible){color:var(--acc-danger);}
@media(min-width:601px){.acc-app .cc-cart .ui-page-actions{align-self:flex-start;margin-top:-4px;}}
@media(min-width:1151px){.acc-app .cc-item-prices{width:280px;}.acc-app .cc-item-payable{flex-direction:row;align-items:baseline;gap:4px 10px;}}
@media(min-width:1100px) and (min-height:760px){.acc-app .cc-summary{position:sticky;top:80px;align-self:start;}}
@media(max-width:1150px){.acc-app .cc-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:16px;}.acc-app .cc-item-body{gap:10px;}.acc-app .cc-item-actions{margin:0;}}
@media(max-width:900px){.acc-app .cc-workspace{grid-template-columns:minmax(0,1fr);gap:14px;}.acc-app .cc-summary{padding:18px;margin-top:0;}.acc-app .cc-summary h2{margin-bottom:14px;}.acc-app .cc-payable{flex-direction:row;justify-content:space-between;align-items:baseline;}}
@media(max-width:600px){.acc-app .cc-cart{gap:10px;padding-bottom:16px;}.acc-app .cc-cart > .ui-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;}.acc-app .cc-cart .ui-page-heading{display:contents;}.acc-app .cc-cart > .ui-page-header h1{grid-column:1;grid-row:1;font-size:21px;}.acc-app .cc-cart > .ui-page-header p{grid-column:1/-1;grid-row:2;margin:0;}.acc-app .cc-cart .ui-page-actions{grid-column:2;grid-row:1;width:auto;}.acc-app .cc-cart .ui-page-content{gap:14px;}.acc-app .cc-flow{padding:8px 0 10px;}.acc-app .cc-flow-step{font-size:12px;gap:7px;}.acc-app .cc-flow-marker{width:20px;height:20px;flex-basis:20px;font-size:11px;}.acc-app .cc-flow-step:not(:last-child)::after{margin:0 3px;min-width:6px;}.acc-app .cc-item{padding:14px 14px 12px;}.acc-app .cc-art{width:52px;height:52px;flex-basis:52px;border-radius:8px;}.acc-app .cc-item-heading{gap:12px;align-items:flex-start;}.acc-app .cc-item-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;padding-top:8px;}.acc-app .cc-item-payable strong{font-size:18px;}.acc-app .cc-item-payable{gap:0;}.acc-app .cc-unit{font-size:11px;}.acc-app .cc-source{font-size:10px;}.acc-app .cc-item-actions{gap:8px;margin-inline-start:0;}.acc-app .cc-payable > strong{font-size:23px;}.acc-app .cc-state{min-height:260px;}}
@media(prefers-reduced-motion:reduce){.acc-app .cc-cart .t-digit{animation:none!important;transform:none!important;filter:none!important;}.acc-app .cc-cart .t-text-swap,.acc-app .cc-cart .t-resize{transition:none!important;}}
/* Customer Notifications — bounded inbox; all rules remain Notifications-only. */
.cn-notifications{max-width:var(--acc-readable-max);margin-inline:auto;color:var(--ink);padding-bottom:8px}
.cn-reading{max-width:860px;margin-inline-start:0;margin-inline-end:auto}
.cn-header{margin-bottom:12px}
.cn-header h1{font-size:24px;line-height:1.5;font-weight:750;margin:0 0 4px;scroll-margin-top:90px}
.cn-header p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.cn-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding-block:2px;margin-bottom:10px}
.cn-overview>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12px;line-height:1.8;color:var(--muted)}
.cn-overview>div>span:first-child{color:var(--ink);font-weight:650}
.cn-overview-separator{opacity:.55}
.cn-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--acc-border);border-radius:8px;background:transparent;color:var(--ink);font-size:12px;font-weight:600;line-height:1.6;cursor:pointer;flex-shrink:0;box-shadow:none}
.cn-button[hidden]{display:none}
.cn-button:focus-visible{outline:2px solid #FEDB99;outline-offset:2px;box-shadow:none}
body[data-theme="light"] .cn-button:focus-visible{outline-color:#895c0c}
.cn-button:disabled{opacity:.45;cursor:default}
.cn-refresh{min-width:126px;background:var(--acc-surface)}
.cn-refresh .ui-pending{font-size:12px;gap:7px}
.cn-inbox{border:1px solid var(--acc-border);border-radius:12px;background:var(--acc-surface)}
.cn-stream.t-skel-content{position:static;inset:auto;opacity:1;filter:none;list-style:none;margin:0;padding:0;transition:none}
.cn-row{--cn-preview-lines:2;position:relative;padding:13px 20px 8px;border-bottom:1px solid var(--acc-border);transition:background-color 150ms ease-in-out}
.cn-row:first-child{border-radius:11px 11px 0 0}
.cn-row:last-child{border-bottom:0;border-radius:0 0 11px 11px}
.cn-row:only-child{border-radius:11px}
.cn-row.is-unread{background:color-mix(in srgb,#FEDB99 2.5%,transparent)}
body[data-theme="light"] .cn-row.is-unread{background:color-mix(in srgb,#FEDB99 4%,transparent)}
.cn-title-line{display:flex;align-items:baseline;gap:10px}
.cn-title-line h2{min-width:0;margin:0;font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;color:var(--muted);text-align:start}
.cn-row.is-unread h2{font-weight:650;color:var(--ink)}
.cn-dot{width:3px;height:15px;flex:0 0 3px;border-radius:3px;background:transparent;align-self:flex-start;margin-top:4px}
.cn-row.is-unread .cn-dot{background:#FEDB99}
body[data-theme="light"] .cn-row.is-unread .cn-dot{background:#a67629}
.cn-message{min-width:0;margin-inline-start:13px}
.cn-body-window.t-resize{overflow:hidden;height:auto;transition:none}
.cn-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--cn-preview-lines);overflow:hidden;margin:4px 0 0;font-size:13px;font-weight:400;line-height:1.7;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext;text-align:start;user-select:text}
.cn-row.is-unread .cn-body{color:color-mix(in srgb,var(--ink) 40%,var(--muted))}
.cn-row[data-expanded="true"] .cn-body{display:block;-webkit-line-clamp:unset}
.cn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.8;min-height:44px}
.cn-meta time{white-space:nowrap}
.cn-meta-divider{width:1px;height:12px;background:var(--acc-border-strong);margin-inline:2px}
.cn-read,.cn-expand{border-color:transparent;padding-inline:8px;background:transparent;min-height:44px}
.cn-read{width:88px;font-weight:500}
.cn-read:not([aria-disabled="true"]):focus-visible{color:#FEDB99}
body[data-theme="light"] .cn-read:not([aria-disabled="true"]):focus-visible{color:#895c0c}
.cn-read[aria-disabled="true"]{color:var(--muted);cursor:default}
.cn-read .ui-pending{gap:5px;font-size:11px}
.cn-read .t-text-swap{display:inline-block}
.cn-expand{color:var(--muted);font-weight:500}
.cn-row-error{font-size:12px;line-height:1.8;margin:2px 0 7px;color:var(--danger)}
.cn-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cn-feedback:empty{display:none}
.cn-feedback{font-size:12px;line-height:1.8}
.cn-load-error{padding:18px 20px;border-bottom:1px solid var(--acc-border)}
.cn-load-error strong{display:block;font-size:14px;font-weight:650}
.cn-load-error p{margin:4px 0 10px;color:var(--muted)}
.cn-initial-error{min-height:224px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-bottom:0;border-radius:12px;padding:28px}
.cn-state{min-height:224px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;padding:28px}
.cn-state h2{font-size:16px;font-weight:650;margin:0}
.cn-state p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.cn-empty-icon{display:flex;color:var(--muted);margin-bottom:4px}
.cn-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--acc-border);border-radius:0 0 12px 12px}
.cn-pagination>span{font-size:12px;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.cn-button:not(:disabled):not([aria-disabled="true"]):hover{background:var(--acc-surface-2);border-color:var(--acc-border-strong)}}
@media(hover:hover) and (pointer:fine){.cn-read:not(:disabled):not([aria-disabled="true"]):hover{background:transparent;border-color:transparent;color:#FEDB99}body[data-theme="light"] .cn-read:not(:disabled):not([aria-disabled="true"]):hover{color:#895c0c}}
@media(max-width:767px){
 .cn-notifications{padding-bottom:16px}
 .cn-header{margin-bottom:13px}
 .cn-header h1{font-size:21px;scroll-margin-top:82px}
 .cn-overview{gap:8px;min-height:44px;padding-block:0;margin-bottom:10px}
 .cn-overview>div{gap:0;flex-direction:column;align-items:flex-start;font-size:11px}
 .cn-overview-separator{display:none}
 .cn-refresh{min-width:122px;padding-inline:9px}
 .cn-row{--cn-preview-lines:3;padding:11px 12px 5px}
 .cn-meta{gap:0 4px}
 .cn-meta-divider{margin-inline:2px}
 .cn-read{width:80px}
 .cn-expand{padding-inline:6px}
 .cn-pagination{gap:8px;padding:12px}
 .cn-pagination .cn-button{padding-inline:10px}
 .cn-state,.cn-initial-error{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){.cn-row{transition:none}}

/* Manual-delivery permission: reuse the accepted settings-row switch. */
.pc-contact-option[hidden]{display:none;}
.pc-contact-option{margin-top:8px;min-height:44px;}
.pc-contact-option .pc-switch-track,.pc-contact-option .pc-switch-thumb{transition-duration:150ms;}
@media(prefers-reduced-motion:reduce){.pc-contact-option .pc-switch-track,.pc-contact-option .pc-switch-thumb{transition:none;}}
