:root{color-scheme:dark;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(24,78,72,.3),transparent 28%),radial-gradient(circle at 85% 12%,rgba(31,68,145,.22),transparent 24%),linear-gradient(180deg,#081111,#0e1718 45%,#111619);color:#e7f5ef}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;min-height:100vh;padding:28px 22px;background:linear-gradient(180deg,#0a1212f2,#070c0de6);border-right:1px solid rgba(109,167,149,.18)}.sidebar__brand{display:flex;flex-direction:column;gap:6px}.sidebar__eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#82cbb6}.sidebar__title{font-size:1.4rem;font-weight:700;line-height:1.1}.sidebar__subtitle{color:#9ab4ad;font-size:.94rem;line-height:1.45}.sidebar__nav{display:flex;flex-direction:column;gap:10px}.sidebar__link{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;color:#a5bbb5;border:1px solid transparent;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.sidebar__link:hover{transform:translate(2px);color:#effaf5;border-color:#82cbb62e;background:#27413f59}.sidebar__link--active{color:#effaf5;border-color:#74ccb257;background:linear-gradient(135deg,#18433be6,#0d2528db);box-shadow:inset 0 1px #ddfff60a}.sidebar__icon{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#f4fffa0f;font-size:1rem}.sidebar__link-copy{display:flex;flex-direction:column;gap:2px}.sidebar__link-title{font-size:.98rem;font-weight:600}.sidebar__link-description{font-size:.84rem;color:#8ca49d}.app-shell__content{display:flex;flex-direction:column;min-width:0}.app-header{position:sticky;top:0;z-index:10;display:grid;gap:20px;padding:26px 36px 20px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#081111eb,#081111a6);border-bottom:1px solid rgba(110,173,154,.12)}.app-header__main{display:grid;gap:18px}.app-header__topline{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.app-header__eyebrow{margin:0 0 6px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#7fcab5}.app-header__title{margin:0;font-size:clamp(1.8rem,2vw,2.45rem);line-height:1.05}.app-header__subtitle{margin:8px 0 0;max-width:56ch;color:#a8c0ba;font-size:.98rem;line-height:1.55}.app-header__actions{display:grid;gap:14px}.app-header__userbar{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.app-header__identity{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:#d4e6df}.app-header__identity-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7fcab5}.app-header__auth-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:14px;border:1px solid rgba(122,181,164,.2);background:#ffffff05;color:#effaf5;transition:transform .12s ease,border-color .12s ease,background .12s ease}.button:hover:not(:disabled){transform:translateY(-1px);border-color:#7ab5a457}.button:disabled{opacity:.65;cursor:default}.button--primary{border-color:#7fcab559;background:linear-gradient(135deg,#1d5c52,#133538)}.button--ghost{background:#ffffff0a}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:32px 18px}.auth-panel{width:min(100%,460px);padding:28px;border-radius:28px;border:1px solid rgba(116,179,161,.16);background:linear-gradient(180deg,#10191bf0,#0a1012f0);box-shadow:0 24px 64px #00000047,inset 0 1px #ffffff08}.auth-panel--loading{text-align:center}.auth-panel__eyebrow{margin:0 0 10px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#7fcab5}.auth-panel__title{margin:0;font-size:clamp(1.9rem,4vw,2.4rem);line-height:1.05}.auth-panel__subtitle{margin:12px 0 0;color:#a8c0ba;line-height:1.55}.auth-panel__footer{margin:22px 0 0;color:#a8c0ba}.auth-panel__footer a{color:#effaf5;text-decoration:underline;text-underline-offset:3px}.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form--embedded{max-width:520px}.field-label{display:grid;gap:8px;color:#d2e3dd;font-size:.95rem}.field-input{width:100%;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid rgba(125,178,164,.22);background:#091012d1;color:#effaf5;outline:none}.field-input:focus{border-color:#7fcab58c;box-shadow:0 0 0 3px #7fcab51f}.auth-form__submit{width:100%}.auth-form__error,.auth-form__success{padding:12px 14px;border-radius:14px;font-size:.94rem}.auth-form__error{border:1px solid rgba(239,68,68,.28);background:#7f1d1d47;color:#fecaca}.auth-form__success{border:1px solid rgba(34,197,94,.26);background:#14532d52;color:#d1fae5}.account-security{max-width:720px}.budget-header-tools{display:grid;gap:14px;padding:18px 20px;border-radius:24px;border:1px solid rgba(116,179,161,.14);background:linear-gradient(180deg,#0d1718d6,#091113e0);box-shadow:inset 0 1px #ffffff05}.budget-header-tools__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.budget-header-tools__row--spread{align-items:flex-start}.page-frame{padding:30px 36px 48px}.page-stack{display:flex;flex-direction:column;gap:24px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel{border-radius:28px;border:1px solid rgba(116,179,161,.14);background:linear-gradient(180deg,#131c1edb,#0c1214eb);box-shadow:0 22px 50px #0003,inset 0 1px #ffffff05}.panel--padded{padding:24px}.panel--compact{padding:20px}.panel__title{margin:0;font-size:1.16rem;font-weight:700}.panel__subtitle{margin:8px 0 0;color:#9cb1ab;line-height:1.5}.budget-summary,.budget-summary__cards{display:grid;gap:20px}.budget-summary__cards{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-ml-forecast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px}.budget-ml-risk{display:grid;gap:18px}.budget-ml-risk__value{font-size:clamp(1.8rem,2.5vw,2.8rem)}.budget-ml-risk__value--low{color:#5ee28b}.budget-ml-risk__value--medium{color:#ffcf63}.budget-ml-risk__value--high{color:#ff8d8d}.budget-ml-risk__meter{overflow:hidden;height:14px;border-radius:999px;background:#0b1314e6;border:1px solid rgba(116,179,161,.12)}.budget-ml-risk__fill{height:100%;border-radius:inherit}.budget-ml-risk__fill--low{background:linear-gradient(90deg,#2f8f61,#5ee28b)}.budget-ml-risk__fill--medium{background:linear-gradient(90deg,#b68f2a,#ffd166)}.budget-ml-risk__fill--high{background:linear-gradient(90deg,#9c3340,#ff8d8d)}.budget-ml-risk__meta{display:flex;flex-wrap:wrap;gap:18px;color:#9ab9b1}.budget-ml-profile{display:grid;gap:20px}.budget-ml-profile__hero{display:grid;gap:8px;padding:18px;border-radius:20px;border:1px solid rgba(116,179,161,.14);background:#0a12138f}.budget-ml-profile__label{font-size:1.18rem;color:#dff1ea}.deposit-summary__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stat-card{display:grid;gap:8px}.stat-card__value-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.stat-card__label{color:#8da8a0;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.stat-card__value{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1}.stat-card__supporting{color:#95b3ab;font-size:.9rem}.stat-card__supporting-list{display:grid;gap:4px}.stat-card__secondary{display:inline-flex;align-items:center;padding:7px 11px;border-radius:12px;background:#0d1415bd;border:1px solid rgba(112,164,149,.16);color:#dbece6;font-size:1rem;line-height:1}.stat-card__secondary--positive{color:#5ee28b;border-color:#5ee28b38}.stat-card__secondary--negative{color:#ff8d8d;border-color:#ff8d8d38}.stat-card--positive .stat-card__value{color:#5ee28b}.stat-card--negative .stat-card__value{color:#ff8d8d}.budget-toolbar,.operations-toolbar{display:grid;gap:18px}.budget-toolbar__group,.toolbar-actions,.budget-tabs__list{display:flex;flex-wrap:wrap;gap:12px}.budget-toolbar__group--dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-button,.primary-button,.secondary-button,.danger-button,.ghost-button,.tab-button{border:1px solid rgba(126,193,173,.16);background:#121f21d6;color:#e3f4ed;border-radius:16px;padding:12px 16px;transition:transform .12s ease,border-color .12s ease,background .12s ease}.segmented-button:hover,.primary-button:hover,.secondary-button:hover,.danger-button:hover,.ghost-button:hover,.tab-button:hover{transform:translateY(-1px);border-color:#91d8c257}.segmented-button--active,.tab-button--active{background:linear-gradient(135deg,#165447e6,#102f2beb);border-color:#84ddc05c}.primary-button{background:linear-gradient(135deg,#1d7d66,#155648);border-color:#9aefd147}.secondary-button{background:#1f3032e0}.danger-button{background:linear-gradient(135deg,#902222eb,#5c1616f5);border-color:#ff85853d}.ghost-button{background:transparent}.surface-input,.table-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(125,183,166,.16);background:#0a1214d1;color:#effcf7}.surface-input::placeholder,.table-input::placeholder{color:#6d8880}.surface-input--multi{min-height:132px}.checkbox-row,.checkbox-line{display:inline-flex;align-items:center;gap:10px;color:#cfe0da}.checkbox-row input,.checkbox-line input{width:16px;height:16px}.deposit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.filters-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.operations-filters{grid-template-columns:220px minmax(220px,1fr) minmax(260px,1.2fr)}.chart-grid,.budget-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.split-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.stack-list{display:grid;gap:16px}.account-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.badge-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#20473f94;border:1px solid rgba(133,205,184,.18);color:#99dbc6;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.helper-copy{color:#8ca49d;font-size:.88rem;line-height:1.4}.mini-stat{display:grid;justify-items:end;gap:4px;color:#a3b9b3;font-size:.92rem}.tree-group{display:grid;gap:16px}.code-area{min-height:180px;resize:vertical;font-family:IBM Plex Mono,SFMono-Regular,monospace}.real-asset-detail-cell{padding:0!important;background:#070d0eb8}.real-asset-detail{display:grid;gap:20px;padding:20px}.real-asset-detail__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.real-asset-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.real-asset-chart{min-height:320px}.real-asset-liability{display:grid;gap:18px}.real-asset-liability__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:16px;border-radius:18px;border:1px solid rgba(111,171,154,.1);background:#0a12146b;color:#dfeee8}.chart-card{min-height:410px}.chart-card__body{display:grid;gap:6px}.chart-card__body--donut{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:24px;align-items:center}.budget-donut__chart-wrap{display:flex;justify-content:center}.budget-donut__chart{position:relative;width:min(100%,340px);height:320px}.budget-donut__center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;pointer-events:none;text-align:center}.budget-donut__center-label{color:#85a39a;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.budget-donut__center-value{max-width:150px;font-size:1.05rem;line-height:1.25}.budget-donut__legend,.period-chart__legend-list{display:grid;gap:10px}.budget-donut__legend{align-content:start;max-height:320px;overflow:auto;padding-right:4px}.budget-donut__legend-item,.period-chart__legend-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border-radius:16px;background:#0a12148a;border:1px solid rgba(111,171,154,.1)}.budget-donut__legend-copy{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.budget-donut__legend-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.budget-donut__legend-name{color:#e6f6f0;min-width:0;flex:1 1 auto;line-height:1.3;word-break:break-word}.budget-donut__legend-metrics{display:grid;justify-items:end;gap:4px;color:#95b1a9;font-size:.9rem}.chart-total{display:grid;justify-items:center;gap:4px;margin-top:-12px}.chart-total__label{color:#85a39a;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.chart-total__value{font-size:1.18rem}.chart-wide{min-height:340px}.broker-analytics-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px}.broker-composition__legend{max-height:360px}.broker-movers-chart{display:grid;gap:18px}.broker-movers-chart__legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;color:#b7ccc5}.broker-movers-chart__legend-item{display:inline-flex;align-items:center;gap:10px}.broker-movers-chart__legend-dot--positive{background:#39b36b}.broker-movers-chart__legend-dot--negative{background:#ff245e}.broker-history__toolbar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:18px}.broker-history__chart{padding-top:10px}.period-chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:stretch}.period-chart__visual{min-width:0;display:flex}.period-chart__canvas{width:100%;min-height:490px}.period-chart__legend{display:grid;gap:14px;min-width:0;padding:18px;border-radius:22px;background:#0a12147a;border:1px solid rgba(111,171,154,.1);overflow:hidden}.period-chart__legend-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.period-chart__legend-title{color:#96b5ac;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.period-chart__legend-list{max-height:360px;overflow:auto;padding-right:4px;min-width:0}.period-chart__legend-item{width:min(100%,350px);min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;border:1px solid rgba(111,171,154,.1);background:#0a12148a;color:#e6f6f0;transition:border-color .12s ease,opacity .12s ease,background .12s ease,transform .12s ease;justify-self:center}.period-chart__legend-item:hover:not(:disabled){transform:translateY(-1px);border-color:#91d8c23d}.period-chart__legend-item--active{opacity:1}.period-chart__legend-item--muted{opacity:.48}.period-chart__legend-item:disabled{cursor:default}.period-chart__legend-item strong{flex:0 0 auto;text-align:right;word-break:break-word}.period-chart__legend-reset{padding:8px 12px;border-radius:12px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid rgba(112,164,149,.12);text-align:left;vertical-align:middle}.data-table th{color:#7f9f95;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.data-table tfoot td{font-weight:700}.data-table--compact td,.data-table--compact th{padding-top:10px;padding-bottom:10px}.data-table--summary{table-layout:fixed}.data-table--summary th,.data-table--summary td{padding:12px 10px}.data-table--summary th:nth-child(2),.data-table--summary th:nth-child(3),.data-table--summary th:nth-child(4),.data-table--summary td:nth-child(2),.data-table--summary td:nth-child(3),.data-table--summary td:nth-child(4){text-align:right}.data-table--summary th:first-child,.data-table--summary td:first-child{width:42%}.broker-report-table{min-width:1100px}.broker-report-table__row--parent{background:#0c16178a}.broker-report-table__row--child td{background:#080f105c}.broker-report-table__row--leaf td{background:#050b0c47}.broker-report-table__label{display:flex;align-items:center;gap:12px}.broker-breakdown-hover{position:relative}.broker-breakdown-hover:hover .broker-breakdown-card{opacity:1;transform:translateY(0);pointer-events:auto}.broker-breakdown-card{position:absolute;left:0;top:calc(100% + 12px);z-index:5;min-width:320px;display:grid;gap:10px;padding:16px 18px;border-radius:22px;border:1px solid rgba(116,179,161,.16);background:#0b1214f5;box-shadow:0 24px 48px #00000057;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .14s ease,transform .14s ease}.broker-breakdown-card__row{display:flex;justify-content:space-between;gap:16px;color:#dcebe6}.broker-breakdown-card__row strong{text-align:right}.broker-breakdown-card__row--total{padding-top:10px;border-top:1px solid rgba(116,179,161,.14)}.broker-report-table__label--child{padding-left:24px}.broker-report-table__label--leaf{padding-left:54px}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:#9dc5b9;cursor:pointer;font-size:1rem}.tree-toggle--placeholder{cursor:default}.tree-connector{width:14px;height:1px;background:#85cdb852;flex:0 0 auto}.tree-connector--leaf{width:18px}.chart-tooltip{min-width:220px;display:grid;gap:10px;padding:14px 16px;border-radius:20px;border:1px solid rgba(116,179,161,.16);background:#0b1214f5;color:#e5f4ef;box-shadow:0 20px 44px #0000004d}.chart-tooltip--wide{min-width:320px}.chart-tooltip__title{font-size:.95rem}.chart-tooltip__metric{color:#cfe3dc}.chart-tooltip__section{display:grid;gap:8px}.chart-tooltip__section-title{display:flex;align-items:center;gap:10px;font-weight:600}.chart-tooltip__dot{width:12px;height:12px;border-radius:999px;flex:0 0 auto}.chart-tooltip__row{display:flex;justify-content:space-between;gap:16px;color:#d7e7e1}.broker-payouts-chart{display:grid;gap:18px}.broker-payouts-chart__legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;color:#c2d6cf}.broker-payouts-chart__legend-item,.category-chip{display:inline-flex;align-items:center;gap:10px}.category-chip__dot{width:10px;height:10px;border-radius:999px}.amount-positive{color:#59d77f}.amount-negative{color:#ff9191}.text-positive{color:#59d77f}.text-negative{color:#ff9191}.status-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.84rem;background:#111e20e6;border:1px solid rgba(110,173,154,.14);color:#dcebe6}.status-pill--active{color:#8df3b8;border-color:#6ce0983d}.status-pill--closed{color:#a6b9b3;border-color:#94a59e33}.deposit-table__name{display:grid;gap:4px}.form-error{margin:16px 0 0;color:#ff9c9c}.empty-state{padding:28px;border-radius:22px;text-align:center;color:#8fa59f;background:#091213b3}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#020506b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-panel{width:min(960px,100%);max-height:92vh;overflow:auto;padding:24px}.modal-panel__header,.modal-panel__footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal-panel__body,.modal-panel__footer{margin-top:20px}.modal-form{display:grid;gap:14px}.import-meta,.import-success{padding:12px 14px;border-radius:14px}.import-meta{background:#132a2794;color:#a8dfcf}.import-success{background:#15473285;color:#8df3b8}.placeholder-page{display:grid;gap:20px}.placeholder-page__hero{display:grid;gap:18px;padding:28px}.placeholder-page__tag{display:inline-flex;width:fit-content;padding:8px 14px;border-radius:999px;color:#91d8c2;background:#23484270;border:1px solid rgba(128,205,181,.22)}.placeholder-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.placeholder-card{padding:20px}.placeholder-card h3{margin:0 0 12px}.placeholder-card p{margin:0;line-height:1.55;color:#a2bab3}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;border-right:none;border-bottom:1px solid rgba(109,167,149,.18)}.sidebar__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card__body--donut,.broker-analytics-grid,.period-chart-layout,.budget-table-grid{grid-template-columns:1fr}.budget-donut__legend,.period-chart__legend-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.page-frame,.app-header{padding-left:18px;padding-right:18px}.sidebar{padding:18px}.sidebar__nav,.placeholder-page__grid{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.app-header__topline,.app-header__userbar,.app-header__identity,.app-header__auth-actions{align-items:stretch;justify-content:flex-start}.budget-summary__cards,.budget-ml-forecast-grid,.deposit-summary__cards,.real-asset-detail__stats,.real-asset-detail__grid,.split-grid,.broker-analytics-grid,.chart-grid,.budget-table-grid,.filters-grid,.deposit-form-grid,.budget-toolbar__group--dates{grid-template-columns:1fr}.budget-header-tools__row,.budget-header-tools__row--spread,.broker-history__toolbar,.budget-donut__legend-item,.period-chart__legend-item,.modal-panel__header,.modal-panel__footer,.section-heading{flex-direction:column;align-items:stretch}.budget-donut__legend,.period-chart__legend-list{grid-template-columns:1fr}.budget-donut__chart{height:280px}.period-chart__canvas{min-height:360px}.account-row{flex-direction:column;align-items:flex-start}.real-asset-liability__metrics{grid-template-columns:1fr}}
