/* Carte Beige: approved identity, shared across public and private surfaces. */
:root{--cb-ivory:#F7F3EB;--cb-beige:#E7DCC8;--cb-sand:#C8B493;--cb-ink:#242D2A;--cb-petrol:#244B4A;--cb-sage:#A8B5A0;--cb-earth:#9A523D;--cb-muted:#65645B;--cb-line:#D5C8B3;--cb-field:#FCF9F3;--cb-focus:#244B4A;--focus-ink:#244B4A;--accent:#244B4A;--action:#244B4A;--wine:#244B4A;--paper:#F7F3EB;--ink:#242D2A;--muted:#65645B;--line:#D5C8B3;--lime:#E7DCC8;--sand:#E7DCC8;--red:#A04437;--green:#2E6556}
body{background:var(--cb-ivory);color:var(--cb-ink)}
:root body>header, :root body>footer, :root .legal-page{background:var(--cb-ivory)}
:root dialog, :root .auth-card, :root .panel, :root .chart-panel, :root .controls, :root .legal-document-grid>a{background:var(--cb-field);color:var(--cb-ink)}
:root input:not([type=range]):not([type=checkbox]):not([type=radio]), :root select, :root textarea{background-color:var(--cb-field);border-color:#8F806D;color:var(--cb-ink)}
:root input[type=range],:root input[type=checkbox],:root input[type=radio]{accent-color:var(--cb-petrol)}
:root :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--cb-focus)}
:root .primary,:root button.primary,:root .welcome-demo,:root .demo-cta{background:var(--cb-petrol);border-color:var(--cb-petrol);color:var(--cb-ivory)}
:root .primary:hover,:root button.primary:hover,:root .welcome-demo:hover{background:#193C3B;color:var(--cb-ivory)}
:root .horizon-logo{width:300px;height:34px;max-width:100%;object-fit:contain;object-position:left center}
:root body>header>.brand .horizon-logo{width:280px;height:40px}
:root .welcome-brand img,:root .auth-story>.horizon-logo,:root #betaRecovery .horizon-logo,:root #authPreparing .horizon-logo{width:340px;height:44px;max-width:100%}
:root footer .horizon-logo{width:235px;height:28px}
:root .legal-brand img{width:300px;height:40px}
:root .save-feedback{background:var(--cb-field);color:var(--cb-ink);border-color:var(--cb-sand)}
:root .save-mark{fill:var(--cb-petrol)}
:root .save-feedback[data-state=saved] .save-mark{fill:#2E6556}
:root .save-feedback[data-state=error]{border-color:#A04437}
:root .save-feedback[data-state=error] .save-mark{fill:#A04437}
:root .save-feedback[data-state=pending] .save-mark path{transform-box:fill-box;translate:0 0}
:root .negative,:root .monthly-totals strong.negative{color:#A04437}
:root .monthly-totals strong:not(.negative){color:#2E6556}
@media(max-width:700px){:root body>header>.brand .horizon-logo{width:143px;height:43px}:root .welcome-brand img{width:min(300px,76vw);height:40px}:root .legal-brand img{width:min(270px,70vw);height:36px}}
@media(max-width:360px){:root body>header>.brand .horizon-logo{width:119px;height:36px}}
