:root{--ink:#17221d;--muted:#718078;--green:#167a53;--mint:#dff5e9;--paper:#f5f7f3;--line:#dfe6df;--white:#fff;--orange:#f3aa63}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:220px;background:#173b2e;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:800;margin-bottom:45px}.brand span{display:inline-grid;place-items:center;background:#a7e2bd;color:#173b2e;width:30px;height:30px;border-radius:9px;margin-right:8px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;color:#b9d0c6;text-align:left;padding:12px;border-radius:9px;font-weight:650;cursor:pointer}nav .active,nav button:hover{background:#285342;color:#fff}.source{margin-top:auto;padding:14px;background:#224b3b;border-radius:10px;color:#9fe2bb}.source small{color:#d3e4dc;margin-left:16px}main{margin-left:220px;padding:42px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}h1{font-size:34px;margin:4px 0}h2{margin:0;font-size:18px}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--green);font-weight:800}.muted{color:var(--muted)}button,.filters select,.filters input,.ask input{font:inherit}.secondary,.ask button{border:0;border-radius:9px;padding:11px 15px;font-weight:750;cursor:pointer}.secondary{background:white;border:1px solid var(--line)}.filters{display:flex;gap:10px;margin-bottom:18px}.filters select,.filters input{background:white;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.filters input{margin-left:auto;width:230px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cards article,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.cards p{color:var(--muted);margin:0 0 12px}.cards strong{display:block;font-size:25px}.cards small{color:var(--muted)}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:14px 0}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title span{color:var(--muted);font-size:12px}.bar-row{display:grid;grid-template-columns:165px 1fr 80px;gap:12px;align-items:center;margin:13px 0}.bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:9px;background:#edf1ec;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:var(--green);border-radius:10px}.bar-value{text-align:right;font-weight:700}.trend{height:230px;display:flex;gap:5px;align-items:flex-end;border-bottom:1px solid var(--line);padding-top:10px}.trend-bar{flex:1;min-width:5px;background:#a8d8ba;border-radius:4px 4px 0 0;position:relative}.trend-bar:hover{background:var(--green)}.coach{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#183d30;color:white;border-radius:16px;padding:28px;margin:14px 0}.coach .eyebrow{color:#9ee0b6}.coach p{color:#c3d6ce}.ask{display:flex;margin-top:18px}.ask input{flex:1;border:0;padding:12px;border-radius:9px 0 0 9px}.ask button{background:#a8e5be;color:#153b2e;border-radius:0 9px 9px 0}.insight{background:#244c3e;border:1px solid #376151;border-radius:12px;padding:18px;line-height:1.55;white-space:pre-wrap}.transactions{margin-top:14px}.table-wrap{max-height:410px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0ec}th{position:sticky;top:0;background:white;color:var(--muted);font-size:11px;text-transform:uppercase}td:last-child,th:last-child{text-align:right}.pill{display:inline-block;padding:4px 8px;background:var(--mint);color:var(--green);border-radius:20px;font-size:11px}#toast{position:fixed;right:20px;bottom:20px;background:#1c2923;color:white;padding:12px 18px;border-radius:9px;display:none}@media(max-width:900px){aside{position:static;width:auto;height:auto;padding:16px;flex-direction:row;align-items:center}.brand{margin:0}nav,.source{display:none}main{margin:0;padding:20px}.cards{grid-template-columns:1fr 1fr}.grid,.coach{grid-template-columns:1fr}}@media(max-width:560px){.cards{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters input{margin:0;width:100%}header{align-items:flex-start}.secondary{margin-top:8px}.bar-row{grid-template-columns:110px 1fr 70px}.coach{padding:20px}.ask{display:block}.ask input,.ask button{width:100%;border-radius:8px;margin-top:7px}}
