:root{--red:#E8251A;--red-dark:#b81810;--red-light:#fdecea;--orange:#FF6B00;--green:#1ea84b;--green-light:#e6f9ed;--yellow:#f59e0b;--yellow-light:#fffbe6;--blue:#1A73E8;--blue-light:#e8f0fd;--bg:#FFF8F7;--white:#fff;--text:#1c1010;--muted:#7a6060;--border:#f0ddd9;--radius:16px;--shadow:0 4px 24px rgba(232,37,26,0.10);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}
header{position:sticky;top:0;z-index:200;background:white;border-top:4px solid var(--red);box-shadow:0 2px 12px rgba(232,37,26,0.12);padding:0 28px;height:66px;display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:'Baloo 2',sans-serif;font-size:24px;font-weight:800;color:var(--red);text-decoration:none;display:flex;align-items:center;gap:10px;}
.logo-icon{width:36px;height:36px;background:var(--red);border-radius:9px;display:flex;align-items:center;justify-content:center;color:white;font-size:17px;}
.back-btn{padding:9px 18px;background:var(--red-light);color:var(--red);border:2px solid var(--red);border-radius:10px;font-family:'Nunito',sans-serif;font-size:14px;font-weight:800;cursor:pointer;text-decoration:none;transition:all .2s;}
.back-btn:hover{background:var(--red);color:white;}
.hero-band{background:linear-gradient(135deg,#1a0a08 0%,var(--red) 55%,var(--orange) 100%);padding:36px 24px;text-align:center;color:white;}
.hero-band h1{font-family:'Baloo 2',sans-serif;font-size:clamp(26px,5vw,40px);font-weight:800;margin-bottom:6px;}
.hero-band p{font-size:16px;opacity:.9;font-weight:600;}
.hero-stats{display:flex;justify-content:center;gap:24px;margin-top:22px;flex-wrap:wrap;}
.hstat{background:rgba(255,255,255,0.15);border-radius:12px;padding:12px 20px;text-align:center;}
.hstat-num{font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:800;}
.hstat-label{font-size:12px;opacity:.85;font-weight:700;}
.main{max-width:860px;margin:0 auto;padding:36px 20px 80px;}
.tab-bar{display:flex;background:white;border-radius:16px;padding:5px;box-shadow:var(--shadow);border:2px solid var(--border);margin-bottom:28px;}
.tab-btn{flex:1;padding:13px;border:none;border-radius:12px;font-family:'Nunito',sans-serif;font-size:16px;font-weight:800;cursor:pointer;transition:all .25s;background:transparent;color:var(--muted);}
.tab-btn.active{background:linear-gradient(135deg,var(--red),var(--orange));color:white;box-shadow:0 3px 14px rgba(232,37,26,0.35);}
.panel{display:none;}
.panel.active{display:block;animation:fadeUp .3s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.login-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid var(--border);padding:40px;max-width:500px;margin:0 auto;}
.card-title{font-family:'Baloo 2',sans-serif;font-size:24px;font-weight:800;margin-bottom:4px;}
.card-sub{font-size:14px;color:var(--muted);font-weight:600;margin-bottom:24px;}
.err-box{background:var(--red-light);border:1.5px solid var(--red);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;color:var(--red);display:none;margin-bottom:14px;}
.ffield{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.ffield label{font-size:13px;font-weight:800;color:var(--text);}
.ffield input,.ffield select,.ffield textarea{padding:13px 14px;font-family:'Nunito',sans-serif;font-size:15px;font-weight:600;border:2px solid var(--border);border-radius:11px;outline:none;color:var(--text);background:var(--bg);transition:border .2s;width:100%;}
.ffield input:focus,.ffield select:focus,.ffield textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(232,37,26,0.08);}
.ffield textarea{resize:vertical;min-height:75px;}
.big-btn{width:100%;padding:15px;background:linear-gradient(135deg,var(--red),var(--orange));color:white;border:none;border-radius:12px;font-family:'Nunito',sans-serif;font-size:18px;font-weight:900;cursor:pointer;transition:all .2s;box-shadow:0 4px 18px rgba(232,37,26,0.3);margin-top:4px;}
.big-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,37,26,0.4);}
.hint-box{background:var(--yellow-light);border:1.5px solid #ffe58a;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700;color:#7a5a00;margin-top:14px;text-align:center;line-height:1.6;}
.steps-bar{display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.step-dot{width:36px;height:36px;border-radius:50%;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;flex-shrink:0;transition:all .3s;}
.step-dot.active{background:var(--red);color:white;box-shadow:0 2px 12px rgba(232,37,26,0.35);}
.step-dot.done{background:var(--green);color:white;}
.step-line{flex:1;height:3px;background:var(--border);max-width:60px;transition:background .3s;}
.step-line.done{background:var(--green);}
.step-labels{display:flex;justify-content:space-between;max-width:360px;margin:6px auto 24px;padding:0 2px;}
.step-lbl{font-size:11px;font-weight:800;color:var(--muted);text-align:center;flex:1;}
.form-card{display:none;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid var(--border);padding:32px;margin-bottom:20px;}
.form-card.active{display:block;animation:fadeUp .3s ease;}
.fc-title{font-family:'Baloo 2',sans-serif;font-size:21px;font-weight:800;margin-bottom:3px;display:flex;align-items:center;gap:8px;}
.fc-sub{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:22px;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:580px){.fgrid{grid-template-columns:1fr;}}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:16px;}
.svc-chip{border:2px solid var(--border);border-radius:12px;padding:12px 10px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);}
.svc-chip.selected{border-color:var(--green);background:var(--green-light);}
.svc-chip:hover:not(.selected){border-color:var(--red);background:var(--red-light);}
.svc-icon{font-size:26px;margin-bottom:5px;}
.svc-name{font-size:12px;font-weight:800;color:var(--text);}
.svc-price-input{display:none;margin-top:8px;padding:7px 8px;width:100%;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;border:2px solid var(--border);border-radius:8px;outline:none;text-align:center;background:white;}
.svc-chip.selected .svc-price-input{display:block;border-color:var(--green);}
#regMap{width:100%;height:250px;border-radius:12px;border:2px solid var(--border);margin-bottom:12px;}
.step-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;}
.snb{padding:12px 28px;border-radius:11px;font-family:'Nunito',sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:all .2s;border:none;}
.snb.back{background:var(--bg);color:var(--muted);border:2px solid var(--border);}
.snb.back:hover{border-color:var(--red);color:var(--red);}
.snb.next{background:linear-gradient(135deg,var(--red),var(--orange));color:white;box-shadow:0 3px 14px rgba(232,37,26,0.3);}
.snb.next:hover{transform:translateY(-2px);}
.snb.submit{background:linear-gradient(135deg,var(--green),#34d058);color:white;box-shadow:0 3px 14px rgba(30,168,75,0.3);}
.snb.submit:hover{transform:translateY(-2px);}
.summary-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;}
.summary-row:last-child{border:none;}
.summary-label{color:var(--muted);font-weight:700;flex-shrink:0;margin-right:12px;}
.summary-value{font-weight:800;color:var(--text);text-align:right;}
.success-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid var(--green);padding:40px;text-align:center;max-width:540px;margin:0 auto;}
.success-id{font-family:'Baloo 2',sans-serif;font-size:32px;font-weight:800;color:var(--red);background:var(--red-light);border-radius:12px;padding:10px 22px;display:inline-block;margin:12px 0;}
.success-steps{display:flex;flex-direction:column;gap:8px;text-align:left;margin:20px 0;background:var(--bg);border-radius:12px;padding:18px;}
.success-step{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--text);}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--red);cursor:pointer;box-shadow:0 2px 6px rgba(232,37,26,0.4);}
.toast{position:fixed;bottom:24px;right:24px;background:#1a1a2e;color:white;padding:12px 22px;border-radius:12px;font-size:14px;font-weight:700;z-index:9999;display:none;box-shadow:0 8px 28px rgba(0,0,0,0.2);}

/* ── Unified registration fields ──────────────────────────── */
.field-wrap        { display:flex; flex-direction:column; gap:5px; }
.field-label       { font-size:12px; font-weight:700; color:#374151; text-transform:uppercase; letter-spacing:.4px; }
.field-inp         { padding:11px 14px; border:1.5px solid #e5e7eb; border-radius:10px; font-size:14px; font-family:'DM Sans',sans-serif; outline:none; transition:border-color .2s, box-shadow .2s; background:#fafafa; width:100%; box-sizing:border-box; }
.field-inp:focus   { border-color:var(--red); box-shadow:0 0 0 3px rgba(232,37,26,.1); background:white; }
.field-inp.valid   { border-color:#16a34a !important; box-shadow:0 0 0 3px rgba(22,163,74,.1) !important; }
.field-inp.invalid { border-color:#E8251A !important; box-shadow:0 0 0 3px rgba(232,37,26,.1) !important; }
@media(max-width:600px){ .field-wrap { grid-column:1/-1 !important; } }