/* Tresolo / Registre clair. Source de vérité commune aux pages et au Cockpit. */
@font-face{font-family:Geist;src:url('../fonts/geist-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('../fonts/instrument-serif-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Geist Fallback';src:local('Arial');size-adjust:101%;ascent-override:94%;descent-override:25%;line-gap-override:0%}
:root{
  color-scheme:light;
  --bg-canvas:#f3f5f9;
  --bg-subtle:#e9edf4;
  --bg-surface:#fff;
  --bg-hover:#edf1f8;
  --text-primary:#182338;
  --text-secondary:#48556c;
  --text-muted:#596780;
  --text-inverse:#fff;
  --border-subtle:#dce2ec;
  --border-control:#7b879b;
  --brand:#3554c7;
  --brand-hover:#253d97;
  --brand-selected:#e9eeff;
  --status-success:#237455;
  --status-success-bg:#edf7f1;
  --status-danger:#b13d45;
  --status-danger-bg:#fff0f0;
  --status-warning:#8a5b15;
  --status-warning-bg:#fff6e4;
  --status-info:#315caa;
  --status-info-bg:#edf3ff;
  --nav-bg:#172338;
  --nav-text:#c7d1e2;
  --nav-muted:#a8b9d0;
  --nav-active:#2e4774;
  --chart-cash:#278475;
  --chart-equity:#526bc7;
  --chart-crypto:#9a732a;
  --chart-property:#487b99;
  --chart-other:#8c6bb1;
  --chart-primary:var(--brand);
  --chart-comparison:#738198;
  --chart-grid:#e3e8f0;
  --paper:var(--bg-canvas);
  --paper-2:var(--bg-subtle);
  --surface:var(--bg-surface);
  --ink:var(--text-primary);
  --ink-2:var(--text-secondary);
  --muted:var(--text-muted);
  --muted-decorative:var(--border-control);
  --line:var(--border-subtle);
  --control-line:var(--border-control);
  --accent:var(--brand);
  --accent-ink:var(--brand-hover);
  --accent-soft:var(--brand-selected);
  --positive:var(--status-success);
  --negative:var(--status-danger);
  --warn:var(--status-warning);
  --font-sans:Geist,'Geist Fallback',system-ui,sans-serif;
  --font-display:'Instrument Serif',Georgia,serif;
  --font-numeric:var(--font-sans);
  --text-micro:11px;
  --text-meta:12px;
  --text-ui:14px;
  --text-body:16px;
  --text-section:18px;
  --text-page:clamp(26px,1.25vw + 15px,34px);
  --text-amount:clamp(36px,3vw + 10px,58px);
  --text-amount-secondary:clamp(23px,1vw + 13px,30px);
  --text-hero:clamp(52px,4vw + 22px,82px);
  --leading-tight:1.1;
  --leading-body:1.55;
  --weight-normal:400;
  --weight-medium:500;
  --weight-strong:600;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-24:96px;
  --section-space:clamp(56px,5vw + 28px,96px);
  --control-height:44px;
  --header-height:68px;
  --sidebar-width:216px;
  --container:1168px;
  --radius-sm:6px;
  --radius:10px;
  --radius-large:14px;
  --shadow-control:0 1px 2px #1823380a;
  --shadow:0 8px 24px #1723380f,0 24px 72px #1723381a;
  --focus-ring:0 0 0 2px var(--surface),0 0 0 5px var(--accent);
  --z-header:20;
  --z-navigation:15;
  --z-overlay:40;
  --z-toast:60;
  --z-skip:100;
  --duration-instant:80ms;
  --duration-fast:120ms;
  --duration-normal:180ms;
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --interaction:var(--duration-fast);
  /* Seuils des @media documentés. */
  --breakpoint-phone:640px;
  --breakpoint-tablet:900px;
  --breakpoint-wide:1200px;
  --breakpoint-app-mobile:740px;
  --breakpoint-app-rail:1020px;
}
