*{box-sizing:border-box}body{margin:0;background:#f4f5f7;color:#18202b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app{max-width:900px;margin:auto;padding:18px}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:#111827}.login-card{background:white;border-radius:22px;padding:30px;width:min(430px,100%);box-shadow:0 20px 60px #0005}.brand{font-size:12px;letter-spacing:.18em;font-weight:800}.login-card h1{margin:8px 0}.muted,small{color:#6b7280}.small{font-size:11px;color:#9ca3af;text-align:center;margin-top:18px}.alert{padding:12px;border-radius:10px;margin:12px 0}.error{background:#fee2e2;color:#991b1b}.success{background:#dcfce7;color:#166534}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.logout{font-size:13px;color:#6b7280}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div{background:#fff;padding:17px;border-radius:15px}.stats span{display:block;font-size:12px;color:#6b7280}.stats b{display:block;font-size:22px;margin-top:5px}.card{background:#fff;border-radius:17px;padding:20px;margin:12px 0;box-shadow:0 4px 18px #0000000a}.cards{background:none;box-shadow:none;padding:0}.active{border-left:5px solid #111827}.pill{font-size:11px;font-weight:800;letter-spacing:.1em}.row{display:flex;justify-content:space-between;align-items:start}.row strong{font-size:22px}.progress{height:12px;background:#e5e7eb;border-radius:20px;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:#111827}.targetnums{margin:8px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:13px;font-weight:650;margin:12px 0}input,select{width:100%;margin-top:6px;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#fff;font:inherit}.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;background:#e5e7eb;color:#111827;font-weight:750;cursor:pointer}.btn.primary{background:#111827;color:white}.btn.danger{background:#b42318;color:#fff}.full{width:100%;margin-top:8px}.result{margin-top:10px;font-size:13px}.result.ok{color:#166534}.result.bad{color:#991b1b}@media(max-width:600px){.app{padding:12px}.stats{grid-template-columns:1fr 1fr}.stats div:last-child{grid-column:1/-1}.two{grid-template-columns:1fr}.card{padding:16px}.app h1{font-size:24px}}