body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.fullscreen-loader{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.loader-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#3b82f6;height:50px;width:50px}.fullscreen-loader p{color:#666;font-size:16px;font-weight:500;margin-top:20px}.header{background-color:#1e3a8a;box-shadow:0 2px 4px #0000001a;color:#fff;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;max-width:none;padding:1rem 2rem}.header-title{font-size:1.5rem;font-weight:600;margin:0}.logout-btn{background-color:#dc2626;border-radius:.375rem;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.logout-btn:hover{background-color:#b91c1c;box-shadow:0 2px 8px #dc26264d;transform:translateY(-1px)}.sidebar{background-color:#f8fafc;border-right:1px solid #e2e8f0;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:260px;z-index:50}.sidebar-header{border-bottom:1px solid #e2e8f0;padding:2rem 1.5rem 1rem;text-align:center}.sidebar-header h2{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.sidebar-header p{color:#64748b;font-size:.875rem;margin:0}.sidebar-nav{padding:1rem 0}.sidebar-link{align-items:center;border-left:3px solid #0000;color:#64748b;display:flex;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.sidebar-link:hover{background-color:#e2e8f0;color:#1e293b}.sidebar-link.active{background-color:#dbeafe;border-left-color:#1e40af;color:#1e40af}.sidebar-icon{font-size:1.1rem;margin-right:.75rem}.sidebar-label{font-size:.875rem;font-weight:500}.layout{display:flex;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:260px}.page-content{background-color:#f8fafc;flex:1 1;min-height:calc(100vh - 80px);padding:2rem}.salon-layout{background-color:#f9fafb;display:flex;min-height:100vh}.salon-sidebar{background:linear-gradient(180deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px;z-index:100}.salon-sidebar-header{border-bottom:1px solid #ffffff1a;padding:2rem 1.5rem}.salon-sidebar-header h2{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.salon-name{font-size:.875rem;font-weight:500;margin:0;opacity:.9}.salon-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0}.salon-nav-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.75rem;padding:.875rem 1.5rem;text-align:left;transition:all .2s;width:100%}.salon-nav-item:hover{background-color:#ffffff1a}.salon-nav-item.active{background-color:#ffffff26;border-left-color:#fff;font-weight:600}.nav-icon{font-size:1.25rem}.nav-label{flex:1 1}.salon-sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem 1.5rem}.logout-btn{align-items:center;background-color:#ffffff1a;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.75rem;padding:.875rem 1rem;transition:background-color .2s;width:100%}.logout-btn:hover{background-color:#fff3}.salon-main{display:flex;flex:1 1;flex-direction:column;margin-left:260px}.salon-header{background-color:#fff;border-bottom:1px solid #e5e7eb;padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.salon-header-content{align-items:center;display:flex;justify-content:space-between}.salon-header h1{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.salon-header-info{align-items:center;display:flex;gap:1rem}.salon-phone{color:#64748b;font-size:.875rem}.salon-status{background-color:#fef3c7;border-radius:9999px;color:#92400e;font-size:.75rem;font-weight:600;padding:.375rem .75rem}.salon-status.approved{background-color:#d1fae5;color:#065f46}.salon-content{flex:1 1;padding:2rem}@media (max-width:768px){.salon-sidebar{height:auto;position:relative;width:100%}.salon-main{margin-left:0}.salon-header-content{align-items:flex-start;flex-direction:column;gap:1rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;max-width:400px;padding:2rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.login-header p{color:#64748b;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.error-message{text-align:center}.login-btn{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:background-color .2s}.login-btn:hover:not(:disabled){background-color:#2563eb}.login-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.login-footer{margin-top:2rem;text-align:center}.login-footer p{color:#6b7280;font-size:.875rem;margin:0}.login-tabs{background-color:#f3f4f6;border-radius:.5rem;display:flex;gap:.5rem;margin-bottom:2rem;padding:.25rem}.tab-btn{background-color:initial;border-radius:.375rem;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem}.tab-btn:hover{color:#374151}.tab-btn.active{background-color:#fff;box-shadow:0 1px 2px #0000000d}.input-hint{color:#6b7280;font-size:.75rem;margin-top:-.25rem}.back-btn{background-color:initial;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.75rem;transition:all .2s}.back-btn:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151}#recaptcha-container{display:none}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;font-weight:600;text-align:left;white-space:nowrap}.data-table td,.data-table th{color:#374151;padding:12px 16px}.data-table td{border-bottom:1px solid #f3f4f6}.data-table tbody tr:hover{background-color:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:3rem}.spinner{border:3px solid #e5e7eb;height:32px;width:32px}.empty-state{align-items:center;color:#6b7280;display:flex;font-style:italic;justify-content:center;padding:3rem}@media (max-width:768px){.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 12px}}.status-badge{border-radius:4px;font-weight:500;padding:4px 8px}.status-confirmed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#991b1b}.action-buttons{gap:8px}.action-btn{border-radius:4px;font-size:12px;padding:4px 8px;transition:background-color .2s}.action-btn.edit{background-color:#dbeafe;color:#1e40af}.action-btn.edit:hover{background-color:#bfdbfe}.action-btn.delete{background-color:#fee2e2;color:#991b1b}.action-btn.delete:hover{background-color:#fecaca}.bookings-page{margin:0 auto;max-width:1400px}.filters{gap:.5rem}.filter-btn{border:1px solid #d1d5db;border-radius:.375rem;color:#374151;padding:.5rem 1rem}.filter-btn:hover{background-color:#f3f4f6}.booking-id-col{min-width:120px}.booking-id-col,.salon-id-col{font-family:monospace;font-size:.8rem}.salon-id-col{min-width:100px}.eligibility-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.eligibility-badge.eligible{background-color:#dcfce7;color:#166534}.eligibility-badge.not-eligible{background-color:#fee2e2;color:#dc2626}.walkin-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:.25rem;color:#fff;display:inline-block;font-size:.625rem;font-weight:600;letter-spacing:.05em;margin-top:.25rem;padding:.25rem .5rem;text-transform:uppercase}.salons-page{margin:0 auto;max-width:1400px}.header-actions{gap:1rem}.filter-container{display:flex;flex-direction:column;gap:.25rem}.filter-container label{color:#6b7280;font-size:.75rem;font-weight:500}.approval-filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;min-width:180px;padding:.5rem}.approval-filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.stats-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.salon-name-col{font-weight:600;min-width:150px}.address-col{max-width:250px;min-width:200px;word-break:break-word}.approval-status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.approval-not-started{background-color:#f3f4f6;border:1px solid #d1d5db;color:#6b7280}.approval-awaiting{background-color:#fef3c7;border:1px solid #fcd34d;color:#92400e}.approval-approved{background-color:#d1fae5;border:1px solid #10b981;color:#065f46}.approval-rejected{background-color:#fee2e2;border:1px solid #ef4444;color:#991b1b}.approval-reupload{background-color:#fef3c7;border:1px solid #f59e0b;color:#d97706}.approval-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.section-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.section-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.section-header p{color:#6b7280;font-size:.875rem;margin:0}.approval-cards-container{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.approval-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem}.salon-info{margin-bottom:1.5rem}.salon-info h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.salon-info p{color:#374151;font-size:.875rem;margin:.5rem 0}.salon-photos{margin-bottom:1.5rem}.salon-photos h5{color:#111827;font-size:1rem;font-weight:500;margin:0 0 1rem}.photos-grid{max-height:400px;overflow-y:auto}.photo-item{aspect-ratio:1;border-radius:.375rem;cursor:pointer;overflow:hidden;position:relative;transition:transform .2s}.photo-item:hover{transform:scale(1.05)}.salon-photo{object-fit:cover}.photo-error,.salon-photo{border-radius:.375rem;height:100%;width:100%}.photo-error{align-items:center;background:#f3f4f6;border:2px dashed #d1d5db;color:#6b7280;display:flex;font-size:.75rem;justify-content:center;text-align:center}.photo-placeholder{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:.375rem;padding:1rem;text-align:center;transition:all .2s}.photo-placeholder:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.photo-name{color:#475569;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.download-link{background-color:#3b82f6;border-radius:.25rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:.375rem .75rem;text-decoration:none;transition:background-color .2s}.download-link:hover{background-color:#2563eb;color:#fff;text-decoration:none}.no-photos{background:#f9fafb;border:2px dashed #d1d5db;border-radius:.375rem;color:#9ca3af;font-style:italic;padding:2rem;text-align:center}.approval-actions{display:flex;flex-wrap:wrap;gap:.75rem}.approval-actions button{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.ask-upload-btn{background-color:#f59e0b;color:#fff}.ask-upload-btn:hover:not(:disabled){background-color:#d97706}.approval-actions button:disabled{cursor:not-allowed;opacity:.6}.approval-stat{background:linear-gradient(135deg,#fef3c7,#fcd34d)}.approval-count{color:#92400e}.payments-btn{background-color:#8b5cf6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.payments-btn:hover{background-color:#7c3aed;box-shadow:0 2px 4px #8b5cf64d;transform:translateY(-1px)}@media (max-width:768px){.photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.approval-actions{flex-direction:column}.approval-actions button{width:100%}}.customers-page{margin:0 auto;max-width:1400px}.header-info h2{color:#111827;font-size:1.5rem;font-weight:600}.refresh-btn{border-radius:.375rem;font-weight:500;padding:.5rem 1rem}.stats-container{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}.stat-card{border-radius:.5rem;padding:1.5rem;text-align:center}.stat-card h3{font-size:.875rem;letter-spacing:.05em;margin:0 0 .5rem}.stat-number{color:#111827;font-size:2rem}.table-section{margin-top:1rem}.error-container{padding:3rem}.retry-btn{background-color:#dc2626;border-radius:.375rem;padding:.5rem 1rem}.retry-btn:hover{background-color:#b91c1c}.pagination-container{border-radius:8px;box-shadow:0 1px 3px #0000001a;justify-content:space-between;margin-top:24px;padding:16px 20px}.pagination-info{color:#6b7280;font-size:14px}.pagination-controls{align-items:center;display:flex;gap:16px}.pagination-btn{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;gap:6px;padding:8px 16px}.pagination-btn:hover:not(:disabled){background-color:#2563eb;box-shadow:0 2px 4px #3b82f64d;transform:translateY(-1px)}.pagination-btn:disabled{background-color:#d1d5db;opacity:.6}.page-number{color:#1f2937;font-size:14px;font-weight:600;padding:0 8px}@media (max-width:768px){.pagination-container{flex-direction:column;gap:12px}.pagination-controls{justify-content:space-between;width:100%}.pagination-btn{flex:1 1}}.customer-name-col{font-weight:600;min-width:150px}.phone-col{font-family:monospace;min-width:130px}.bookings-count-col{min-width:100px;text-align:center}.booking-count{background-color:#dbeafe;border-radius:.25rem;color:#1e40af;display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.settings-page{margin:0 auto;max-width:800px}.page-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.page-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.page-header p{color:#6b7280;font-size:.875rem;margin:0}.settings-container{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.settings-section h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.section-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.error-message{background-color:#fee2e2;color:#dc2626}.error-message,.success-message{border-radius:.375rem;font-size:.875rem;padding:.75rem}.success-message{background-color:#dcfce7;color:#166534}.save-btn{align-self:flex-start;background-color:#3b82f6;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:#2563eb}.links-container{display:flex;flex-direction:column;gap:1rem}.link-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;display:flex;justify-content:space-between;padding:1rem}.link-label{color:#374151;font-weight:500}.link-url{color:#3b82f6;font-size:.875rem;text-decoration:none;transition:color .2s}.link-url:hover{color:#2563eb;text-decoration:underline}.app-info{display:flex;flex-direction:column;gap:.75rem}.info-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.75rem 0}.info-item:last-child{border-bottom:none}.info-label{color:#374151}.info-value{color:#6b7280;font-size:.875rem}.loading-container{color:#6b7280;flex-direction:column;padding:3rem}.spinner{border:2px solid #f3f4f6;height:2rem;margin-bottom:1rem;width:2rem}.date-selector-container{display:flex;flex-direction:column;gap:1rem}.date-input-row{align-items:center;display:flex;gap:.75rem}.date-input{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;flex:1 1;font-size:.875rem;padding:.5rem}.date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.add-date-btn{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.add-date-btn:hover:not(:disabled){background-color:#2563eb}.add-date-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.selected-dates{display:flex;flex-direction:column;gap:.5rem}.selected-date-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;display:flex;justify-content:space-between;padding:.75rem}.date-text{color:#374151;font-size:.875rem;font-weight:500}.remove-date-btn{align-items:center;background-color:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:24px;justify-content:center;transition:background-color .2s;width:24px}.remove-date-btn:hover{background-color:#dc2626}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.switch{display:inline-block;height:28px;position:relative;width:48px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:999px;bottom:0;box-shadow:inset 0 1px 2px #0000000f;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px #0000001f;content:"";height:20px;left:4px;top:4px;width:20px}.switch input:checked+.slider{background-color:#10b981}.switch input:checked+.slider:before{transform:translateX(20px)}.switch-with-label{align-items:center;display:flex;gap:.75rem}.switch-label{color:#374151;font-size:.875rem;font-weight:500}.launching-offer-card{background:linear-gradient(90deg,#fffbeb,#fff7ed);border:1px solid #fde68a;border-radius:.5rem;box-shadow:0 4px 10px #0f172a0a;padding:1rem}.launching-offer-header{align-items:center;display:flex;justify-content:space-between}.launching-offer-header h4{color:#92400e;font-size:1.125rem;margin:0}.launching-offer-desc{color:#92400e;font-size:.9rem;margin:.5rem 0 0}.warning-text{color:#dc2626;font-style:italic;font-weight:600}.form-help{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.button-group{align-items:center;display:flex;gap:1rem}.reset-btn{background-color:#ef4444;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.reset-btn:hover:not(:disabled){background-color:#dc2626}.reset-btn:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width:640px){.form-row{grid-template-columns:1fr}.days-container{justify-content:center}.day-btn{flex:1 1;min-width:80px}}.payments-page{margin:0 auto;max-width:1400px;padding:20px}.back-btn{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s;white-space:nowrap}.back-btn:hover{background-color:#4b5563}.salon-details{background-color:#f9fafb;border-left:4px solid #3b82f6;border-radius:6px;margin-top:8px;padding:12px}.salon-details p{color:#4b5563;font-size:14px;margin:4px 0}.salon-details strong{color:#1f2937;margin-right:8px}.stats-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.bookings-grouped-container{display:flex;flex-direction:column;gap:20px}.date-group{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.date-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;gap:16px;padding:16px 20px}.date-header,.date-header-main{align-items:center;display:flex;justify-content:space-between}.date-header-main{cursor:pointer;flex:1 1;transition:opacity .2s}.date-header-main:hover{opacity:.9}.date-header-left{align-items:center;display:flex;gap:12px}.expand-icon{font-size:16px;transition:transform .2s;width:20px}.date-header h3{font-size:18px;font-weight:600;margin:0}.booking-count{font-size:14px;opacity:.9}.date-header-right{align-items:center;display:flex;gap:8px}.total-offer-label{font-size:14px;opacity:.9}.total-offer-amount{background:#fff3;border-radius:6px;font-size:20px;font-weight:700;padding:4px 12px}.download-pdf-btn{align-items:center;background:#fffffff2;border:none;border-radius:6px;box-shadow:0 2px 4px #00000026;color:#667eea;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.download-pdf-btn:hover{background:#fff;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.bookings-list{background:#f9fafb;display:flex;flex-direction:column;gap:16px;padding:20px}.booking-card{border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s}.booking-card:hover{box-shadow:0 4px 6px #0000001a}.booking-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.booking-id-section{align-items:center;display:flex;gap:8px}.booking-label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.booking-reference{background:#f3f4f6;color:#1f2937;padding:4px 10px}.booking-reference,.booking-time{border-radius:4px;font-size:14px;font-weight:600}.booking-time{background:#eff6ff;color:#3b82f6;padding:4px 12px}.booking-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.detail-row{gap:8px}.detail-label{min-width:80px}.detail-value{font-weight:500}.pricing-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px;position:relative}.price-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.price-label{color:#4b5563;font-size:14px}.price-value{color:#1f2937;font-size:15px;font-weight:600}.discount-row{border-bottom:1px dashed #d1d5db;border-top:1px dashed #d1d5db;margin:4px 0}.discount-value{color:#dc2626}.total-row{border-top:2px solid #e5e7eb;margin-top:8px;padding-top:12px}.total-value{color:#059669;font-size:20px;font-weight:700}.offer-badge{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;position:absolute;right:16px;top:-10px}.offer-icon{font-size:14px}@media (max-width:768px){.payments-page{padding:12px}.page-header{flex-direction:column;gap:12px}.back-btn,.refresh-btn{width:100%}.stats-summary{grid-template-columns:1fr}.date-header{align-items:stretch;flex-direction:column;gap:12px}.date-header-main{align-items:flex-start;flex-direction:column;gap:8px}.date-header-right{justify-content:space-between;width:100%}.download-pdf-btn{justify-content:center;width:100%}.booking-header{align-items:flex-start;flex-direction:column;gap:8px}.booking-details{grid-template-columns:1fr}}.cities-page{margin:0 auto;max-width:1400px;padding:20px}.page-header{align-items:flex-start;gap:20px;margin-bottom:24px}.header-info{flex:1 1}.header-info h2{color:#1f2937;font-size:28px;margin:0 0 10px}.header-info p{color:#6b7280;font-size:14px}.refresh-btn{border-radius:6px;font-size:14px;padding:10px 20px;white-space:nowrap}.tabs-container{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:20px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.tab-btn:hover{background-color:#eff6ff;color:#3b82f6}.tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.stat-card h3{color:#6b7280;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.stat-number{color:#1f2937;font-size:32px;font-weight:700;margin:0}.loading-container{padding:60px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:60px 20px;text-align:center}.empty-state p{color:#6b7280;font-size:16px;margin:0 0 8px}.empty-state small{color:#9ca3af;font-size:14px}.error-container{border-radius:8px;padding:60px 20px;text-align:center}.error-text{font-size:16px;margin-bottom:20px}.retry-btn{border-radius:6px;font-size:14px;padding:10px 24px}.content-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.section-title{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px}.cities-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.city-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.city-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.city-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.city-header h4{color:#1f2937;font-size:18px;font-weight:600;margin:0}.status-badge{border-radius:12px;font-size:12px;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-approved{background-color:#d1fae5;color:#065f46}.status-pending{background-color:#fef3c7;color:#92400e}.status-rejected{background-color:#fee2e2;color:#991b1b}.city-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;gap:12px;justify-content:space-between}.detail-label{color:#6b7280;font-size:13px;font-weight:500}.detail-value{color:#1f2937;font-size:13px;font-weight:600;text-align:right}.normalized-key{background:#f3f4f6;border-radius:4px;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}.requests-list{display:flex;flex-direction:column;gap:20px}.request-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.request-card:hover{border-color:#3b82f6;box-shadow:0 8px 16px #0000001a}.request-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.request-city-info{align-items:center;display:flex;gap:12px}.request-city-info h4{color:#1f2937;font-size:20px;font-weight:700;margin:0}.request-date{color:#6b7280;font-size:13px;font-weight:500}.request-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.location-info,.requester-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.requester-info h5{color:#3b82f6;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.location-info .detail-row,.requester-info .detail-row{margin-bottom:8px}.location-info .detail-row:last-child,.requester-info .detail-row:last-child{margin-bottom:0}.request-actions{display:flex;gap:12px;justify-content:flex-end}.approve-btn,.reject-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 24px;transition:all .2s}.approve-btn{background-color:#10b981;color:#fff}.approve-btn:hover:not(:disabled){background-color:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.reject-btn{background-color:#ef4444;color:#fff}.reject-btn:hover:not(:disabled){background-color:#dc2626;box-shadow:0 4px 8px #ef44444d;transform:translateY(-1px)}.approve-btn:disabled,.reject-btn:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px 24px}.modal-header h3{color:#1f2937;font-size:20px}.modal-close{border-radius:4px;color:#6b7280;font-size:28px;height:32px;transition:all .2s;width:32px}.modal-close:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.modal-city-name{color:#1f2937;font-size:16px;margin:0 0 16px}.modal-city-name strong{color:#3b82f6;font-weight:700}.modal-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px}.modal-body label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.rejection-textarea{border:2px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.rejection-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.rejection-textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.modal-footer{gap:12px;padding:20px 24px}.modal-cancel-btn,.modal-submit-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.modal-cancel-btn{background-color:#f3f4f6;color:#374151}.modal-cancel-btn:hover:not(:disabled){background-color:#e5e7eb}.modal-submit-btn{background-color:#ef4444;color:#fff}.modal-submit-btn:hover:not(:disabled){background-color:#dc2626}.modal-submit-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.cities-page{padding:12px}.page-header{flex-direction:column;gap:12px}.refresh-btn{width:100%}.cities-grid,.request-details,.stats-container{grid-template-columns:1fr}.request-actions{flex-direction:column}.approve-btn,.reject-btn{justify-content:center;width:100%}.tabs-container{overflow-x:auto}.tab-btn{white-space:nowrap}}.bill-view-modal{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.bill-view-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.bill-view-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.bill-view-header h2{font-size:24px;font-weight:600;margin:0}.close-icon-btn{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:28px;line-height:1;padding:5px 12px;transition:all .3s ease}.close-icon-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.bill-container{background:#fff;font-family:Courier New,monospace;padding:40px}.bill-header-section{margin-bottom:20px;text-align:center}.salon-name{color:#2c3e50;font-size:32px;font-weight:700;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.salon-phone{color:#555;font-size:16px;margin:4px 0}.salon-address{color:#777;font-size:14px;margin:4px auto;max-width:500px}.bill-divider{border-bottom:2px dashed #ccc;margin:20px 0}.bill-divider-thin{border-bottom:1px solid #e0e0e0;margin:10px 0}.bill-info-section{margin-bottom:20px}.bill-info-row{display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.info-label{color:#666;font-weight:500}.info-value{color:#333;text-align:right}.info-value.bold{color:#2c3e50;font-weight:700}.customer-section{margin-bottom:20px}.section-title{color:#2c3e50;font-size:18px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.customer-info .info-row{display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.services-section{margin-bottom:20px}.services-table{border-collapse:collapse;margin-top:12px;width:100%}.services-table thead{background-color:#f5f5f5;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.services-table th{color:#333;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 8px;text-align:left;text-transform:uppercase}.services-table td{border-bottom:1px solid #eee;color:#444;font-size:14px;padding:12px 8px}.services-table .col-no{text-align:center;width:40px}.services-table .col-service{width:auto}.services-table .col-price{font-weight:600;text-align:right;width:120px}.summary-section{margin-bottom:20px}.summary-row{display:flex;font-size:15px;justify-content:space-between;padding:8px 0}.summary-label{color:#555;font-weight:500}.summary-value{color:#333;font-weight:600;text-align:right}.summary-row.discount-row .summary-value{color:#27ae60}.summary-row.grand-total{font-size:20px;font-weight:700;padding:12px 0}.summary-row.grand-total .summary-label{color:#2c3e50;text-transform:uppercase}.summary-row.grand-total .summary-value{color:#2c3e50;font-size:24px}.payment-section{margin-bottom:20px}.payment-row{display:flex;font-size:15px;justify-content:space-between;padding:8px 0}.payment-label{color:#555;font-weight:500}.payment-value{color:#333;font-weight:600;text-transform:uppercase}.payment-status{border-radius:4px;display:inline-block;font-size:13px;font-weight:700;padding:4px 12px;text-transform:uppercase}.payment-status.paid{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.bill-footer{padding:20px 0 0;text-align:center}.thank-you-message{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 8px}.visit-again{color:#666;font-size:14px;margin:0}.bill-actions{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;padding:20px 30px}.bill-actions .action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;min-width:150px;padding:12px 20px;transition:all .3s ease}.send-whatsapp-btn{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.send-whatsapp-btn:hover:not(:disabled){box-shadow:0 4px 12px #25d36666;transform:translateY(-2px)}.send-whatsapp-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.print-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.print-btn:hover{box-shadow:0 4px 12px #3498db66;transform:translateY(-2px)}.close-btn{background:#6c757d}.close-btn:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d66;transform:translateY(-2px)}.error-container,.loading-container{padding:60px 40px;text-align:center}.error-container p,.loading-container p{color:#666;font-size:18px;margin-bottom:20px}.error-container .close-btn{margin-top:20px}@media print{@page{size:A4;margin:.5cm}body *{visibility:hidden}.bill-container,.bill-container *{visibility:visible}.bill-container{font-size:11px;left:0;padding:10px;position:absolute;top:0;width:100%}.no-print{display:none!important}.bill-view-modal{background:#fff;padding:0;position:static}.bill-view-content{border-radius:0;box-shadow:none;max-height:none;max-width:100%}.salon-name{font-size:20px!important;margin-bottom:4px!important}.salon-address,.salon-phone{font-size:10px!important;margin:2px 0!important}.bill-divider{margin:8px 0!important}.bill-divider-thin{margin:5px 0!important}.bill-info-section,.customer-section,.payment-section,.services-section,.summary-section{margin-bottom:10px!important}.bill-info-row,.customer-info .info-row,.payment-row,.summary-row{font-size:10px!important;padding:3px 0!important}.section-title{font-size:13px!important;margin:0 0 6px!important}.services-table th{font-size:11px!important;padding:6px 8px!important}.services-table td{font-size:10px!important;padding:6px 8px!important}.summary-row{font-size:11px!important}.summary-row.grand-total{font-size:14px!important;padding:8px 0!important}.summary-row.grand-total .summary-value{font-size:16px!important}.bill-footer{padding:10px 0 0!important}.thank-you-message{font-size:12px!important;margin:0 0 4px!important}.payment-status,.visit-again{font-size:10px!important}.payment-status{padding:2px 8px!important}}@media (max-width:768px){.bill-view-content{margin:10px;max-height:95vh;max-width:100%}.bill-container{padding:20px}.salon-name{font-size:24px}.bill-actions{flex-direction:column;gap:10px}.bill-actions .action-btn{min-width:auto;width:100%}.services-table td,.services-table th{font-size:13px;padding:8px 4px}.summary-row.grand-total{font-size:18px}.summary-row.grand-total .summary-value{font-size:20px}}.daily-report-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.daily-report-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.report-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px}.report-header h2{font-size:24px;font-weight:700;margin:0}.report-date{font-size:14px;margin:4px 0 0;opacity:.95}.close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:all .2s;width:40px}.close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.report-body{padding:24px}.report-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.summary-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;gap:16px;padding:20px}.summary-card.total-revenue{background:linear-gradient(135deg,#11998e,#38ef7d)}.summary-card.total-bookings{background:linear-gradient(135deg,#667eea,#764ba2)}.card-icon{font-size:40px}.card-label{font-size:14px;margin-bottom:4px;opacity:.9}.card-value{font-size:32px;font-weight:700}.report-section{margin-bottom:30px}.report-section h3{border-bottom:2px solid #667eea;color:#2c3e50;font-size:20px;font-weight:700;margin-bottom:16px;padding-bottom:8px}.table-responsive{overflow-x:auto}.report-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.report-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.report-table th{font-size:14px;font-weight:600;padding:14px 12px;text-align:left}.report-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:14px;padding:12px}.report-table tbody tr:hover{background:#f5f7fa}.report-table tbody tr.walkin-row{background:#fff9e6}.report-table tbody tr.walkin-row:hover{background:#fff4d1}.walkin-badge-inline{background:#ff9800;border-radius:4px;color:#fff;font-size:10px;margin-left:6px;padding:2px 6px}.payment-badge,.walkin-badge-inline{display:inline-block;font-weight:600}.payment-badge{border-radius:12px;font-size:12px;padding:4px 12px;text-transform:uppercase}.payment-badge.cash{background:#d4edda;color:#155724}.payment-badge.upi{background:#cce5ff;color:#004085}.payment-badge.card{background:#fff3cd;color:#856404}.amount-cell{color:#11998e;font-weight:600;text-align:right}.payment-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.payment-summary-card{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;gap:16px;padding:20px}.payment-summary-card.cash{background:linear-gradient(135deg,#d4edda,#c3e6cb)}.payment-summary-card.upi{background:linear-gradient(135deg,#cce5ff,#b3d9ff)}.payment-summary-card.card{background:linear-gradient(135deg,#fff3cd,#ffe8a1)}.payment-icon{font-size:36px}.payment-mode-label{color:#555;font-size:14px;font-weight:600;margin-bottom:4px}.payment-total{color:#2c3e50;font-size:28px;font-weight:700}.payment-count-text{color:#555;font-size:12px;font-style:italic;margin-top:4px}.staff-table tfoot{background:#f5f7fa;font-weight:700}.staff-table tfoot td{border-bottom:none;border-top:2px solid #667eea;padding:14px 12px}.report-footer,.total-row{background:#f8f9fa}.report-footer{border-top:2px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:24px}.download-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:8px;box-shadow:0 4px 12px #11998e4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s}.download-btn:hover:not(:disabled){box-shadow:0 6px 20px #11998e66;transform:translateY(-2px)}.download-btn:disabled{cursor:not-allowed;opacity:.6}.close-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s}.close-button:hover{background:#5a6268}.loading-container,.no-data-container{padding:60px 20px;text-align:center}.no-data-container p{color:#6c757d;font-size:18px;margin-bottom:24px}@media (max-width:768px){.daily-report-modal{padding:10px}.report-header{padding:16px}.report-header h2{font-size:20px}.report-body{padding:16px}.card-value{font-size:24px}.report-table td,.report-table th{font-size:12px;padding:8px 6px}.payment-total{font-size:20px}.report-footer{flex-direction:column;padding:16px}.close-button,.download-btn{width:100%}}.salon-dashboard{margin:0 auto;max-width:1400px;padding:0}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.info-banner{align-items:center;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:2px solid #3b82f6;border-radius:.75rem;box-shadow:0 2px 4px #3b82f61a;display:flex;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem}.info-banner .info-icon{flex-shrink:0;font-size:1.5rem}.info-banner p{color:#1e40af;font-size:.9rem;line-height:1.5;margin:0}.info-banner strong{color:#1e3a8a;font-weight:600}.info-banner .highlight-completed{background-color:#10b981;border-radius:.25rem;color:#fff;font-weight:600;padding:.125rem .5rem}.walkin-btn{align-items:center;background-color:#059669;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.walkin-btn:hover{background-color:#047857}.report-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.5rem;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.report-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.refresh-btn{align-items:center;display:flex;gap:.5rem}.bookings-section{margin-bottom:3rem}.section-header h3{color:#1e293b;font-size:1.5rem;font-weight:700}.upcoming-section{margin-top:3rem}.upcoming-section .section-header h3{color:#64748b}.no-bookings{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:3rem;text-align:center}.no-bookings p{color:#64748b;font-size:1rem;margin:0}.bookings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.booking-card{background:#fff;border-left:4px solid #3b82f6;border-radius:.75rem;box-shadow:0 2px 4px #0000001a;padding:1rem 1.25rem;position:relative;transition:transform .2s,box-shadow .2s}.booking-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.upcoming-booking{border-left-color:#64748b;opacity:.9}.walkin-section{margin-top:3rem}.walkin-section .section-header h3{color:#059669}.walkin-booking{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #059669;position:relative}.walkin-booking:hover{box-shadow:0 4px 12px #05966933}.walkin-booking .booking-time-badge.walkin-badge{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 4px #0596694d}.walkin-label-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:.375rem;box-shadow:0 2px 4px #0596694d;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.375rem .75rem}.booking-card-top.walkin-card-top{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.walkin-card-top .booking-time-badge.walkin-badge{margin:0}.service-price{align-items:center;display:flex;font-size:1.125rem;gap:.5rem;padding:.75rem 0}.service-price strong{font-weight:700}.completed-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.5rem 1rem;text-align:center}.no-phone-btn{color:#6b7280!important;cursor:not-allowed!important;opacity:.6}.no-phone-btn,.no-phone-btn:hover{background-color:#d1d5db!important}.no-phone-btn:hover{transform:none!important}.message-sent-btn{background-color:#3b82f6!important;color:#fff!important;cursor:not-allowed!important;opacity:.75}.message-sent-btn:hover{background-color:#3b82f6!important;transform:none!important}.cancelled-booking{background-color:#fef2f2;border-left-color:#ef4444;opacity:.6;position:relative}.cancelled-booking:before{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ef444408 0,#ef444408 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.cancelled-label{background-color:#ef4444;border-radius:.5rem;box-shadow:0 2px 4px #ef44444d;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.025em;padding:.5rem .875rem;white-space:nowrap}.booking-card-badges .cancelled-label{align-self:flex-end}.cancelled-booking .booking-time-badge{background:linear-gradient(135deg,#9ca3af,#6b7280)}.booking-card.completed-booking{opacity:.5;transition:opacity .3s ease}.booking-card.completed-booking:hover{opacity:.75}.booking-card.in-progress-highlight.completed-booking,.booking-card.walkin-booking.completed-booking,.booking-card.walkin-booking.completed-booking:hover{opacity:1}.booking-card.pending-staff-assignment{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px dashed #f59e0b;opacity:1!important}.booking-card.pending-staff-assignment:after{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:9999px;box-shadow:0 2px 8px #f59e0b4d;color:#fff;content:"⚠️ Assign Staff";font-size:.75rem;font-weight:700;padding:.25rem .75rem;position:absolute;right:10px;top:-12px;z-index:1}.pending-staff-badge{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:.5rem;display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.pending-staff-badge .icon{font-size:1.25rem}.pending-staff-badge small{color:#92400e;font-size:.875rem;font-weight:600}.cancellation-reason{align-items:flex-start;background-color:#fee2e2;border-radius:.5rem;display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.cancellation-reason small{color:#991b1b;font-size:.813rem;line-height:1.4}.service-by-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:.375rem 0}.service-by-label{color:#64748b;font-size:.875rem;font-weight:500}.service-by-name{color:#1e293b;font-size:.875rem;font-weight:600}.service-by-edit-btn{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.375rem;color:#475569;cursor:pointer;display:inline-flex;font-size:.875rem;justify-content:center;margin-left:.25rem;padding:.25rem .5rem;transition:background .15s,border-color .15s}.service-by-edit-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8;color:#334155}.service-by-edit-btn:disabled{cursor:not-allowed;opacity:.6}.assigned-staff-info{align-items:center;background-color:#ede9fe;border:1px solid #c4b5fd;border-radius:.5rem;display:flex;gap:.5rem;margin-top:.5rem;padding:.625rem .75rem}.assigned-staff-info small{color:#6b21a8;font-size:.813rem;font-weight:600}.assigned-staff-info .icon{font-size:1rem}.booking-card-badges{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.booking-card-badges .booking-date-badge,.booking-card-badges .booking-time-badge{position:static}.booking-date-badge,.booking-time-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.5rem;box-shadow:0 2px 4px #0003;color:#fff;font-size:1rem;font-weight:700;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.booking-date-badge{background:linear-gradient(135deg,#64748b,#475569)}.booking-info{margin-bottom:1rem;margin-top:.5rem}.booking-info>div{align-items:center;display:flex;gap:.5rem;margin-bottom:.875rem}.booking-info .icon,.customer-name{font-size:1.125rem}.customer-name{color:#1e293b}.customer-name strong{font-weight:700}.booking-id{align-items:center;color:#64748b;display:flex;font-family:monospace;font-size:.875rem;gap:.5rem;padding:.375rem 0}.booking-id small{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-name{color:#475569;font-size:1rem}.booking-time,.customer-contact{color:#64748b;font-size:.875rem;font-weight:500}.customer-contact span{color:#475569}.service-status-badge{background-color:#fef3c7;border-radius:9999px;color:#92400e;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.375rem .75rem}.service-status-badge.status-completed{background-color:#d1fae5;border:2px solid #10b981;color:#065f46}.service-status-badge.status-in_progress{background-color:#dbeafe;border:2px solid #3b82f6;color:#1e40af}.service-status-badge.status-not_started{background-color:#f3f4f6;border:2px solid #9ca3af;color:#374151}.reward-applicable-badge{align-items:center;background:linear-gradient(135deg,#fef9c3,#fde047 50%,#facc15);border:1.5px solid #eab308;border-radius:.5rem;box-shadow:0 2px 6px #eab30859,inset 0 1px 0 #fff6;color:#713f12;display:inline-flex;font-size:.813rem;font-weight:700;gap:.375rem;letter-spacing:.01em;line-height:1.35;margin-top:0;padding:.5rem .875rem}.reward-applicable-badge:hover{box-shadow:0 3px 8px #eab30866,inset 0 1px 0 #ffffff80}.reward-badge-icon{flex-shrink:0;font-size:1rem;line-height:1}.booking-card-badges .reward-applicable-badge{align-self:flex-end;margin-top:0}.booking-card.in-progress-highlight{animation:pulse-border 2s ease-in-out infinite;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:3px solid #ff7043;box-shadow:0 0 0 4px #ff70431a,0 8px 16px #ff704333;position:relative}.booking-card.in-progress-highlight:before{background:linear-gradient(135deg,#ff7043,#f4511e);border-radius:9999px;box-shadow:0 2px 8px #ff70434d;color:#fff;content:"⏳ Service in Progress";font-size:.75rem;font-weight:700;left:50%;padding:.25rem .75rem;position:absolute;top:-12px;transform:translateX(-50%);white-space:nowrap;z-index:1}@keyframes pulse-border{0%,to{box-shadow:0 0 0 4px #ff70431a,0 8px 16px #ff704333}50%{box-shadow:0 0 0 6px #ff704333,0 12px 24px #ff70434d}}.booking-actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem}.action-btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.action-btn:disabled{cursor:not-allowed;opacity:.5}.start-btn{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #0596694d;color:#fff;font-weight:700}.start-btn:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #05966966;transform:translateY(-2px)}.complete-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff;font-weight:700}.complete-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.thank-you-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #8b5cf64d;color:#fff;font-weight:700}.thank-you-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf666;transform:translateY(-2px)}.cancel-btn{background-color:#ef4444;color:#fff;flex:0 0 auto;min-width:100px}.cancel-btn:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px)}.modal-container{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%;z-index:1001}.modal-header{border-bottom:1px solid #e5e7eb}.modal-header h2,.modal-header h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:background-color .2s;width:2rem}.modal-close:hover{background-color:#f1f5f9}.modal-header .modal-close-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:background-color .2s;width:2rem}.modal-header .modal-close-btn:hover{background-color:#f1f5f9}.booking-details-modal{background-color:#f8fafc;color:#475569;line-height:1.8}.modal-label{color:#374151}.cancel-reason-select,.cancel-reason-textarea{border:1px solid #d1d5db;border-radius:.5rem;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.cancel-reason-select:focus,.cancel-reason-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cancel-reason-textarea{margin-top:.75rem;min-height:100px;resize:vertical}.modal-input{border:1px solid #d1d5db;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.modal-note{background-color:#fef3c7;border-left:3px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.875rem;line-height:1.5;margin-top:1rem;padding:.75rem}.modal-footer{border-top:1px solid #e5e7eb}.modal-btn{border:none;border-radius:.5rem;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.modal-btn:disabled{cursor:not-allowed;opacity:.5}.cancel-confirm-btn{background-color:#ef4444;color:#fff}.cancel-confirm-btn:hover:not(:disabled){background-color:#dc2626}.add-walkin-btn{background-color:#059669;color:#fff}.add-walkin-btn:hover:not(:disabled){background-color:#047857}.modal-close-btn{background-color:#f1f5f9;color:#475569}.modal-close-btn:hover:not(:disabled){background-color:#e2e8f0}.loading-container{align-items:center;display:flex;justify-content:center;padding:4rem}.loading-container p{color:#64748b;font-size:1rem}.assign-staff-btn{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-weight:500}.assign-staff-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8;color:#334155;transform:translateY(-1px)}.edit-walkin-btn{background:#3b82f6;border:1px solid #2563eb;color:#fff}.edit-walkin-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.walkin-custom-service-fields{display:flex;flex-direction:column;gap:0}.walkin-service-checklist{grid-gap:.35rem 1rem;display:grid;gap:.35rem 1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:.75rem;max-height:160px;overflow-y:auto}.walkin-service-checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.9rem;gap:.4rem;min-width:0;white-space:nowrap}.walkin-service-checkbox-label span{overflow:hidden;text-overflow:ellipsis}.walkin-service-checkbox{cursor:pointer;height:1rem;width:1rem}.walkin-custom-entries{margin-top:.5rem}.walkin-custom-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.walkin-custom-row .modal-input{flex:1 1;margin-top:0!important}.walkin-amount-input{flex:0 0 5rem!important;width:5rem}.walkin-remove-custom-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;cursor:pointer;flex-shrink:0;font-size:.875rem;height:2rem;line-height:1;padding:0;width:2rem}.walkin-remove-custom-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.walkin-add-custom-btn{background:#f3f4f6;border:1px dashed #d1d5db;color:#374151;font-size:.85rem;margin-top:.25rem;padding:.5rem .75rem}.walkin-add-custom-btn:hover{background:#e5e7eb;border-color:#9ca3af}.walkin-total-amount-group{margin-top:.75rem}.walkin-total-amount-group .walkin-total-input{font-size:1rem;font-weight:600;max-width:10rem}.walkin-total-amount{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;color:#065f46;font-size:1rem;margin-top:.75rem;padding:.5rem .75rem}.walkin-no-staff{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;padding:.75rem}.walkin-no-staff-message{color:#92400e;font-size:.9rem;margin:0 0 .75rem}.add-staff-redirect-btn{background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.625rem 1rem;width:100%}.add-staff-redirect-btn:hover{background:linear-gradient(135deg,#047857,#065f46)}.phone-search-group{position:relative}.phone-search-loading{color:#64748b;font-size:.75rem;position:absolute;right:.75rem;top:2.5rem}.phone-search-list{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 12px #0000001a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:10}.phone-search-item{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.6rem .75rem;transition:background .15s}.phone-search-item:last-child{border-bottom:none}.phone-search-item:hover{background:#f1f5f9}.phone-search-phone{color:#1e293b;font-weight:600}.phone-search-name{color:#64748b;font-size:.875rem}.staff-assignment-modal{max-width:600px;width:90%}.booking-info-modal{border:1px solid #e2e8f0}.booking-info-modal p{font-size:.938rem}.current-staff-info{border-top:1px solid #e2e8f0;color:#8b5cf6!important;font-weight:500;margin-top:.75rem!important;padding-top:.75rem}.staff-list-modal{max-height:400px;overflow-y:auto}.no-staff-message{padding:2rem 1rem}.no-staff-message p{margin:.5rem 0}.hint-text{color:#94a3b8;font-size:.875rem}.staff-option{align-items:center;background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.staff-option:hover{background-color:#f1f5f9;border-color:#8b5cf6;transform:translateX(4px)}.staff-option-info{flex:1 1}.staff-option-info h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 .25rem}.staff-phone{margin:0}.assign-btn{background-color:#8b5cf6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.assign-btn:hover{background-color:#7c3aed;transform:scale(1.05)}.modal-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.modal-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.bookings-grid{grid-template-columns:1fr}.booking-actions{flex-direction:column}.action-btn{width:100%}.cancel-btn{min-width:auto;width:100%}.modal-footer{flex-direction:column}.modal-btn{width:100%}.cancelled-label{font-size:.688rem;padding:.375rem .625rem}.payment-mode-options-large{gap:.75rem;grid-template-columns:1fr}.payment-mode-btn-large{flex-direction:row;padding:1rem}.payment-mode-btn-large .payment-icon{font-size:2rem}}.combo-services{align-items:baseline;background:#f8fafc;border-left:3px solid #3b82f6;border-radius:.375rem;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.5rem;padding:.75rem}.combo-label{color:#3b82f6;flex-shrink:0;font-size:.813rem;font-weight:600;margin:0}.combo-services-list{align-items:center;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:.25rem .75rem;list-style:none;margin:0;min-width:0;padding:0}.combo-service-item{align-items:center;color:#475569;display:inline-flex;font-size:.875rem;line-height:1.5;padding:0;white-space:nowrap}.payment-mode-modal .modal-content{max-width:600px}.booking-details-modal{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.booking-details-modal p{color:#475569;font-size:.95rem;margin:.5rem 0}.payment-mode-selection{margin-top:1.5rem}.payment-mode-selection .modal-label{color:#1e293b;display:block;font-size:1rem;font-weight:600;margin-bottom:1rem}.payment-mode-options{display:flex;gap:.75rem;margin-top:.5rem}.payment-mode-btn{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.payment-mode-btn:hover{background:#f8fafc;border-color:#cbd5e1}.payment-mode-btn.active{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#3b82f6;color:#1e40af;font-weight:600}.payment-mode-options-large{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.payment-mode-btn-large{align-items:center;background:#fff;border:3px solid #e2e8f0;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:1.5rem 1rem;transition:all .3s ease}.payment-mode-btn-large:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payment-mode-btn-large.active{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.payment-mode-btn-large .payment-icon{font-size:2.5rem}.payment-mode-btn-large .payment-label{color:#475569;font-size:1rem;font-weight:600}.payment-mode-btn-large.active .payment-label{color:#1e40af}.completion-staff-selection{border-top:1px solid #e2e8f0;margin-top:1.25rem;padding-top:1.25rem}.completion-staff-selection .modal-label{display:block;margin-bottom:.5rem}.completion-current-staff{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.completion-staff-list{display:flex;flex-wrap:wrap;gap:.5rem}.completion-staff-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:border-color .15s,background .15s}.completion-staff-btn:hover{background:#f8fafc;border-color:#cbd5e1}.completion-staff-btn.active{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#3b82f6;color:#1e40af;font-weight:600}.completion-staff-clear{background:none;border:none;color:#64748b;cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:.25rem .5rem;text-decoration:underline}.completion-staff-clear:hover{color:#475569}.completion-no-staff-block{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;padding:.75rem;width:100%}.completion-no-staff-block .completion-no-staff{color:#92400e;margin-bottom:.75rem}.completion-no-staff-block .add-staff-redirect-btn{width:100%}.completion-no-staff{color:#64748b;font-size:.9rem;margin:0}.complete-confirm-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600}.complete-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.complete-confirm-btn:disabled{background:#cbd5e1;cursor:not-allowed}.view-bill-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.view-bill-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.send-thanks-btn{background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 2px 8px #25d3664d;color:#fff;font-weight:700}.send-thanks-btn:hover:not(:disabled){background:linear-gradient(135deg,#128c7e,#075e54);box-shadow:0 4px 12px #25d36666;transform:translateY(-2px)}.salon-bookings-page{margin:0 auto;max-width:1400px}.header-info h2{font-size:1.875rem}.header-info p,.refresh-btn{font-size:.875rem}.refresh-btn{padding:.625rem 1.25rem;transition:background-color .2s}.bookings-stats{grid-gap:1rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem;padding:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{color:#64748b;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:#1e293b;font-size:1.5rem;font-weight:700}.stat-value.upcoming{color:#2563eb}.stat-value.completed{color:#059669}.stat-value.cancelled{color:#dc2626}.stat-value.walkin{color:#059669}.filters-container{margin-bottom:1.5rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem}.filter-btn{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.filter-btn:hover{background-color:#f9fafb;border-color:#d1d5db}.filter-btn.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.table-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.status-badge.status-booked,.status-badge.status-confirmed,.status-badge.status-upcoming{background-color:#dbeafe;color:#1e40af}.status-badge.status-completed{background-color:#d1fae5;color:#065f46}.status-badge.status-cancelled,.status-badge.status-cancelled_by_customer,.status-badge.status-cancelled_by_salon{background-color:#fee2e2;color:#991b1b}.retry-btn{font-size:.875rem;padding:.625rem 1.25rem}.action-buttons-group{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.view-bill-action-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.813rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.view-bill-action-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 6px #8b5cf64d;transform:translateY(-1px)}.assign-staff-action-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .2s;white-space:nowrap}.assign-staff-action-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b4190);box-shadow:0 2px 6px #667eea4d;transform:translateY(-1px)}.staff-modal{max-width:500px;width:90%}.booking-info-modal{background-color:#f8fafc;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.booking-info-modal p{color:#475569;font-size:.875rem;margin:.5rem 0}.booking-info-modal strong{color:#1e293b;font-weight:600}.no-staff-message{color:#64748b;font-style:italic;padding:2rem;text-align:center}.staff-list-modal{display:flex;flex-direction:column;gap:.75rem}.staff-list-label{color:#1e293b;font-weight:600;margin-bottom:.5rem}.staff-item-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:all .2s}.staff-item-btn:hover:not(:disabled){background:#f8faff;border-color:#667eea;transform:translateX(4px)}.staff-item-btn:disabled{cursor:not-allowed;opacity:.6}.staff-item-btn.current-staff{background:linear-gradient(135deg,#f8faff,#f0f4ff);border-color:#667eea}.staff-icon{font-size:1.5rem}.staff-name{flex:1 1}.current-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:9999px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.modal-overlay{background:#00000080}.modal-content{background:#fff}.modal-header h3{font-weight:700}.modal-close-btn:hover{background:#f1f5f9}.pagination-info{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#64748b;font-size:.875rem;font-weight:500;padding:1rem 1.5rem}.pagination-container{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:center;padding:1.5rem}.pagination-numbers{display:flex;gap:.25rem}.pagination-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:2.5rem;justify-content:center;min-width:2.5rem;padding:.5rem .75rem;transition:all .2s}.pagination-btn:hover:not(:disabled):not(.active){background:#f9fafb;border-color:#d1d5db}.pagination-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-next,.pagination-prev{font-weight:600;min-width:auto;padding:.5rem 1rem}.pagination-ellipsis{align-items:center;color:#9ca3af;display:flex;font-weight:600;height:2.5rem;justify-content:center;min-width:2.5rem}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.bookings-stats{grid-template-columns:1fr}.filters{flex-direction:column}.filter-btn{width:100%}.pagination-container{flex-direction:column;gap:1rem}.pagination-next,.pagination-prev{width:100%}.pagination-numbers{flex-wrap:wrap;justify-content:center}}.salon-profile-page{margin:0 auto;max-width:1200px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.profile-header h2{color:#1e293b;font-size:1.875rem;font-weight:700;margin:0}.cancel-btn,.edit-btn,.save-btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.edit-btn{background-color:#3b82f6;color:#fff}.edit-btn:hover{background-color:#2563eb}.action-buttons{display:flex;gap:.75rem}.save-btn{background-color:#059669;color:#fff}.save-btn:hover:not(:disabled){background-color:#047857}.save-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.cancel-btn{background-color:#e5e7eb;color:#374151}.cancel-btn:hover:not(:disabled){background-color:#d1d5db}.message{font-size:.875rem;padding:1rem}.message.success{border:1px solid #a7f3d0}.message.error{border:1px solid #fecaca}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.profile-section h3{border-bottom:2px solid #e5e7eb;color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151;font-size:.875rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.value{background-color:#f9fafb;border-radius:.5rem;color:#1e293b;font-size:1rem;margin:0;padding:.75rem}.value.readonly{color:#64748b}.hint{color:#6b7280;font-size:.75rem;font-style:italic}.status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .75rem;text-transform:capitalize}.status-badge.approved{background-color:#d1fae5;color:#065f46}.status-badge.awaiting_approval,.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.rejected{background-color:#fee2e2;color:#991b1b}.services-for-list{display:flex;flex-wrap:wrap;gap:.5rem}.service-tag{background-color:#dbeafe;border-radius:9999px;color:#1e40af;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.services-list{margin-top:.5rem}.services-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.service-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:transform .2s,box-shadow .2s}.service-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.service-name{color:#1e293b;font-weight:600;margin-bottom:.5rem}.service-price{color:#059669;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.service-duration{color:#64748b;font-size:.75rem}.services-data-list .services-data-section{margin-bottom:1.5rem}.services-data-list .services-data-section:last-child{margin-bottom:0}.services-data-heading{color:#475569;font-size:1rem;font-weight:600;margin:0 0 .75rem}.service-category-block{margin-bottom:1rem}.service-category-block .category-name{color:#334155;font-size:.938rem;font-weight:600;margin-bottom:.5rem}.combo-card .combo-includes{color:#64748b;font-size:.75rem;margin-top:.5rem}.photos-section{margin-top:.5rem}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:1rem}.photo-card{aspect-ratio:1;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.photo-placeholder{align-items:center;background-color:#f3f4f6;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center;width:100%}.photo-number{color:#64748b;font-size:.875rem;font-weight:600}.view-link{background-color:#3b82f6;border-radius:.375rem;color:#fff;font-size:.75rem;font-weight:600;padding:.375rem .75rem;text-decoration:none;transition:background-color .2s}.view-link:hover{background-color:#2563eb}.info-list{display:flex;flex-direction:column;gap:1rem}.info-row{align-items:center;background-color:#f9fafb;border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem}.info-label{color:#64748b;font-size:.875rem;font-weight:600}.info-value{color:#1e293b;font-weight:500}.cancel-services-for-btn,.edit-services-for-btn,.save-services-for-btn{border:none;border-radius:.375rem;cursor:pointer;font-size:.75rem;font-weight:600;padding:.375rem .75rem;transition:all .2s}.edit-services-for-btn{background-color:#3b82f6;color:#fff}.edit-services-for-btn:hover:not(:disabled){background-color:#2563eb}.edit-services-for-btn:disabled{background-color:#cbd5e1;cursor:not-allowed}.save-services-for-btn{background-color:#059669;color:#fff}.save-services-for-btn:hover:not(:disabled){background-color:#047857}.save-services-for-btn:disabled{background-color:#6ee7b7;cursor:not-allowed}.cancel-services-for-btn{background-color:#dc2626;color:#fff}.cancel-services-for-btn:hover:not(:disabled){background-color:#b91c1c}.cancel-services-for-btn:disabled{background-color:#fca5a5;cursor:not-allowed}.services-for-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:.5rem;color:#1e293b;cursor:pointer;font-size:.875rem;padding:.625rem;transition:border-color .2s;width:100%}.services-for-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{margin:0}.add-staff-btn{font-size:.875rem;padding:.625rem 1.25rem}.staff-card{background-color:#f8fafc}.staff-header{margin-bottom:1rem;padding-bottom:1rem}.staff-name{font-size:1.25rem;margin:0 0 .375rem}.staff-phone{font-size:.875rem;margin:0 0 .5rem}.staff-status-badge{border-radius:.375rem;font-size:.75rem;padding:.25rem .75rem}.staff-actions{gap:.5rem}.delete-staff-btn,.edit-staff-btn{border-radius:.375rem;padding:.5rem 1rem}.staff-performance{margin-bottom:1rem;padding-bottom:1rem}.staff-performance h5,.staff-target h5{margin:0 0 .75rem}.performance-grid,.target-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.performance-item,.target-item{gap:.25rem}.performance-value,.target-value{font-size:1.125rem;font-weight:600}.target-header{margin-bottom:.75rem}.set-target-btn{border-radius:.375rem;font-size:.75rem;padding:.375rem .75rem}.target-progress{border-radius:.25rem;height:.5rem;margin-top:.75rem}.modal-content{width:90%}.modal-input{font-size:.875rem;padding:.625rem}.toggle-switch{height:1.5rem;width:3rem}.toggle-slider{border-radius:1.5rem}.toggle-slider:before{height:1.125rem;width:1.125rem}.toggle-input:checked+.toggle-slider:before{transform:translateX(1.5rem)}.cancel-modal-btn,.save-modal-btn{padding:.625rem 1.25rem}@media (max-width:768px){.profile-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-grid,.services-grid{grid-template-columns:1fr}.photos-grid{grid-template-columns:repeat(2,1fr)}.section-header{align-items:flex-start;flex-direction:column;gap:.75rem}.staff-header{flex-direction:column;gap:1rem}.staff-actions{justify-content:flex-start;width:100%}.performance-grid,.target-grid{grid-template-columns:1fr}.modal-content{width:95%}}.salon-staffs{margin:0 auto;max-width:1400px;padding:2rem}.staffs-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.staffs-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.subtitle{color:#64748b;font-size:.938rem;margin:0}.header-actions{align-items:center;display:flex;gap:.75rem}.refresh-staff-btn{background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.refresh-staff-btn:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 6px #3b82f633;transform:translateY(-2px)}.refresh-staff-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.add-staff-btn{background-color:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.add-staff-btn:hover{background-color:#059669;box-shadow:0 4px 6px #10b98133;transform:translateY(-2px)}.download-report-btn{background-color:#7c3aed;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.download-report-btn:hover{background-color:#6d28d9;box-shadow:0 4px 6px #7c3aed33;transform:translateY(-2px)}.message{border-radius:.5rem;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.message.success{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.message.error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.loading-text{color:#64748b;font-size:1rem;font-style:italic;padding:3rem;text-align:center}.no-staff-placeholder{background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:1rem;padding:4rem 2rem;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:1rem}.no-staff-placeholder h3{color:#1e293b;font-size:1.5rem;margin:0 0 .5rem}.no-staff-placeholder p{color:#64748b;font-size:1rem;margin:0 0 1.5rem}.add-staff-btn-large{background-color:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.add-staff-btn-large:hover{background-color:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.staffs-content{min-height:300px}.staff-list{display:flex;flex-direction:column;gap:1.5rem}.staff-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;transition:all .2s}.staff-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.staff-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.staff-info{flex:1 1}.staff-name{color:#1e293b;font-size:1.375rem;font-weight:600;margin:0 0 .5rem}.staff-phone{color:#64748b;font-size:.938rem;margin:0 0 .75rem}.staff-status-badge{border-radius:.5rem;display:inline-block;font-size:.813rem;font-weight:600;padding:.375rem .875rem}.staff-status-badge.active{background-color:#d1fae5;color:#065f46}.staff-status-badge.inactive{background-color:#fee2e2;color:#991b1b}.staff-actions{display:flex;gap:.75rem}.delete-staff-btn,.edit-staff-btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s;white-space:nowrap}.edit-staff-btn{background-color:#3b82f6;color:#fff}.edit-staff-btn:hover{background-color:#2563eb;box-shadow:0 4px 8px #3b82f633;transform:translateY(-2px)}.delete-staff-btn{background-color:#ef4444;color:#fff}.delete-staff-btn:hover{background-color:#dc2626;box-shadow:0 4px 8px #ef444433;transform:translateY(-2px)}.staff-performance{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1.5rem}.staff-performance h5,.staff-target h5{color:#475569;font-size:1rem;font-weight:600;margin:0 0 1rem}.performance-grid,.target-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.target-grid-two{gap:1.5rem;grid-template-columns:1fr 1fr}.staff-target .target-grid{margin-top:1rem}.target-block{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.target-block-title{color:#475569;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.staff-incentive{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.incentive-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.incentive-label{color:#475569;font-size:.875rem;font-weight:600}.set-incentive-btn{background-color:#059669;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.4rem .75rem;transition:all .2s}.set-incentive-btn:hover{background-color:#047857}.incentive-value{color:#065f46;font-size:1.125rem;font-weight:700}.incentive-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.5rem}.incentive-item{background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.incentive-item-label{color:#047857;font-size:.75rem;font-weight:600}.incentive-fields-row,.incentive-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.incentive-section{margin-bottom:1.25rem}.incentive-section:last-of-type{margin-bottom:0}.report-month-fields{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.performance-item,.target-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;flex-direction:column;gap:.375rem;padding:1rem}.performance-label,.target-label{color:#64748b;font-size:.875rem;font-weight:500}.performance-value,.target-value{color:#1e293b;font-size:1.25rem;font-weight:700}.target-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.target-header-clickable{cursor:pointer;margin-bottom:0;padding:.25rem 0;-webkit-user-select:none;user-select:none}.target-header-clickable:hover{opacity:.9}.target-header-clickable .target-header-left{align-items:center;display:flex;gap:.5rem}.target-header-clickable .target-header-left h5{margin:0}.target-expand-icon{align-items:center;color:#64748b;display:inline-flex;font-size:.75rem;justify-content:center;transition:transform .2s ease;width:1.25rem}.staff-target.target-expanded .target-expand-icon{color:#475569}.set-target-btn{background-color:#8b5cf6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.813rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.set-target-btn:hover{background-color:#7c3aed;box-shadow:0 4px 8px #8b5cf633;transform:translateY(-2px)}.target-progress{background-color:#e2e8f0;border-radius:.5rem;height:.75rem;margin-top:1rem;overflow:hidden}.target-progress-bar{background:linear-gradient(90deg,#10b981,#059669);border-radius:.5rem;height:100%;transition:width .3s ease}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;overflow-y:auto;position:relative;width:100%;z-index:1001}.modal-content,.staff-modal,.target-modal{max-width:500px}.report-modal{max-width:420px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.modal-close-btn:hover{background-color:#f1f5f9;color:#1e293b}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.modal-label{color:#475569;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.modal-input{border:1px solid #cbd5e1;border-radius:.5rem;box-sizing:border-box;color:#1e293b;font-size:.938rem;padding:.75rem;transition:border-color .2s;width:100%}.modal-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.hint{color:#64748b;display:block;font-size:.813rem;margin-top:.375rem}.toggle-label{align-items:center;display:flex;justify-content:space-between;margin-bottom:0}.toggle-switch{height:1.75rem;position:relative;width:3.5rem}.toggle-input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;border-radius:1.75rem;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:.1875rem;content:"";height:1.375rem;left:.1875rem;position:absolute;transition:.4s;width:1.375rem}.toggle-input:checked+.toggle-slider{background-color:#10b981}.toggle-input:checked+.toggle-slider:before{transform:translateX(1.75rem)}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.cancel-modal-btn,.save-modal-btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.cancel-modal-btn{background-color:#f1f5f9;color:#475569}.cancel-modal-btn:hover{background-color:#e2e8f0}.save-modal-btn{background-color:#3b82f6;color:#fff}.save-modal-btn:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 8px #3b82f633;transform:translateY(-2px)}.save-modal-btn:disabled{background-color:#93c5fd;cursor:not-allowed}@media (max-width:768px){.salon-staffs{padding:1rem}.staffs-header{flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.add-staff-btn,.refresh-staff-btn{width:100%}.staff-header{flex-direction:column;gap:1rem}.staff-actions{justify-content:flex-start;width:100%}.delete-staff-btn,.edit-staff-btn{flex:1 1}.performance-grid,.target-grid,.target-grid-two{grid-template-columns:1fr}.modal-content{width:95%}.modal-footer{flex-direction:column-reverse}.cancel-modal-btn,.save-modal-btn{width:100%}.incentive-fields-row,.incentive-grid,.incentive-section,.report-month-fields{grid-template-columns:1fr}}.salon-payments-page{margin:0 auto;max-width:1200px;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header-info h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.header-info p{color:#64748b;font-size:.938rem;margin:0}.refresh-btn{background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.refresh-btn:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 6px #3b82f633;transform:translateY(-2px)}.refresh-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-container{color:#64748b;font-size:1rem;padding:4rem 2rem;text-align:center}.revenue-section{margin-bottom:3rem}.section-title{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 1.5rem}.revenue-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.revenue-card{align-items:center;background:#fff;border-left:5px solid #e2e8f0;border-radius:1rem;box-shadow:0 2px 8px #00000014;display:flex;gap:1.5rem;padding:2rem;transition:all .3s}.revenue-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.card-icon{font-size:3rem;line-height:1}.card-content{flex:1 1}.card-content h4{color:#64748b;font-size:1rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.revenue-amount{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.revenue-amount.large{font-size:2.5rem}.revenue-note{color:#94a3b8;font-size:.875rem;margin:.5rem 0 0}.revenue-card.bookings{background:linear-gradient(135deg,#fff,#eff6ff);border-left-color:#3b82f6}.revenue-card.walkins{background:linear-gradient(135deg,#fff,#ecfdf5);border-left-color:#10b981}.revenue-card.total-today{background:linear-gradient(135deg,#fff,#fffbeb);border-left-color:#f59e0b}.revenue-card.total-today .revenue-amount{color:#f59e0b}.revenue-card.week{background:linear-gradient(135deg,#fff,#faf5ff);border-left-color:#8b5cf6}.revenue-card.week .revenue-amount{color:#8b5cf6}.revenue-card.month{background:linear-gradient(135deg,#fff,#ecfeff);border-left-color:#06b6d4}.revenue-card.month .revenue-amount{color:#06b6d4}.error-container{align-items:center;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.error-text{color:#dc2626;font-size:1rem;margin-bottom:1rem}.retry-btn{background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.938rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.retry-btn:hover{background-color:#2563eb}@media (max-width:768px){.salon-payments-page{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.refresh-btn{width:100%}.revenue-cards{grid-template-columns:1fr}.section-title{font-size:1.25rem}.revenue-card{padding:1.5rem}.card-icon{font-size:2.5rem}.revenue-amount{font-size:1.75rem}.revenue-amount.large{font-size:2rem}}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background-color:#f8fafc}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}@media (max-width:768px){.hide-mobile{display:none}}@media (min-width:769px){.hide-desktop{display:none}}
/*# sourceMappingURL=main.dd9b8300.css.map*/