*{box-sizing:border-box}body{margin:0;background:#f7f6f0;color:#183b30;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1080px;margin:auto;padding:28px 24px 70px}header,nav,.heading{display:flex;align-items:center;justify-content:space-between;gap:15px}header{padding-bottom:25px;border-bottom:1px solid #dde5d6}a{color:inherit}nav a,.brand{text-decoration:none}.brand{font-size:12px;letter-spacing:1px;font-weight:700}nav{font-size:13px}.intro{padding:50px 0 28px;max-width:720px}.intro h1{font-size:clamp(36px,6vw,60px);line-height:1.1;letter-spacing:-2px;margin:12px 0 22px}.intro>p{color:#607468;font-size:17px}.eyebrow{font-size:11px!important;letter-spacing:1.6px;font-weight:650;color:#6a8267!important}.flow{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.flow span,.status{padding:7px 12px;border:1px solid #dce6d5;border-radius:10px;background:#fff;font-size:12px}button,.button{font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;border:1px solid #d9e3d2;border-radius:11px;padding:11px 15px;background:#fff;color:#315642;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:wait}.primary{background:#193d30!important;color:#fff!important;border-color:#193d30}.panel,.plan{background:#fff;border:1px solid #dce5d6;border-radius:22px;padding:26px;margin:22px 0}.panel h2{margin:0 0 10px}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.tabs [aria-pressed=true]{background:#eaf3de}.panel form{max-width:480px}label{display:block;font-size:13px;font-weight:550;margin:14px 0}input:not([type=checkbox]),textarea,select{width:100%;font:inherit;border:1px solid #d7e2d0;border-radius:10px;padding:12px;background:#fcfdf9;color:#193d30;margin-top:5px}input[type=checkbox]{accent-color:#315c3d;width:19px;height:19px;flex-shrink:0}.check{display:flex;gap:9px;align-items:center}.small{color:#667b6b;font-size:13px}.recovery code{display:block;overflow-wrap:anywhere;padding:18px;background:#f4f2df;margin:18px 0;border-radius:12px}.recovery button{margin-right:10px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.totals>div{border:1px solid #dce6d5;background:#eef4e5;padding:20px;border-radius:16px}.totals small{display:block;color:#637967}.totals strong{font-size:26px}.plan h3{font-size:22px;margin:0}.plan-top{display:flex;justify-content:space-between;gap:15px}.plan-details{display:flex;gap:22px;margin:20px 0;flex-wrap:wrap}.plan-details small{display:block;color:#6e806f}.plan-details b{font-size:20px}.progress-track{height:7px;background:#edf1e7;border-radius:10px;overflow:hidden;margin:18px 0}.progress-track span{height:100%;display:block;background:#87aa70}.plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.snapshot-note{padding:12px 16px;border-radius:11px;background:#edf5e5;color:#546f51;font-size:13px}.plan ul{padding-left:20px}.plan li{margin:7px 0;font-size:14px}.danger{color:#993d3d}dialog{max-width:820px;width:calc(100% - 28px);max-height:90vh;overflow:auto;border:1px solid #d9e4d0;border-radius:24px;padding:26px;color:#193d30}dialog::backdrop{background:#193d3070;backdrop-filter:blur(4px)}dialog h2{font-size:26px;margin:0}.entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.goal{border:1px solid #dce5d5;border-radius:14px;padding:16px;margin:12px 0;background:#f8faf4}.goal.unselected{background:#fafaf8;color:#71816d}.goal-title{display:flex;align-items:flex-start;gap:10px;margin:0}.goal-title span{flex:1}.goal-title b{white-space:nowrap}.goal-status{display:flex;gap:12px;align-items:end;margin-left:29px}.goal-status label{flex:1;margin-bottom:0}.goal-status small{flex:1;padding:0 0 10px;color:#92703b}.selection-total{padding:18px;background:#eaf4de;border-radius:14px;font-size:16px;margin:20px 0}.selection-total small{display:block;color:#61755d}.heading button{font-size:22px;padding:5px 12px}footer{font-size:12px;color:#758572;margin-top:40px}#message:empty{display:none}#message{background:#f0f3e9;padding:12px;border-radius:10px}details{margin-top:20px}summary{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #97b880;outline-offset:3px}[hidden]{display:none!important}@media(max-width:600px){main{padding:20px 15px}nav{gap:10px}.brand{font-size:10px}.totals{grid-template-columns:1fr}.plan,.panel,dialog{padding:20px}.entry-fields{grid-template-columns:1fr}.goal-status{flex-wrap:wrap;margin-left:0}.goal-status label{min-width:110px}.goal-title{font-size:13px}.intro{padding-top:30px}.plan-top{flex-direction:column}}
