:root{--ink: #16211c;--forest: #143c2f;--primary: #1e5c48;--primary-hover: #174a3a;--green: #2e7d5b;--green-soft-1: #5ba07f;--green-soft-2: #8fc0a5;--green-soft-3: #a3c7b2;--green-soft-4: #cfe2d6;--navy: #31456b;--navy-soft: #7288ab;--gold: #b08a2e;--gold-dark: #8a6d1f;--gold-bg: #f5efdd;--red: #b4482e;--red-bar: #c05a41;--red-bg: #f7e6e0;--green-bg: #e8f0ea;--page: #f7f8f6;--card: #ffffff;--border: #e5e7e2;--border-soft: #f0f2ee;--border-soft-2: #edf0ec;--track: #f4f6f2;--text-2: #4b554d;--text-3: #6b7568;--text-4: #8a948c;--text-4b: #98a29a;--dark-text: #f4f7f3;--dark-text-2: #9dbcab;--dark-text-2b: #b9cfc3;--dark-accent: #a8cdb9;--serif: "Instrument Serif", serif;--sans: "Instrument Sans", sans-serif}html,body{margin:0;padding:0;background:var(--page)}*{box-sizing:border-box}body{font-family:var(--sans);color:var(--ink);font-size:14px}input[type=range]{accent-color:var(--primary)}::selection{background:#d7e8de}button{font-family:var(--sans)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}.card--kpi{padding:20px 24px}.card--forest{background:var(--forest);border-color:var(--forest);color:var(--dark-text)}.kicker{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.card--forest .kicker{color:var(--dark-text-2)}.kpi-value{font-family:var(--serif);font-size:32px;font-variant-numeric:tabular-nums}.kpi-caption{font-size:12.5px;color:var(--text-4);margin-top:6px}.card-title{font-size:16px;font-weight:600;margin-bottom:2px}.card-sub{font-size:13px;color:var(--text-4);margin-bottom:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:20px}.stack-20{display:flex;flex-direction:column;gap:20px}.grid-split{display:grid;grid-template-columns:1.15fr 420px;gap:20px;align-items:start}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-aside-left{display:grid;grid-template-columns:360px 1fr;gap:20px}.grid-aside-right{display:grid;grid-template-columns:1fr 340px;gap:20px}.grid-4>*,.grid-2-1>*,.grid-split>*,.grid-3>*,.grid-2>*,.grid-aside-left>*,.grid-aside-right>*{min-width:0}.card-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:4px}.chip-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.legend-row{display:flex;gap:18px;font-size:12px;color:var(--text-3)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-chip{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-dash{width:10px;height:2px;display:inline-block}.chart-frame{position:relative;overflow:hidden}.chart-plot{display:block;width:100%;height:var(--plot-h, 280px);cursor:crosshair;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.axis-row{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-4b);margin-top:8px;font-variant-numeric:tabular-nums}.chart-tooltip{position:absolute;transform:translate(-50%);background:var(--ink);color:var(--dark-text);border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.7;pointer-events:none;white-space:nowrap;box-shadow:0 6px 20px #16211c40;z-index:2}.chart-tooltip__title{font-weight:600;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:4px;margin-bottom:4px}.chart-tooltip__row strong{float:right;margin-left:18px}.chart-ylabel{position:absolute;left:0;font-size:11px;color:var(--text-4b);font-variant-numeric:tabular-nums;background:#fffc;padding:1px 4px}.badge{display:inline-block;padding:4px 10px;border-radius:99px;font-size:11.5px;font-weight:700}.field-label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.text-input{width:100%;padding:13px 14px;font-size:15px;font-family:var(--sans);border:1px solid #d8ddd6;border-radius:10px;background:var(--card);color:var(--ink);outline:none}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e5c481f}.btn-primary{width:100%;padding:14px;font-size:15px;font-weight:600;color:var(--dark-text);background:var(--primary);border:none;border-radius:10px;cursor:pointer;transition:background .14s ease}.btn-primary:hover{background:var(--primary-hover)}.shell{display:grid;grid-template-columns:236px 1fr;height:100vh}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--card);padding:24px 16px 20px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;text-decoration:none;transition:background .14s ease}.nav-item:hover{background:#eef2ee}.nav-item.active{background:#eef4f0}.nav-item .nav-label{font-size:14px;font-weight:500;color:#5b665e}.nav-item.active .nav-label{font-weight:600;color:var(--primary)}.nav-item .nav-desc{font-size:11px;color:var(--text-4b)}.signout{font-size:12.5px;color:var(--text-4);padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .14s ease,color .14s ease}.signout:hover{background:#f2f4f0;color:var(--ink)}.main-scroll{overflow:auto}.topbar,.tabbar{display:none}.topbar{position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:8px}.brand__name{font-family:var(--serif);font-size:22px;color:var(--forest)}.brand__tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--forest);color:var(--dark-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.account-button{border:none;background:none;padding:4px;margin:-4px;border-radius:50%;cursor:pointer}.account-menu{position:absolute;top:calc(100% + 6px);right:12px;min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #16211c29;padding:14px;z-index:30}.account-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar__item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 8px;text-decoration:none;font-size:10.5px;font-weight:500;color:#5b665e;-webkit-tap-highlight-color:transparent}.tabbar__item.active{color:var(--primary);font-weight:600}.tabbar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{max-width:1240px;margin:0 auto;padding:32px 40px 56px}.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}.view-header__controls{display:flex;align-items:center;gap:16px;flex-shrink:0}.view-title{font-family:var(--serif);font-size:34px;line-height:1.1}.view-sub{font-size:14px;color:var(--text-3);margin-top:6px}.client-pill{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3);background:var(--card);border:1px solid var(--border);border-radius:99px;padding:7px 14px 7px 8px}.client-pill__avatar{width:24px;height:24px;border-radius:50%;background:var(--green-bg);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700}.currency-toggle{display:flex;background:var(--card);border:1px solid var(--border);border-radius:99px;padding:3px}.currency-toggle button{border:none;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:99px;background:transparent;color:var(--text-3);transition:background .14s ease,color .14s ease}.currency-toggle button.active{background:var(--forest);color:var(--dark-text)}.table-head{display:grid;gap:8px;align-items:center;padding:14px 0 10px;border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4)}.table-row{display:grid;gap:8px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border-soft);font-size:13.5px;font-variant-numeric:tabular-nums;border-radius:6px;transition:background .14s ease}.table-row.clickable{cursor:pointer}.table-row:hover{background:#fafbf9}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll__inner{min-width:var(--table-min, 0)}.holdings{--table-min: 1040px}.holdings .table-head,.holdings .table-row{grid-template-columns:150px 1.4fr 90px 110px 110px 130px 160px 80px 130px}.table-footnote{font-size:12px;color:var(--text-4b);padding-top:12px}.ticker-chip{font-size:13px;font-weight:600;padding:8px 16px;border-radius:99px;cursor:pointer;border:1px solid #d8ddd6;background:var(--card);color:var(--text-2);transition:border-color .14s ease}.ticker-chip:hover{border-color:var(--primary)}.ticker-chip.active{background:var(--forest);color:var(--dark-text);border-color:var(--forest)}.field-label-sm{display:block;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.input-sm{width:100%;padding:11px 12px;font-size:14px;font-family:var(--sans);border:1px solid #d8ddd6;border-radius:10px;background:var(--card);color:var(--ink);outline:none;font-variant-numeric:tabular-nums}.input-sm:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e5c481f}.input-compact{width:100%;padding:9px 12px;font-size:13px}select.input-sm{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.chip-sm{font-family:var(--sans);font-size:12px;font-weight:600;padding:6px 12px;border-radius:99px;cursor:pointer;border:1px solid #d8ddd6;background:var(--card);color:var(--text-2);transition:border-color .14s ease,background .14s ease}.chip-sm:hover{border-color:var(--primary)}.chip-sm.active{background:var(--forest);color:var(--dark-text);border-color:var(--forest)}.field-hint{font-size:11.5px;color:var(--text-4b);margin-top:5px}.alert-red{font-size:13px;color:var(--red);background:var(--red-bg);border-radius:8px;padding:10px 12px}.alert-gold{font-size:13px;color:var(--gold-dark);background:var(--gold-bg);border-radius:10px;padding:12px 14px}.link-primary{color:var(--primary);cursor:pointer;font-weight:600}.link-danger{color:var(--red);cursor:pointer;font-weight:600}.btn-submit{flex:1;padding:12px;font-size:14px;font-weight:600;color:var(--dark-text);background:var(--primary);border:none;border-radius:10px;cursor:pointer;transition:background .14s ease}.btn-submit:hover{background:var(--primary-hover)}.btn-cancel{padding:12px 18px;font-size:14px;font-weight:600;color:var(--text-2);background:var(--card);border:1px solid #d8ddd6;border-radius:10px;cursor:pointer;transition:border-color .14s ease}.btn-cancel:hover{border-color:var(--primary)}.item-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-soft)}.item-row__badge{width:86px;flex-shrink:0}.item-row__main{flex:1;min-width:0}.item-row__value{text-align:right}.item-row__actions{display:flex;gap:12px;font-size:12.5px;margin-left:8px}.slider-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.flow-row{display:grid;grid-template-columns:150px 1fr 230px;grid-template-areas:"name bar span";gap:12px;align-items:center;font-size:12px}.flow-row__name{grid-area:name}.flow-row__bar{grid-area:bar}.flow-row__span{grid-area:span;white-space:nowrap}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.login__hero{background:var(--forest);display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:56px 64px}.login__headline{font-family:var(--serif);font-weight:400;font-size:58px;line-height:1.08;color:var(--dark-text);margin:0 0 24px}.login__lede{font-size:16px;line-height:1.6;color:var(--dark-text-2b);margin:0;max-width:440px}.login__pillars{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#7fa591}.login__panel{display:flex;align-items:center;justify-content:center;padding:48px;overflow:auto}.login__form{width:100%;max-width:400px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:var(--track);border-radius:8px;animation:skeleton-pulse 1.4s ease-in-out infinite}.banner{font-size:12.5px;color:var(--gold-dark);background:var(--gold-bg);border:1px solid #e8dfc2;border-radius:10px;padding:10px 14px}.card--note{font-size:13px;color:var(--text-2);line-height:1.6;border-left:3px solid var(--green-soft-2)}.section-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:8px}.change-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.change-list li{display:flex;gap:10px;align-items:flex-start}.change-dot{width:7px;height:7px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--text-4)}.change-dot--added{background:var(--green)}.change-dot--removed{background:var(--red)}.change-dot--changed{background:var(--navy)}.change-dot--reordered{background:var(--gold)}.change-sentence{font-size:13px;color:var(--text-2);line-height:1.55}.change-meta{font-size:11px;color:var(--text-4b);margin-top:2px}.outcome-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.5}.outcome-list li:before{display:inline-block;width:14px;font-weight:600}.outcome-list--gain li{color:var(--green)}.outcome-list--gain li:before{content:"+"}.outcome-list--cost li{color:var(--red)}.outcome-list--cost li:before{content:"−"}.note-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:12.5px;color:var(--text-3);line-height:1.6}.note-list li{padding-left:14px;border-left:2px solid var(--border-soft-2)}.note-list--warn li{border-left-color:var(--gold)}.scenario-groups{display:flex;flex-direction:column;gap:6px}.scenario-group{border-top:1px solid var(--border-soft-2);padding-top:10px}.scenario-group__head{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:16px;background:none;border:none;padding:4px 2px;cursor:pointer;text-align:left;font-family:inherit}.scenario-group__name{font-size:13px;font-weight:600;color:var(--ink)}.scenario-group__count{font-size:11px;color:var(--text-4b);margin-left:8px;font-variant-numeric:tabular-nums}.scenario-group__blurb{font-size:11.5px;color:var(--text-4);text-align:right}.scenario-rows{display:flex;flex-direction:column;gap:2px;margin-top:6px}.scenario-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;font-family:inherit;font-size:13px;color:var(--text-2)}.scenario-row:hover{background:var(--track)}.scenario-row.active{background:var(--green-bg);border-color:var(--green-soft-2);color:var(--ink);font-weight:600}.scenario-row--blocked{color:var(--text-4b)}.scenario-row__title{display:inline-flex;align-items:center;gap:8px}.scenario-row__badge{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);background:var(--green-bg);border:1px solid var(--green-soft-2);border-radius:999px;padding:2px 7px;font-weight:600}.scenario-row__title{min-width:0}.scenario-row__figures{display:inline-flex;gap:14px;flex-shrink:0;font-variant-numeric:tabular-nums;font-size:12.5px}.delta{color:var(--text-4b);min-width:76px;text-align:right}.delta--gain{color:var(--green)}.delta--cost{color:var(--red)}@media (max-width: 1180px){.grid-split{grid-template-columns:1fr}}@media (max-width: 1100px){.grid-2-1,.grid-aside-left,.grid-aside-right{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.grid-3{grid-template-columns:1fr}}@media (max-width: 900px){.shell{display:block;height:auto;min-height:100vh}.sidebar{display:none}.topbar,.tabbar{display:flex}.main-scroll{overflow:visible}.main-content{padding:24px 24px calc(96px + env(safe-area-inset-bottom))}.view-header{flex-direction:column;align-items:stretch;margin-bottom:22px}.view-title{font-size:30px}.view-header__controls{justify-content:space-between;flex-wrap:wrap;gap:10px}.card{scroll-margin-top:72px}.text-input,.input-sm{font-size:16px}.login{grid-template-columns:1fr}.login__hero{padding:32px 24px 28px;gap:20px}.login__headline{font-size:36px;margin-bottom:14px}.login__lede{font-size:14.5px}.login__pillars{display:none}.login__panel{align-items:flex-start;padding:32px 24px 48px}}@media (max-width: 640px){.main-content{padding:18px 16px calc(92px + env(safe-area-inset-bottom))}.view-title{font-size:27px}.view-sub{font-size:13px}.card{padding:18px 16px;border-radius:14px}.card--kpi{padding:14px 16px}.kpi-value{font-size:25px}.kpi-caption{font-size:11.5px}.grid-4,.grid-2-1,.grid-split,.grid-3,.grid-aside-left,.grid-aside-right,.stack-20{gap:14px}.grid-4{gap:10px}.chart-plot{height:calc(var(--plot-h, 280px) * .72)}.axis-row{font-size:10.5px}.chip-strip{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px}.chip-strip::-webkit-scrollbar{display:none}.chip-strip>*{flex-shrink:0}.item-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main value" "badge actions";gap:8px 12px;align-items:center}.item-row__badge{grid-area:badge;width:auto}.item-row__main{grid-area:main}.item-row__value{grid-area:value;align-self:start}.item-row__actions{grid-area:actions;margin-left:0;justify-content:flex-end}.flow-row{grid-template-columns:1fr auto;grid-template-areas:"name span" "bar bar";gap:6px 12px}.flow-row__span{font-size:11px}.scenario-group__head{flex-direction:column;align-items:flex-start;gap:2px}.scenario-group__blurb{text-align:left}.scenario-row{flex-wrap:wrap;gap:4px 12px}.scenario-row__figures{width:100%;justify-content:flex-start}.delta{min-width:0;text-align:left}}@media (max-width: 640px){.holdings{--table-min: 910px}.holdings .table-head,.holdings .table-row{grid-template-columns:64px 128px 64px 92px 92px 100px 132px 64px 110px}.holdings .table-head>:first-child,.holdings .table-row>:first-child{position:sticky;left:0;z-index:1;align-self:stretch;display:flex;align-items:center;background:var(--card);box-shadow:8px 0 8px -8px #16211c2e}}@media (max-width: 480px){.grid-2{grid-template-columns:1fr}}@media (pointer: coarse){.currency-toggle button{padding:11px 16px;font-size:13px}.chip-sm{padding:9px 14px;font-size:13px}.ticker-chip{padding:10px 16px}.link-primary,.link-danger{display:inline-block;padding:8px 4px;margin:-8px 0}.signout{padding:10px}input[type=range]{height:28px}input[type=checkbox]{width:18px;height:18px}}
