:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-secondary: #64748b;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #065f46;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #06b6d4;--color-dark-text: #1e293b;--color-dark-text-secondary: #64748b;--color-light-text: #f8fafc;--color-light-text-secondary: #cbd5e1;--color-dark-bg: #0f172a;--color-dark-card: #1e293b;--color-dark-border: #334155;--color-light-bg: #f8fafc;--color-light-card: #ffffff;--color-light-border: #e2e8f0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius: .5rem;--border-radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition: all .2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;min-height:100vh;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.5;color:var(--color-dark-text);background-color:var(--color-light-bg);background-attachment:fixed;transition:var(--transition);overscroll-behavior-y:contain}.theme-dark,.theme-dark body{color:var(--color-light-text);background-color:var(--color-dark-bg)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}.w-full{width:100%}.text-center{text-align:center}.hidden{display:none}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.app-footer{background-color:var(--color-light-card);border-top:1px solid var(--color-light-border);padding:var(--spacing-lg) 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.footer-links{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px}.footer-links a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}.footer-links a:hover{color:var(--color-primary-dark);text-decoration:underline}.footer-separator{color:var(--color-dark-text-secondary)}.footer-copyright{font-size:12px;color:var(--color-dark-text-secondary);text-align:center}.theme-dark .app-footer{background-color:var(--color-dark-card);border-top-color:var(--color-dark-border)}.theme-dark .footer-links a{color:var(--color-primary)}.theme-dark .footer-separator,.theme-dark .footer-copyright{color:var(--color-light-text-secondary)}.admin-container .app-footer{background-color:var(--color-dark-card);border-top-color:var(--color-dark-border)}.admin-container .footer-copyright{color:var(--color-light-text-secondary)}.legal-container{min-height:100vh;background-color:var(--color-light-bg);display:flex;flex-direction:column}.theme-dark .legal-container{background-color:var(--color-dark-bg)}.legal-main{flex:1;padding:var(--spacing-xl);max-width:800px;margin:0 auto;width:100%}.legal-content{background-color:var(--color-light-card);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow);margin-bottom:var(--spacing-xl)}.theme-dark .legal-content{background-color:var(--color-dark-card);border:1px solid var(--color-dark-border)}.legal-content h1{color:var(--color-dark-text);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-lg);text-align:center}.theme-dark .legal-content h1{color:var(--color-light-text)}.legal-content h2{color:var(--color-dark-text);font-size:1.5rem;font-weight:600;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.theme-dark .legal-content h2{color:var(--color-light-text)}.legal-content p{color:var(--color-dark-text-secondary);line-height:1.6;margin-bottom:var(--spacing-md)}.theme-dark .legal-content p{color:var(--color-light-text-secondary)}@media (max-width: 768px){.legal-main,.legal-content{padding:var(--spacing-lg)}}@media (max-width: 480px){.legal-main,.legal-content{padding:var(--spacing-md)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#475569}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}.btn-error{background-color:var(--color-error);color:#fff}.btn-error:hover:not(:disabled){background-color:#dc2626}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.form-group{margin-bottom:var(--spacing-md);display:flex;flex-direction:column}.form-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row .form-group{flex:1;margin-bottom:0}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-dark-text)}.theme-dark .form-label{color:var(--color-light-text)!important}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-light-border);border-radius:var(--border-radius);font-size:.875rem;background-color:var(--color-light-card);color:var(--color-dark-text);transition:var(--transition);box-sizing:border-box}input[type=time]{max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.theme-dark .form-input{background-color:var(--color-dark-card)!important;border-color:var(--color-dark-border)!important;color:var(--color-light-text)!important}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input::-moz-placeholder{color:var(--color-dark-text-secondary)}.form-input::placeholder{color:var(--color-dark-text-secondary)}.theme-dark .form-input::-moz-placeholder{color:var(--color-light-text-secondary)!important}.theme-dark .form-input::placeholder{color:var(--color-light-text-secondary)!important}input[list]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:1rem;padding-right:2.5rem;cursor:pointer;box-sizing:border-box}.theme-dark input[list]{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}input[type=number]{box-sizing:border-box}@media (max-width: 768px){.form-input{font-size:16px;padding:var(--spacing-md) var(--spacing-md)}input[list]{padding-right:3rem;background-size:1.25rem}.form-label{font-size:.9rem;margin-bottom:var(--spacing-sm)}.form-row{gap:var(--spacing-sm)}.custom-select-wrapper{position:relative}.custom-select-arrow{right:var(--spacing-md)}}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin:0}.card{background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow)}.theme-dark .card{background-color:var(--color-dark-card);border-color:var(--color-dark-border)}.notification{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--border-radius);color:#fff;box-shadow:var(--shadow-lg);z-index:1000;max-width:400px;display:flex;align-items:center;gap:var(--spacing-sm)}.notification-success{background-color:var(--color-success)}.notification-error{background-color:var(--color-error)}.notification-warning{background-color:var(--color-warning)}.notification-info{background-color:var(--color-info)}.notification-close{background:none;border:none;color:#fff;cursor:pointer;padding:var(--spacing-xs);margin-left:auto}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-light-card);border-radius:var(--border-radius);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.theme-dark .modal-content{background-color:var(--color-dark-card)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-light-border);display:flex;align-items:center;justify-content:space-between}.theme-dark .modal-header{border-color:var(--color-dark-border)}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;color:var(--color-dark-text-secondary);cursor:pointer;padding:var(--spacing-xs)}.theme-dark .modal-close{color:var(--color-light-text-secondary)}.modal-body{padding:var(--spacing-lg)}.admin-container{height:100%;min-height:100vh;background-color:var(--color-dark-bg);color:var(--color-light-text)}.admin-container .form-label{color:var(--color-light-text)!important}.admin-container .form-input{background-color:var(--color-dark-card)!important;border-color:var(--color-dark-border)!important;color:var(--color-light-text)!important}.admin-container .form-input::-moz-placeholder{color:var(--color-light-text-secondary)!important}.admin-container .form-input::placeholder{color:var(--color-light-text-secondary)!important}.login-form .form-label{color:var(--color-light-text)!important}.login-form .form-input{background-color:var(--color-dark-card)!important;border-color:var(--color-dark-border)!important;color:var(--color-light-text)!important}.login-form .form-input::-moz-placeholder{color:var(--color-light-text-secondary)!important}.login-form .form-input::placeholder{color:var(--color-light-text-secondary)!important}.slot-creator-form .form-label{color:var(--color-light-text)!important}.slot-creator-form .form-input{background-color:var(--color-dark-card)!important;border-color:var(--color-dark-border)!important;color:var(--color-light-text)!important}.slot-creator-form .form-input::-moz-placeholder{color:var(--color-light-text-secondary)!important}.slot-creator-form .form-input::placeholder{color:var(--color-light-text-secondary)!important}.admin-portal .form-label{color:var(--color-dark-text)!important}.admin-portal .form-input{background-color:var(--color-light-card)!important;border-color:var(--color-light-border)!important;color:var(--color-dark-text)!important}.admin-portal .form-input::-moz-placeholder{color:var(--color-dark-text-secondary)!important}.admin-portal .form-input::placeholder{color:var(--color-dark-text-secondary)!important}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg)}.login-card{background-color:var(--color-dark-card);border:1px solid var(--color-dark-border);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.login-title{text-align:center;margin-bottom:var(--spacing-xl);font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-portal{height:100%;min-height:100vh;background-color:var(--color-light-bg);overscroll-behavior:contain}.admin-header{background-color:var(--color-light-card);border-bottom:1px solid var(--color-light-border);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between}.admin-title{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-dark-text)}.admin-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-toggle-btn{background:none;border:none;color:var(--color-dark-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--border-radius);transition:var(--transition)}.theme-toggle-btn:hover{background-color:#0000000d}.admin-nav{background-color:var(--color-light-bg);border-bottom:1px solid var(--color-light-border);padding:0 var(--spacing-lg);display:flex;gap:var(--spacing-sm)}.nav-btn{background:none;border:none;color:var(--color-dark-text-secondary);padding:var(--spacing-md);cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition);display:flex;align-items:center;gap:var(--spacing-sm)}.nav-btn:hover{color:var(--color-dark-text);background-color:#0000000d}.nav-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-main{padding:var(--spacing-lg);background-color:var(--color-light-bg);min-height:calc(100vh - 80px)}.management-view{background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg)}.view-header{margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.view-header h2{font-size:1.25rem;font-weight:600;color:var(--color-dark-text)}.date-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.weekday-display{font-size:.875rem;color:var(--color-dark-text-secondary);padding:var(--spacing-sm);background-color:#00000005;border-radius:var(--border-radius)}.theme-dark .btn-icon{background-color:var(--color-light-bg);border-color:var(--color-light-border);color:var(--color-dark-text)}.theme-dark #admin-prev-day-btn,.theme-dark #admin-date-picker-btn,.theme-dark #admin-next-day-btn,.theme-dark #individual-prev-day-btn,.theme-dark #individual-date-picker-btn,.theme-dark #individual-next-day-btn,.theme-dark #general-prev-day-btn,.theme-dark #general-date-picker-btn,.theme-dark #general-next-day-btn{background-color:var(--color-light-bg);border-color:var(--color-light-border);color:var(--color-dark-text)}.theme-dark #admin-prev-day-btn:hover,.theme-dark #admin-date-picker-btn:hover,.theme-dark #admin-next-day-btn:hover,.theme-dark #individual-prev-day-btn:hover,.theme-dark #individual-date-picker-btn:hover,.theme-dark #individual-next-day-btn:hover,.theme-dark #general-prev-day-btn:hover,.theme-dark #general-date-picker-btn:hover,.theme-dark #general-next-day-btn:hover{background-color:var(--color-light-hover);border-color:var(--color-primary)}.day-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.bookings-section h3{margin-bottom:var(--spacing-md);color:var(--color-dark-text)}.slots-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.slot-item{background-color:#00000005;border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.slot-item.booked{background-color:#ef44441a;border-color:var(--color-error)}.slot-time{font-weight:600;color:var(--color-primary)}.slot-name{color:var(--color-dark-text-secondary)}.slot-contact{font-size:.875rem;color:var(--color-dark-text-secondary)}.slot-actions{display:flex;gap:var(--spacing-sm)}.slot-creator{margin-bottom:var(--spacing-lg)}.slot-creator-form{background-color:#00000005;border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-md);position:relative;z-index:1}.slot-creator-form h3{margin-bottom:var(--spacing-md);color:var(--color-dark-text)}.slot-form-fields{display:block;margin-bottom:var(--spacing-lg)}.slot-form-fields .form-group{margin-bottom:var(--spacing-lg);position:relative;z-index:1;isolation:isolate}.slot-form-fields select.form-input:focus{position:fixed!important;top:auto!important;left:auto!important;transform:none!important;z-index:9999!important}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.existing-slots h3{margin-bottom:var(--spacing-md)}.slot-generator{margin-bottom:var(--spacing-xl)}.slot-generator h3{color:var(--color-dark-text)}.generator-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.slots-preview{background-color:#00000005;border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.preview-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.preview-slot{display:flex;justify-content:space-between;padding:var(--spacing-sm);background-color:#00000005;border-radius:var(--border-radius)}.preview-slot-time{font-weight:600;color:var(--color-primary)}.preview-slot-name{color:var(--color-light-text-secondary)}@media (max-width: 768px){.admin-nav{flex-wrap:wrap}.nav-btn{flex:1;justify-content:center}.view-header,.day-controls{flex-direction:column;align-items:stretch}.slot-form-fields .form-group{margin-bottom:var(--spacing-xl)}.form-row{display:block}.form-row .form-group{width:100%;margin-bottom:var(--spacing-lg)}}.link-generator{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-dark-card);border:1px solid var(--color-dark-border);border-radius:var(--border-radius)}.link-generator h3{margin-bottom:var(--spacing-sm);color:var(--color-light-text)}.form-description{color:var(--color-dark-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.input-with-button{display:flex;gap:var(--spacing-sm);align-items:stretch}.input-with-button .form-input{flex:1}.input-with-button .btn{flex-shrink:0;padding:var(--spacing-sm);min-width:auto;width:40px;display:flex;align-items:center;justify-content:center}.calendar-popup{position:fixed;z-index:1000;background-color:var(--color-dark-card);border:1px solid var(--color-dark-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:320px;padding:var(--spacing-lg)}.calendar-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-light-text)}.calendar-nav-btn{background:none;border:none;color:var(--color-light-text);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .2s}.calendar-nav-btn:hover{background-color:var(--color-dark-hover)}.calendar-day:hover:not(.disabled):not(.past):not(.today):not(.selected){background-color:var(--color-dark-hover)}.calendar-day.selectable{background-color:var(--color-success-light);color:var(--color-success-dark);font-weight:500}.calendar-day.selectable:hover{background-color:var(--color-success);color:#fff}.timeline-container{position:relative;padding-left:var(--spacing-lg);max-height:70vh;max-width:600px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-light-border) transparent}.timeline-container::-webkit-scrollbar{width:6px}.timeline-container::-webkit-scrollbar-track{background:transparent}.timeline-container::-webkit-scrollbar-thumb{background-color:var(--color-light-border);border-radius:3px}.timeline-container::-webkit-scrollbar-thumb:hover{background-color:var(--color-dark-text-secondary)}.timeline-item{position:relative;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);transition:var(--transition);border-left:4px solid transparent}.timeline-item.available{border-left-color:var(--color-success)}.timeline-item.booked{border-left-color:var(--color-error)}.timeline-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.timeline-item:before{content:"";position:absolute;left:-var(--spacing-lg);top:var(--spacing-md);width:12px;height:12px;border-radius:50%;background-color:var(--color-primary);border:2px solid var(--color-light-bg)}.timeline-item.booked:before{background-color:var(--color-error)}.timeline-item.available:before{background-color:var(--color-success)}.timeline-time{font-size:1.1rem;font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.timeline-time .material-icons{font-size:1rem}.timeline-content{position:relative;padding-right:var(--spacing-xl)}.timeline-info{flex:1}.timeline-title{font-weight:500;color:var(--color-dark-text);margin-bottom:var(--spacing-xs)}.timeline-subtitle{font-size:.875rem;color:var(--color-dark-text-secondary)}.contact-phone{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary-dark);text-decoration:none;font-size:.875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);background-color:#3b82f6;transition:var(--transition)}.contact-phone:hover{background-color:#3b82f640;color:var(--color-primary)}.copy-phone-btn{padding:var(--spacing-xs);background-color:#ffffff1a;border:1px solid var(--color-light-border);border-radius:var(--border-radius);color:var(--color-dark-text-secondary);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.copy-phone-btn:hover{background-color:#0000000d;color:var(--color-dark-text);border-color:var(--color-primary)}.no-contact{font-size:.875rem;color:var(--color-dark-text-secondary);font-style:italic}.timeline-meta{font-size:.8125rem;color:var(--color-dark-text-secondary);opacity:.8;margin-top:.25rem}.timeline-actions{position:absolute;top:0;right:0;display:flex;gap:var(--spacing-xs)}.timeline-item:last-child .timeline-connector{display:none}@media (max-width: 768px){.timeline-container{padding-left:var(--spacing-md);max-width:100%}.timeline-item:before{left:-var(--spacing-md)}.timeline-connector{left:-var(--spacing-md)}.timeline-content{padding-right:var(--spacing-lg)}.timeline-actions{position:absolute;top:0;right:0}}.timeline-contact{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.contact-phone{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-accent);text-decoration:none;font-weight:500;transition:var(--transition)}.contact-phone:hover{color:var(--color-accent-hover)}.contact-phone .material-icons{font-size:1rem}.copy-phone-btn{background:none;border:none;color:var(--color-light-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);transition:var(--transition);display:flex;align-items:center;justify-content:center}.copy-phone-btn:hover{background-color:#ffffff1a;color:var(--color-light-text)}.copy-phone-btn .material-icons{font-size:1rem}.no-contact{color:var(--color-light-text-secondary);font-style:italic}.slots-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.slots-header h3{margin:0;color:var(--color-dark-text)}.slot-action-btn{width:100%;margin-bottom:var(--spacing-md)}.slot-status{font-size:.875rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.slot-status.booked{color:var(--color-warning);background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3)}.booking-container{max-width:800px;margin:0 auto;padding:var(--spacing-lg);min-height:100vh}.booking-header{text-align:center;margin-bottom:var(--spacing-xl)}.booking-header h1{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:2rem}.booking-header p{color:var(--color-dark-text-secondary);font-size:1.125rem}.booking-main{background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:var(--shadow)}.theme-dark .booking-main{background-color:var(--color-dark-card);border-color:var(--color-dark-border)}.error-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-error)}.error-message h2{color:var(--color-error);margin-bottom:var(--spacing-lg);font-size:1.5rem}.error-message p{color:var(--color-dark-text-secondary);margin-bottom:var(--spacing-md);font-size:1rem}.booking-confirmation{text-align:center;padding:var(--spacing-xl)}.booking-confirmation h2{color:var(--color-success);margin-bottom:var(--spacing-xl);font-size:1.5rem}.confirmation-details{background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.theme-dark .confirmation-details{background-color:var(--color-dark-card);border-color:var(--color-dark-border)}.detail-item{margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-light-border)}.detail-item:last-child{border-bottom:none;margin-bottom:0}.theme-dark .detail-item{border-color:var(--color-dark-border)}.cancellation-section{margin-bottom:var(--spacing-xl)}.cancellation-section h3{color:var(--color-dark-text);margin-bottom:var(--spacing-md)}.theme-dark .cancellation-section h3{color:var(--color-light-text)}.confirmation-actions{margin-top:var(--spacing-xl)}.cancellation-success{text-align:center;padding:var(--spacing-2xl);color:var(--color-success)}.cancellation-success h2{margin-bottom:var(--spacing-lg);font-size:1.5rem}.cancellation-success p{color:var(--color-dark-text-secondary);margin-bottom:var(--spacing-md);font-size:1rem}.date-selection{margin-bottom:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.date-navigation{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.btn-icon{padding:var(--spacing-sm);min-width:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-light-bg);border:1px solid var(--color-light-border);color:var(--color-dark-text);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background-color:var(--color-light-hover);border-color:var(--color-primary)}.theme-dark .btn-icon{background-color:var(--color-dark-bg);border-color:var(--color-dark-border);color:var(--color-dark-text)}.theme-dark .btn-icon:hover{background-color:var(--color-dark-hover)}.weekday-display{background-color:#3b82f61a;color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-weight:500;font-size:.875rem;border:1px solid rgba(59,130,246,.2)}.theme-dark .weekday-display{background-color:#3b82f626;border-color:#3b82f64d}.slots-section h2{margin-bottom:var(--spacing-lg);color:var(--color-dark-text);font-size:1.25rem}.theme-dark .slots-section h2{color:var(--color-light-text)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.slot-item{background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius);padding:var(--spacing-lg);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--shadow-sm)}.theme-dark .slot-item{background-color:var(--color-dark-card);border-color:var(--color-dark-border)}.slot-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow);transform:translateY(-2px)}.slot-item.available{border-color:var(--color-success)}.slot-item.available:hover{background-color:#10b9810d}.slot-item.booked{border-color:var(--color-error);opacity:.7;cursor:not-allowed}.slot-item.booked:hover{transform:none;box-shadow:var(--shadow-sm)}.slot-time{font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.125rem}.slot-status,.timeline-title{font-size:.875rem;color:var(--color-dark-text-secondary);margin-top:var(--spacing-sm)}.theme-dark .slot-status{color:var(--color-light-text-secondary)}.booking-form-section{background-color:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-xl)}.theme-dark .booking-form-section{background-color:#3b82f61a;border-color:#3b82f64d}.booking-form-section h2{margin-bottom:var(--spacing-lg);color:var(--color-dark-text);font-size:1.25rem}.theme-dark .booking-form-section h2{color:var(--color-light-text)}.selected-slot-display{background-color:#3b82f61a;color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);text-align:center;font-weight:500;font-size:1rem;border:1px solid rgba(59,130,246,.2)}.theme-dark .selected-slot-display{background-color:#3b82f626;border-color:#3b82f64d}.selected-slot-info{font-size:1.1rem;font-weight:600;color:var(--color-primary);background-color:#3b82f61a;border:2px solid rgba(59,130,246,.3);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center;margin:var(--spacing-sm) 0}.booking-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-form .form-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}@media (max-width: 768px){.booking-container{padding:var(--spacing-md)}.booking-main{padding:var(--spacing-lg)}.slots-grid{grid-template-columns:1fr}.date-selection{flex-direction:column;align-items:stretch}.date-selection .form-label{min-width:auto}.booking-header h1{font-size:1.5rem}}.calendar-popup{position:fixed;z-index:1000;background-color:var(--color-light-card);border:1px solid var(--color-light-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:320px;padding:var(--spacing-lg)}.theme-dark .calendar-popup{background-color:var(--color-dark-card);border-color:var(--color-dark-border)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-dark-text)}.theme-dark .calendar-header h3{color:var(--color-light-text)}.calendar-nav-btn{background:none;border:none;color:var(--color-dark-text);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .2s}.theme-dark .calendar-nav-btn{color:var(--color-light-text)}.calendar-nav-btn:hover{background-color:var(--color-light-hover)}.theme-dark .calendar-nav-btn:hover{background-color:var(--color-dark-hover)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:600;color:var(--color-light-text-secondary);text-align:center}.theme-dark .calendar-weekdays{color:var(--color-dark-text-secondary)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;border-radius:var(--border-radius-sm);transition:all .2s;color:var(--color-light-text)}.theme-dark .calendar-day{color:var(--color-dark-text)}.calendar-day:hover:not(.disabled):not(.past):not(.unavailable){background-color:var(--color-light-hover)}.theme-dark .calendar-day:hover:not(.disabled):not(.past):not(.unavailable){background-color:var(--color-dark-hover)}.calendar-day.today{background-color:var(--color-primary);color:#fff;font-weight:600}.calendar-day.selected{background-color:var(--color-primary-dark);color:#fff;font-weight:600}.calendar-day.disabled{color:var(--color-light-text-secondary);cursor:not-allowed}.theme-dark .calendar-day.disabled{color:var(--color-dark-text-secondary)}.calendar-day.past{color:var(--color-light-text-secondary);cursor:not-allowed;text-decoration:line-through;opacity:.5}.theme-dark .calendar-day.past{color:var(--color-dark-text-secondary)}.calendar-day.sunday{color:var(--color-error)}.calendar-day.available{background-color:var(--color-success-light);color:var(--color-success-dark);font-weight:600}.theme-dark .calendar-day.available{background-color:var(--color-success-dark);color:var(--color-success-light)}.calendar-day.unavailable{background-color:var(--color-error-light);color:var(--color-error-dark);cursor:not-allowed;opacity:.6}.theme-dark .calendar-day.unavailable{background-color:var(--color-error-dark);color:var(--color-error-light)}.calendar-footer{display:flex;justify-content:flex-end}.legal-page{max-width:800px;margin:0 auto}.legal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-light-border)}.theme-dark .legal-header{border-bottom-color:var(--color-dark-border)}.legal-header h1{color:var(--color-primary);font-size:2rem;margin:0}.legal-content{max-width:100%}.legal-section{margin-bottom:var(--spacing-xl)}.legal-section h2{color:var(--color-primary);font-size:1.25rem;margin-bottom:var(--spacing-md);margin-top:var(--spacing-lg)}.legal-section h2:first-child{margin-top:0}.legal-section p{margin-bottom:var(--spacing-md);line-height:1.6;font-size:1rem}.legal-section a{color:var(--color-primary);text-decoration:underline;cursor:pointer;transition:color var(--transition)}.legal-section a:hover{color:var(--color-primary-dark)}.legal-link{color:var(--color-primary);text-decoration:underline;cursor:pointer}@media (max-width: 768px){.legal-page{padding:0 var(--spacing-lg)}.legal-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.legal-header h1{font-size:1.75rem}.legal-section{margin-bottom:var(--spacing-lg)}.legal-section h2{font-size:1.125rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.legal-section p{margin-bottom:var(--spacing-sm);line-height:1.5}.legal-section ul{padding-left:0}}@media (max-width: 480px){.legal-page{padding:0 var(--spacing-md)}.legal-header h1{font-size:1.5rem}.legal-section h2{font-size:1rem}.legal-section p{font-size:.9rem}}.duration-input-group{display:flex;align-items:center;gap:var(--spacing-sm)}.duration-input-group .duration-btn{padding:var(--spacing-sm) var(--spacing-md);min-width:44px;height:44px;display:flex;align-items:center;justify-content:center}.duration-input-group .duration-input{flex:1;text-align:center;font-weight:600;font-size:1rem}
