.two-lanes{grid-template-columns:repeat(2,minmax(220px,1fr))}
.balance-dashboard{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:22px;padding:24px;background:linear-gradient(145deg,#eef8f1,#fff)}
.balance-ring{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#6baa87 0 var(--spent),#dceee3 var(--spent) 360deg);position:relative}
.balance-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.balance-ring>div{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column}.balance-ring b{font-size:26px}.balance-ring small{font-size:10px;color:#819087}
.balance-copy>span,.budget-input-card span,.exercise-date-card span,.workout-picker>.view-section-title span,.learning-week span,.learning-note>span{font-size:12px;color:#749181}.balance-copy>strong{display:block;font-size:32px;margin:4px 0;color:#315d45}.balance-copy>small{font-size:11px;color:#7e8882}
.balance-copy>div{display:flex;gap:8px;margin-top:13px}.balance-copy em{font-style:normal;font-size:10px;background:#fff;padding:6px 8px;border-radius:9px;color:#5d6e64}
.budget-input-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;padding:18px}.budget-input-card div{grid-column:1/-1}.budget-input-card small{display:block;font-size:11px;color:#969c98;margin-top:3px}.budget-input-card label{height:44px;border:1px solid #dce5df;border-radius:12px;padding:0 12px;display:flex;align-items:center;color:#649477;font-weight:700}.budget-input-card input{border:0;background:transparent;width:100%;font-size:18px;font-weight:700;outline:0;margin-left:6px}.budget-input-card button,.workout-composer>button,.favorite-form button{height:44px;border:0;border-radius:12px;background:#65a47f;color:white;padding:0 16px;font-weight:700}
.allocation-board{margin-top:22px}.allocation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.allocation-grid article{background:#fff;border-radius:16px;padding:14px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;box-shadow:0 8px 22px rgba(65,88,74,.05)}.allocation-grid i{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#ecf7f0;color:#5b9873;font-style:normal}.allocation-grid span{font-size:11px}.allocation-grid b{font-size:11px;color:#68a17e}.allocation-grid strong{font-size:16px}.allocation-grid small{font-size:9px;color:#9da49f;text-align:right}
.finance-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.finance-actions button{border:0;background:#fff;border-radius:17px;padding:15px;display:grid;grid-template-columns:34px 1fr;text-align:left}.finance-actions span{grid-row:1/3;width:30px;height:30px;border-radius:10px;background:#eff8f2;color:#579372;display:grid;place-items:center;font-size:20px}.finance-actions b{font-size:13px}.finance-actions small{font-size:10px;color:#9aa09c}
.transaction-list{padding:17px}.transaction-list article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;padding:12px 0;border-top:1px solid #edf0ee}.transaction-list article>i{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-style:normal}.transaction-list article>i.income{background:#eaf6ee;color:#51906b}.transaction-list article>i.expense{background:#fff0ed;color:#ce6e62}.transaction-list article b{font-size:12px}.transaction-list article small{display:block;font-size:9px;color:#9ca29e;margin-top:3px}.transaction-list article>strong{font-size:13px}.transaction-list article>strong.income{color:#4c9368}.transaction-list article>strong.expense{color:#c9665d}
.record-modal{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:0;transition:.25s}.record-modal.open{opacity:1;pointer-events:auto}.record-backdrop{position:absolute;inset:0;border:0;background:rgba(25,33,29,.28)}.record-card{position:absolute;left:12px;right:12px;bottom:12px;background:#fff;border-radius:24px;padding:21px;transform:translateY(110%);transition:.3s;box-shadow:0 -20px 50px rgba(38,50,43,.18)}.record-modal.open .record-card{transform:none}.record-card>label{display:block;font-size:11px;color:#707a74;margin-top:12px}.record-card>label>input,.record-card select{width:100%;height:42px;border:1px solid #e1e5e2;border-radius:11px;margin-top:5px;padding:0 11px;background:#fafcfb}.record-type{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f2;border-radius:12px;padding:3px}.record-type button{border:0;background:transparent;border-radius:9px;height:35px;color:#929894}.record-type button.active{background:#fff;color:#477c5e;box-shadow:0 3px 10px rgba(40,60,48,.08)}.amount-input{display:flex;align-items:center;border-bottom:1px solid #dce2de}.amount-input span{font-size:22px}.amount-input input{border:0;outline:0;font-size:32px;width:100%;padding:8px}.record-submit{width:100%;height:46px;border:0;border-radius:13px;background:#5f9e78;color:#fff;font-weight:700;margin-top:18px}
.exercise-date-card{display:grid;grid-template-columns:1fr auto;gap:16px;padding:21px;background:linear-gradient(145deg,#eef8f3,#fff)}.exercise-date-card h2{font-size:21px;margin:4px 0}.exercise-date-card>div:last-child{text-align:center;background:#fff;padding:12px 15px;border-radius:15px}.exercise-date-card>div:last-child strong{display:block;font-size:25px;color:#5e9977}.exercise-date-card small{font-size:10px;color:#8b958f}
.workout-picker{margin-top:24px}.workout-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.workout-chips button{border:1px solid transparent;background:#fff;border-radius:15px;padding:11px 5px;display:flex;align-items:center;gap:7px;font-size:11px}.workout-chips button.active{border-color:#7fb495;background:#f0f8f3}.workout-chips i{width:27px;height:27px;border-radius:9px;background:#eff7f2;color:#5f9976;display:grid;place-items:center;font-style:normal}.favorite-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.favorite-form input{border:1px solid #dfe6e1;border-radius:11px;padding:0 11px}
.workout-composer{padding:18px;margin-top:18px}.workout-composer label{font-size:10px;color:#727d76}.workout-composer input{display:block;width:100%;height:39px;border:1px solid #e0e5e2;border-radius:10px;margin-top:5px;padding:0 10px}.workout-composer>div:not(.view-section-title){display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:11px 0}.workout-composer>button{width:100%}
.workout-checkins{margin-top:22px}.workout-checkins article{display:grid;grid-template-columns:34px 1fr auto;align-items:center;background:#fff;border-radius:15px;padding:13px;margin-top:9px}.workout-checkins article>button{width:25px;height:25px;border:1.5px solid #b6c2ba;border-radius:8px;background:#fff}.workout-checkins article.done>button{background:#68a47e;border-color:#68a47e}.workout-checkins article.done>button:after{content:'✓';color:#fff}.workout-checkins b{font-size:12px}.workout-checkins small{display:block;font-size:9px;color:#999}.workout-checkins em{font-style:normal;font-size:10px;color:#b07870}.workout-checkins .done em{color:#649a76}.empty-workout{font-size:11px;color:#929a95;background:#fff;border-radius:14px;padding:18px}
.learning-week{padding:20px;background:linear-gradient(145deg,#f3efff,#fff)}.learning-week h2{font-size:29px;margin:4px 0}.learning-week small{font-size:10px;color:#8f899b}.week-bars{height:72px;display:flex;align-items:flex-end;gap:7px;margin-top:15px}.week-bars i{flex:1;height:var(--h);min-height:8px;background:linear-gradient(#9d88d2,#c9bde7);border-radius:5px 5px 2px 2px;position:relative}.week-bars span{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font-style:normal;font-size:8px;color:#9a95a2}
.learning-modules{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.learning-modules button{border:0;background:#fff;border-radius:18px;padding:15px;text-align:left;display:grid;grid-template-columns:36px 1fr auto;gap:9px;box-shadow:0 8px 22px rgba(72,58,104,.05)}.learning-modules i{width:34px;height:34px;border-radius:11px;background:#f0ebfb;color:#705da0;display:grid;place-items:center;font-style:normal;font-weight:700}.learning-modules span{display:block;font-weight:700}.learning-modules small{display:block;font-size:9px;color:#96909f;line-height:1.4;margin:3px 0 8px}.learning-modules b{font-size:9px;color:#7b68aa}.learning-modules em{font-style:normal;font-size:11px;color:#8271ad}.learning-focus{padding:17px;margin-top:18px}.learning-focus label{display:grid;grid-template-columns:26px 1fr;align-items:center;padding:10px 0;border-top:1px solid #efedf3;font-size:11px}.learning-focus input,.learning-session-list input{display:none}.learning-focus label>i,.learning-session-list label>i{width:20px;height:20px;border:1px solid #c9c2d4;border-radius:7px}.learning-focus input:checked+i,.learning-session-list input:checked+i{background:#8874b8;border-color:#8874b8}.learning-focus input:checked+i:after,.learning-session-list input:checked+i:after{content:'✓';color:#fff;display:grid;place-items:center;height:100%}
.learning-detail-hero{padding:19px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;background:linear-gradient(145deg,#f3effc,#fff)}.learning-detail-hero>i{width:46px;height:46px;border-radius:15px;background:#e9e1f7;color:#6f5b9d;display:grid;place-items:center;font-style:normal;font-weight:800}.learning-detail-hero span{font-size:10px;color:#84769e}.learning-detail-hero h2{font-size:18px;margin:3px 0}.learning-detail-hero small{font-size:9px;color:#9991a3}.learning-detail-hero>strong{font-size:18px;color:#7966a5}.learning-start{width:100%;height:47px;border:0;border-radius:15px;background:#806ab1;color:#fff;margin:14px 0 18px;padding:0 17px;display:flex;justify-content:space-between;align-items:center;font-weight:700}.learning-session-list{padding:17px}.learning-session-list label{display:grid;grid-template-columns:25px 1fr auto;gap:9px;align-items:center;padding:12px 0;border-top:1px solid #f0edf4}.learning-session-list b{font-size:11px}.learning-session-list small{display:block;font-size:9px;color:#999}.learning-session-list em{font-style:normal;font-size:9px;color:#7c6aa4}.learning-note{padding:18px;margin-top:14px}.learning-note h3{font-size:15px;margin:5px 0 13px}.learning-note button{border:0;background:#f1edf8;color:#6f5c9b;padding:9px 12px;border-radius:10px;font-size:10px}
@media(max-width:430px){.balance-dashboard{grid-template-columns:112px 1fr;gap:14px;padding:18px}.balance-ring{width:108px;height:108px}.balance-copy>strong{font-size:27px}.allocation-grid{grid-template-columns:1fr 1fr}.allocation-grid article{grid-template-columns:30px 1fr auto;padding:12px}.two-lanes{grid-template-columns:repeat(2,minmax(235px,1fr))}}
