@font-face{font-family:Local;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#202e29;font:15px Local,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8abc65;outline-offset:3px}a{color:inherit;text-decoration:none}aside{width:246px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e2e7df;padding:34px 22px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:650;letter-spacing:-1px}.brand img{width:43px;height:43px}.brand small{font-size:10px;letter-spacing:1.55px;font-weight:500;display:block;margin-top:2px;color:#7c8980}.nav-caption{font-size:11px;color:#94a198;letter-spacing:1.2px;margin:48px 12px 17px}nav{display:grid;gap:7px}nav a{display:flex;gap:13px;align-items:center;padding:13px 15px;border-radius:9px;color:#64736a;font-weight:550}nav a:hover{background:#f3f6ef}nav a.active{background:#eaf1e3;color:#28533b}nav a span:first-child{font-size:19px;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;font-size:12px;color:#64766a;padding:24px 10px 0;line-height:1.8}.sidebar-bottom small{display:block;font-size:11px;color:#909b94}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#70a76e;margin-right:4px}.main-shell{margin-left:246px}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e6dc;padding:0 38px;background:#f9faf7}#breadcrumb{font-size:13px;color:#8d978f}#breadcrumb span{color:#43554b;margin-left:14px}.header-right{display:flex;align-items:center;gap:25px}.date-control{display:flex;align-items:center;gap:10px;font-size:12px;color:#7c897f}.date-control input{background:#fff;width:146px;border:1px solid #dfe5da;padding:8px 10px;border-radius:7px;font-size:13px;color:#395344}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#e7ede0;color:#456442;border-radius:50%;font-size:13px;font-weight:700}main{padding:36px 38px 24px;max-width:1770px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:20px}.eyebrow{font-size:11px;color:#87977e;letter-spacing:1.6px;font-weight:650}h1{font-size:31px;letter-spacing:-1px;font-weight:620;margin:8px 0}h2{font-size:18px;letter-spacing:-.35px;font-weight:620;margin:0}h3{font-size:15px;margin:0;font-weight:600}p.sub{color:#819080;font-size:13px;margin:8px 0 0;line-height:1.7}.primary,.secondary,.danger-button{border-radius:8px;padding:11px 17px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.primary{background:#214f3d;color:white;border:1px solid #214f3d}.primary:hover{background:#173e2e}.secondary{background:white;border:1px solid #dce4d6;color:#506148}.danger-button{border:1px solid #eed5cf;background:#fff8f6;color:#ad524b}.text-button{background:none;border:none;padding:0;color:#58744d;font-size:12px}.sidebar-bottom .text-button{margin-top:14px}.actions{display:flex;gap:9px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metric{background:white;border:1px solid #e2e7de;border-radius:13px;padding:23px 22px;min-height:149px;position:relative}.metric.featured{background:#204f3e;border-color:#204f3e;color:white;overflow:hidden}.metric.featured:after{content:'';width:160px;height:160px;position:absolute;right:-75px;top:27px;border:1px solid #58866a;border-radius:50%;box-shadow:0 0 0 24px #3f70502a,0 0 0 48px #568a4120}.metric-label{color:#819080;font-size:13px;margin-bottom:17px}.featured .metric-label{color:#b8cdbb}.metric-value{font-size:26px;letter-spacing:-.8px;font-weight:600;position:relative;z-index:1;white-space:nowrap}.metric-value small{font-size:12px;letter-spacing:0;color:#93a791;margin-left:4px}.metric-note{font-size:12px;color:#95a08e;margin-top:13px}.up{color:#42764a}.down{color:#b35e4c}.featured .metric-note{color:#c1dcb4}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:23px;margin-bottom:24px}.panel{background:white;border:1px solid #e2e7de;border-radius:13px;overflow:hidden;min-width:0}.panel-body{padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:23px 25px 20px;gap:12px}.panel-head small{font-size:12px;color:#8b9687}.panel-head a{font-size:12px;color:#6c825c}.chart{height:195px;width:100%;overflow:visible}.chart text{font:11px 'Segoe UI';fill:#9ba692}.chart-total{font-size:28px;margin-bottom:8px;letter-spacing:-.6px}.chart-label{color:#8b9783;font-size:12px}.legend{display:flex;gap:18px;font-size:12px;color:#7c8b74;margin-top:7px}.legend i{width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%}.donut-wrap{display:flex;align-items:center;gap:28px;min-height:204px;justify-content:center}.donut{height:154px;width:154px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.donut-hole{width:112px;height:112px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#85947d;font-size:11px}.donut-hole b{font-size:23px;color:#354e34;margin-top:5px}.allocation{display:grid;gap:20px;flex:1}.allocation-line{font-size:12px;display:flex;gap:8px;justify-content:space-between;color:#7c8d72}.allocation-line strong{font-size:14px;color:#395037}.goal{padding:20px 0;border-top:1px solid #edf0e8}.goal:first-child{padding-top:0;border:0}.goal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.goal-top b{font-size:14px;color:#6d865e}.progress{height:7px;border-radius:6px;background:#edf2e7;overflow:hidden;margin:12px 0}.progress>i{display:block;height:100%;background:#90ad68;border-radius:6px}.goal-foot{display:flex;justify-content:space-between;color:#929e88;font-size:12px}.goal-foot b{font-weight:550;color:#4d6142}.notice{padding:13px 17px;background:#eef2e6;color:#6d7a5d;font-size:12px;border:1px solid #e2e8d6;border-radius:9px;line-height:1.8;margin-bottom:20px}.notice.warning{background:#fbf2df;color:#927136;border-color:#f0e1bd}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 23px;border-bottom:1px solid #e8eddf;flex-wrap:wrap}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tabs button{background:transparent;border:0;color:#8b987e;padding:9px 13px;border-radius:7px;font-size:13px}.tabs button.selected{background:#eaf0df;color:#486535;font-weight:600}.search{background:#f9fbf6;border:1px solid #e4eada;border-radius:7px;padding:9px 12px;min-width:215px;font-size:13px}.table-scroll{overflow:auto;max-height:610px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap;text-align:left}th{background:#fafbf7;font-size:11px;font-weight:550;letter-spacing:.25px;color:#8b987f;position:sticky;top:0;z-index:1}th,td{padding:16px 22px;border-bottom:1px solid #edf0e7}tbody tr:hover{background:#fbfcf8}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td strong{font-weight:600;color:#405736}.symbol{display:flex;align-items:center;gap:10px}.symbol-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eef2e6;font-size:11px;color:#6d8158;font-weight:650}.pill{padding:4px 8px;background:#edf3e7;border-radius:5px;font-size:11px;color:#708851}.pill.sell{background:#f9eae2;color:#b07258}.pill.neutral{background:#f0f0e9;color:#8c907c}.edit-link{border:0;background:transparent;color:#6c8156;padding:5px;font-size:12px}.table-foot{padding:14px 23px;font-size:12px;color:#95a089}.form-inline{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-inline label,.form-grid label{display:grid;gap:7px;font-size:13px;color:#738369}.form-inline input,.form-inline select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:11px 12px;background:#fbfcf8;border:1px solid #dfe6d6;border-radius:7px;color:#2f442b}.calculator-result{margin-top:20px;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e9eddf;padding-top:18px}.calculator-result b{font-size:26px;font-weight:600;color:#466738}.calculator-result span{font-size:12px;color:#859577}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:22px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #edf0e8;font-size:13px;color:#7a896e}.setting-row b{font-weight:550;color:#415b34}.setting-row:first-child{border:0;padding-top:0}.methodology{font-size:13px;line-height:1.85;color:#7e8c72}.methodology h3{color:#4c663a;margin:18px 0 6px}.empty{padding:60px;text-align:center;color:#8c9980;font-size:14px}.error{color:#b85947;font-size:13px;line-height:1.8}.icon-button{border:0;background:transparent;color:#607951;font-size:22px;padding:6px}#menu{display:none}footer{padding:25px 38px;font-size:12px;color:#8a9b7f;display:flex;justify-content:space-between;border-top:1px solid #e4e9dc;margin-top:15px}footer span{font-size:11px;color:#a1ad96}dialog{width:min(710px,92vw);max-height:90vh;border:1px solid #dfe6d6;border-radius:15px;padding:29px;background:#fff;box-shadow:0 20px 70px #15332024;color:#2e4529}dialog::backdrop{background:#16291550;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.dialog-head h2{font-size:24px;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:28px}.dialog-actions>div{display:flex;gap:8px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:#224c34;color:white;padding:14px 22px;border-radius:9px;font-size:13px;box-shadow:0 4px 20px #19322224;transition:transform .2s;z-index:30}#toast.show{transform:translateX(-50%) translateY(0)}.mini-bar{display:flex;gap:8px;align-items:center}.mini-bar span{width:50px;height:5px;background:#edf1e5;border-radius:4px;overflow:hidden}.mini-bar i{display:block;background:#95b476;height:100%}.no-wrap{white-space:nowrap}.hide{display:none!important}
@media(min-width:1600px){.metric-value{font-size:30px}}@media(max-width:1200px){aside{width:210px;padding:28px 16px}.main-shell{margin-left:210px}main{padding:28px 24px}.metric{padding:19px 16px}.metric-value{font-size:22px}.grid-two{grid-template-columns:1.2fr 1fr}.donut-wrap{gap:16px}.donut{height:126px;width:126px}.donut-hole{width:92px;height:92px}.allocation-line{font-size:11px}header{padding:0 24px}.panel-body{padding:20px}}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.donut-wrap{justify-content:flex-start}.allocation{max-width:350px}}@media(max-width:700px){aside{transform:translateX(-100%);width:230px;box-shadow:10px 0 40px #13291520}aside.open{transform:none}.main-shell{margin-left:0}#menu{display:block}header{height:70px;padding:0 16px;gap:10px}#breadcrumb{display:none}.header-right{gap:12px}.date-control{font-size:11px;gap:6px}.date-control input{width:140px}main{padding:24px 16px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:20px;gap:14px}h1{font-size:28px}.metric{min-height:132px;padding:19px 15px}.metric-value{font-size:23px}.metric-label{font-size:12px}.metric-note{font-size:11px}.metrics{gap:10px}.toolbar{padding:13px;gap:10px}.search{width:100%}.panel-head{padding:19px}.panel-body{padding:19px}th,td{padding:14px 16px}.form-grid{grid-template-columns:1fr}.dialog-actions{align-items:stretch}.dialog-actions>div{margin-left:auto}footer{padding:20px 16px}.grid-two{gap:17px}.metric.featured:after{display:none}.metric-value small{display:none}.form-inline{grid-template-columns:1fr 1fr}dialog{padding:22px}.page-head .actions{flex-wrap:wrap}.avatar{width:29px;height:29px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.market-last{display:inline-block;margin-left:12px}
.sort-button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:0;text-align:inherit;white-space:nowrap}
.sort-button span{color:#a4af9a;font-size:13px}.sort-button:hover,th[aria-sort=ascending],th[aria-sort=descending]{color:#28533b}th[aria-sort=ascending] .sort-button span,th[aria-sort=descending] .sort-button span{color:#28533b}
.sort-help{display:inline-block;margin-left:18px}.sort-button:focus-visible{outline-offset:5px}

/* Reference-inspired theme: cream, orange, pastel cards and hard ink shadows. */
@font-face{font-family:Manrope;src:url('/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
.dialog-actions>div{margin-left:auto}
:root{--paper:#f8f7f3;--sidebar:#f3eee8;--ink:#191917;--muted:#707068;--orange:#ff781f;--blue:#e8eef9;--yellow:#fff4bf;--pink:#fce4e8;--mint:#ddf9e8;--line:#deded5;--shadow:3px 4px 0 var(--ink)}
body{background:var(--paper);color:var(--ink);font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#c44c00}
aside{width:224px;background:var(--sidebar);border-right:2px solid var(--ink);padding:24px 13px;overflow-y:auto}.brand{font-size:23px;font-weight:750;gap:10px;padding:0 5px}.brand small{font-size:8px;letter-spacing:1.7px;color:var(--muted);font-weight:650}.nav-caption{font-size:9px;color:var(--muted);letter-spacing:1.3px;font-weight:700;margin:46px 6px 15px}nav{gap:9px}nav a{gap:12px;min-height:43px;padding:10px 12px;border:1.5px solid transparent;border-radius:9px;font-size:13px;font-weight:650;color:var(--ink)}nav a:hover{background:#fff5e8;border-color:var(--ink)}nav a.active{background:var(--orange);color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}nav a span:first-child{display:grid;place-items:center;width:18px}.nav-icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{font-size:11px;color:#515149;padding:24px 5px 0;line-height:1.9}.sidebar-bottom small{font-size:10px;color:var(--muted)}.sidebar-bottom .text-button{margin-top:18px;border-top:1px solid #d8d3cc;width:100%;padding-top:16px;text-align:left}.status-dot{width:7px;height:7px;border:1px solid var(--ink);background:#36b889}
.main-shell{margin-left:224px}header{height:auto;min-height:76px;gap:20px;padding:14px 28px;background:#fff;border-bottom:1px solid var(--line)}#breadcrumb{font-size:11px;color:var(--muted);margin-left:auto}#breadcrumb span{color:var(--ink);margin-left:8px}.workspace-switch{display:flex;border:1.5px solid var(--ink);padding:3px;border-radius:7px;gap:3px;background:#f9f8f4;flex-shrink:0}.workspace-switch a{font-size:11px;padding:7px 11px;border:1px solid transparent;border-radius:4px;color:var(--muted);white-space:nowrap}.workspace-switch a.active{background:#ffead5;border-color:var(--ink);color:var(--ink);box-shadow:1px 1px 0 var(--ink);font-weight:650}.header-right{gap:16px}.date-control{gap:8px;font-size:10px;color:var(--muted);white-space:nowrap}.date-control input{border:1.5px solid var(--ink);padding:8px;border-radius:5px;font-size:12px;color:var(--ink);width:137px;box-shadow:2px 2px 0 var(--ink)}.avatar{width:34px;height:34px;background:var(--yellow);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:7px;font-size:14px;font-weight:750;color:var(--ink)}
main{padding:28px 28px 24px;max-width:1920px}.page-head{margin-bottom:24px;gap:18px}.eyebrow{font-size:9px;color:var(--muted);letter-spacing:1.5px;font-weight:700}h1{font-size:29px;font-weight:750;margin:7px 0}h2{font-size:16px;font-weight:700}h3{font-size:14px;font-weight:650}p.sub{color:var(--muted);font-size:12px;line-height:1.75}.primary,.secondary,.danger-button{border-radius:6px;padding:10px 14px;font-size:12px;font-weight:650;gap:7px;border:1.5px solid var(--ink);box-shadow:2px 3px 0 var(--ink)}.primary{background:var(--orange);color:var(--ink)}.primary:hover{background:#ff913f}.secondary{background:#fff;color:var(--ink)}.secondary:hover{background:var(--yellow)}.danger-button{background:var(--pink);color:#932a2e}.primary:active,.secondary:active,.danger-button:active{transform:translate(1px,2px);box-shadow:1px 1px 0 var(--ink)}.text-button{color:#515149;font-size:11px;text-decoration:underline;text-underline-offset:3px}.actions{gap:10px;flex-wrap:wrap}
.metrics{gap:17px}.metric,.metric.featured{background:var(--blue);border:2px solid var(--ink);border-radius:11px;box-shadow:var(--shadow);padding:22px 20px;min-height:147px;color:var(--ink);overflow:visible}.metric.featured:after{display:none}.metric:nth-child(2){background:var(--yellow)}.metric:nth-child(3){background:var(--pink)}.metric:nth-child(4){background:var(--mint)}.metric-label,.featured .metric-label{text-transform:uppercase;letter-spacing:.85px;font-weight:700;font-size:9px;margin-bottom:18px;line-height:1.5;color:var(--ink)}.metric-value{font-size:clamp(22px,2.1vw,36px);letter-spacing:-1.2px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums}.metric-value small{font-size:13px;margin-left:3px;font-weight:550;color:var(--ink)}.metric-note,.featured .metric-note{font-size:11px;color:#5c5c55;margin-top:15px;line-height:1.5}.up{color:#087653}.down{color:#b33b35}
.grid-two{grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:23px}.panel{border:2px solid var(--ink);border-radius:11px;box-shadow:var(--shadow)}.panel-body{padding:22px}.panel-head{padding:17px 21px;border-bottom:1px solid var(--line)}.panel-head h2:before{content:'⠿';font-size:15px;font-weight:400;color:#8b8b81;margin-right:9px}.panel-head a{font-size:10px;border:1px solid var(--ink);padding:4px 7px;border-radius:3px;white-space:nowrap;color:var(--ink)}.panel-head a:hover{background:var(--yellow)}.panel-head small{color:var(--muted)}
.chart{margin-top:12px}.chart text{font:10px Consolas,monospace;fill:#77776e}.chart-total{font-size:30px;margin-bottom:6px;letter-spacing:-1px;font-weight:700}.chart-label{color:var(--muted);font-size:11px}.legend{font-size:10px;color:var(--muted);margin-top:10px;flex-wrap:wrap}.legend i{border:1px solid var(--ink);border-radius:2px}.donut-wrap{min-height:220px}.donut{border:2px solid var(--ink)}.donut-hole{width:110px;height:110px;border:2px solid var(--ink);color:var(--muted);font-size:9px;letter-spacing:.5px}.donut-hole b{font-size:25px;color:var(--ink);margin-top:6px;letter-spacing:-1px}.allocation-line{font-size:11px;color:var(--ink)}.allocation-line strong{font-size:13px;color:var(--ink)}.progress{height:11px;border:1px solid var(--ink);border-radius:3px;background:#f4f3ef;margin:11px 0}.progress>i{background:#2cb98c;border-radius:0;border-right:1px solid var(--ink)}.goal:nth-child(even) .progress>i{background:#568bec}.goal{border-color:var(--line)}.goal-top h3{font-size:13px}.goal-top b{font:11px Consolas,monospace;color:#16856a}.goal-foot{gap:10px;color:var(--muted);font-size:11px}.goal-foot b{font-weight:600;color:var(--ink)}
.notice{padding:12px 15px;background:#fff;border:1.5px solid var(--ink);border-radius:6px;box-shadow:2px 2px 0 var(--ink);color:#66665b;font-size:11px;line-height:1.85;margin-bottom:21px}.notice strong{color:var(--ink)}.notice strong:before{content:'';display:inline-block;width:7px;height:7px;background:#31b486;border:1px solid var(--ink);border-radius:50%;margin-right:8px}.notice.warning{background:#fff3ce;color:#77571e;border-color:var(--ink)}.notice.warning strong:before{background:var(--orange)}.market-last{margin-left:14px;font-family:Consolas,monospace;font-size:10px}
.toolbar{padding:16px 18px;border-bottom:1.5px solid var(--ink);background:#fff}.tabs{gap:8px}.tabs button{background:#fff;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);color:#45453f;padding:8px 12px;border-radius:5px;font-size:11px;font-weight:600}.tabs button.selected{background:var(--orange);color:var(--ink)}.tabs button:hover{background:#ffe7d0}.search{background:#faf9f5;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:4px;padding:9px 12px;min-width:235px;font-size:11px;color:var(--ink)}.table-scroll{scrollbar-width:thin;scrollbar-color:#373732 #f1f0eb}table{font-size:12px}th{background:#f3f1e9;font-size:10px;font-weight:700;letter-spacing:.15px;color:#626258}th,td{padding:15px 19px;border-color:var(--line)}tbody tr:nth-child(even){background:#fcfbf8}tbody tr:hover{background:#fff2df}td strong{font-weight:700;color:var(--ink)}.symbol-icon{width:29px;height:29px;border:1px solid var(--ink);box-shadow:1px 2px 0 var(--ink);border-radius:5px;background:var(--yellow);font-size:10px;font-weight:700;color:var(--ink)}.pill{display:inline-block;padding:4px 7px;background:var(--mint);border:1px solid var(--ink);border-radius:4px;font-size:10px;color:#236144}.pill.sell{background:var(--pink);color:#972e35}.pill.neutral{background:#eeece6;color:#6e6e63}.edit-link{border:1px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);padding:4px 7px;box-shadow:1px 1px 0 var(--ink);font-size:10px}.edit-link:hover{background:var(--yellow)}.table-foot{padding:13px 18px;font-size:10px;color:var(--muted);line-height:1.8}.sort-button{gap:7px}.sort-button span{color:#8f8f85;font-size:12px}.sort-button:hover,th[aria-sort=ascending],th[aria-sort=descending]{color:#b74600}th[aria-sort=ascending] .sort-button span,th[aria-sort=descending] .sort-button span{color:#b74600}
.form-inline label,.form-grid label{gap:8px;font-size:12px;color:#626258}.form-inline input,.form-inline select,.form-grid input,.form-grid select,.form-grid textarea{padding:10px 12px;background:#fbfaf6;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:4px;color:var(--ink)}.calculator-result{margin-top:22px;gap:12px;border-top:1px solid var(--ink)}.calculator-result b{font-size:31px;font-weight:750;color:var(--ink)}.calculator-result span{font-size:11px;color:var(--muted)}.settings-grid{gap:22px;margin-bottom:24px}.setting-row{border-color:var(--line);font-size:12px;color:#737369}.setting-row b{font-weight:650;color:var(--ink);text-align:right}.settings-grid h2{margin-bottom:12px}.methodology{font-size:12px;color:#68685f}.methodology h3{color:var(--ink)}.empty{color:var(--muted);font-size:13px}.error{color:#b43630}.icon-button{border:1.5px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);padding:2px 8px;box-shadow:2px 2px 0 var(--ink)}footer{padding:21px 28px;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);gap:15px;border-color:var(--line);margin-top:18px}footer span{font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted)}
dialog{border:2px solid var(--ink);border-radius:12px;padding:28px;background:var(--paper);box-shadow:6px 7px 0 var(--ink);color:var(--ink)}dialog::backdrop{background:#1e1c194d;backdrop-filter:none}.dialog-head{gap:15px}.dialog-actions>div{gap:10px}#toast{max-width:min(650px,90vw);background:var(--yellow);color:var(--ink);padding:13px 20px;border:1.5px solid var(--ink);border-radius:6px;font-size:12px;box-shadow:3px 3px 0 var(--ink)}.mini-bar span{height:7px;border:1px solid var(--ink);background:#f3f2ed;border-radius:2px}.mini-bar i{background:#ff9a51}
@media(min-width:1600px){main{padding:30px 32px}.metric{min-height:163px;padding:25px}.metric-value{font-size:38px}.grid-two{grid-template-columns:1.1fr 1fr}}
@media(max-width:1200px){aside{width:202px}.main-shell{margin-left:202px}header{padding:13px 22px;gap:12px}#breadcrumb{display:none}main{padding:26px 22px}.metric,.metric.featured{padding:18px 15px}.metric-value{font-size:24px}.metrics{gap:14px}.donut-wrap{gap:18px}.donut{height:132px;width:132px}.donut-hole{width:94px;height:94px}.panel-body{padding:19px}.workspace-switch a{padding:6px 9px}}
@media(max-width:1000px){.metric-value{font-size:30px}.grid-two,.settings-grid{grid-template-columns:1fr}.donut-wrap{justify-content:flex-start}.page-head{align-items:flex-start;flex-wrap:wrap}.panel-head{padding:16px 18px}}
@media(max-width:700px){aside{width:224px;box-shadow:5px 0 0 var(--ink)}.main-shell{margin-left:0}header{min-height:65px;height:auto;padding:12px 16px;gap:12px}.workspace-switch{display:none}.header-right{margin-left:auto;gap:12px}.date-control{font-size:10px}main{padding:23px 16px}.page-head{gap:14px;margin-bottom:21px}h1{font-size:27px}.metrics{gap:13px}.metric,.metric.featured{padding:18px 13px;min-height:140px}.metric-value{font-size:clamp(19px,5vw,28px);letter-spacing:-.7px}.metric-label{font-size:8px;margin-bottom:15px}.metric-note{font-size:10px}.metric-value small{display:inline;font-size:10px}.toolbar{padding:13px;gap:14px}.search{min-width:0;width:100%}.panel-head{padding:15px}.panel-body{padding:18px}th,td{padding:14px 15px}footer{padding:20px 16px;font-size:9px}footer span{font-size:9px}.grid-two{gap:20px}.market-last{display:block;margin-left:0}.notice{font-size:10px}dialog{padding:21px}.actions{gap:9px}.primary,.secondary{font-size:11px;padding:9px 12px}.sort-help{margin-left:10px}}

/* Locally bundled geometric font and explicit profit/loss states. */
/* A persistent icon rail with an in-place expand control. */
:root{--rail-width:72px;--sidebar-width:224px;--sidebar-ease:cubic-bezier(.22,1,.36,1)}
#sidebar{width:var(--sidebar-width);padding:16px 13px;transform:none;overflow-x:hidden;box-shadow:none;visibility:visible}
.sidebar-head{position:relative;display:flex;align-items:center;height:44px;min-height:44px;white-space:nowrap}
#menu.sidebar-toggle{position:absolute;left:calc(100% - 44px);top:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--ink);padding:7px;box-shadow:none;z-index:1}
#menu.sidebar-toggle:hover,#menu.sidebar-toggle:focus-visible{background:#e7dfd4}
.sidebar-toggle-icon{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:1;transform:scale(1)}
#sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 0 0 6px;margin:0;font-size:20px;flex-shrink:0;opacity:1;transform:none}
#sidebar .brand-mark{width:32px;height:32px;flex:0 0 32px;opacity:1}
.brand-name{display:block;opacity:1;transform:translateX(0);letter-spacing:-.8px}
#sidebar .nav-caption{height:12px;flex:0 0 12px;margin:27px 7px 17px;white-space:nowrap;font-size:8px;opacity:1}
#nav{display:flex;flex-direction:column;flex:1;gap:8px;min-height:355px}
#nav a{height:44px;min-height:44px;gap:12px;padding:10px 12px;white-space:nowrap;overflow:hidden;flex-shrink:0}
#nav a>span:first-child{flex:0 0 18px;width:18px}
.nav-label{opacity:1;transform:translateX(0);white-space:nowrap}
#nav a[data-page=settings]{margin-top:auto}
#sidebar .sidebar-bottom{padding:18px 0 0;margin-top:0;flex-shrink:0}
.sidebar-storage{height:42px;overflow:hidden;white-space:nowrap;opacity:1;padding-left:5px}
#sidebar #quit{display:flex;align-items:center;gap:12px;width:100%;height:44px;margin:12px 0 0;padding:10px 12px;border:0;border-radius:9px;text-decoration:none;overflow:hidden;white-space:nowrap}
#quit .nav-icon{width:18px;flex:0 0 18px}#quit:hover{background:#e7dfd4}
.main-shell{margin-left:var(--sidebar-width)}
body.sidebar-hidden #sidebar{width:var(--rail-width);transform:none;visibility:visible;pointer-events:auto}
body.sidebar-hidden .main-shell{margin-left:var(--rail-width)}
body.sidebar-hidden .brand-name,body.sidebar-hidden #sidebar .nav-caption,body.sidebar-hidden .nav-label{opacity:0;transform:translateX(-6px);pointer-events:none}
body.sidebar-hidden #menu.sidebar-toggle{left:0}
body.sidebar-hidden .sidebar-storage{height:0;opacity:0;padding:0}
body.sidebar-hidden .sidebar-toggle-icon{opacity:0;transform:scale(.88)}
body.sidebar-hidden .sidebar-head:has(#menu:hover) .brand-mark,body.sidebar-hidden .sidebar-head:has(#menu:focus-visible) .brand-mark{opacity:0}
body.sidebar-hidden #menu:hover .sidebar-toggle-icon,body.sidebar-hidden #menu:focus-visible .sidebar-toggle-icon{opacity:1;transform:scale(1)}
.sidebar-ready #sidebar{transition:width 300ms var(--sidebar-ease)}
.sidebar-ready .main-shell{transition:margin-left 300ms var(--sidebar-ease)}
.sidebar-ready .brand-name,.sidebar-ready .nav-caption,.sidebar-ready .nav-label{transition:opacity 180ms ease,transform 260ms var(--sidebar-ease)}
.sidebar-ready .sidebar-storage{transition:height 300ms var(--sidebar-ease),opacity 160ms ease}
.brand-mark,.sidebar-toggle-icon{transition:opacity 160ms ease,transform 200ms var(--sidebar-ease)}
#nav a,#quit{transition:background-color 160ms ease,box-shadow 160ms ease}
.sidebar-ready #menu{transition:left 300ms var(--sidebar-ease),background-color 160ms ease,box-shadow 160ms ease}
.menu-backdrop{display:block;position:fixed;inset:0;background:#19191755;border:0;border-radius:0;z-index:4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 220ms ease,visibility 220ms}
@media(max-width:700px){
 :root{--rail-width:60px}
 #sidebar{padding:14px 7px;width:var(--sidebar-width)}
 .main-shell,body.sidebar-hidden .main-shell{margin-left:var(--rail-width)}
 .menu-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
 #sidebar .nav-caption{margin-left:12px}
 main{padding-left:12px;padding-right:12px}header{padding-left:12px;padding-right:12px}
 .header-right{gap:8px}.date-control{gap:6px}.date-control input{width:130px}
 .metric,.metric.featured{padding-left:11px;padding-right:11px}.metric-value{font-size:clamp(16px,4.5vw,24px)}
}
@media(prefers-reduced-motion:reduce){.sidebar-ready #sidebar,.sidebar-ready .main-shell,.sidebar-ready #menu,.sidebar-ready .brand-name,.sidebar-ready .nav-caption,.sidebar-ready .nav-label,.sidebar-ready .sidebar-storage,.brand-mark,.sidebar-toggle-icon,.menu-backdrop{transition:none}}
body{font-family:Manrope,'Segoe UI',sans-serif;font-weight:500}h1,h2,h3,.brand{font-weight:800}nav a,.primary,.secondary,.tabs button{font-weight:700}h1{letter-spacing:-1.05px}.metric-value{font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric-label{font-size:10px;letter-spacing:.65px}.metric-note{font-size:12px}.chart text{font-family:Manrope,'Segoe UI',sans-serif}.up{color:#087044;font-weight:750}.down{color:#b4232b;font-weight:750}
.profit{--pnl-color:#087044;--pnl-bg:#e2f6e9}.loss{--pnl-color:#b4232b;--pnl-bg:#ffe8e9}.flat,.unknown{--pnl-color:#56564f;--pnl-bg:#eeede7}
.pnl-rate{font-weight:800;font-variant-numeric:tabular-nums;color:var(--pnl-color)}
.pnl-cell{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:122px;padding:6px 9px;border-radius:5px;background:var(--pnl-bg);color:var(--pnl-color);font-variant-numeric:tabular-nums}.pnl-cell-label{font-size:10px;font-weight:800}.pnl-cell strong{font-size:13px;font-weight:800;color:var(--pnl-color)}.pnl-cell.unknown{min-width:0}.pnl-cell.unknown .pnl-cell-label{display:none}
.pnl-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--pnl-color);font-size:12px;font-variant-numeric:tabular-nums}.pnl-summary strong{font-size:14px;font-weight:800}.pnl-summary>span:last-child{font-weight:750}.pnl-caption{display:block;font-size:10px;color:#616159;margin-top:6px}
.pnl-state{display:inline-flex;align-items:center;background:var(--pnl-bg);color:var(--pnl-color);border:1px solid currentColor;border-radius:4px;font-size:10px;line-height:1.4;font-weight:800;padding:3px 7px;text-transform:uppercase;letter-spacing:.4px}
.metric.pnl-metric{background:var(--pnl-bg)}.pnl-metric .metric-label{margin-bottom:9px}.pnl-metric .pnl-state{margin-bottom:10px}.pnl-metric .metric-value,.pnl-metric .metric-value small{color:var(--pnl-color)}.pnl-metric .metric-note{font-size:11px;margin-top:12px}
@media(max-width:1200px){.metric-label{font-size:9px}.metric-note{font-size:11px}}
@media(max-width:700px){.metric-label{font-size:8px}.metric-note{font-size:10px}.pnl-summary{gap:5px;font-size:10px}.pnl-summary strong{font-size:12px}.pnl-state{font-size:9px;padding:2px 5px}.pnl-caption{font-size:9px}.pnl-metric .metric-note{font-size:10px}.metric-value{letter-spacing:-.8px}}
.deposit-name{border:0;background:none;padding:6px 0;color:#8d3900;font:inherit;font-weight:800;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:4px}.deposit-name:focus-visible{outline:2px solid #e9640b;outline-offset:4px}.deposit-row-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#deposit-dialog{width:min(720px,94vw);max-height:90vh;overflow:auto;padding:26px}#deposit-dialog h2{margin:5px 0 0}#deposit-dialog h3{font-size:16px}#deposit-dialog p{line-height:1.65}#deposit-dialog button:disabled{opacity:.5;cursor:wait}.deposit-meta{display:flex;align-items:center;gap:14px;color:#666;font-size:12px;margin:16px 0}.deposit-balance{background:#fff3ce;border:1.5px solid #242424;border-radius:10px;padding:22px;box-shadow:3px 3px 0 #222;display:grid;gap:8px}.deposit-balance>span{font-size:12px}.deposit-balance>strong{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.deposit-balance small{font-size:18px}.deposit-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin:26px 0}.deposit-facts dt{font-size:12px;color:#666;margin-bottom:7px}.deposit-facts dd{margin:0;font-weight:800}.deposit-auto{display:flex;align-items:center;gap:12px;padding:18px;background:#e4f6e9;border:1px solid #729980;border-radius:8px;cursor:pointer}.deposit-auto input,#fields input[type=checkbox]{width:20px;height:20px;accent-color:#e9640b}.deposit-auto span{display:grid;gap:6px}.deposit-auto small{font-size:12px;font-weight:500}.deposit-note{white-space:pre-wrap}.deposit-maturity,.deposit-confirm{padding:18px;border:1.5px solid #d17c24;border-radius:8px;background:#fff4e5;margin:20px 0}.deposit-maturity p,.deposit-confirm p{font-size:13px}.deposit-confirm button{margin:4px 8px 4px 0}.deposit-history{border-top:1px solid #ccc;margin-top:24px;padding-top:12px}.deposit-history h3 span{font-size:12px;color:#777;font-weight:500;margin-left:8px}.deposit-history ol{list-style:none;padding:0;max-height:300px;overflow:auto}.deposit-history li{padding:16px 0;border-bottom:1px solid #ddd;font-size:12px}.deposit-history li>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.deposit-history li p{color:#666;margin:8px 0}.deposit-history li small{display:block;color:#777;margin-top:8px}#deposit-dialog .dialog-actions{gap:12px}
@media(max-width:700px){#deposit-dialog{padding:18px}.deposit-balance>strong{font-size:27px}.deposit-facts{gap:18px}.deposit-facts dd{font-size:13px}#deposit-dialog .dialog-actions{flex-wrap:wrap}}
.deposit-link-label{display:block;color:#6e604e;font-size:10px;margin-top:4px}.deposit-relations{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.deposit-relations button{display:grid;gap:5px;text-align:left;flex:1;min-width:150px}.deposit-relations button span{font-size:11px;color:#6e604e}.deposit-relations button strong{font-size:14px}.deposit-chain{margin:24px 0;padding-top:14px;border-top:1px solid #ccc}.deposit-chain h3 span{font-size:12px;font-weight:500;color:#666;margin-left:8px}.deposit-chain ol{list-style:none;padding:0;display:grid;gap:12px}.deposit-chain li{border:1px solid #b9b5aa;border-radius:8px;padding:16px;background:#fff}.deposit-chain li.is-current{border:2px solid #d56d20;background:#fff5de}.deposit-chain-heading{display:flex;align-items:center;gap:10px}.deposit-chain-heading>.pill,.deposit-chain-heading>button{margin-left:auto}.deposit-cycle{border:1px solid #292723;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;background:#f9ebc5}.deposit-chain li p{font-size:12px;color:#625c54;margin:10px 0}.deposit-chain dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.deposit-chain dt{font-size:11px;color:#666}.deposit-chain dd{margin:5px 0 0;font-size:13px;font-weight:800}.deposit-chain small{display:block;line-height:1.6;color:#725c3d;margin-top:8px}.deposit-earned{font-size:12px}

.pnl-cell.pnl-combined{min-width:0;justify-content:flex-end;gap:5px;white-space:nowrap}.pnl-combined .pnl-cell-label,.pnl-combined .pnl-cell-percent{font-size:10px;font-weight:600}.pnl-cell .money-unit{font-size:10px;font-weight:600}.pnl-combined strong{font-size:13px}

.savings-metrics .metric-note{line-height:1.8}.savings-earnings{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin:10px 0;color:var(--pnl-color)}.savings-earnings>span:first-child{width:100%;font-size:10px}.savings-earnings strong{font-size:16px;font-weight:800}.savings-earnings .pnl-rate{font-size:11px}.savings-breakdown{display:block;font-size:10px}.savings-metrics .featured .savings-earnings{position:relative;z-index:1}.savings-method summary{cursor:pointer;font-weight:750}.savings-method p{margin:10px 0}.deposit-withdrawal{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.withdrawal-fields{margin:16px 0}.savings-metrics .text-button{margin-top:8px;text-align:left;color:var(--chart-accent)}

.savings-group-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px;margin-bottom:24px}.savings-group-panels .panel-head h2{overflow-wrap:anywhere}.savings-group-panels .panel-head button{flex-shrink:0}.savings-group-panels .group-goal{white-space:pre-wrap;overflow-wrap:anywhere}.savings-group-panels .goal{padding-bottom:5px}.savings-group-panels .text-button{color:var(--chart-accent)}#cash-records{scroll-margin-top:24px}#cash-records:focus{outline:none}

.group-lifecycle-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.group-archive-details{margin:18px 0;font-size:12px}.group-archive-details summary{cursor:pointer;font-weight:700;margin-bottom:12px}#group-lifecycle-dialog{width:min(570px,94vw)}#group-lifecycle-dialog .dialog-actions{justify-content:flex-end}#group-lifecycle-dialog .group-confirm-copy{line-height:1.8;overflow-wrap:anywhere}#group-lifecycle-dialog button:disabled{opacity:.5;cursor:not-allowed}

/* Holdings share the allocation card on the overview dashboard. */
.embedded-table{min-width:0;border-top:1px solid var(--line)}

/* Overview: independent column heights keep compact panels beside the ETF group. */
.overview-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start;margin-bottom:24px}
.overview-side{display:grid;gap:22px;min-width:0}
.overview-layout .overview-goals{margin:0}
.overview-side .cash-chart .chart{height:auto;aspect-ratio:660/195;display:block}
.overview-etf-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 23px}
.overview-etf-summary>div{min-width:0;padding:17px 16px;border:2px solid var(--ink);border-radius:9px;box-shadow:var(--shadow);background:var(--blue)}
.overview-etf-summary>div:nth-child(3){background:var(--mint)}
.overview-etf-summary>div:nth-child(4){background:var(--pink)}
.overview-etf-summary>div:nth-child(5){background:var(--yellow)}
.overview-etf-summary .etf-daily{grid-column:1/-1;background:var(--yellow);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.overview-etf-summary dt{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.65px;color:var(--ink);line-height:1.5;margin-bottom:12px}
.overview-etf-summary dd{margin:0;font-size:24px;letter-spacing:-.6px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.overview-etf-summary dd>small{font-size:11px;font-weight:600;letter-spacing:0}
.overview-etf-summary .etf-daily dt{margin:0}
.overview-etf-summary .pnl-cell{padding:0;min-width:0;background:transparent;justify-content:flex-start;gap:6px;flex-wrap:wrap;white-space:normal}
.overview-etf-summary .pnl-cell strong{font-size:24px;white-space:nowrap;line-height:1.25}
.overview-etf-summary .pnl-cell-label,.overview-etf-summary .pnl-cell-percent{font-size:10px;letter-spacing:0}
.overview-allocation-title{padding-top:19px;border-top:1px solid var(--line);font-size:13px}
.overview-layout .donut-wrap{min-height:190px}
@media(max-width:1200px){.overview-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.overview-etf-summary>div{padding:15px 12px}.overview-etf-summary dd,.overview-etf-summary .pnl-cell strong{font-size:21px}}
@media(max-width:1350px){.overview-layout{grid-template-columns:1fr}}
@media(max-width:1050px){.overview-side{grid-template-columns:1fr}}
@media(max-width:760px){.overview-side{grid-template-columns:1fr}.overview-layout,.overview-side{gap:20px}.overview-etf-summary{gap:12px}}
@media(max-width:400px){.overview-etf-summary{grid-template-columns:1fr}.overview-etf-summary .etf-daily{grid-column:auto}}

/* Goals lead the overview, with both targets visible side by side. */
#main>.overview-goals{margin-bottom:24px}
#main>.overview-goals .panel-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#main>.overview-goals .goal{padding:0;border:0;min-width:0}
#main>.overview-goals .goal+.goal{border-left:1px solid var(--line);padding-left:24px}
@media(max-width:760px){#main>.overview-goals .panel-body{grid-template-columns:1fr;gap:20px}#main>.overview-goals .goal+.goal{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:20px}}

.settings-sections{align-items:start}
.settings-column{display:grid;gap:22px;min-width:0}
.settings-sections .panel-head{align-items:center}
.settings-sections .settings-edit{flex-shrink:0;padding:7px 11px;font-size:11px}
.settings-backup{margin-top:24px}
.backup-content{display:flex;align-items:center;justify-content:space-between;gap:24px}
.backup-content>div:first-child{min-width:0;flex:1}
.backup-content p:first-child{margin-top:0}
.backup-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:1100px){.backup-content{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:480px){.settings-sections .panel-head{flex-wrap:wrap}.backup-actions{width:100%}.backup-actions button{flex:1}}
