:root{--blue:#2563eb;--blue2:#1d4ed8;--bg1:#eef2ff;--bg2:#eff6ff;--text:#0f172a;--muted:#64748b;--line:#dbeafe;--card:#fff;--green:#16a34a;--danger:#dc2626}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,#e0e7ff,transparent 36%),linear-gradient(135deg,#f5f3ff,#e0f2fe 55%,#eef2ff)}.page{width:min(980px,100%);margin:0 auto;padding:26px 14px 70px}.register-card{background:rgba(255,255,255,.96);border:1px solid rgba(37,99,235,.12);border-radius:26px;box-shadow:0 28px 80px rgba(30,64,175,.18);padding:24px}.brand{text-align:center;margin-bottom:20px}.logo{width:74px;height:74px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#0f766e);color:#fff;font-weight:900;font-size:40px;box-shadow:0 14px 30px rgba(16,185,129,.28)}.brand h1{margin:0;font-size:32px;letter-spacing:.08em}.brand p{margin:3px 0 14px;color:var(--muted);font-size:13px}.brand h2{margin:0;font-size:20px}.type-switch{display:grid;grid-template-columns:1fr 1fr;background:#e0e7ff;padding:6px;border-radius:18px;margin:0 auto 22px;max-width:420px}.type-switch button{border:0;border-radius:14px;background:transparent;color:#1e3a8a;padding:12px;font-weight:800;cursor:pointer}.type-switch button.active{background:var(--blue);color:white;box-shadow:0 10px 20px rgba(37,99,235,.25)}.section-title{font-weight:900;color:#1e3a8a;margin:22px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.grid.two{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:block;margin:0 0 14px}label span{display:block;font-weight:700;font-size:13px;margin-bottom:7px;color:#334155}input,textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.12)}textarea{resize:vertical}.hidden{display:none!important}.map-card{min-height:230px;border-radius:20px;background:linear-gradient(135deg,rgba(2,132,199,.22),rgba(22,163,74,.18)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="360" height="240"><rect width="360" height="240" fill="%23e2e8f0"/><path d="M0 90L360 40M0 150L360 110M100 0L120 240M240 0L210 240" stroke="%23cbd5e1" stroke-width="18"/><rect x="30" y="30" width="70" height="42" fill="%23a7f3d0"/><rect x="150" y="50" width="80" height="52" fill="%23bfdbfe"/><rect x="260" y="150" width="72" height="46" fill="%23fecaca"/></svg>') center/cover;border:1px solid #bfdbfe;display:grid;place-items:center;text-align:center;padding:20px;color:#0f172a;position:relative;overflow:hidden}.map-card:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.45)}.map-card>*{position:relative}.map-pin{font-size:42px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25))}.map-card p{margin:6px 0 12px;color:#334155}.map-card button,.submit{border:0;border-radius:15px;background:var(--blue);color:#fff;padding:14px 18px;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(37,99,235,.25)}.map-card button{background:#0f766e}.maps-link{display:inline-block;margin:10px 0 4px;color:var(--blue);font-weight:800;text-decoration:none}.checkline{display:flex;gap:10px;align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:13px}.checkline input{width:auto;margin-top:2px}.checkline span{margin:0;color:#1e3a8a}.submit{width:100%;font-size:17px;margin-top:16px}.footer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.footer-actions a{color:var(--blue);font-weight:800;text-decoration:none}#toast{position:fixed;left:16px;right:16px;bottom:18px;z-index:50;display:none;text-align:center;border-radius:18px;padding:15px 18px;font-weight:900;color:#fff;background:var(--green);box-shadow:0 16px 36px rgba(0,0,0,.24)}#toast.error{background:var(--danger)}@media(max-width:640px){.page{padding:14px 10px 60px}.register-card{padding:18px;border-radius:22px}.grid.two{grid-template-columns:1fr}.brand h1{font-size:28px}.footer-actions{display:grid}.map-card{min-height:200px}}