/* Shared surfaces keep the CRM, login and dialogs on the same palette. */
:root { color-scheme: light; }
html.dark { color-scheme: dark; background: #0d1822; }
.fama-app {
    --theme-bg: #f3f5f8; --theme-surface: #fff; --theme-text: #152a3a;
    --theme-muted: #627583; --theme-border: #dbe3e9; --theme-input: #cbd6df;
    --theme-soft: #eef4f7; --theme-lane: #e9eef2; --theme-link: #b92632;
    --theme-warm: #9a6b20; --line: var(--theme-border);
    background: var(--theme-bg); color: var(--theme-text);
}
html.dark .fama-app {
    --theme-bg: #0d1822; --theme-surface: #162735; --theme-text: #e4edf4;
    --theme-muted: #abc0ce; --theme-border: #344b5b; --theme-input: #476172;
    --theme-soft: #213847; --theme-lane: #112330; --theme-link: #ff909a;
    --theme-warm: #efc37a;
}
.fama-app :is(.fama-header,.fama-masthead,.search-bar,.panel,.deal,.login-card,dialog,.crm-breadcrumb,.fama-bottom-bar,.skip-link) {
    background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border);
}
.fama-app .metrics article:not(:nth-child(2)) { background: var(--theme-surface); color: var(--theme-text); }
.fama-app :is(h1,.heading h1,.panel h2,.lane h3,.login-card h2,.login-card label,td,.movement) { color: var(--theme-text); }
.fama-app :is(small,.metrics span,.heading p:not(.eyebrow),.muted,.empty,.deal p,.lane h3 span,.login-card p,.workspace .workspace-status,.crm-breadcrumb,.fama-masthead-caption span,.fama-location small) { color: var(--theme-muted); }
.fama-app :is(.row,.movement,.record,td,.panel,.deal,.metrics article) { border-color: var(--theme-border); }
.fama-app :is(input,select,textarea) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-input); }
.fama-app button { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-input); }
.fama-app button:hover { background: var(--theme-soft); }
.fama-app .primary { background: #b92632; border-color: #b92632; color: #fff; }
.fama-app .primary:hover { background: #a41f2b; }
.fama-app :is(a.export,.panel-title a,.deal strong,.movement:hover) { color: var(--theme-link); }
.fama-app .eyebrow { color: var(--theme-warm); }
.fama-app th { background: var(--theme-soft); color: var(--theme-muted); }
.fama-app .lane { background: var(--theme-lane); }
.fama-app :is(.badge,.alert,.avatar) { background: var(--theme-soft); color: var(--theme-text); border-color: var(--theme-border); }
.fama-app .avatar { color: var(--theme-link); }
.fama-app .theme-toggle { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 10px; flex-shrink: 0; }
.theme-toggle svg { width: 22px; height: 22px; }
.theme-sun { display: none; }
.dark .theme-sun { display: block; }
.dark .theme-moon { display: none; }
html.dark .fama-app .success { background: #173c32; color: #a1e5c3; }
html.dark .fama-app .error { background: #482930; color: #ffbdc3; border-color: #80444d; }
html.dark .fama-app .record .badge { background: #403521; color: #f5d596; border-color: #746039; }
html.dark .fama-app .connection { color: #8cdbbb; }
html.dark .fama-app .fama-bottom-bar :is(a,button) { color: var(--theme-muted); background: transparent; }
/* Preserve the brand's deliberately dark navigation and image panels. */
.fama-app .sidebar-foot small { color: #94acbd; }
.fama-app .sidebar-foot .text-button { color: #b5c6d2; background: none; }
.fama-app .menu-scrim { background: #10263899; border: 0; }
.fama-app :is(.spotlight,.login-intro) .eyebrow { color: #f2c582; }
.fama-app .spotlight small { color: #adc7d4; }
.fama-app .spotlight .primary { background: #fff; color: #152a3a; border-color: #fff; }
.fama-app .metrics article:nth-child(2) :is(span,small) { color: #adc7d4; }
.fama-app .fama-footer-main small { color: #94acbd; }
@media print {
    html.dark, html.dark .fama-app { --theme-bg: #fff; --theme-surface: #fff; --theme-text: #152a3a; --theme-muted: #526777; --theme-border: #dbe3e9; color-scheme: light; background: #fff; color: #152a3a; }
}
