:root{--bg:#f5f6f3;--surface:#fff;--ink:#1c2924;--muted:#68776e;--green:#16754d;--green-light:#eaf4ed;--border:#e1e7df;--red:#b64742;--amber:#876426;--radius:16px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--green);border-radius:9px;background:var(--green);color:white;padding:11px 17px;cursor:pointer;display:inline-block;font-weight:600}button:hover,.button:hover{filter:brightness(.95);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #93c7a8;outline-offset:3px}.secondary{color:var(--ink);background:var(--surface);border-color:var(--border)}.danger{background:var(--red);border-color:var(--red)}input,select,textarea{width:100%;border:1px solid #cbd5ca;background:white;color:var(--ink);padding:10px 12px;border-radius:8px;margin-top:6px}input[type=checkbox]{width:auto}label{font-size:14px;font-weight:600}form p{margin:17px 0}.helptext{display:block;font-size:12px;color:var(--muted);margin-top:6px}.errorlist{color:var(--red);padding-left:18px}.layout{display:flex;min-height:100vh}.sidebar{width:234px;flex-shrink:0;background:#eff2eb;border-right:1px solid var(--border);padding:34px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:25px;font-weight:700;letter-spacing:-1px;color:var(--ink);display:block}.brand-mark{display:inline-flex;background:var(--green);color:white;width:35px;height:35px;align-items:center;justify-content:center;border-radius:10px;margin-right:7px}.brand-caption{display:block;font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:9px}.sidebar nav{display:grid;gap:8px;margin-top:45px}.sidebar nav a{color:#405449;font-weight:500;padding:12px 10px;border-radius:8px}.sidebar nav a:hover{background:white;text-decoration:none}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.8;padding-top:40px}.sidebar-bottom .pill{font-size:10px}.link-button{border:0;background:none;padding:0;color:var(--muted);font-size:12px}main{padding:42px 44px;max-width:1600px;width:100%;min-width:0}h1{font-size:31px;font-weight:650;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:19px;font-weight:650;margin:0 0 16px;letter-spacing:-.3px}h3{font-size:16px}p{line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:700;color:var(--green);margin:0 0 10px}.muted{color:var(--muted)}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading{margin-bottom:24px}.status-line{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:20px;flex-wrap:wrap}.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.status-dot.warning{background:#b58a3b}.pill{display:inline-block;border:1px solid var(--border);border-radius:20px;background:white;padding:4px 9px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:24px 0}.metric{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:23px 20px;min-height:150px}.metric p{color:var(--muted);font-size:12px;margin:0 0 17px}.metric strong{display:block;font-size:27px;font-weight:600;letter-spacing:-.7px;white-space:nowrap}.metric strong small{font-size:18px;font-weight:400}.metric span{display:block;color:var(--muted);font-size:11px;margin-top:13px}.metric.primary{background:#e6f0e5;border-color:#d7e5d4}.positive{color:var(--green)}.negative{color:var(--red)}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:25px;margin:22px 0}.narrow{max-width:650px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;font-weight:500;color:var(--muted);padding:17px 12px;line-height:1.6;border-bottom:1px solid var(--border)}td{padding:19px 12px;border-bottom:1px solid #edf0ea;vertical-align:middle;line-height:1.5}tbody tr:last-child td{border-bottom:0}td small,.line-item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}td.positive small{color:var(--green)}td.negative small{color:var(--red)}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.instrument-link{font-weight:600;color:var(--ink)}.table-note{font-size:11px;color:var(--muted);line-height:1.7;margin:18px 0 0}.filters{display:flex;gap:10px;align-items:end}.filters label{font-size:11px;font-weight:500;color:var(--muted)}.filters select{font-size:12px;padding:8px;min-width:130px}.filters button{font-size:12px;padding:9px 12px}.section-heading p{font-size:12px;margin:0 0 12px}.section-heading h2{margin-bottom:7px}.notice{border-left:3px solid #b6cbb5;background:var(--green-light);padding:12px 16px;border-radius:5px;font-size:13px}.notice.warning,.notice.error{border-color:#c79a47;background:#faf4e7;color:#775a26}.notice.success{border-color:var(--green)}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.source-grid article{background:#f8faf6;border-radius:10px;padding:18px;font-size:12px}.source-grid strong{font-size:13px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-columns .panel{margin-top:0}.line-item{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--border)}.hash{font-family:monospace;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.chart{width:100%;height:auto;max-height:230px}.chart-legend{display:flex;gap:22px;font-size:11px;color:var(--muted);margin:16px 0}.green-key:before,.grey-key:before{content:'';display:inline-block;width:14px;height:3px;background:var(--green);vertical-align:middle;margin-right:8px}.grey-key:before{background:#b7c2b7}.grid-line{stroke:#edf0ea;stroke-width:1;fill:none}.capital-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round}.funding-line{fill:none;stroke:#acb9ac;stroke-width:2;stroke-dasharray:6 4}.chart-dates{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.chart-empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--border);border-radius:10px;margin-top:18px}.empty{max-width:750px;background:white;border:1px solid var(--border);border-radius:20px;padding:55px;margin:45px auto;text-align:center}.empty p{color:var(--muted);margin:18px auto 25px;max-width:500px}.empty .button{margin:5px}.empty-mark{display:inline-flex;background:var(--green-light);color:var(--green);font-size:40px;width:75px;height:75px;border-radius:20px;align-items:center;justify-content:center;margin-bottom:25px}.job{border-bottom:1px solid var(--border);padding:15px 0;font-size:13px}footer{color:var(--muted);font-size:11px;text-align:center;margin:35px 0 10px}.auth-body{display:flex;min-height:100vh;align-items:center;justify-content:center}.auth-card{background:white;border:1px solid var(--border);border-radius:20px;width:min(95%,520px);padding:38px;margin:30px}.auth-card .brand{margin-bottom:30px}.auth-card img{max-width:100%}.auth-card ul{padding-left:22px}.auth-card .muted{font-size:12px;margin-top:25px}
@media(min-width:1500px){main{padding:48px 55px}}@media(max-width:1200px){main{padding:32px 25px}.sidebar{width:205px;padding:30px 16px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-direction:column}.metric strong{font-size:29px}}@media(max-width:760px){.layout{display:block}.sidebar{position:static;width:100%;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:23px}.brand-caption{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px;margin-top:14px}.sidebar nav a{font-size:12px;white-space:nowrap;padding:9px}.sidebar-bottom{display:none}main{padding:25px 16px}h1{font-size:26px}.page-heading{align-items:flex-start;flex-direction:column;gap:6px}.metrics{gap:10px}.metric{padding:18px 13px;min-height:135px}.metric strong{font-size:23px}.metric p{font-size:11px}.panel{padding:20px 15px}.two-columns,.source-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap;gap:8px}.filters select{min-width:115px}.empty{padding:30px 20px}.numeric{font-size:12px}.chart-legend{gap:12px;flex-wrap:wrap}td,th{padding:15px 10px}}
.motivation{display:grid;grid-template-columns:3fr 2fr;gap:22px;margin:22px 0}.motivation .panel{margin:0}.big-number{font-size:27px;font-weight:600;letter-spacing:-.7px;margin:4px 0 12px}.big-number small{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.progress{display:block;width:100%;height:8px;margin:6px 0 12px}.progress-track{fill:#edf0ea}.progress-fill{fill:var(--green)}.streak{font-size:13px;margin:8px 0 4px}.bars{display:block;width:100%;height:auto;max-height:150px}.bars text{font-size:11px;fill:var(--muted)}.bar{fill:#b7c2b7}.bar.met{fill:var(--green)}.bar.current{fill:#8fc3a4}.bar.incomplete{opacity:.4}.target-line{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:5 4}h2.spaced{margin-top:28px}.stack{display:block;width:100%;height:14px;border-radius:7px;margin:4px 0 8px}.stack-share{fill:var(--green);background:var(--green)}.stack-bond{fill:#4f8fbf;background:#4f8fbf}.stack-fund{fill:#c79a47;background:#c79a47}.stack-cash{fill:#b7c2b7;background:#b7c2b7}.key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:middle}.partial-key:before{content:"";display:inline-block;width:8px;height:8px;border:2px solid var(--amber);border-radius:50%;vertical-align:middle;margin-right:8px}.partial-point{fill:white;stroke:var(--amber);stroke-width:2}.spark{display:block;width:120px;height:30px}.spark.wide{width:300px;height:60px}.spark polyline{fill:none;stroke-width:2;stroke-linejoin:round}.spark.up polyline{stroke:var(--green)}.spark.down polyline{stroke:var(--red)}.spark-zero{stroke:#dfe5dd;stroke-width:1;stroke-dasharray:3 3}@media(max-width:1200px){.motivation{grid-template-columns:1fr}}@media(max-width:760px){.spark.wide{width:200px;height:40px}}
