.zalo-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,0.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:all 0.25s ease-out}.zalo-modal-backdrop.active{opacity:1;visibility:visible}.zalo-modal-container{background:#ffffff;width:100%;max-width:480px;border-radius:18px;box-shadow:0 20px 40px -10px rgba(0,0,0,0.25),0 0 0 1px rgba(0,0,0,0.05);overflow:hidden;transform:translateY(20px) scale(0.96);transition:all 0.25s cubic-bezier(0.16,1,0.3,1);position:relative;max-height:90vh;display:flex;flex-direction:column}.zalo-modal-backdrop.active .zalo-modal-container{transform:translateY(0) scale(1)}.zalo-modal-header{background:linear-gradient(135deg,#0068ff,#0052cc);color:#ffffff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;position:relative}.zalo-modal-title{font-size:17px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px;color:#ffffff !important}.zalo-modal-close{background:rgba(255,255,255,0.2);border:none;color:#ffffff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;line-height:1;transition:background 0.2s}.zalo-modal-close:hover{background:rgba(255,255,255,0.35)}.zalo-modal-body{padding:18px 20px;overflow-y:auto;font-size:14px;color:#334155}.zalo-step-label{font-weight:600;font-size:13px;color:#475569;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.zalo-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.zalo-service-pill{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500;color:#1e293b;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 0.2s}.zalo-service-pill:hover{border-color:#0068ff;background:#f0f7ff}.zalo-service-pill.active{background:#e6f0ff;border-color:#0068ff;color:#0052cc;font-weight:600}.zalo-loc-box{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;padding:14px;margin-bottom:16px;text-align:center}.zalo-get-loc-btn{background:#16a34a;color:#ffffff !important;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:background 0.2s;box-shadow:0 4px 10px rgba(22,163,74,0.25)}.zalo-get-loc-btn:hover{background:#15803d}.zalo-loc-status{margin-top:8px;font-size:13px;line-height:1.4;word-break:break-all}.zalo-loc-status.success{color:#15803d;font-weight:600}.zalo-loc-status.error{color:#dc2626}.zalo-note-input{width:100%;padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;margin-top:10px;box-sizing:border-box}.zalo-note-input:focus{border-color:#0068ff;outline:none}.zalo-preview-box{background:#f1f5f9;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.5;color:#475569;white-space:pre-line;margin-bottom:16px;border-left:3px solid #0068ff}.zalo-modal-footer{display:flex;flex-direction:column;gap:10px}.zalo-submit-btn{background:linear-gradient(135deg,#0068ff,#0052cc);color:#ffffff !important;border:none;border-radius:10px;padding:13px 18px;font-size:15px;font-weight:700;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 16px rgba(0,104,255,0.35);transition:transform 0.15s,box-shadow 0.15s;text-decoration:none}.zalo-submit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,104,255,0.45)}.zalo-call-fallback{background:#fff1f2;color:#e11d48 !important;border:1.5px solid #fecdd3;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.zalo-direct-link{display:block;text-align:center;font-size:12px;color:#94a3b8;text-decoration:underline;margin-top:6px}.zalo-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:#0f172a;color:#ffffff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:500;box-shadow:0 10px 25px rgba(0,0,0,0.3);z-index:1000000;transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);display:flex;align-items:center;gap:8px}.zalo-toast.show{transform:translateX(-50%) translateY(0)}