/* Typography and card proportions inspired by My Health Blueprint. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/space-grotesk-latin.woff2") format("woff2")}
:root{font-family:"IBM Plex Sans","Segoe UI",Arial,sans-serif;color:#15263c;background:#eef3f9;--navy:#11233e;--muted:#61748b;--line:#dce5f0;--blue:#376da5;--green:#21845b;--font-head:"Space Grotesk","Segoe UI",sans-serif}
body{font-family:"IBM Plex Sans","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.55;background-color:#eef3f9;background-image:linear-gradient(#21496a05 1px,transparent 1px),linear-gradient(90deg,#21496a05 1px,transparent 1px);background-size:28px 28px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.metric-value,.wordmark strong,.forecast-highlights strong,.hero-stat strong{font-family:var(--font-head)}
h1{font-size:34px;line-height:1.2;letter-spacing:-1.2px;font-weight:600;color:#16344f}
h2{font-size:20px;font-weight:600;letter-spacing:-.6px;color:#173750}
h3{font-weight:600}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#71879c;font-weight:600}
.main{padding:34px 36px 60px;max-width:1560px}.page-heading{margin-bottom:26px}.subtitle{font-size:14px;line-height:1.6;margin-top:10px}.footer-note{font-size:11px;line-height:1.8;color:#75869b}
.sidebar{background:linear-gradient(165deg,#11243e,#152c49 65%,#101f36);box-shadow:5px 0 25px #152d4a0a;padding-top:30px}.wordmark{gap:12px;margin-bottom:30px}.wordmark strong{font-weight:600;letter-spacing:-.5px}.wordmark small{font-size:9px;letter-spacing:1.4px}.wordmark .sidebar-club-image{border-radius:13px;box-shadow:0 4px 15px #0002}.nav-label{font-size:9px;letter-spacing:2px;color:#849bb7;margin-top:26px}.nav-item{font-size:14px;font-weight:500;padding:12px 14px;border-radius:12px;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0a}.nav-item.active{background:#ffffff12;box-shadow:inset 3px 0 #e4576d;color:#fff}.nav-icon{font-size:18px}.sidebar-bottom{font-size:11px;color:#91a4bb}.nav-item .avatar{width:30px;height:30px;border-color:#ffffff30}
.topbar{height:78px;background:#ffffffdc;border-bottom:1px solid #dbe5ef;backdrop-filter:blur(14px)}.breadcrumb{font-size:13px}.breadcrumb strong{font-weight:500}.top-actions{gap:10px}.role{background:#eaf1f8;border:1px solid #dce6f1;border-radius:20px;color:#48637c;font-size:10px;padding:6px 11px;letter-spacing:.7px}
.button{font-weight:500;border-radius:10px;font-size:12px;padding:10px 15px;transition:box-shadow .15s,background .15s}.button.ghost{border-color:#d9e4ee;background:#ffffffdc;box-shadow:0 2px 3px #20395803}.button.dark{background:#173650}.button.primary{background:#c73751}.button:hover{filter:none;box-shadow:0 3px 10px #16344f10}.text-link{color:#34678f}.person{color:#203d57;font-weight:500}
.notice{font-size:11px;border-radius:12px;background:#fffaf0;border-color:#efe4cb;color:#806c3e;padding:13px 16px}.notice.neutral{background:#eaf2fa;border-color:#d6e5f3;color:#4c6c89}
.filters{gap:12px;margin-bottom:25px}.filter{font-size:10px;letter-spacing:.65px;font-weight:500}.filter select,.filter input{font-size:13px;background:#fff;border-color:#d7e3ef;border-radius:10px;min-height:42px;padding:10px 13px;letter-spacing:0}.filter-count{font-size:12px;color:#74869b}
.metrics{gap:18px;margin-bottom:26px}.metric{padding:22px 23px 20px;border:1px solid #d9e4ef;border-radius:20px;box-shadow:0 5px 20px #19365405;min-height:173px;background:linear-gradient(140deg,#fff 55%,#f7faff);overflow:hidden}.metric.accent{border-top:1px solid #d9e4ef;padding-top:22px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.metric-label{margin:0;color:#526d84;font-size:10px;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:1px}.metric-value{font-size:clamp(28px,2.3vw,37px);font-weight:600;letter-spacing:-1.4px;line-height:1.15;color:#183c55}.metric-hint{font-size:11px;line-height:1.6;margin-top:12px;color:#7a8c9e}.metric-symbol{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:#eaf1fa;color:#537da3;flex:none}.metric-symbol svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.metric[data-tone="green"]{background:linear-gradient(140deg,#fff 50%,#f1faf6)}.metric[data-tone="green"] .metric-symbol{background:#e7f4ee;color:#358369}.metric[data-tone="green"] .metric-value{color:#23644f}.metric[data-tone="gold"]{background:linear-gradient(140deg,#fff 50%,#fffbf1)}.metric[data-tone="gold"] .metric-symbol{background:#fcf1d9;color:#b48a32}.metric[data-tone="rose"] .metric-symbol{background:#f9ebee;color:#b45c6d}
.card{border-color:#d9e4ef;border-radius:18px;box-shadow:0 4px 18px #16344f04}.section{margin-bottom:24px}.card-head{padding:23px 24px 19px}.card-head p{font-size:12px;line-height:1.65;margin-top:7px}.card-body{padding:0 24px 24px}.grid{gap:22px;margin-bottom:24px}.stat-pairs{padding:0 24px 24px;gap:12px}.stat-pair{background:#f2f6fb;border:1px solid #e4ebf3;border-radius:13px;padding:17px}.stat-pair span,.stat-pair small{font-size:11px}.stat-pair strong{font-family:var(--font-head);font-size:20px;font-weight:500;color:#214e70}
table{font-size:13px}th{background:#f5f8fc;color:#73859b;font-weight:500;font-size:10px;letter-spacing:1px}td{font-size:13px;padding:15px 16px;border-color:#edf1f6;line-height:1.6}thead th{padding:13px 16px}.column-filters th{background:#f7f9fd;padding:7px 12px 12px}.column-filter{border-radius:8px;border-color:#dce6f0;font-size:11px;min-height:34px}.column-sort{font-weight:500}.sort-arrow{color:#9aacc0}.table-controls{background:#fbfcfe;border-color:#e6edf5;padding:12px 17px;font-size:11px}.table-status{color:#7b8da1}#member-leaderboard .card-head{padding-bottom:20px}#member-leaderboard td{padding-top:17px;padding-bottom:17px}#member-leaderboard .person{font-size:13px;gap:11px}#member-leaderboard .person img{width:33px;height:33px}.rank{font-size:11px;color:#9aabbd}.roi{font-family:var(--font-head);font-size:15px;font-weight:600}.badge{border-radius:7px;font-size:10px;padding:4px 7px}.row-sub{color:#8191a3;font-size:11px}.row-title{font-weight:500}.selected-row{background:#edf4fc}
.overview-collapse>summary,.cash-collapse>summary{padding:22px 24px}.overview-collapse>summary p,.cash-collapse>summary p{font-size:12px;line-height:1.6;color:#7a8b9d}.overview-collapse>summary::after,.cash-collapse>summary::after{color:#557e9e;font-size:11px;font-weight:500}.overview-collapse>summary h2,.cash-collapse>summary h2{font-size:18px}.overview-extra>.metrics{padding:0 24px 24px}.detail-group{padding:0 24px 18px}.detail-group summary{font-size:13px;padding:16px 0;font-weight:500}.detail-group summary::before{color:#477495;font-size:18px}.detail-group summary span:last-child{font-size:11px;color:#8293a7}
.forecast-highlights{gap:18px;padding:0 24px 22px}.forecast-highlights>div{background:linear-gradient(125deg,#f0f6fb,#f7fafc);border:1px solid #e0eaf2;border-radius:17px;padding:22px}.forecast-highlights small{font-size:11px;text-transform:uppercase;letter-spacing:.7px}.forecast-highlights strong{font-size:35px;letter-spacing:-1px;font-weight:600;color:#204b6a}.forecast-highlights span{font-size:11px}.cash-chart-legend{font-size:12px;gap:24px}.forecast-chart text{font-family:"IBM Plex Sans",sans-serif}.details-text{font-size:12px;line-height:1.8}.admin-note{font-size:13px}.form{gap:16px;padding-left:24px;padding-right:24px}.form label{font-size:12px;font-weight:500}.form input,.form select,.form textarea{border-radius:10px;border-color:#d7e2ed;font-size:13px}.form small{font-size:11px}.bulk-editor{border-radius:14px;padding:19px;background:#f3f7fc}.dialog-head{background:#f5f8fc}.dialog-body{padding:25px}.definition-list{font-size:13px;gap:20px}.definition-list small{font-size:11px;color:#7d90a2}.definition-list strong{font-weight:500}.components{border:1px solid #e1eaf2;border-radius:12px;font-size:12px;background:#f4f8fc}.hero{border-radius:18px;background:linear-gradient(125deg,#173750,#244d70)}.hero h2{color:#fff;font-weight:500}
.auth-panel>.eyebrow{font-family:var(--font-head);font-size:22px;text-transform:none;letter-spacing:-.6px;color:#234962;font-weight:600}.auth-panel>p{font-size:14px}.auth-tabs{border-radius:12px;padding:5px}.auth-tabs button{font-size:13px;border-radius:9px}.auth-panel .form input{min-height:48px}.auth-panel .button.primary{min-height:47px;background:#234e70}.auth-panel .footer-note{font-size:11px}.auth-brand .eyebrow{color:#b0c3d8}.auth-brand p{font-size:14px;color:#aec0d4}.auth-content{background:#f2f6fb}
@media(max-width:1150px){.main{padding:28px 24px 50px}.metric{padding:19px;min-height:165px}.metric.accent{padding-top:19px}.metric-label{font-size:9px;letter-spacing:.7px}.metric-value{font-size:29px}.metric-symbol{width:29px;height:29px}.topbar{padding:0 24px}}
@media(max-width:900px){.shell{padding-left:0}.sidebar{position:static;width:auto;padding:18px 20px;gap:8px}.wordmark{margin:0 0 8px}.wordmark .sidebar-club-image{width:44px;height:44px}.nav-label,.sidebar-bottom{display:none}.nav-section{display:flex;flex-wrap:wrap;gap:6px}.nav-item{width:auto;margin:0;padding:9px 12px;font-size:12px;gap:7px}.nav-section.members{padding-top:8px;border-top:1px solid #ffffff12}.nav-item .avatar{width:23px;height:23px}.topbar{height:65px;padding:0 22px}.main{padding:26px 22px 45px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric{min-height:158px;padding:20px}.metric.accent{padding-top:20px}.metric-label{font-size:10px}.metric-value{font-size:34px}.grid{grid-template-columns:1fr}.page-heading h1{font-size:29px}.page-heading{gap:12px}.top-actions{gap:7px}.top-actions .button{padding:8px 10px;font-size:11px}.breadcrumb{font-size:12px}}
@media(max-width:520px){.main{padding:22px 14px 36px}.sidebar{padding:16px 14px}.topbar{padding:0 14px}.top-actions .role{display:none}.metric{padding:17px;min-height:158px}.metric.accent{padding-top:17px}.metric-top{gap:8px;margin-bottom:14px}.metric-label{font-size:9px;letter-spacing:.6px}.metric-symbol{width:25px;height:25px;border-radius:8px}.metric-symbol svg{width:16px;height:16px}.metric-value{font-size:28px;letter-spacing:-1px}.metric-hint{font-size:10px}.metrics{gap:10px}.card-head,.overview-collapse>summary,.cash-collapse>summary{padding:20px 18px}.card-head h2{font-size:18px}.card-head p,.overview-collapse>summary p,.cash-collapse>summary p{font-size:11px}.overview-collapse>summary h2{font-size:16px}.card-body{padding:0 18px 20px}.forecast-highlights{grid-template-columns:1fr;padding:0 18px 20px}.forecast-highlights strong{font-size:31px}.forecast-chart{min-width:490px}.cash-forecast .card-body{overflow-x:auto}.page-heading .button{font-size:11px;padding:8px 10px}.filter{flex:1;min-width:125px}.filter-count{width:100%;margin-left:0}.filter select{max-width:none;width:100%}.notice{align-items:flex-start;flex-wrap:wrap}.definition-list{grid-template-columns:1fr 1fr;font-size:12px;gap:15px}.form .inline{grid-template-columns:1fr}.auth-content{padding:26px 24px}.auth-brand p{font-size:12px}.auth-panel>.eyebrow{font-size:21px}.overview-collapse>summary::after{font-size:10px}}
@media(prefers-reduced-motion:reduce){.nav-item,.button{transition:none}}

.metrics.metrics-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){.metrics.metrics-ledger{grid-template-columns:1fr}.metrics-ledger .metric{min-height:140px}}
