:root{--accent:#7c3aed;--green:#16a34a;--ink:#172033;--muted:#64748b;--line:#e2e8f0;--panel:#f8fafc}*{box-sizing:border-box}body{margin:0;background:#f8fafc;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:900px;margin:auto;padding:22px 16px 50px}header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.eyebrow{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.08em}h1{margin:3px 0;font-size:clamp(24px,5vw,36px)}h2{font-size:19px;margin:25px 0 12px}p{margin:4px 0;color:var(--muted)}button{border:0;cursor:pointer;font:inherit}#parentBtn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 14px;font-weight:700}.hero{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:linear-gradient(135deg,#ede9fe,#fdf4ff);border:1px solid #e9d5ff;border-radius:24px;padding:15px}.hero div{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;min-width:0}.hero small{display:block;color:var(--muted);font-size:10px;font-weight:800}.hero strong{display:block;font-size:clamp(18px,4vw,27px);margin-top:4px}.progress,.goal{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-top:12px}.progress>div:first-child{display:flex;justify-content:space-between;font-size:13px}.bar{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;transition:.25s}.tasks{display:grid;gap:9px}.task{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:left}.task.done{background:#f0fdf4;border-color:#bbf7d0}.task .info{flex:1}.task b{display:block}.task small{color:var(--muted)}.task .check{font-size:22px}.goal>div:first-child{display:flex;justify-content:space-between}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.badges div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;font-size:26px}.badges b,.badges small{display:block}.badges b{font-size:14px;margin-top:7px}.badges small{font-size:12px;color:var(--muted);margin-top:3px}.modal{position:fixed;inset:0;background:#0007;display:grid;place-items:center;padding:16px;z-index:5}.hidden{display:none}.modalbox{position:relative;background:#fff;width:min(720px,100%);max-height:90vh;overflow:auto;border-radius:24px;padding:22px}.close{position:absolute;right:14px;top:10px;background:#f1f5f9;border-radius:50%;width:38px;height:38px;font-size:24px}.adminrow{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:14px;margin:7px 0}.adminrow span{flex:1}.form{display:grid;grid-template-columns:1fr 80px 110px auto;gap:8px}.form input{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.primary{background:var(--accent);color:#fff;border-radius:11px;padding:10px 13px;font-weight:700}.danger{background:#fee2e2;color:#991b1b;border-radius:10px;padding:8px 10px}.closeweek{margin-top:18px;background:#dcfce7;color:#166534;border-radius:13px;padding:12px;font-weight:800;width:100%}.weekbox{background:#f8fafc;border-radius:15px;padding:13px;margin-top:15px}@media(max-width:650px){.hero{grid-template-columns:repeat(2,1fr)}.badges{grid-template-columns:1fr}.form{grid-template-columns:1fr 70px 90px}.form button{grid-column:1/-1}.adminrow{align-items:flex-start}.adminrow small{display:block}}@media(max-width:390px){header{display:block}#parentBtn{margin-top:12px}.hero strong{font-size:18px}}
