/* Materials sit over a still background. Controls keep a solid reading surface. */
body{background:radial-gradient(ellipse at 8% 0%,#d8e7da 0,transparent 43%),radial-gradient(ellipse at 94% 25%,#efe1c8 0,transparent 37%),linear-gradient(145deg,#eef1eb,#f7f4ef 70%);background-attachment:fixed}
header{background:#ffffffb8;backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);border-bottom:1px solid #ffffffd9;box-shadow:0 4px 28px #24372e06}
aside{background:#e1e7dd80;border-right:1px solid #ffffff9c;backdrop-filter:blur(18px)}
.card,.panel,.metric,.task,.progress-box{background:#ffffffe0;border:1px solid #ffffff;box-shadow:0 2px 2px #fff8 inset,0 0 0 1px #2f493a0a,0 12px 28px -20px #324b3c38;backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);border-radius:20px}
.hero{background:linear-gradient(135deg,#254335ed,#1d332df2);border:1px solid #ffffff40;box-shadow:0 1px 0 #ffffff40 inset,0 15px 35px -24px #133a2d70;border-radius:24px;backdrop-filter:blur(22px)}
.grand-progress{padding:26px 30px 23px;border-radius:25px;background:linear-gradient(145deg,#ffffffed,#fafff3c7);box-shadow:0 1px 1px #fff inset,0 -1px 0 #fff9 inset,0 18px 40px -28px #2c513b60;margin-bottom:25px}
.grand-progress .eyebrow{margin-bottom:9px;color:#537052}.grand-progress h2{font-size:20px;margin:0}.progress-number{font-size:44px;line-height:1.2;letter-spacing:-2px;font-weight:650;font-variant-numeric:tabular-nums;color:#276846}
.big-track{height:30px;border-radius:30px;background:linear-gradient(180deg,#dbe5d78a,#e5eadf80);box-shadow:inset 0 2px 6px #23382f14,0 1px 0 #fff;border:1px solid #fff9;overflow:hidden;margin:21px 0 15px;position:relative}
.big-fill{width:100%;height:100%;transform-origin:left center;border-radius:30px;background:linear-gradient(180deg,#90caa4,#4e996c 48%,#438c61);box-shadow:inset 0 1px 2px #ffffffab,0 1px 10px #488f6266;transition:transform 1400ms cubic-bezier(.16,1,.3,1);will-change:transform;position:relative}
.big-fill:after{content:'';position:absolute;inset:2px 2px auto 2px;height:40%;border-radius:30px;background:linear-gradient(180deg,#ffffff61,transparent)}
.grand-progress small{font-size:11px}.task{border-radius:16px}.task:hover{border-color:#afc7a9}.login{background:#ffffffa6;border:1px solid #fff;border-radius:32px;backdrop-filter:blur(25px);padding:38px;margin-top:9vh;box-shadow:0 25px 80px -45px #294b3766}.login-brand{margin-bottom:30px}
dialog{background:#fffffff2;backdrop-filter:blur(25px) saturate(140%);-webkit-backdrop-filter:blur(25px) saturate(140%);border:1px solid white;box-shadow:0 1px 1px #fff inset,0 25px 100px #18352540;border-radius:24px}input,select,textarea{background:#fffefb}button{transition:transform 120ms ease,background 160ms ease,box-shadow 160ms ease}button:active{transform:scale(.98)}.pill{border:1px solid #ffffff80}.resource{background:#ffffffde;border-color:#fff;border-radius:15px;box-shadow:0 1px 3px #203a3010}
@media(max-width:760px){aside{background:#edf0e8ef;backdrop-filter:blur(20px)}.grand-progress{padding:21px}.progress-number{font-size:38px}.grand-progress h2{font-size:17px}.big-track{height:27px}.grand-progress .row:last-child{display:block}.grand-progress .row:last-child small{display:block;text-align:left;margin-top:4px}.login{margin:6vh 16px;padding:28px;max-width:none}.hero{border-radius:22px}}
@media(prefers-reduced-motion:reduce){.big-fill{transition:none}button:active{transform:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){header,aside,.card,.panel,.task,.metric,.progress-box,.login,dialog,.resource{background:#fffefa;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#a8b2a3}.hero{background:#23382f}.big-track{background:#dfe5da}}
@supports not(backdrop-filter:blur(1px)){header,aside,.card,.panel,.task,.metric,.progress-box,.login,dialog,.resource{background:#fffefa}}
