*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#f4f6fb;color:#1a2540}h1,h2,h3,h4{font-family:Poppins,Inter,sans-serif;margin:0 0 8px;color:#0a1f44}a{color:inherit}.wrap{max-width:480px;min-height:100vh}.wrap,.wrap-wide{margin:0 auto;padding:24px 18px 60px}.wrap-wide{max-width:720px}.brand-row{gap:10px;margin-bottom:28px}.brand-row,.brand-row .dot{display:flex;align-items:center}.brand-row .dot{width:34px;height:34px;border-radius:9px;background:#0a1f44;color:#fff;justify-content:center}.brand-row .dot,.brand-row span{font-weight:700;font-family:Poppins,sans-serif}.brand-row span{letter-spacing:.04em;font-size:.95rem;color:#0a1f44}.card{background:#fff;border:1px solid #e3e7f1;border-radius:14px;padding:22px}.card,.field{margin-bottom:16px}.field label{display:block;font-size:.82rem;font-weight:600;color:#4a5570;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid #d3d9e6;border-radius:9px;font-size:.95rem;font-family:inherit;background:#fff;color:#1a2540}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #0a1f44;outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:9px;font-weight:600;font-size:.92rem;border:none;cursor:pointer;text-decoration:none;width:100%}.btn-primary{background:#0a1f44;color:#fff}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:#fff;color:#0a1f44;border:1px solid #0a1f44}.btn-sm{width:auto;padding:8px 14px;font-size:.85rem}.btn-danger{background:#fff;color:#b02a2a;border:1px solid #e8b4b4}.err{background:#fdeded;color:#9c2b2b;border:1px solid #f3c2c2;border-radius:8px}.err,.ok{padding:10px 12px;font-size:.85rem;margin-bottom:14px}.ok{background:#eaf6ee;color:#1e7a3d;border:1px solid #bfe3ca;border-radius:8px}.muted{color:#6b7590;font-size:.85rem}.top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-pending{background:#fdf1d8;color:#8a5a00}.badge-assigned,.badge-technician_on_way{background:#e2ecfd;color:#1a4fa0}.badge-in_progress{background:#fdeecf;color:#8a5a00}.badge-completed{background:#e2f6e6;color:#1e7a3d}.badge-cancelled{background:#f3e2e2;color:#9c2b2b}.booking-row{display:block;padding:14px 16px;border:1px solid #e3e7f1;border-radius:12px;margin-bottom:10px;background:#fff;text-decoration:none}.booking-row:hover{border-color:#b9c3dc}.code-box{background:#0a1f44;color:#fff;border-radius:12px;padding:18px;text-align:center;margin-bottom:14px}.code-box .num{font-size:2rem;font-weight:700;letter-spacing:.3em;font-family:Poppins,sans-serif;margin-top:4px}.code-box .lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.nav-tabs{display:flex;gap:8px;margin-bottom:20px}.nav-tabs a{flex:1 1;text-align:center;padding:10px;border-radius:9px;font-size:.85rem;font-weight:600;background:#fff;border:1px solid #e3e7f1;text-decoration:none;color:#4a5570}.nav-tabs a.active{background:#0a1f44;color:#fff;border-color:#0a1f44}.addr-card{border:1px solid #e3e7f1;border-radius:12px;padding:14px 16px;margin-bottom:10px;position:relative}.addr-card.selected{border-color:#0a1f44;background:#f2f5fb}.center,.loading{text-align:center}.loading{padding:60px 0;color:#6b7590}