.auth-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:16px}.auth-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 20px 40px #0003;width:100%;max-width:400px}@media (max-width: 480px){.auth-box{padding:24px}}.auth-box h1{text-align:center;color:#1f2937;margin-bottom:8px;font-size:28px;font-weight:700}.auth-box p.subtitle{text-align:center;color:#6b7280;margin-bottom:24px;font-size:14px}.auth-box form{display:flex;flex-direction:column;gap:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.auth-box input{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.auth-box input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-box button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.auth-box button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.auth-box button:active{transform:translateY(0)}.auth-box button:disabled{opacity:.6;cursor:not-allowed}.auth-box p{text-align:center;margin-top:20px;color:#6b7280;font-size:14px}.auth-box a{color:#667eea;text-decoration:none;font-weight:500}.auth-box a:hover{text-decoration:underline}.auth-box .error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;border:1px solid #fecaca}.dashboard{min-height:100vh;background:#f9fafb;padding-bottom:40px}.dashboard header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 0;box-shadow:0 4px 6px -1px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;padding:0 16px}.logout-btn{padding:8px 16px;background:#fff3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.logout-btn:hover{background:#ffffff4d}.stats-section{padding:24px 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:0 16px;max-width:1200px;margin:0 auto}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;text-align:center;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.stat-card h3{color:#6b7280;font-size:14px;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-card p{color:#1f2937;font-size:32px;font-weight:700}@media (max-width: 640px){.stat-card p{font-size:28px}}.ref-link-section{max-width:1200px;margin:0 auto;padding:0 16px 24px}.ref-link-section .card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.ref-link-section h2{color:#1f2937;font-size:20px;font-weight:700;margin-bottom:16px}.ref-link-box{display:flex;gap:12px;margin-top:16px}@media (max-width: 640px){.ref-link-box{flex-direction:column}}.ref-link-box input{flex:1;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#f9fafb;font-family:monospace}.ref-link-box button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.ref-link-box button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.bookings-section,.withdraw-section{max-width:1200px;margin:0 auto;padding:0 16px 24px}.bookings-section .card,.withdraw-section .card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.bookings-section h2,.withdraw-section h2{color:#1f2937;font-size:20px;font-weight:700;margin-bottom:20px}.bookings-table,.withdrawals-table{width:100%;border-collapse:collapse;font-size:14px;min-width:600px}.bookings-table th,.bookings-table td,.withdrawals-table th,.withdrawals-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.bookings-table th,.withdrawals-table th{background:#f9fafb;font-weight:600;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 640px){.bookings-table th,.bookings-table td,.withdrawals-table th,.withdrawals-table td{padding:8px;font-size:12px}}.withdraw-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.withdraw-form input{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.withdraw-form button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.withdraw-form button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.withdraw-section h3{color:#1f2937;font-size:16px;font-weight:600;margin:24px 0 16px}@media (max-width: 640px){.bookings-section .card,.withraw-section .card{padding:16px}}.admin{min-height:100vh;background:#f9fafb;padding-bottom:40px}.admin header{background:linear-gradient(135deg,#10b981,#059669);padding:20px 0;box-shadow:0 4px 6px -1px #0000001a}.header-content{padding:0 16px}.header-content h1{color:#fff;font-size:24px;font-weight:700}@media (max-width: 768px){.header-content h1{font-size:20px}}.admin-section{max-width:1200px;margin:24px auto;padding:0 16px}.admin-section .card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.admin-section h2{color:#1f2937;font-size:20px;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:8px}.badge-count{background:#ef4444;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.admin-table{width:100%;border-collapse:collapse;font-size:14px;min-width:800px}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.admin-table th{background:#f9fafb;font-weight:600;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 640px){.admin-table th,.admin-table td{padding:8px;font-size:12px}}.actions{display:flex;gap:8px;flex-wrap:wrap}.approve-btn{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.approve-btn:hover{background:#059669;transform:translateY(-1px)}.reject-btn{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.reject-btn:hover{background:#dc2626;transform:translateY(-1px)}.empty-state{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}.loading{text-align:center;padding:40px;color:#6b7280}.error{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:16px;border:1px solid #fecaca;font-size:14px}@media (max-width: 640px){.admin-section{margin:16px 0}.admin-section .card{padding:16px}.actions{flex-direction:column}.approve-btn,.reject-btn{width:100%;padding:8px}}.mobile-table-row{display:none}@media (max-width: 800px){.admin-table{display:none}.mobile-table-row{display:block;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px}.mobile-table-row .field{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}.mobile-table-row .field:last-child{border-bottom:none}.mobile-table-row .label{font-weight:600;color:#6b7280}.mobile-table-row .value{color:#1f2937}.mobile-table-row .actions{margin-top:12px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-800: #1f2937;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-100);color:var(--gray-800);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 16px}@media (max-width: 768px){.container{padding:0 12px}}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--secondary);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}@media (max-width: 768px){.card{padding:16px;border-radius:8px}}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width: 768px){.grid-2,.grid-4{grid-template-columns:1fr}}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-paid{background:#dbeafe;color:#1e40af}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--gray-200)}@media (max-width: 768px){th,td{padding:8px;font-size:12px}}th{background:var(--gray-100);font-weight:600;color:var(--gray-600)}tr:hover{background:var(--gray-100)}input{padding:12px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;width:100%;transition:border-color .2s}input:focus{outline:none;border-color:var(--primary)}@media (max-width: 768px){input{padding:10px;font-size:14px}}.form-group{margin-bottom:16px}label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--gray-600)}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.loading{display:inline-block;width:16px;height:16px;border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.flex{display:flex}.flex-between{justify-content:space-between}.items-center{align-items:center}.gap-2{gap:8px}.text-sm{font-size:12px}.text-gray{color:var(--gray-600)}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}
