/* Approved Polyshares foundations, ZIP3 SHA-256:
   f2e56890a37ccf6205b5d777dbc07e3d91261f4f23575a5a5d6ffc74a347ac2b
   Sources: poly.css:3-35,322-333; tokens/semantic.css:2-23;
   poly-v2.css:7-58,531-535. The manifest flattens responsive values;
   these preserve the actual desktop/mobile cascade instead.

   API: put .ps-design on an opted-in component boundary. It ONLY defines
   --ps-* properties; it never resets/inherits typography onto legacy bodies.
   CRM applies the boundary to new chrome, not its body wrapper. Components
   outside that boundary retain their old tokens and styles. Fonts are loaded
   once by the host, never imported here. No elevation/shadow tokens.
*/
.ps-design {
  --ps-paper:#F5F3EE;
  --ps-paper2:#ffffff;
  --ps-paper3:#ECE9E2;
  --ps-ink:#0A0A0A;
  --ps-ink2:#3D3B37;
  --ps-muted:#6B675E;
  --ps-line:#D9D5CC;
  --ps-line2:#E3DFD5;
  --ps-dark:#0A0A0A;
  --ps-accent:#1F3A2E;
  --ps-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ps-sans:'Inter',system-ui,-apple-system,sans-serif;
  --ps-maxw:1080px;
  --ps-r-card:12px;
  --ps-r-ctrl:8px;
  --ps-ease:cubic-bezier(.2,.7,.2,1);
  --ps-t-hero:72px;
  --ps-t-h2:44px;
  --ps-t-h3:26px;
  --ps-t-num:88px;
  --ps-t-lead:22px;
  --ps-t-body:18px;
  --ps-t-small:15px;
  --ps-t-label:15px;

  --ps-surface-page:var(--ps-paper);
  --ps-surface-card:var(--ps-paper2);
  --ps-surface-sunken:var(--ps-paper3);
  --ps-surface-inverse:var(--ps-ink);
  --ps-text-heading:var(--ps-ink);
  --ps-text-body:var(--ps-ink2);
  --ps-text-muted:var(--ps-muted);
  --ps-text-on-inverse:var(--ps-paper);
  --ps-text-on-inverse-muted:rgba(245,243,238,.74);
  --ps-border-default:var(--ps-line);
  --ps-border-subtle:var(--ps-line2);
  --ps-action-primary:var(--ps-ink);
  --ps-action-primary-hover:var(--ps-ink2);
  --ps-focus-ring:var(--ps-accent);
  --ps-link-hover:var(--ps-accent);
  --ps-radius-card:var(--ps-r-card);
  --ps-radius-control:var(--ps-r-ctrl);
  --ps-radius-pill:999px;
  --ps-status-ok-bg:#e5eee3;
  --ps-status-ok-border:#bfd3bb;
  --ps-status-ok-text:#2f5a33;
  --ps-status-warn-bg:#f5ecd9;
  --ps-status-warn-border:#e2cf9f;
  --ps-status-warn-text:#6b4f12;
  --ps-status-bad-bg:#f4e1dd;
  --ps-status-bad-border:#dfb7ae;
  --ps-status-bad-text:#7a2c20;
  --ps-error:#8c2f24;
  --ps-success:#2f5a33;
  --ps-dataviz-secondary:#b9b3a4;

  --ps-sp-1:4px;
  --ps-sp-2:8px;
  --ps-sp-3:12px;
  --ps-sp-4:16px;
  --ps-sp-5:20px;
  --ps-sp-6:24px;
  --ps-sp-7:32px;
  --ps-sp-8:44px;
  --ps-sp-9:64px;
  --ps-sp-10:80px;
  --ps-drawer-pad:24px;
  --ps-h-ctrl:48px;
  --ps-h-ctrl-app:44px;
  --ps-h-ctrl-sm:40px;
  --ps-fs-caption:13px;
  --ps-fs-ui:14px;
  --ps-fs-control:15px;
  --ps-fs-input:16px;
  --ps-t-app-title:40px;
  --ps-w-light:300;
  --ps-w-regular:400;
  --ps-w-medium:500;
  --ps-lh-display:1.06;
  --ps-lh-control:1.2;
  --ps-lh-lead:1.45;
  --ps-lh-body:1.55;
  --ps-z-popover:30;
  --ps-z-appnav:40;
  --ps-z-header:60;
  --ps-z-menu:70;
  --ps-z-drawer:80;
  --ps-z-modal:90;
  --ps-z-toast:95;
  --ps-z-skip:100;
}

@media (max-width:720px) {
  .ps-design {
    --ps-t-hero:44px;
    --ps-t-h2:32px;
    --ps-t-h3:22px;
    --ps-t-num:56px;
    --ps-t-lead:19px;
    --ps-t-body:17px;
    --ps-t-small:15px;
    --ps-t-label:14px;
    --ps-t-app-title:28px;
    --ps-drawer-pad:20px;
  }
}

/* ZIP5 additive layout tokens, archive SHA-256:
   270ad88bae34551d144c3cdd48eafc1f7cd6400881d3018d158da539cea740b9
   Sources: tokens/semantic.css; poly-v2.css:17. Existing ZIP3 tokens remain unchanged. */
.ps-design {
  --ps-measure:62ch;
  --ps-measure-tight:52ch;
  --ps-table-label-col:36%;
}
