.activity-page { display:block; height:auto; min-height:100svh; overflow:auto; padding:40px 18px; background:#30222b; }
.activity-shell { width:min(680px,100%); margin:0 auto; }
.activity-gate,.activity-dashboard { background:#fdf9f3; border:1px solid #e4d4d8; border-radius:20px; box-shadow:0 24px 80px #10091040; color:#472d3a; }
.activity-gate { max-width:420px; margin:clamp(20px,12vh,120px) auto; padding:38px; }
.activity-eyebrow { font-size:10px; letter-spacing:2px; margin-top:22px; color:#8b6576; }
.activity-gate h1 { font:400 36px/1.2 Georgia,serif; margin:8px 0 16px; }
.activity-gate p { line-height:1.6; font-size:14px; }
#pin-form { margin-top:28px; }
#pin-form label { display:block; font-size:12px; margin-bottom:9px; }
#activity-pin { display:block; width:100%; padding:14px; font-size:24px; letter-spacing:14px; text-align:center; border:1px solid #cdb7c1; border-radius:10px; background:#fffdfa; color:#472d3a; }
#pin-form button { width:100%; margin-top:14px; }
#pin-status { min-height:24px; color:#8a3d59; }
.activity-gate .activity-lock-note { font-size:11px; color:#866a77; margin:22px 0 0; }
.activity-dashboard { padding:32px; }
.activity-dashboard > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.activity-dashboard h2 { font:400 30px/1.2 Georgia,serif; margin:0; }
.activity-dashboard h3 { margin:28px 0 12px; font-size:14px; }
.activity-dashboard .check-label { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; }
.activity-dashboard input[type=checkbox] { margin-top:4px; flex:none; }
.activity-dashboard .settings-note { font-size:12px; color:#816572; line-height:1.7; }
@media(max-width:460px) { .activity-page { padding:20px 12px; } .activity-gate { padding:28px; } .activity-dashboard { padding:22px; } }
