/* Shared urbanCFO theme for the public website and all CRM surfaces. */
:root {
  --color-brand-50:#faf8f2; --color-brand-100:#f4eddb; --color-brand-200:#e9d5a4;
  --color-brand-700:#3c3b38; --color-brand-800:#232323; --color-brand-900:#191919; --color-brand-950:#111111;
  --color-accent-400:#e8b53d; --color-accent-500:#d79b13; --color-accent-600:#946500; --color-accent-700:#795200;
  --color-navy-50:#faf8f2; --color-navy-100:#f4eddb; --color-navy-200:#e9d5a4;
  --color-navy-300:#c7c5bf; --color-navy-400:#a6a39b; --color-navy-500:#79766e;
  --color-navy-600:#59564f; --color-navy-700:#3c3b38; --color-navy-800:#232323; --color-navy-900:#191919; --color-navy-950:#111111;
  --color-teal-50:#fff9eb; --color-teal-200:#f3d998; --color-teal-300:#ebc265;
  --color-teal-400:#e8b53d; --color-teal-500:#d79b13; --color-teal-600:#946500; --color-teal-700:#795200; --color-teal-800:#5f4200;
  --color-slate-50:#fafaf9; --color-slate-100:#f4f4f2; --color-slate-200:#e5e4e0;
  --color-slate-300:#d3d1cc; --color-slate-400:#9c9992; --color-slate-500:#726f68;
  --color-slate-600:#56534d; --color-slate-700:#403e38; --color-slate-800:#2c2b27; --color-slate-900:#1a1a18; --color-slate-950:#111111;
  --brand-primary:#232323; --brand-accent:#946500; --brand-secondary:#cf9000;
  --brand-heading:#191919; --brand-body:#56534d; --brand-footer-bg:#111111;
  --brand-font-body:"Plus Jakarta Sans"; --brand-font-heading:"Plus Jakarta Sans";
}
body { background:#f7f7f4; color:#272723; }
.font-display { font-family:"Plus Jakarta Sans",Arial,sans-serif; }
.scrim-hero { background:linear-gradient(90deg,#111111ed 0%,#171717bf 55%,#17171766 100%); }
::selection { background:#f1d899; color:#191919; }
input[type="checkbox"],input[type="radio"] { accent-color:#946500; }
.btn-primary,.btn-accent { background:#cf9000; color:#171717; border:1px solid #cf9000; box-shadow:0 3px 10px #8f620018; }
.btn-primary:hover,.btn-accent:hover { background:#b77e00; color:#111; border-color:#b77e00; }
.btn-outline:hover { border-color:#946500; background:#fff9eb; }
.panel { border-color:#e5e2d9; box-shadow:0 2px 12px #1a1a1806; }
.field:focus { border-color:#946500; outline:2px solid #cf900026; outline-offset:1px; --tw-ring-color:#cf900026; }
.nav-link-active { background:#cf9000!important; color:#111!important; font-weight:700; }
.nav-link-idle:hover { background:#ffffff0f; color:#f4d38b; }
aside { background:#171717; }
img[src*="urbancfo-logo"] { background:#fff; border-radius:6px; object-fit:contain; }
header img[src*="urbancfo-logo"],footer img[src*="urbancfo-logo"] { padding:5px 8px; height:auto!important; width:220px; max-width:100%; }
/* The wide original logo remains legible in the narrow navigation rail. */
aside a:has(img[src*="urbancfo-logo"]) { flex-direction:column; align-items:flex-start; gap:8px; }
aside a:has(img[src*="urbancfo-logo"]) > span:first-child { width:184px; height:60px; padding:5px; background:#fff; }
aside a:has(img[src*="urbancfo-logo"]) > span:nth-child(2) { padding-left:2px; }
/* Auth screens share a warm neutral card and branded illustration panel. */
#root > .grid.min-h-screen:has(form) { background:#f6f5f1; }
#root > .grid.min-h-screen:has(form) > div:first-child { padding:32px 20px; }
#root > .grid.min-h-screen:has(form) > div:first-child > div { background:white; border:1px solid #e7e2d7; border-top:4px solid #cf9000; border-radius:18px; padding:32px; box-shadow:0 16px 60px #2727230a; max-width:440px; }
#root > .grid.min-h-screen:has(form) img[src*="urbancfo-logo"] { width:100%; height:auto; max-width:320px; border-radius:0; }
#root > .grid.min-h-screen:has(form) h1 { font-size:26px; letter-spacing:-.025em; }
#root > .grid.min-h-screen:has(form) > div:nth-child(2) { background:radial-gradient(ellipse at top right,#cf900025,transparent 65%),#171717; }
@media(max-width:380px) { #root > .grid.min-h-screen:has(form) > div:first-child > div { padding:22px; } }
