*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100dvh;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#f3f6f4;color:#122018;display:flex;flex-direction:column}
.top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#1b4332;font-weight:600;letter-spacing:.1em}
.brand img{height:36px}
.back{color:#4b5563;text-decoration:none;font-size:.9rem}
.wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem}
.card{width:100%;max-width:420px;background:#1b4332;color:#fff;border-radius:20px;padding:1.6rem 1.4rem;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.card h1{font-size:1.35rem;font-weight:800;margin-bottom:.35rem;text-align:center}
.card .sub{text-align:center;color:rgba(255,255,255,.85);font-size:.9rem;margin-bottom:1.2rem}
label{display:block;font-size:.78rem;font-weight:700;margin:.65rem 0 .3rem;letter-spacing:.03em}
input{width:100%;padding:.7rem .8rem;border:0;border-radius:10px;font-size:1rem;background:#fff;color:#111}
.btn{display:block;width:100%;margin-top:1.1rem;padding:.8rem 1rem;border:0;border-radius:999px;background:#95d5b2;color:#081c15;font-weight:800;font-size:1rem;cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.msg{margin-bottom:.9rem;padding:.65rem .8rem;border-radius:10px;font-size:.88rem}
.msg.err{background:rgba(255,220,220,.2);border:1px solid rgba(255,180,180,.45)}
.msg.ok{background:rgba(200,255,220,.18);border:1px solid rgba(180,255,200,.4)}
.switch{margin-top:1rem;text-align:center;font-size:.9rem;color:rgba(255,255,255,.9)}
.switch a{color:#b7e4c7;font-weight:700}
.foot{text-align:center;padding:1rem;color:#6b7280;font-size:.8rem;letter-spacing:.08em}
.dash{max-width:560px;background:#fff;color:#122018;border-radius:20px;padding:1.6rem;box-shadow:0 12px 28px rgba(0,0,0,.1);width:100%}
.dash h1{color:#1b4332;margin-bottom:.5rem}
.dash p{color:#4b5563;line-height:1.45}
.dash .actions{margin-top:1.2rem;display:flex;gap:.75rem;flex-wrap:wrap}
.dash a.btn{text-align:center;text-decoration:none;background:#1b4332;color:#fff;width:auto;padding:.65rem 1.2rem}
