/* Norte / Clarity — a system-font, navy and emerald design. */
:root {
  --ink:#15243a; --muted:#667487; --green:#12314b; --mint:#c4eee0;
  --bg:#f5f5f7; --line:#e8ecf0; --orange:#b77749; --radius:26px;
  --emerald:#008568; --emerald-light:#e7f5ee;
  --shadow:0 4px 24px rgba(19,40,63,.035),0 1px 3px rgba(19,40,63,.025);
  --font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Arial,sans-serif;
  --display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif;
}
* {box-sizing:border-box}
html {color-scheme:light;scroll-padding-top:92px}
body {margin:0;color:var(--ink);background:var(--bg);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select {font:inherit}
button,a,input,select,summary {-webkit-tap-highlight-color:transparent}
button {cursor:pointer;color:inherit}
button:disabled {cursor:default;opacity:.6}
a {color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid #169d85;outline-offset:4px}
#main:focus {outline:none}
button,a {touch-action:manipulation}
svg {width:21px;height:21px;stroke-width:1.7;fill:none;stroke:currentColor;vertical-align:middle;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p {margin-top:0}
button {transition:background .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}
::selection {background:#c2eadd;color:#103e34}
/* Navigation */
.sidebar {position:fixed;inset:0 auto 0 0;width:236px;padding:34px 18px 22px;display:flex;flex-direction:column;background:rgba(252,253,254,.86);border-right:1px solid #e4e8ed;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);z-index:20;overflow-y:auto}
.brand {display:flex;align-items:center;gap:10px;padding:0 13px;font:760 37px/1 var(--display);letter-spacing:-1.8px}
.brand-dot {color:var(--emerald);margin-left:-10px}
.brand-mark {display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,#16364f,#0a1c32);border-radius:13px;width:39px;height:39px;color:#e6fff3;font:700 31px/1 var(--display);box-shadow:0 5px 12px #0c2c4319;letter-spacing:-3px}
.brand-mark>span {font-size:18px;margin-left:-2px;align-self:flex-start;margin-top:4px;letter-spacing:-1px;color:#69d5b0}
.workspace {display:flex;align-items:center;gap:10px;padding:12px;margin:34px 0 31px;background:#fff;border:1px solid #e6eaf0;border-radius:16px;box-shadow:0 2px 5px #12283b03}
.avatar {width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e4edf3;color:#2e5874;font-size:12px;font-weight:650}
.workspace strong,.profile strong {display:block;font-size:12px;font-weight:600;letter-spacing:-.2px}
.workspace small,.profile small {display:block;margin-top:3px;font-size:10px;color:#617084}
.lock {margin-left:auto;color:#8996a5}
.lock svg {width:14px;height:14px}
.nav-label {padding:0 14px;margin-bottom:10px;color:#617084;font-size:9px;font-weight:650;letter-spacing:1.6px}
.nav-item {display:flex;align-items:center;gap:11px;width:100%;min-height:46px;margin-bottom:6px;padding:12px 13px;border:0;border-radius:14px;background:none;color:#617084;font-size:12px;font-weight:500;line-height:1.4;text-align:left;letter-spacing:-.1px}
.nav-item svg {width:18px;height:18px}
.nav-item.active {background:#142e46;color:white;box-shadow:0 5px 14px #122a4217;font-weight:600}
.nav-item:hover:not(.active) {background:#eaf0f4;color:#233d54}
.mini-badge {font-size:7px;font-weight:600;letter-spacing:.3px;padding:3px 5px;background:#e8eef2;border-radius:5px;margin-left:auto;color:#738698}
.nav-item.active .mini-badge {color:#beeddd;background:#ffffff16}
.nav-reserve-short {display:none}
.sidebar-bottom {margin-top:auto}
.compass-card {padding:20px 16px;margin:30px 0 14px;border-radius:19px;background:linear-gradient(145deg,#eaf2f6,#eaf4ef);border:1px solid #e4ecee}
.compass-card>span {display:block;margin-bottom:13px;color:#38806f}
.compass-card strong {font:600 14px/1.5 var(--display);letter-spacing:-.3px}
.compass-card p {margin:9px 0 0;font-size:10px;line-height:1.7;color:#6c8290}
.plain-button {display:flex;align-items:center;gap:9px;background:none;border:0;padding:10px 3px;font-size:10px;color:#718095}
.plain-button svg {width:15px;height:15px}
.profile {display:flex;align-items:center;gap:10px;padding:20px 3px 0;margin-top:12px;border-top:1px solid var(--line)}
.pale {background:linear-gradient(135deg,#e0e9ef,#eef3f5);color:#536b7a}
.app-shell {margin-left:236px}
.topbar {height:72px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 44px;border-bottom:1px solid #e5e9ee;position:sticky;top:0;z-index:10;background:rgba(250,250,252,.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.breadcrumb {display:flex;gap:14px;align-items:center;color:#8b96a4;font-size:11px}
.breadcrumb>span {color:#bec5cf}
.breadcrumb strong {font-weight:500;color:#4c5e73}
.demo-pill {display:flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid #e0e8e8;border-radius:30px;background:#edf5f2;color:#648478;font-size:9px;font-weight:500;white-space:nowrap}
.demo-pill i {width:5px;height:5px;border-radius:50%;background:#27977b;box-shadow:0 0 0 3px #2e96740c}
main {max-width:1550px;min-height:calc(100vh - 137px);margin:0 auto;padding:46px 44px 24px}
.page-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px}
.page-heading>div:first-child {min-width:0;flex:1}
.eyebrow {font-size:10px;font-weight:600;letter-spacing:1.9px;color:#358470;margin-bottom:12px;line-height:1.5}
h1 {font:730 43px/1.08 var(--display);letter-spacing:-1.9px;margin-bottom:14px;max-width:700px;text-wrap:balance}
.subtitle {font-size:13px;line-height:1.65;color:#617084;margin-bottom:0;max-width:600px;letter-spacing:-.1px}
.heading-actions {display:flex;align-items:center;gap:10px;flex-shrink:0;padding-bottom:2px}
.button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 19px;border:1px solid #e2e7ed;border-radius:30px;background:#fff;color:#2b445c;font-size:11px;font-weight:560;line-height:1.4;letter-spacing:-.1px;box-shadow:0 1px 2px #1c344207}
.button svg {width:16px;height:16px}
.button.primary {background:#12314b;border-color:#12314b;color:#fff;box-shadow:0 4px 10px #15364d18}
.button.primary:hover {background:#1c4665;border-color:#1c4665;box-shadow:0 6px 17px #15364d28;transform:translateY(-1px)}
.button:hover {background:#f6f9fb;transform:translateY(-1px)}
.button:active {transform:scale(.975)}
.button.soft {background:#e8f5ef;border-color:#e1eee9;color:#287d65}
.month-picker {min-height:42px;border:1px solid #e0e6ec;border-radius:28px;background:#fff;color:#536579;padding:10px 13px;font-size:11px;max-width:166px;box-shadow:0 1px 2px #1c344205}
/* Dashboard */
.stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stat {background:#fff;border:1px solid #e9edf0;border-radius:23px;padding:22px 21px;min-height:161px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat.featured {background:radial-gradient(ellipse at 105% 5%,#1d6260 0%,transparent 65%),linear-gradient(125deg,#0d233d,#15354e);border-color:#14334b;color:white;box-shadow:0 8px 24px #16375012}
.stat.featured:before {content:'';position:absolute;width:180px;height:180px;border:1px solid #ffffff07;border-radius:50%;right:-92px;bottom:-115px;box-shadow:0 0 0 24px #ffffff03,0 0 0 48px #ffffff02;pointer-events:none}
.stat-label {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px;color:#617084;font-size:10.5px;font-weight:500;line-height:1.5}
.stat-label>span {display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#f2f6f8;color:#6b8495;flex-shrink:0}
.stat-label svg {width:15px;height:15px}
.stat.featured .stat-label {color:#b8cdde}
.stat.featured .stat-label>span {color:#a2ead3;background:#ffffff0c;border:1px solid #ffffff0b}
.stat-value {font:680 clamp(22px,2vw,32px)/1.15 var(--display);letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums;position:relative}
.stat-note {display:flex;align-items:flex-start;gap:5px;margin-top:13px;color:#617084;font-size:9px;line-height:1.55}
.stat-note svg {width:12px;height:12px;margin-top:1px}
.featured .stat-note {color:#8ed8bf}
.content-grid,.lower-grid {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px;margin-bottom:24px}
.panel {background:#fff;border:1px solid #e8ecf0;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);min-width:0}
.panel-head {display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:25px}
.panel h2 {font:650 16px/1.35 var(--display);letter-spacing:-.5px;margin-bottom:6px}
.panel-head p {font-size:11px;color:#617084;margin-bottom:0;line-height:1.6}
.panel-head>svg {color:#8699a9;width:19px;height:19px}
.text-button {display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:3px 0;color:#078469;font-size:11px;font-weight:500;line-height:1.5;white-space:nowrap}
.text-button:hover {color:#005c4b}
.text-button svg {width:13px;height:13px}
.tag {background:#f1f5f8;border:1px solid #ecf0f3;border-radius:20px;color:#76899c;padding:5px 9px;font-size:9px;font-weight:500;white-space:nowrap}
.legend-dot {display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.chart-block {display:flex;align-items:center;gap:30px;min-height:206px}
.donut {width:188px;height:188px;border-radius:50%;position:relative;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff55}
.donut:before {content:'';position:absolute;inset:27px;background:#fff;border-radius:50%}
.donut-center {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;gap:6px}
.donut-center small {color:#617084;font-size:10px;letter-spacing:-.1px}
.donut-center strong {font:650 22px/1.2 var(--display);letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.legend {flex:1;min-width:0}
.legend-row {display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:15px}
.legend-row:last-child {margin-bottom:0}
.legend-name {flex:1;min-width:0;color:#617084;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend-row strong {font-size:10px;font-weight:560;white-space:nowrap;font-variant-numeric:tabular-nums}
.legend-row small {font-size:9px;color:#617084;width:30px;text-align:right;flex-shrink:0}
.insight {display:flex;align-items:flex-start;gap:11px;background:#f3f8f6;border:1px solid #eaf1ed;border-radius:14px;padding:13px 15px;margin-top:21px;color:#617084;font-size:10px;line-height:1.8}
.insight>span {color:#41a88a}
.insight svg {width:15px;height:15px}
.insight strong {color:#24785f;font-weight:550}
.reserve-visual {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px}
.reserve-number {font:660 30px/1.2 var(--display);letter-spacing:-1.2px}
.reserve-visual small {display:block;font-size:11px;color:#617084;margin-top:8px}
.reserve-symbol {width:58px;height:58px;flex-shrink:0;display:grid;place-items:center;border-radius:20px;background:#e9f6ef;color:#32a581}
.reserve-symbol svg {width:27px;height:27px}
.progress-track {height:8px;border-radius:10px;background:#edf2f3;overflow:hidden;margin:25px 0 10px}
.progress-track>div {height:100%;border-radius:10px;background:linear-gradient(90deg,#0a997e,#54c29c)}
.progress-label {display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#617084;line-height:1.5}
.reserve-foot {display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:#617084;font-size:11px;line-height:1.65}
.reserve-foot svg {width:16px;height:16px;margin-top:1px;color:#409c7e}
.reserve-foot strong {font-weight:550;color:#327d63}
/* Transactions */
.table-wrap {overflow:auto}
table {width:100%;border-collapse:collapse;text-align:left;font-size:12px}
th {padding:0 9px 14px;font-size:9px;text-transform:uppercase;font-weight:550;letter-spacing:.8px;color:#617084}
td {padding:16px 9px;border-top:1px solid #edf0f4;white-space:nowrap}
td:first-child,th:first-child {padding-left:0}
td:last-child,th:last-child {padding-right:0;text-align:right}
.tx-description {display:flex;align-items:center;gap:11px}
.tx-icon {width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:#f0f3f6;color:#7a8f9f;flex-shrink:0}
.tx-icon.in {background:#e7f5ee;color:#399c7b}
.tx-icon svg {width:16px;height:16px}
.tx-description strong {display:block;font-size:11px;font-weight:560;letter-spacing:-.15px}
.tx-description small {display:block;margin-top:4px;font-size:9px;color:#617084}
.category {display:inline-block;padding:4px 8px;border-radius:7px;background:#f3f6f8;color:#617084;font-size:9px}
.amount {font-size:12px;font-weight:550;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.positive {color:#09846a}
.negative {color:#776e69}
.date-cell {color:#617084;font-size:10px}
.toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:25px}
.filters {display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:#f1f4f7;border-radius:12px}
.filter {border:0;border-radius:9px;background:transparent;padding:7px 13px;font-size:11px;color:#617084;font-weight:500;min-height:32px}
.filter.active {color:#18374f;background:#fff;box-shadow:0 1px 5px #19384f18}
.filter:hover:not(.active) {background:#e8edf2}
.search {width:190px;max-width:100%;border:1px solid #e4e9ed;border-radius:24px;padding:11px 15px;background:#fafbfd;font-size:11px;color:var(--ink)}
.search::placeholder {color:#9ba6b2}
.summary-strip {display:flex;align-items:center;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding-top:19px;margin-top:18px;color:#617084;font-size:11px}
.summary-strip strong {color:#3e5870;font-weight:550}
.icon-button {display:inline-grid;place-items:center;background:#f2f5f7;border:1px solid #edf0f3;border-radius:50%;width:31px;height:31px;padding:7px;color:#6a8193;flex-shrink:0}
.icon-button:hover {background:#e7edf1;transform:scale(1.04)}
.icon-button svg {width:14px;height:14px}
.row-actions {display:flex;gap:6px;justify-content:flex-end}
.status {display:inline-block;padding:4px 7px;background:#faf2e8;color:#8b673a;border-radius:6px;font-size:9px}
.status.paid {background:#eaf6ef;color:#3a7c58}
/* Guidance and portfolio */
.assistant-preview {position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0%,#d0eee2,transparent 60%),linear-gradient(125deg,#e8f1f7,#edf6f3);border:1px solid #dfebea;border-radius:var(--radius);padding:27px}
.assistant-preview:after {content:'✳';position:absolute;right:7px;top:30px;transform:rotate(-15deg);font-size:132px;line-height:1;color:#bfded4;font-weight:300;pointer-events:none;opacity:.65}
.assistant-preview h2 {position:relative;z-index:1;font:670 26px/1.15 var(--display);letter-spacing:-1px;max-width:250px;margin:23px 0 14px}
.assistant-preview p {position:relative;z-index:1;max-width:255px;color:#617084;font-size:11px;line-height:1.8;margin-bottom:23px}
.assistant-preview .button {position:relative;z-index:1;border-color:#ffffffaa;box-shadow:0 3px 13px #214d5110}
.ai-eyebrow {display:flex;align-items:center;gap:7px;color:#5a9483;font-size:8px;font-weight:600;letter-spacing:1.1px}
.ai-eyebrow svg {width:14px;height:14px}
.alerts {margin-top:21px}
.alert-line {display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}
.alert-line:last-child {border-bottom:0}
.alert-icon {width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f9f1e7;color:#b79566;flex-shrink:0}
.alert-icon svg {width:15px;height:15px}
.alert-line strong {font-size:11px;font-weight:550}
.alert-line small {display:block;margin-top:3px;color:#617084;font-size:9px;line-height:1.6}
.alert-line>b {margin-left:auto;font-size:11px;font-weight:550;white-space:nowrap}
.portfolio-grid,.asset-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.portfolio-card,.asset-card {border:1px solid #e6ecf0;border-radius:24px;background:#fff;padding:24px;box-shadow:var(--shadow)}
.portfolio-card h3,.asset-card h3 {font:600 16px/1.4 var(--display);letter-spacing:-.4px;margin:22px 0 7px}
.portfolio-card p,.asset-card p {color:#617084;font-size:11px;line-height:1.6}
.portfolio-card .value,.asset-card .value {font:650 29px/1.2 var(--display);letter-spacing:-1.1px;margin:23px 0;font-variant-numeric:tabular-nums}
.card-top {display:flex;align-items:center;justify-content:space-between;gap:10px}
.asset-drawing {height:140px;display:flex;align-items:center;justify-content:center;border:1px solid #e5edf1;border-radius:18px;background:radial-gradient(ellipse at 55% 20%,#f7fcff,#e6eef5);position:relative;overflow:hidden}
.asset-drawing:before {content:'';width:110px;height:110px;position:absolute;border-radius:50%;background:#ffffff45;box-shadow:0 0 0 20px #ffffff25,0 0 0 40px #ffffff18}
.asset-drawing svg {position:relative;width:60px;height:60px;stroke-width:1.15;color:#64879f;filter:drop-shadow(0 5px 5px #507b8810)}
.asset-drawing.auto {background:radial-gradient(ellipse at 55% 20%,#f8fffc,#deeee6);border-color:#e3ede7}
.asset-drawing.auto svg {color:#6a9d83}
.asset-drawing.outros {background:radial-gradient(ellipse at 55% 20%,#fcfcff,#e9eaf4);border-color:#e9eaf1}
.asset-drawing.outros svg {color:#8a93ac}
.asset-meta {display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px;color:#617084;font-size:9px}
.section-heading {font:650 20px/1.3 var(--display);letter-spacing:-.7px;margin:34px 0 21px}
.note-box {display:flex;gap:12px;align-items:flex-start;background:#edf3f6;border:1px solid #e4ecf0;border-radius:18px;padding:18px 21px;margin:24px 0;color:#73899a;font-size:11px;line-height:1.8}
.note-box svg {width:18px;height:18px;flex-shrink:0;margin-top:2px;color:#7a98a9}
.note-box strong {font-weight:600;color:#536d80}
.empty {text-align:center;padding:34px 16px;color:#617084;font-size:12px;line-height:1.8}
/* Assistant */
.chat-layout {display:grid;grid-template-columns:1fr 270px;gap:24px}
.chat-panel {padding:0;overflow:hidden}
.chat-header {padding:23px 27px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.chat-header .avatar {background:linear-gradient(135deg,#dcecf3,#dff2e7);width:40px;height:40px;border-radius:14px;color:#308d79}
.chat-header strong {display:block;font-size:14px;font-weight:600;letter-spacing:-.3px}
.chat-header small {display:block;font-size:10px;color:#617084;margin-top:4px}
.chat-messages {padding:27px;min-height:325px;max-height:510px;overflow:auto;display:flex;flex-direction:column;gap:20px}
.message {max-width:90%;font-size:12px;line-height:1.95;background:#f2f5f8;color:#586d81;border:1px solid #edf0f4;border-radius:6px 21px 21px;padding:19px 22px;white-space:pre-wrap}
.message.user {align-self:flex-end;background:linear-gradient(125deg,#173851,#1c4b60);color:#f4fcff;border-color:#24435c;border-radius:21px 6px 21px 21px;box-shadow:0 4px 12px #1234460e}
.suggestions {display:flex;gap:9px;flex-wrap:wrap;padding:0 27px 23px}
.suggestions button {display:flex;align-items:center;gap:6px;border:1px solid #dfe9e6;border-radius:30px;padding:9px 13px;background:#fcfffd;color:#548c7a;font-size:10px}
.suggestions button svg {width:15px;height:15px}
.suggestions button:hover {background:#eff8f3;border-color:#cce5d9}
.chat-form {display:flex;align-items:center;gap:12px;border:1px solid #e2e8ed;background:#f8fafb;border-radius:32px;padding:6px 6px 6px 20px;margin:0 24px 25px;box-shadow:inset 0 1px 3px #253c5003}
.chat-form input {width:100%;min-width:0;border:0;outline:none;background:none;color:var(--ink);font-size:12px;line-height:1.6}
.chat-form input::placeholder {color:#94a2ae}
.chat-form:focus-within {outline:2px solid #9fcbbd;outline-offset:3px}
.chat-form .button {width:38px;height:38px;min-height:38px;padding:10px;flex-shrink:0}
.context-row {padding:20px 0;border-bottom:1px solid var(--line)}
.context-row:last-child {border:0}
.context-row small {display:block;color:#617084;font-size:10px;margin-bottom:7px}
.context-row strong {font:600 22px/1.2 var(--display);letter-spacing:-.6px}
/* Dialogs and form controls */
dialog {width:500px;max-width:calc(100% - 28px);max-height:88vh;border:1px solid #ffffffcc;border-radius:27px;padding:28px;background:#fff;box-shadow:0 30px 110px #0b22342b,0 0 0 1px #193d5009;color:var(--ink)}
dialog::backdrop {background:rgba(13,29,45,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal-top {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}
.modal-top h2 {margin:0;font:650 25px/1.2 var(--display);letter-spacing:-.8px}
.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}
.field {display:flex;flex-direction:column;gap:8px;color:#6a7e90;font-size:11px;font-weight:500;line-height:1.5;min-width:0}
.field.full {grid-column:1/-1}
.field input,.field select {width:100%;min-width:0;border:1px solid #dfe6ed;border-radius:13px;padding:12px 13px;background:#f9fbfc;color:#223e55;font-size:13px;font-weight:400;line-height:1.4;box-shadow:inset 0 1px 2px #13263802;transition:border-color .2s,background .2s}
.field input:focus,.field select:focus {background:#fff;border-color:#8bb6aa}
.form-actions {display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.form-help {font-size:11px;color:#617084;line-height:1.8;margin-top:18px;margin-bottom:0}
.about-copy {color:#6e8192;font-size:12px;line-height:1.9}
.about-copy strong {color:#35586b;font-weight:600}
.about-copy ul {padding-left:18px}
.danger {color:#9e514b}
#toast {position:fixed;bottom:26px;left:50%;transform:translate(-50%,12px);max-width:90vw;padding:14px 22px;background:rgba(17,43,62,.94);color:#f0fcf6;border:1px solid #ffffff24;border-radius:30px;box-shadow:0 8px 30px #19384a2b;backdrop-filter:blur(20px);font-size:12px;line-height:1.6;text-align:center;z-index:60;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.toast-visible {opacity:1!important;transform:translate(-50%,0)!important}
footer {display:flex;justify-content:space-between;gap:20px;max-width:1550px;margin:0 auto;padding:20px 44px 26px;color:#617084;font-size:9px;line-height:1.7}
.section-gap {margin-bottom:24px}
.mobile-title {display:none}
/* Emergency reserve */
.reserve-layout {display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:24px}
.reserve-input-panel {padding:28px}
.reserve-input-panel .panel-head {margin-bottom:27px}
.reserve-input-panel .reserve-symbol {width:39px;height:39px;border-radius:13px}
.reserve-input-panel .reserve-symbol svg {width:20px;height:20px}
.reserve-input-panel .form-grid {gap:20px 15px}
.reserve-input-panel .field {color:#657d8e;font-size:11px;line-height:1.5}
.reserve-input-panel .field input,.reserve-input-panel .field select {padding:12px 11px;font-size:13px}
.reserve-input-panel input:disabled {background:#edf3f5;color:#78929e}
.field-hint {color:#617084;font-size:10px;line-height:1.85;margin:15px 0 22px}
.reserve-suggestion {margin-top:17px}
.reserve-save {display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:23px;margin-top:4px}
.reserve-save>span {color:#527562;font-size:10px;line-height:1.65;max-width:180px}
.reserve-save .button {white-space:nowrap}
.reserve-hero {position:relative;overflow:hidden;background:radial-gradient(ellipse at 110% 0%,#1d6465 0%,transparent 70%),linear-gradient(130deg,#0e213a,#15384f);border:1px solid #19394d;border-radius:27px;padding:30px;color:#f4fcff;box-shadow:0 12px 30px #17364812}
.reserve-hero:before {content:'';position:absolute;right:-80px;top:-115px;width:280px;height:280px;border:1px solid #c5ffeb09;border-radius:50%;box-shadow:0 0 0 30px #ffffff02,0 0 0 60px #ffffff02;pointer-events:none}
.reserve-hero-top {position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#a5d8cd;font-size:10px}
.reserve-hero-top>span:first-child {display:flex;align-items:center;gap:8px;letter-spacing:1.15px;font-size:9px;font-weight:550}
.reserve-hero-top>span:last-child {background:#ffffff0d;border:1px solid #ffffff17;border-radius:25px;padding:6px 11px;white-space:nowrap;color:#c1e7df}
.reserve-target {position:relative;font:680 47px/1.1 var(--display);letter-spacing:-2px;overflow-wrap:anywhere;margin-top:31px}
.reserve-hero>p {position:relative;color:#9cb7c4;font-size:11px;line-height:1.8;margin:10px 0 0}
.reserve-hero-progress {display:flex;align-items:center;gap:25px;padding:30px 0 27px;position:relative}
.reserve-ring {width:115px;height:115px;flex-shrink:0;border-radius:50%;background:conic-gradient(#61d9b1 var(--progress),#ffffff14 0);position:relative;display:grid;place-items:center}
.reserve-ring:before {content:'';position:absolute;inset:8px;border-radius:50%;background:#133449}
.reserve-ring>strong {position:relative;font:600 26px/1.2 var(--display);letter-spacing:-.9px;text-align:center;color:#defcef}
.reserve-ring small {display:block;margin-top:4px;font:10px/1.5 var(--font);letter-spacing:0;color:#99c4bc}
.reserve-hero-progress>div:last-child {min-width:0;display:flex;flex-direction:column;gap:7px}
.reserve-hero-progress>div:last-child>small {font-size:11px;color:#99b6c3}
.reserve-hero-progress>div:last-child>strong {font:630 30px/1.2 var(--display);letter-spacing:-1.1px;overflow-wrap:anywhere}
.reserve-hero-progress>div:last-child>span {font-size:10px;line-height:1.65;color:#92bdba}
.reserve-gap {position:relative;border-top:1px solid #ffffff16;padding-top:21px;color:#b7d5d5;font-size:12px;line-height:1.8}
.reserve-gap strong {color:#bdf6df;font-weight:600}
.reserve-gap svg {width:16px;height:16px;margin-right:5px}
.reserve-hero .safety-caption {font-size:10px;color:#83a5b2;margin-top:13px;line-height:1.8}
.reserve-roadmap {margin-top:24px}
.reserve-eta {display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.reserve-eta>strong {font:640 28px/1.2 var(--display);letter-spacing:-1px}
.reserve-eta>span {color:#319d7f;font-size:12px;font-weight:500;white-space:nowrap}
.budget-message {margin-top:12px;background:#eef7f3;border:1px solid #e5f1e9;border-radius:14px;padding:14px 16px;color:#617084;font-size:11px;line-height:1.85}
.budget-message.warning {background:#faf3e9;border-color:#f4eadb;color:#8b673a}
.reserve-milestones {margin-top:23px}
.milestone {display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0}
.milestone>span {width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#f0f4f7;color:#8b9dac;flex-shrink:0}
.milestone svg {width:14px;height:14px}
.milestone.done>span {background:#e5f5ec;color:#35a177}
.milestone strong {font-size:12px;font-weight:550;letter-spacing:-.2px}
.milestone small {display:block;margin-top:4px;color:#8599a6;font-size:10px}
.milestone b {margin-left:auto;color:#709a85;font-size:9px;font-weight:500}
.reserve-guide {padding:29px}
.guide-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.step-number {display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#edf6f1;color:#54977b;font-size:11px;font-weight:600;margin-bottom:18px}
.guide-grid h3 {font:600 14px/1.4 var(--display);letter-spacing:-.4px;margin-bottom:11px}
.guide-grid p {color:#617084;font-size:11px;line-height:1.85;margin-bottom:0}
.reserve-faq {margin-top:30px;border-top:1px solid var(--line)}
.reserve-faq details {padding:20px 0;border-bottom:1px solid var(--line)}
.reserve-faq summary {cursor:pointer;color:#486b7b;font-size:12px;font-weight:550;line-height:1.7}
.reserve-faq details>p {color:#617084;font-size:11px;line-height:1.9;max-width:850px;margin:15px 0 0}
.reserve-sources {display:flex;align-items:center;gap:9px 17px;flex-wrap:wrap;margin-top:22px;color:#617084;font-size:9px;line-height:1.8}
.reserve-sources a {color:#689383;text-decoration:underline;text-underline-offset:3px}
/* Room to breathe across screen sizes */
@media(min-width:1650px) {
  main {padding-top:56px}.page-heading {margin-bottom:40px}h1 {font-size:49px;letter-spacing:-2.3px}.stats {gap:22px}.stat {padding:26px;min-height:173px}.stat-value {font-size:33px}.panel {padding:29px}.donut {width:207px;height:207px}.donut:before {inset:29px}.chart-block {gap:36px}.reserve-target {font-size:53px}
}
@media(max-width:1320px) {
  .sidebar {width:212px;padding:30px 14px 20px}.app-shell {margin-left:212px}.nav-item {font-size:11px;gap:9px;padding-left:11px}.brand {font-size:34px}.topbar {padding:0 30px}main {padding:38px 30px 23px}h1 {font-size:37px;letter-spacing:-1.6px}.page-heading {gap:20px}.heading-actions {gap:7px}.button {padding:11px 15px;font-size:10px}.month-picker {font-size:10px;max-width:152px}.stats {gap:13px}.stat {padding:19px 17px;min-height:151px}.stat-label {font-size:9.5px}.stat-value {font-size:25px}.stat-note {font-size:8.5px}.content-grid,.lower-grid {grid-template-columns:minmax(0,1.45fr) minmax(282px,1fr);gap:20px}.panel {padding:22px}.panel h2 {font-size:14px}.panel-head p {font-size:10px}.chart-block {gap:22px;min-height:184px}.donut {width:164px;height:164px}.donut:before {inset:23px}.donut-center strong {font-size:19px}.legend-row {gap:6px;font-size:10px}.legend-row strong {font-size:9px}.legend-row small {display:none}.reserve-number {font-size:28px}.assistant-preview {padding:23px}.assistant-preview h2 {font-size:25px}.portfolio-card,.asset-card {padding:21px}.reserve-layout {gap:20px}.reserve-input-panel,.reserve-hero {padding:23px}.reserve-input-panel .form-grid {grid-template-columns:1fr}.reserve-input-panel .field.full {grid-column:auto}.reserve-target {font-size:39px}.reserve-ring {width:94px;height:94px}.reserve-hero-progress {gap:19px}.reserve-hero-progress>div:last-child>strong {font-size:26px}.guide-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.reserve-save {align-items:flex-start;flex-direction:column}.reserve-save>span {max-width:none}footer {padding-left:30px;padding-right:30px}
}
@media(max-width:1120px) {
  .sidebar {width:190px;padding:28px 11px 20px}.app-shell {margin-left:190px}.brand {font-size:31px;padding-left:9px}.brand-mark {width:35px;height:35px}.workspace {padding:11px 8px;gap:7px}.workspace strong {font-size:11px}.workspace small {font-size:9px}.workspace .avatar {width:30px;height:30px}.nav-item {font-size:10.5px;gap:8px}.mini-badge {display:none}.compass-card {padding:16px 13px}.compass-card strong {font-size:13px}.topbar {padding:0 25px}main {padding:34px 25px 22px}.page-heading {align-items:flex-start}.heading-actions {flex-direction:column;align-items:flex-end;padding-top:1px}.stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stat {padding:23px;min-height:148px}.stat-value {font-size:30px}.stat-label {font-size:11px;margin-bottom:17px}.stat-note {font-size:10px}.content-grid,.lower-grid {grid-template-columns:1fr}.chart-block {gap:38px;min-height:195px}.donut {width:190px;height:190px}.donut:before {inset:27px}.donut-center strong {font-size:22px}.legend-row {font-size:12px;gap:9px}.legend-row strong {font-size:11px}.legend-row small {display:block}.reserve-visual {margin-top:15px}.reserve-foot {margin-top:20px}.assistant-preview h2 {font-size:29px;max-width:75%}.assistant-preview p {max-width:75%;font-size:12px}.assistant-preview:after {right:35px;font-size:160px}.portfolio-grid,.asset-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.chat-layout {grid-template-columns:1fr}.chat-context {display:none}.reserve-layout {grid-template-columns:1fr}.reserve-input-panel .form-grid {grid-template-columns:1fr 1fr}.reserve-input-panel .field.full {grid-column:1/-1}.reserve-input-panel .field {font-size:11px}.reserve-save {flex-direction:row;align-items:center}.reserve-save>span {max-width:220px}.reserve-target {font-size:46px}.reserve-hero-progress {gap:28px}.reserve-ring {width:115px;height:115px}.reserve-hero-progress>div:last-child>strong {font-size:32px}footer {padding:18px 25px 24px;flex-direction:column;gap:4px}
}
@media(max-width:760px) {
  .sidebar {inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;width:auto;height:70px;padding:5px 6px;display:block;overflow:visible;border:1px solid #ffffffd9;border-radius:23px;background:rgba(252,253,255,.92);box-shadow:0 4px 30px #14324a17,0 0 0 1px #dae4e950;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
  .sidebar>.brand,.workspace,.nav-label,.sidebar-bottom {display:none}.sidebar nav {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;height:100%}.nav-item {min-height:0;height:58px;margin:0;padding:9px 1px 5px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;border-radius:17px;font-size:8px;line-height:1.12;font-weight:500;text-align:center}.nav-item svg {width:19px;height:19px}.nav-item.active {box-shadow:0 2px 6px #17344b18;background:#15354f}.nav-reserve-full {display:none}.nav-reserve-short {display:inline}.app-shell {margin-left:0}.topbar {height:58px;padding:0 21px}.breadcrumb {gap:9px;font-size:10px}.demo-pill {font-size:8px;padding:5px 8px;gap:5px}main {padding:31px 21px 12px;min-height:calc(100vh - 192px)}.page-heading {gap:20px;flex-wrap:wrap;margin-bottom:26px}.page-heading>div:first-child {flex-basis:100%}.eyebrow {font-size:9px;margin-bottom:11px;letter-spacing:1.7px}h1 {font-size:36px;letter-spacing:-1.6px;margin-bottom:12px;max-width:560px;text-wrap:balance}.subtitle {font-size:12px;line-height:1.7;max-width:470px}.heading-actions {flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:0}.heading-actions:empty {display:none}.button {font-size:11px;min-height:42px;padding:11px 17px}.month-picker {font-size:11px;max-width:170px}.stats {gap:13px;margin-bottom:19px}.stat {border-radius:21px;padding:20px 17px;min-height:145px}.stat-value {font-size:28px;letter-spacing:-1px}.stat-label {font-size:10px;margin-bottom:17px}.stat-label>span {width:26px;height:26px;border-radius:9px}.stat-note {font-size:9px;line-height:1.6;margin-top:12px}.content-grid,.lower-grid {gap:19px;margin-bottom:19px}.panel {border-radius:23px;padding:23px 20px}.panel h2 {font-size:15px}.panel-head {margin-bottom:24px}.panel-head p {font-size:10px}.chart-block {gap:27px;min-height:180px}.donut {width:175px;height:175px}.donut:before {inset:25px}.donut-center strong {font-size:20px}.donut-center small {font-size:9px}.legend-row {font-size:11px;gap:7px}.legend-row strong {font-size:10px}.legend-row small {display:none}.insight {font-size:10px;padding:12px 13px}.desktop-col {display:none}.tx-description {gap:9px}.tx-description strong {font-size:11px}.tx-description small {font-size:9px}.tx-icon {width:33px;height:33px;border-radius:11px}td {padding:16px 5px}th {font-size:8px;padding-right:5px;padding-left:5px}.amount {font-size:11px}.category {font-size:9px}.date-cell {font-size:10px}.text-button {font-size:10px}.summary-strip {font-size:11px;gap:12px}.toolbar {gap:15px}.search {width:100%}.filter {font-size:10px;padding:7px 12px}.toolbar .button {min-height:38px;padding:9px 15px}.assistant-preview {padding:26px;border-radius:23px}.assistant-preview h2 {font-size:30px}.assistant-preview p {font-size:12px}.ai-eyebrow {font-size:8px}.portfolio-card,.asset-card {border-radius:22px;padding:22px}.portfolio-card h3,.asset-card h3 {font-size:16px}.portfolio-card .value,.asset-card .value {font-size:28px}.asset-drawing {height:125px}.section-heading {font-size:20px;margin-top:28px}.note-box {font-size:11px;padding:17px 18px;border-radius:18px}.chat-header {padding:21px}.chat-messages {padding:21px;min-height:280px}.message {font-size:12px;padding:17px 18px;max-width:95%}.suggestions {padding:0 20px 20px;gap:8px}.suggestions button {font-size:10px}.chat-form {margin:0 18px 20px;padding-left:16px}.chat-form input {font-size:12px}.form-grid {gap:18px 14px}.field {font-size:11px}.field input,.field select {font-size:14px}.modal-top h2 {font-size:24px}dialog {padding:25px;border-radius:25px}.reserve-layout {gap:19px}.reserve-input-panel,.reserve-hero,.reserve-guide {padding:24px 21px}.reserve-target {font-size:43px}.reserve-hero-top {font-size:9px}.reserve-hero-top>span:first-child {font-size:8px;letter-spacing:.9px}.reserve-hero-progress>div:last-child>strong {font-size:30px}.reserve-hero>p {font-size:11px}.reserve-ring {width:105px;height:105px}.reserve-input-panel .field {font-size:10px}.reserve-input-panel .field input,.reserve-input-panel .field select {font-size:13px;padding:12px 10px}.reserve-save>span {font-size:9px;max-width:180px}.reserve-save {gap:12px}.guide-grid {gap:24px 22px}.guide-grid h3 {font-size:13px}.guide-grid p {font-size:11px}.reserve-faq summary {font-size:12px}.reserve-eta>strong {font-size:28px}.reserve-sources {font-size:9px}.milestone b {font-size:9px}.budget-message {font-size:11px}.field-hint {font-size:10px}.reserve-roadmap {margin-top:19px}footer {padding:22px 21px calc(106px + env(safe-area-inset-bottom));font-size:8px}#toast {bottom:calc(95px + env(safe-area-inset-bottom));min-width:240px;max-width:90vw;font-size:11px}.nav-item:active {transform:scale(.97)}
}
@media(max-width:440px) {
  main {padding-left:17px;padding-right:17px}.topbar {padding:0 17px}h1 {font-size:34px;letter-spacing:-1.5px}.stats {gap:10px}.stat {padding:17px 13px;min-height:139px}.stat-value {font-size:25px}.stat-label {font-size:9px;gap:5px}.stat-label>span {width:23px;height:23px;flex-shrink:0}.stat-label svg {width:13px;height:13px}.stat-note {font-size:8px}.panel {padding:21px 16px}.panel h2 {font-size:14px}.panel-head {gap:10px}.panel-head p {font-size:9px}.tag {font-size:8px;padding:5px 7px}.chart-block {gap:18px}.donut {width:145px;height:145px}.donut:before {inset:21px}.donut-center strong {font-size:17px}.legend-row {font-size:10px;gap:6px;margin-bottom:13px}.legend-row strong {font-size:9px}.legend-dot {width:6px;height:6px}.insight {font-size:9px}.portfolio-grid,.asset-grid {grid-template-columns:1fr}.asset-card {display:grid;grid-template-columns:90px 1fr;gap:0 16px}.asset-drawing {grid-row:1/5;height:100px;border-radius:15px}.asset-drawing svg {width:45px;height:45px}.asset-card h3 {margin-top:0}.asset-card .value {font-size:26px;margin:8px 0}.asset-card .asset-meta {grid-column:1/-1;margin-top:17px}.assistant-preview {padding:24px 20px}.assistant-preview h2 {font-size:28px}.assistant-preview:after {right:7px;top:42px;font-size:135px}.assistant-preview p {max-width:85%;font-size:11px}.tx-description strong {font-size:10px}.tx-description small {font-size:8px}.tx-icon {width:29px;height:29px}.tx-description {gap:7px}.amount {font-size:10px}.icon-button {width:28px;height:28px;padding:6px}.row-actions {gap:4px}.status {font-size:8px;padding:4px 5px}.date-cell {font-size:9px}.reserve-hero {padding:24px 20px}.reserve-input-panel,.reserve-guide {padding:22px 18px}.reserve-target {font-size:38px}.reserve-hero-progress {gap:20px}.reserve-ring {width:98px;height:98px}.reserve-hero-progress>div:last-child>strong {font-size:27px}.reserve-hero-progress>div:last-child>span {font-size:9px}.reserve-input-panel .form-grid {gap:18px 12px}.reserve-input-panel .field {font-size:9px}.reserve-input-panel .field input,.reserve-input-panel .field select {padding:11px 9px;font-size:12px}.reserve-save .button {font-size:10px;padding:11px 13px}.reserve-save>span {font-size:9px;max-width:145px}.guide-grid {gap:23px 17px}.guide-grid h3 {font-size:12px}.guide-grid p {font-size:10px}.reserve-eta>strong {font-size:25px}.reserve-eta>span {font-size:11px}.breadcrumb {font-size:9px;gap:7px}.demo-pill {font-size:7px}.nav-item {font-size:7.5px}.message {font-size:11px}.chat-form input {font-size:11px}.note-box {font-size:10px}.button {font-size:10px}.field input,.field select {font-size:13px}footer {padding-left:17px;padding-right:17px}
}
@media(max-width:350px) {
  h1 {font-size:30px}.stat-value {font-size:21px}.stat-label {font-size:8px}.chart-block {flex-direction:column;gap:24px}.legend {width:100%}.legend-row {font-size:11px}.legend-row strong {font-size:11px}.legend-row small {display:block}.reserve-input-panel .form-grid {grid-template-columns:1fr}.reserve-input-panel .field.full {grid-column:auto}.reserve-target {font-size:32px}.reserve-save {flex-direction:column;align-items:flex-start}.reserve-save>span {max-width:none}.reserve-hero-progress {gap:14px}.reserve-hero-progress>div:last-child>strong {font-size:24px}.guide-grid {grid-template-columns:1fr}.button {padding-left:12px;padding-right:12px}.month-picker {max-width:140px}.nav-item {font-size:7px}.panel-head .text-button {font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
