:root{
  --bg:#faf8f5; --surface:#ffffff; --surface-2:#f3efe7; --surface-3:#ece9e3;
  --ink:#15151c; --ink-soft:#4a4a58; --ink-mute:#7a7a86;
  --hair:#ece9e3; --hair-strong:#d8d4cc;
  --accent:#3c7b93; --accent-soft:#e3eef2;
  --good:#2f7d5b; --good-bg:#e4f2ec; --t-green:#3d9a6b; --t-blue:#3b78b8; --t-yellow:#d4a72c;
  --warn:#8f6a12; --warn-bg:#f8efd6;
  --bad:#b23a48; --bad-bg:#f8e4e7;
  --c-direct:#c16847; --c-indirect:#c9a85e; --c-stocks:#3c7b93; --c-bonds:#7a9a88;
  --c-credit:#6b5980; --c-realestate:#c15f72; --c-liquidity:#8a8a96;
  --shadow:0 1px 2px rgba(21,21,28,.05),0 6px 24px rgba(21,21,28,.06);
  --shadow-lg:0 10px 40px rgba(21,21,28,.18);
  --radius:14px; --radius-sm:10px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14141a; --surface:#1c1c24; --surface-2:#242430; --surface-3:#2c2c38;
    --ink:#f1eee8; --ink-soft:#c3c0ba; --ink-mute:#8f8d96;
    --hair:#2a2a34; --hair-strong:#3a3a46;
    --accent:#6fb0c8; --accent-soft:#1e3038;
    --good:#6ecaa0; --good-bg:#1a2e27; --t-green:#6ecaa0; --t-blue:#6fa3dc; --t-yellow:#e3bd5c; --warn:#e3bd5c; --warn-bg:#302a16; --bad:#ee8593; --bad-bg:#37202a;
    --c-direct:#d9825f; --c-indirect:#ddbb6e; --c-stocks:#5fa3bd; --c-bonds:#93b5a2;
    --c-credit:#9a85b8; --c-realestate:#db7c8e; --c-liquidity:#a3a3ae;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 24px rgba(0,0,0,.35); --shadow-lg:0 10px 40px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#14141a; --surface:#1c1c24; --surface-2:#242430; --surface-3:#2c2c38;
  --ink:#f1eee8; --ink-soft:#c3c0ba; --ink-mute:#8f8d96;
  --hair:#2a2a34; --hair-strong:#3a3a46;
  --accent:#6fb0c8; --accent-soft:#1e3038;
  --good:#6ecaa0; --good-bg:#1a2e27; --t-green:#6ecaa0; --t-blue:#6fa3dc; --t-yellow:#e3bd5c; --warn:#e3bd5c; --warn-bg:#302a16; --bad:#ee8593; --bad-bg:#37202a;
  --c-direct:#d9825f; --c-indirect:#ddbb6e; --c-stocks:#5fa3bd; --c-bonds:#93b5a2;
  --c-credit:#9a85b8; --c-realestate:#db7c8e; --c-liquidity:#a3a3ae;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 24px rgba(0,0,0,.35); --shadow-lg:0 10px 40px rgba(0,0,0,.6);
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--ink);font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:300;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit;color:inherit}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn{font:inherit;font-weight:500;font-size:13px;padding:10px 16px;border-radius:10px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--hair-strong)}
.btn.small{padding:6px 12px;font-size:12px;border-radius:999px}
.btn.danger{border-color:var(--bad);color:var(--bad);background:transparent}
.btn:disabled{opacity:.45;cursor:default}
.stripe{display:flex;height:4px}.stripe i{flex:1}
.stripe i:nth-child(1){background:#c16847}.stripe i:nth-child(2){background:#7a9a88}.stripe i:nth-child(3){background:#6b5980}
.stripe i:nth-child(4){background:#c15f72}.stripe i:nth-child(5){background:#c9a85e}.stripe i:nth-child(6){background:#3c7b93}
.wordmark{font-weight:500;font-size:20px;letter-spacing:.005em}
.wordmark .suffix{margin-left:8px;color:var(--ink-mute);font-weight:400;font-size:13px;letter-spacing:.08em}
.card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow)}
input[type=text],input[type=email],input[type=search]{font:inherit;font-size:14px;padding:10px 14px;border:1px solid var(--hair-strong);border-radius:10px;background:var(--bg);width:100%}
.err{color:var(--bad);font-size:12px;min-height:18px}
.muted{color:var(--ink-mute)}
.top{background:var(--surface);border-bottom:1px solid var(--hair)}
.top-in{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.top-in .brand{display:flex;align-items:center;gap:12px}.top-in .brand img{width:34px;height:33px}
.top-in .grow{flex:1}
main{max-width:1180px;margin:0 auto;padding:28px 24px 60px}
