/* PrimeClientFlow / Vendor Sales Engine — readability enhancement v1.
   Applies to the ONE free/paid application, CRM, Ads, Social, Wallet, forms and public pages.
   Structural CSS from ui/vse.css remains authoritative; these are optical enhancements. */
:root{
  --fs-11:.8125rem; /* 13px, formerly 11px */
  --fs-12:.875rem;  /* 14px, formerly 12px */
  --fs-13:.9375rem; /* 15px, formerly 13px */
  --fs-14:1rem;     /* 16px, formerly 14px */
  --fs-15:1.0625rem;/* 17px, formerly 15px */
  --fs-16:1.125rem; /* 18px */
  --fs-18:1.25rem;  /* 20px */
  --fs-20:1.375rem; /* 22px */
  --fs-24:1.625rem; /* 26px */
  --fs-28:1.875rem; /* 30px */
  --fs-32:2.125rem; /* 34px */
  --sidebar-w:270px;
  --topbar-h:64px;
  --content-max:1260px;
  --text-2:#334358;
  --text-3:#4e5c70;
  --border:#d5dce7;
  --border-strong:#aebdcd;
  --divider:#e3e9f0;
  --nav-text:rgba(255,255,255,.89);
  --nav-muted:rgba(255,255,255,.74);
}
:root[data-theme="dark"]{
  --text:#f1f5fb;
  --text-2:#c6d1e1;
  --text-3:#b2bed0;
  --border:#3a4d6b;
  --border-strong:#506484;
  --divider:#2d3e57;
  --nav-text:rgba(246,250,255,.92);
  --nav-muted:rgba(237,244,255,.75);
}
body{line-height:1.65;letter-spacing:.001em}
p,li,.note,.notice,.muted,.hint,.micro{line-height:1.65}
h1,h2,h3,h4{overflow-wrap:break-word}
h1{line-height:1.23}
h2,h3{line-height:1.38}
/* Increase navigation clarity and hit area without changing information architecture */
.sidebar-brand{padding:22px 19px 18px;gap:9px}
.sidebar-brand img{width:165px}
.sidebar-brand .product{font-size:var(--fs-13)}
.sidebar-scroll{padding:6px 12px 18px}
.nav-label{font-size:var(--fs-12);letter-spacing:.055em;padding:0 12px 8px}
.nav-link{min-height:43px;padding:10px 12px;font-size:var(--fs-14);line-height:1.35;gap:11px}
.nav-link svg{width:19px;height:19px;opacity:.94}
.nav-group{margin-top:19px}
.nav-group:first-child{margin-top:6px}
.plan-mini{font-size:var(--fs-13);gap:6px;padding:12px}
.plan-mini strong{font-size:var(--fs-14)}
.env-note{font-size:var(--fs-12);line-height:1.55}
/* Content breathing room and readable section descriptions */
.content{max-width:calc(var(--content-max) + 64px);padding:30px 34px 64px}
.page-head{margin-bottom:26px}
.page-head p,.section-head p,.card-head p{line-height:1.65;color:var(--text-2)}
.card-head h2{font-size:var(--fs-16)}
.card-head p,.section-head p{font-size:var(--fs-14)}
.section-head h2{font-size:var(--fs-16)}
.subpanel > h3:first-child,.panel-heading h2,.heading h2{font-size:var(--fs-16)}
.card,.panel{border-color:var(--border);box-shadow:var(--shadow-xs)}
.card:focus-within,.panel:focus-within{border-color:var(--border-strong)}
/* All native actions and input controls */
button,.btn{min-height:44px;font-size:var(--fs-14);line-height:1.35;white-space:normal}
.btn-sm,button.btn-sm{min-height:40px;font-size:var(--fs-13)}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{
  min-height:46px;font-size:var(--fs-14);line-height:1.5;padding:10px 13px;border-color:var(--border-strong)
}
textarea{min-height:88px}
input::placeholder,textarea::placeholder{color:var(--text-3);opacity:1}
label{font-size:var(--fs-14);line-height:1.55;font-weight:600}
.field-hint,.grid-form small,.help,.hint,.micro,.ai-quota{font-size:var(--fs-13);line-height:1.65}
.checkbox-line,.check-inline,label.consent,.radio-row,.check{font-size:var(--fs-14);line-height:1.6}
input[type="checkbox"],input[type="radio"]{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0}
/* Tables and lists should not require squinting. Keep horizontally scrollable data intact. */
.data-table{font-size:var(--fs-14);line-height:1.6}
.data-table th{font-size:var(--fs-13);color:var(--text-2);padding:13px 16px;letter-spacing:.01em}
.data-table td{padding:13px 16px}
.table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
.customer-list .meta,.library-list p,.task-group,.timeline,.note,.notice,.staff-notice,.vse-inline,.library-quick,.member-welcome-note,.callout{font-size:var(--fs-14)}
.timeline .when,.task-list .muted,.library-list small{font-size:var(--fs-13)}
.badge,.pill,.mini-state,.status-pill{font-size:var(--fs-13);height:auto;min-height:26px;padding:4px 9px;line-height:1.2}
.tabs a{font-size:var(--fs-14);min-height:40px;height:auto;padding:9px 14px}
.menu a,.menu button{font-size:var(--fs-14);min-height:42px}
.menu-head strong,.menu-head span{font-size:var(--fs-13)}
.topbar-title{font-size:var(--fs-14)}
.account-btn{font-size:var(--fs-13);height:42px}
/* Free and paid users share the same text standards */
.free-tier-feature{min-height:235px;gap:13px}
.free-tier-feature p,.free-tier-banner span,.free-tier-resource-teaser p,.free-tier-learning p,
.free-tier-locked p,.free-tier-sample p{font-size:var(--fs-14);line-height:1.65}
.free-tier-banner strong,.free-tier-demo-row small,.free-tier-help,.free-tier-availability{font-size:var(--fs-13)}
.free-tier-feature h3{font-size:var(--fs-18)}
.free-tier-section-title{font-size:var(--fs-20)}
.free-tier-kicker{font-size:var(--fs-13)}
.free-tier-feature .btn{min-height:44px}
.auth-card .lead,.auth-card .hint{line-height:1.7}
.unified-auth-switch .auth-switch-btn{font-size:var(--fs-14)}
/* Reminder settings and content-editor labels */
.wa-reminder-settings label,.wa-reminder-settings small,.vse-wallet-view small{line-height:1.6}
/* Narrow screens: remove secondary chrome before the actual content compresses */
@media(max-width:1023px){
  :root{--topbar-h:64px}
  .content{padding:24px 22px 48px}
  .sidebar{width:min(330px,90vw)}
}
@media(max-width:760px){
  .content{padding:21px 16px 38px}
  .topbar{gap:9px;padding-inline:12px}
  .topbar-actions{gap:5px}
  .topbar-actions .env-chip{display:none}
  .account-btn .who{max-width:118px;overflow:hidden;text-overflow:ellipsis}
  .tabbar a,.tabbar button{font-size:var(--fs-12)}
  .data-table td{padding:4px 0}
  .data-table tr{gap:8px 12px;padding:14px 12px}
  .free-tier-feature{min-height:auto}
  .free-tier-banner{gap:12px}
}
@media(max-width:370px){
  .topbar-title{font-size:var(--fs-13)}
  .topbar .account-btn{padding:0 3px}
  .account-btn .who{display:none}
  .topbar-mark{width:24px;height:24px}
  .content{padding:16px 12px 34px}
  .vse-reading-floating{bottom:calc(var(--tabbar-h) + 16px)}
}
@media (prefers-reduced-motion:reduce){
  .nav-link,.vse-reading-toggle,.free-tier-feature{transition:none}
}
/* Maintain legibility of printed documents without adding screen-only controls. */
@media print{
  .doc-page{font-size:11pt;line-height:1.55}
  .doc-page .micro,.doc-page small{font-size:9pt}
}

/* Previous module-specific fixed-size labels now follow the shared type scale. */
.wa-remind-kicker,.wa-remind-verify span{font-size:var(--fs-13)}
.wa-remind-explain strong,.wa-remind-form label:not(.wa-remind-check),
.wa-remind-explain ol,.wa-remind-check,.wa-remind-state,.wa-remind-verify p{font-size:var(--fs-14);line-height:1.65}
.creative-item p,.creative-item small,.creative-item button{font-size:var(--fs-14)}
.creative-item button{min-height:40px}
.wallet-mini,.wallet-addon span{font-size:var(--fs-14);line-height:1.65}
.marketplace-kicker,.marketplace-category,.marketplace-tag{font-size:var(--fs-13)}
.review-grid span,.review-grid small{font-size:var(--fs-13)}
/* Keep invoice/quote PDF and print-preview labels readable on screen. */
.doc-page .doc-small,.doc-page .doc-label,.doc-page .doc-lines th{font-size:var(--fs-13)}
.doc-page .doc-agreement{font-size:var(--fs-14)}
/* Low contrast dark labels should still be visible. */
:root[data-theme="dark"] .free-tier-resource-teaser p,
:root[data-theme="dark"] .free-tier-feature p,
:root[data-theme="dark"] .wallet-addon span{color:var(--text-2)}
