.authPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f8faff,#eef2ff 50%,#f8faff)}.authCard{width:100%;max-width:460px;background:white;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);padding:48px 40px;border:1px solid var(--gray-100)}.authLogo{text-align:center;font-size:1.5rem;font-weight:700;margin-bottom:8px}.authLogoAccent{color:var(--primary-600)}.authTitle{text-align:center;font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.authSubtitle{text-align:center;font-size:.875rem;color:var(--gray-400);margin-bottom:32px}.formGroup{margin-bottom:20px}.formLabel{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}.formInput{width:100%;padding:12px 16px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:inherit;font-size:.9375rem;color:var(--gray-800);transition:all var(--transition-fast);outline:none;background:var(--gray-50)}.formInput:focus{border-color:var(--primary-400);background:white;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.formSelect{width:100%;padding:12px 16px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:inherit;font-size:.9375rem;color:var(--gray-800);background:var(--gray-50);cursor:pointer;outline:none}.formSelect:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.roleToggle{display:flex;gap:8px;margin-bottom:24px}.roleBtn{flex:1 1;padding:12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:white;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast);text-align:center}.roleBtn.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.submitBtn{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:white;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 15px rgba(99,102,241,.3);margin-top:8px}.submitBtn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(99,102,241,.4)}.submitBtn:disabled{opacity:.6;cursor:not-allowed;transform:none}.authFooter{text-align:center;margin-top:24px;font-size:.875rem;color:var(--gray-400)}.authFooter a{color:var(--primary-600);font-weight:600}.errorMsg{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626}.errorMsg,.successMsg{padding:12px 16px;font-size:.8125rem;margin-bottom:16px}.successMsg{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);color:#16a34a}.checkboxGroup{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.checkboxLabel{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast)}.checkboxLabel.checked{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.checkboxLabel input{display:none}.dashLayout{min-height:100vh;background:var(--gray-50)}.dashNav{background:white;border-bottom:1px solid var(--gray-100);padding:0 24px;height:64px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashNav,.dashNavLeft{display:flex;align-items:center}.dashNavLeft{gap:16px}.dashNavLogo{font-size:1.125rem;font-weight:700}.dashNavBadge{padding:4px 12px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.dashNavRight{display:flex;align-items:center;gap:16px}.dashNavUser{font-size:.875rem;font-weight:500;color:var(--gray-600)}.dashLogout{padding:8px 16px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:white;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast)}.dashLogout:hover{border-color:#ef4444;color:#ef4444}.dashContent{max-width:1200px;margin:0 auto;padding:32px 24px}.dashHeader{margin-bottom:32px}.dashTitle{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.dashSubtitle{font-size:.875rem;color:var(--gray-400)}.statsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.statCard{background:white;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.statCardIcon{font-size:1.5rem;margin-bottom:12px}.statCardValue{font-size:1.75rem;font-weight:800;color:var(--gray-900)}.statCardLabel{font-size:.8125rem;color:var(--gray-400);font-weight:500;margin-top:2px}.tableContainer{background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);overflow:hidden;margin-bottom:24px}.tableTitle{padding:20px 24px;font-size:1rem;font-weight:700;color:var(--gray-800);border-bottom:1px solid var(--gray-100)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px 24px;font-size:.75rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.table td{padding:14px 24px;font-size:.875rem;color:var(--gray-600);border-bottom:1px solid var(--gray-50)}.table tr:hover td{background:var(--gray-50)}.statusBadge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:capitalize}.statusPending{background:#fef3c7;color:#92400e}.statusConfirmed{background:#dbeafe;color:#1e40af}.statusAssigned{background:#e0e7ff;color:#3730a3}.statusInProgress{background:#fce7f3;color:#9d174d}.statusCompleted{background:#d1fae5;color:#065f46}.statusCancelled{background:#fee2e2;color:#991b1b}.statusApproved{background:#d1fae5;color:#065f46}.statusSuspended{background:#fee2e2;color:#991b1b}.actionBtn{padding:6px 14px;border-radius:var(--radius-md);border:none;font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-right:6px}.actionBtnPrimary{background:var(--primary-500);color:white}.actionBtnPrimary:hover{background:var(--primary-600)}.actionBtnSuccess{background:var(--accent-500);color:white}.actionBtnSuccess:hover{background:var(--accent-600)}.actionBtnDanger{background:#ef4444;color:white}.actionBtnDanger:hover{background:#dc2626}.actionBtnOutline{background:white;color:var(--gray-600);border:1.5px solid var(--gray-200)}.actionBtnOutline:hover{border-color:var(--primary-300);color:var(--primary-600)}.emptyState{text-align:center;padding:60px 24px;color:var(--gray-400)}.emptyIcon{font-size:3rem;margin-bottom:16px}.emptyText{font-size:1rem;font-weight:500;margin-bottom:4px;color:var(--gray-500)}.emptySubtext{font-size:.8125rem}.bookingPage{min-height:100vh;background:linear-gradient(135deg,#f8faff,#eef2ff 50%,#f8faff);padding-top:80px;padding-bottom:60px}.bookingCard{max-width:680px;margin:0 auto;background:white;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);padding:48px 40px;border:1px solid var(--gray-100)}.bookingSteps{justify-content:center;gap:8px;margin-bottom:36px}.bookingStep,.bookingSteps{display:flex;align-items:center}.bookingStep{gap:6px;font-size:.75rem;font-weight:600;color:var(--gray-300)}.bookingStep.active{color:var(--primary-600)}.bookingStep.done{color:var(--accent-500)}.stepDot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--gray-100);color:var(--gray-400)}.bookingStep.active .stepDot{background:var(--primary-500);color:white}.bookingStep.done .stepDot{background:var(--accent-500);color:white}.stepLine{width:40px;height:2px;background:var(--gray-200);border-radius:1px}.estimateCard{background:var(--gray-50);border-radius:var(--radius-lg);padding:24px;margin:24px 0;border:1px solid var(--gray-100)}.estimateRow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem}.estimateRow.total{border-top:2px solid var(--gray-200);margin-top:8px;padding-top:12px;color:var(--gray-900)}.estimateRow.total,.payBtn{font-weight:700;font-size:1rem}.payBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:none;border-radius:var(--radius-lg);background:var(--gradient-accent);color:white;font-family:inherit;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 15px rgba(16,185,129,.3);margin-top:16px;text-decoration:none}.payBtn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(16,185,129,.4)}.backBtn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--gray-500);cursor:pointer;margin-bottom:16px}.backBtn:hover{color:var(--primary-600)}@media (max-width:640px){.authCard,.bookingCard{padding:32px 24px}.statsGrid{grid-template-columns:1fr 1fr}.table{font-size:.75rem}.table td,.table th{padding:10px 12px}}