/* ============================================================
   MARKET INTELLIGENCE — READABILITY & ACCESSIBILITY BASELINE
   v2.04.3

   Goals:
   - Comfortable 100% desktop reading without forcing browser zoom.
   - Controls remain legible and usable with browser zoom / MI text scale.
   - WCAG-style reflow: layouts stack before text collides.
   - Minimum practical text hierarchy across app, auth and marketing.
============================================================ */

:root{
  --mi-type-caption:12px;
  --mi-type-meta:13px;
  --mi-type-body:15px;
  --mi-type-control:15px;
  --mi-type-subtitle:17px;
  --mi-type-title:22px;
  --mi-type-page:32px;
  --mi-line-body:1.55;
  --mi-control-min:44px;
}

/* ---------- Application baseline ---------- */
.mi-dashboard{
  font-size:var(--mi-type-body)!important;
  line-height:var(--mi-line-body)!important;
}
.mi-dashboard :is(p,li,dd,dt,td,th){line-height:1.55}

/* Shell dimensions: a little more room for readable navigation. */
@media (min-width:1101px){
  .mi-sidebar{width:248px!important}
  .mi-app{width:calc(100% - 248px)!important;margin-left:248px!important}
  .mi-sidebar-collapsed .mi-sidebar{width:76px!important}
  .mi-sidebar-collapsed .mi-app{width:calc(100% - 76px)!important;margin-left:76px!important}
}
@media (min-width:761px) and (max-width:1100px){
  .mi-sidebar{width:220px!important}
  .mi-app{width:calc(100% - 220px)!important;margin-left:220px!important}
}

/* Brand and navigation */
.mi-brand-copy strong{font-size:14px!important;line-height:1.25!important}
.mi-brand-copy small{font-size:11px!important;line-height:1.25!important}
.mi-nav-heading{font-size:11px!important;line-height:1.3!important;letter-spacing:.08em!important}
.mi-nav a{
  min-height:44px!important;
  font-size:14px!important;
  line-height:1.25!important;
  padding:10px 11px!important;
}
.mi-nav a i{font-size:15px!important}
.mi-nav a b{font-size:10px!important;line-height:1.2!important}
.mi-sidebar-profile-copy strong{font-size:13px!important;line-height:1.3!important}
.mi-sidebar-profile-copy small{font-size:11px!important;line-height:1.35!important}
.mi-user-avatar{font-size:11px!important}
.mi-account-plan-badge b{font-size:10px!important}
.mi-account-plan-badge span{font-size:12px!important}
.mi-account-plan-badge small{font-size:10px!important;line-height:1.35!important}

/* Header */
.mi-app-header{min-height:68px!important;height:auto!important;padding-block:8px!important}
.mi-header-breadcrumb{font-size:10px!important;line-height:1.3!important}
.mi-header-page strong{font-size:15px!important;line-height:1.3!important}
.mi-header-search input{font-size:14px!important}
.mi-header-user-copy strong{font-size:13px!important}
.mi-header-user-copy small{font-size:10px!important}
.mi-market-status,.mi-live-status{font-size:12px!important}

/* Semantic typography hierarchy */
.mi-dashboard :is(.mi-panel-kicker,.mi-section-kicker,.mi-card-kicker,.mi-kpi-label,.mi-eyebrow){
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
}
.mi-dashboard :is(h1,.mi-page-title,.mi-hero h1,.mi-portfolio-page-hero h1){
  font-size:clamp(28px,2.25vw,38px)!important;
  line-height:1.1!important;
}
.mi-dashboard :is(h2,.mi-panel-heading h2,.mi-section-heading h2,.mi-modal-header h2){
  font-size:clamp(18px,1.35vw,24px)!important;
  line-height:1.25!important;
}
.mi-dashboard h3{font-size:17px!important;line-height:1.3!important}
.mi-dashboard :is(p,.mi-muted,.mi-panel p,.mi-card p){font-size:14px;line-height:1.55}

/* Financial values must be easy to scan. */
.mi-dashboard :is(.mi-kpi-value,.mi-summary-value,.mi-metric-value,.mi-wealth-value){
  font-size:clamp(24px,2.1vw,34px)!important;
  line-height:1.15!important;
  font-variant-numeric:tabular-nums;
}
.mi-dashboard :is(.mi-health-row span,.mi-health-concentration span){font-size:13px!important}
.mi-dashboard :is(.mi-health-row strong,.mi-health-concentration strong){font-size:15px!important}

/* Buttons / actionable controls */
.mi-dashboard :is(button,.mi-button,.mi-position-action,.mi-pf2-action,[role="button"]){
  min-height:var(--mi-control-min)!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.mi-button{padding:10px 15px!important}
.mi-position-action{padding:8px 11px!important}

/* Forms: labels, values, dropdowns and helper text. */
.mi-dashboard :is(.mi-form-field>label:first-child,label>span,.mi-field>label,.mi-field-label){
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.mi-dashboard :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-height:46px!important;
  font-size:15px!important;
  line-height:1.35!important;
  padding:10px 12px!important;
}
.mi-dashboard textarea{min-height:96px!important}
.mi-dashboard :is(.mi-form-field>small,.mi-field small,.mi-help-text,.mi-form-help){
  font-size:12px!important;
  line-height:1.45!important;
}
.mi-dashboard input::placeholder,.mi-dashboard textarea::placeholder{font-size:14px!important;opacity:.82}

/* Modals: use the window efficiently, but never make a narrow unreadable column. */
.mi-modal{padding:clamp(10px,2vw,24px)!important}
.mi-modal-dialog{
  width:min(680px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  padding:clamp(18px,2vw,26px)!important;
}
.mi-modal-dialog-small{width:min(520px,calc(100vw - 32px))!important}
.mi-modal-close{width:40px!important;height:40px!important;flex-basis:40px!important}
.mi-form-message{font-size:13px!important}

/* Tables and dense lists */
.mi-dashboard table{font-size:14px!important;line-height:1.45!important}
.mi-dashboard th{font-size:12px!important;line-height:1.35!important}
.mi-dashboard td{font-size:14px!important}

/* Generic small text: do not allow important app copy to collapse to 6–9px. */
.mi-dashboard small{font-size:max(11px,.78em)}

/* ---------- Authentication / onboarding ---------- */
.mi-auth-page{font-size:15px!important;line-height:1.55!important}
.mi-auth-brand strong{font-size:14px!important}.mi-auth-brand small{font-size:11px!important}
.mi-auth-copy h1{font-size:clamp(30px,4vw,40px)!important}
.mi-auth-copy p{font-size:15px!important;line-height:1.6!important}
.mi-auth-form label>span{font-size:13px!important}
.mi-auth-form input,.mi-auth-form select{min-height:48px!important;font-size:16px!important;padding-inline:14px!important}
.mi-auth-form small{font-size:12px!important;line-height:1.45!important}
.mi-auth-primary{min-height:48px!important;font-size:15px!important}
.mi-auth-links a{font-size:13px!important}
.mi-auth-message{font-size:13px!important;line-height:1.5!important}

/* ---------- Public marketing site ---------- */
.mi-marketing-page{font-size:16px!important;line-height:1.6!important}
.mi-mkt-brand b{font-size:15px!important}.mi-mkt-brand small{font-size:11px!important}
.mi-mkt-header nav a,.mi-mkt-actions a{font-size:14px!important}
.mi-mkt-actions a{min-height:44px;display:inline-flex;align-items:center}
.mi-marketing-page .eyebrow{font-size:12px!important}
.mi-hero-copy p,.mi-problem>p,.section-head p,.mi-intel p,.mi-security p,.mi-early p,.mi-mkt-doc .lead{font-size:16px!important;line-height:1.7!important}
.hero-actions a,.mi-early .cta{font-size:14px!important;min-height:46px;display:inline-flex;align-items:center}
.mi-hero-copy>small{font-size:12px!important}
.problem-grid b,.feature-grid h3{font-size:17px!important}
.problem-grid p,.feature-grid p,.mini-plans p,.price-card p,.compare-grid p{font-size:14px!important;line-height:1.6!important}
.feature-grid article>span,.mi-intel aside>small,.mi-intel aside i{font-size:12px!important}
.formula,.intel-flow span,.security-list span,.mi-security a,.mi-early a,.pricing-link{font-size:13px!important}
.mi-intel aside b{font-size:15px!important}.mi-intel aside span{font-size:13px!important}
.mi-asset-strip{font-size:12px!important}
.preview-top,.preview-kpis small,.preview-kpis i,.allocation li{font-size:11px!important}
.preview-kpis strong{font-size:22px!important}.chart header,.allocation>b{font-size:12px!important}
.mi-mkt-footer p,.mi-mkt-footer a,.mi-mkt-footer>small{font-size:12px!important}
.early-banner span,.early-banner a{font-size:14px!important}
.price-card h2{font-size:22px!important}.price span{font-size:13px!important}.price-card>a{font-size:14px!important;min-height:44px;display:grid;place-items:center}.price-card li{font-size:14px!important;line-height:1.45!important}.pricing-note{font-size:12px!important}.mini-plans b{font-size:18px!important}.mini-plans strong span{font-size:13px!important}.annual-note b{font-size:14px!important}.annual-note span{font-size:13px!important}.compare-grid b{font-size:16px!important}.mi-mkt-doc section p{font-size:15px!important}

/* ---------- Accessibility Center itself ---------- */
.mi-a11y-launcher{min-height:46px!important;font-size:14px!important}
.mi-a11y-panel{font-size:15px!important;line-height:1.5!important}
.mi-a11y-eyebrow{font-size:12px!important}.mi-a11y-panel h2{font-size:24px!important}.mi-a11y-panel-head p{font-size:14px!important}.mi-a11y-section-title strong{font-size:15px!important}.mi-a11y-section-title small{font-size:13px!important}.mi-a11y-section-title output{font-size:13px!important}.mi-a11y-size-control button{font-size:15px!important}.mi-a11y-size-presets button{font-size:12px!important;min-height:38px!important}.mi-a11y-option strong{font-size:14px!important}.mi-a11y-option small{font-size:12px!important}.mi-a11y-status,.mi-a11y-reset{font-size:12px!important}

/* ---------- Reflow / zoom safeguards ---------- */
@media (max-width:1280px){
  .mi-dashboard{--mi-type-body:15px}
  .mi-main{padding-left:18px!important;padding-right:18px!important}
  .mi-modal-field-grid{grid-template-columns:1fr!important}
}
@media (max-width:980px){
  .mi-dashboard :is(.mi-portfolio-summary,.mi-wealth-kpis,.mi-summary-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mi-dashboard :is(.mi-toolbar,.mi-portfolio-actions,.mi-header-right,.mi-modal-actions){flex-wrap:wrap!important}
}
@media (max-width:760px){
  :root{--mi-type-body:16px;--mi-type-control:16px}
  .mi-dashboard{font-size:16px!important}
  .mi-main{padding:18px 14px 36px!important}
  .mi-nav a{font-size:15px!important;min-height:48px!important}
  .mi-header-page strong{font-size:15px!important}
  .mi-dashboard :is(.mi-portfolio-summary,.mi-wealth-kpis,.mi-summary-grid){grid-template-columns:1fr!important}
  .mi-modal-dialog,.mi-modal-dialog-small{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:18px!important;border-radius:14px!important}
  .mi-modal-actions{align-items:stretch;flex-direction:column-reverse!important}
  .mi-modal-actions .mi-button{width:100%!important}
  .mi-marketing-page{font-size:16px!important}
  .mi-hero-copy p,.mi-problem>p,.section-head p,.mi-intel p,.mi-security p,.mi-early p,.mi-mkt-doc .lead{font-size:16px!important}
}

/* Browser zoom / in-product enlarged text: never shrink controls to compensate. */
html.mi-a11y-text-scale-active :is(button,.mi-button,.mi-pf2-action,.mi-position-action,input,select,textarea){
  font-size:clamp(14px,calc(14px * var(--mi-a11y-text-scale)),19px)!important;
  min-height:46px!important;
}
html:is(.mi-a11y-text-150,.mi-a11y-text-175,.mi-a11y-text-200) .mi-modal-field-grid{grid-template-columns:1fr!important}
html:is(.mi-a11y-text-150,.mi-a11y-text-175,.mi-a11y-text-200) :is(.mi-portfolio-summary,.mi-wealth-kpis,.mi-summary-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html:is(.mi-a11y-text-175,.mi-a11y-text-200) :is(.mi-portfolio-summary,.mi-wealth-kpis,.mi-summary-grid){grid-template-columns:1fr!important}

/* Respect browser/OS text preferences. */
@media (prefers-contrast:more){
  .mi-dashboard{--mi-muted:#a9b8c8;--mi-soft:#d5dee8}
}
