*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;width:100%}a{text-decoration:none;color:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font-family:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #667eea;outline-offset:2px}.header{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#667eea;text-decoration:none;transition:opacity .3s}.logo:hover{opacity:.8}.logo-icon{width:32px;height:32px;object-fit:contain}.logo-text{color:#333}.nav-desktop{display:flex;gap:2rem;align-items:center}.nav-link{color:#555;font-weight:500;text-decoration:none;transition:color .3s;padding:.5rem 0;border-bottom:2px solid transparent}.nav-link:hover,.nav-link.active{color:#667eea;border-bottom-color:#667eea}.auth-buttons-desktop{display:flex;gap:1rem;align-items:center}.user-greeting{color:#555;font-weight:500}.btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-block{width:100%}.mobile-menu-button{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:.5rem;cursor:pointer}.mobile-menu-button span{display:block;width:25px;height:3px;background:#333;transition:all .3s;border-radius:3px}.mobile-menu-button.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-button.active span:nth-child(2){opacity:0}.mobile-menu-button.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu{display:none;flex-direction:column;padding:1rem 2rem 2rem;border-top:1px solid #eee}.mobile-nav{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.mobile-nav-link{color:#555;font-weight:500;padding:.75rem 1rem;border-radius:8px;transition:background-color .3s}.mobile-nav-link:hover,.mobile-nav-link.active{background-color:#f5f5f5;color:#667eea}.mobile-auth-buttons{display:flex;flex-direction:column;gap:.75rem}.mobile-user-greeting{color:#555;font-weight:500;text-align:center;padding:.5rem}@media(max-width:768px){.header-container{padding:1rem}.nav-desktop,.auth-buttons-desktop{display:none}.mobile-menu-button,.mobile-menu{display:flex}}.footer{background:#1a1a2e;color:#e0e0e0;padding:3rem 0 1.5rem;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.footer-logo-icon{width:32px;height:32px;object-fit:contain}.footer-logo-text{color:#667eea}.footer-description{color:#b0b0b0;font-size:.9rem;line-height:1.6}.footer-title{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.5rem}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links li{list-style:none}.footer-links a{color:#b0b0b0;text-decoration:none;font-size:.9rem;transition:color .3s}.footer-links a:hover{color:#667eea}.footer-bottom{padding-top:2rem;border-top:1px solid #2a2a3e;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copyright{color:gray;font-size:.875rem}.footer-legal{display:flex;gap:1rem;align-items:center}.footer-legal a{color:gray;text-decoration:none;font-size:.875rem;transition:color .3s}.footer-legal a:hover{color:#667eea}.footer-divider{color:gray}@media(max-width:768px){.footer{padding:2rem 0 1rem}.footer-container{padding:0 1rem}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center;gap:1rem}.footer-legal{flex-wrap:wrap;justify-content:center}}.main-layout{display:flex;flex-direction:column;min-height:100vh;width:100%}.main-content{flex:1;width:100%}.homepage{width:100%}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem;text-align:center}.hero-content{max-width:800px;margin:0 auto;flex-direction:column}.hero-title{font-size:3rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem}.hero-gradient{display:block;background:linear-gradient(90deg,#fff,#f0f0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem;opacity:.95}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.btn-large{padding:1rem 2.5rem;font-size:1.125rem;font-weight:600}.btn-white{background:#fff;color:#667eea}.btn-white:hover{background:#f5f5f5}.hero-note{font-size:.875rem;opacity:.8}.stats-section{background:#fff;padding:4rem 2rem;border-top:1px solid #eee;border-bottom:1px solid #eee}.stats-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;text-align:center}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-value{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stat-label{font-size:1rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.features{padding:6rem 2rem;background:#f9fafb}.features-container{max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;font-weight:700;text-align:center;color:#1a1a2e;margin-bottom:1rem}.section-subtitle{font-size:1.125rem;text-align:center;color:#666;margin-bottom:4rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #667eea26}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-title{font-size:1.5rem;font-weight:600;color:#1a1a2e;margin-bottom:.75rem}.feature-description{color:#666;line-height:1.6}.pricing-preview{padding:6rem 2rem;background:#fff}.pricing-container{max-width:900px;margin:0 auto;text-align:center}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.pricing-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2.5rem 2rem;border-radius:12px;transition:transform .3s}.pricing-card:hover{transform:scale(1.05)}.pricing-card h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.pricing-card p{opacity:.9;line-height:1.6}.cta-section{background:linear-gradient(135deg,#1a1a2e,#2a2a3e);color:#fff;padding:6rem 2rem;text-align:center}.cta-content{max-width:700px;margin:0 auto}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-subtitle{font-size:1.125rem;opacity:.9;margin-bottom:2.5rem}@media(max-width:768px){.hero{padding:4rem 1.5rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.125rem}.hero-cta{flex-direction:column}.btn-large{width:100%}.stats-section{padding:3rem 1.5rem}.stats-container{grid-template-columns:repeat(2,1fr);gap:2rem}.stat-value{font-size:2.5rem}.stat-label{font-size:.875rem}.section-title{font-size:2rem}.features{padding:4rem 1.5rem}.features-grid{grid-template-columns:1fr}.pricing-preview{padding:4rem 1.5rem}.pricing-cards{grid-template-columns:1fr}.cta-section{padding:4rem 1.5rem}.cta-title{font-size:2rem}}.modal-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header h2{margin:0;font-size:24px;color:#333;font-weight:600}.modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#333}.business-form{padding:24px}.business-form textarea{resize:vertical;min-height:80px;font-family:inherit}.form-divider{margin:24px 0 16px;padding-top:16px;border-top:1px solid #e5e7eb}.form-divider h3{margin:0;font-size:16px;color:#666;font-weight:500}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.modal-actions .btn{min-width:120px}@media(max-width:768px){.modal-backdrop{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.modal-header,.business-form{padding:20px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.logo-upload-container{margin-bottom:24px}.logo-preview{width:150px;height:150px;border:2px dashed #d1d5db;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .3s;background:#f9fafb}.logo-preview:hover{border-color:#667eea;background:#f3f4f6}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.logo-placeholder span{font-size:48px;margin-bottom:12px;opacity:.5}.logo-placeholder p{margin:0 0 4px;font-size:14px;color:#6b7280;font-weight:500}.logo-placeholder small{font-size:12px;color:#9ca3af}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.checkbox-label{font-size:14px;color:#4b5563;cursor:pointer;margin:0}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 12px 12px 0}.modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}.details-modal{max-width:700px}.business-details-form{padding:24px}.details-subtitle{margin:0 0 24px;color:#666;font-size:14px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-row .form-group{margin-bottom:0}.form-divider{margin:32px 0 20px;padding-top:20px;border-top:1px solid #e5e7eb}.form-divider:first-of-type{margin-top:0;padding-top:0;border-top:none}.form-divider h3{margin:0;font-size:16px;color:#333;font-weight:600}.business-details-form input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.business-details-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.business-details-form input:disabled{background-color:#f3f4f6;cursor:not-allowed}.business-details-form input::placeholder{color:#9ca3af}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.error-alert{padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px}@media(max-width:768px){.details-modal{max-width:100%}.form-row{grid-template-columns:1fr;gap:0}.form-row .form-group{margin-bottom:20px}.business-details-form{padding:20px}.form-divider{margin:24px 0 16px}}.dashboard-container{max-width:1200px;margin:0 auto;padding:40px 20px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:28px;font-weight:600;color:#1f2937;margin:0}.dashboard-content{display:flex;flex-direction:column;gap:32px}.businesses-section{background:#f9fafb;border-radius:12px;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{font-size:22px;font-weight:600;color:#1f2937;margin:0}.empty-state{text-align:center;padding:60px 20px}.empty-state-content{display:flex;flex-direction:column;align-items:center;gap:16px}.empty-icon{font-size:64px;opacity:.5}.empty-state p{font-size:18px;color:#6b7280;margin:0}.businesses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.business-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .2s ease}.business-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#667eea}.business-logo{display:flex;justify-content:center;align-items:center;margin-bottom:8px}.business-logo img{width:80px;height:80px;border-radius:12px;object-fit:contain;background:#f9fafb;padding:8px}.business-logo .logo-placeholder{width:80px;height:80px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:700}.business-info{flex:1;display:flex;flex-direction:column;gap:12px}.business-info h3{font-size:20px;font-weight:600;color:#1f2937;margin:0}.industry-badge{display:inline-block;padding:4px 12px;background:#ede9fe;color:#6d28d9;border-radius:16px;font-size:12px;font-weight:500;text-transform:capitalize;width:fit-content}.business-contact{display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.contact-icon{font-size:16px;flex-shrink:0}.contact-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb}.meta-date{font-size:13px;color:#9ca3af}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.business-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.btn-sm{padding:8px 16px;font-size:14px;flex:1}.btn-secondary{background:#f3f4f6;color:#374151;border:none}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#ef4444;color:#fff;border:none}@media(max-width:768px){.dashboard-container{padding:24px 16px}.section-header{flex-direction:column;align-items:flex-start;gap:16px}.section-header button{width:100%}.businesses-grid{grid-template-columns:1fr}.business-actions{flex-direction:column}.btn-sm{width:100%}}.calendar-page{min-height:100vh;background:#f9fafb;padding:40px 20px}.calendar-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.calendar-sidebar{background:#f9fafb;padding:24px;border-right:1px solid #e5e7eb;height:calc(100vh - 80px);overflow-y:auto}.calendar-sidebar h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.business-filters{display:flex;flex-direction:column;gap:12px}.filter-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;transition:background-color .2s}.filter-item:hover{background:#f3f4f6}.filter-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.filter-item label{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;margin:0}.color-indicator{width:16px;height:16px;border-radius:4px;flex-shrink:0}.calendar-main{padding:24px;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px;flex-wrap:wrap}.calendar-title h1{margin:0;font-size:28px;font-weight:600;color:#111827}.bookings-count{margin:4px 0 0;font-size:14px;color:#6b7280}.calendar-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.view-switcher{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:6px}.view-switcher .btn{background:transparent;border:none;padding:6px 12px;font-size:13px;color:#6b7280;cursor:pointer;border-radius:4px;transition:all .2s}.view-switcher .btn.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000000d}.nav-controls{display:flex;align-items:center;gap:12px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;padding:0;border-radius:6px}.current-date{min-width:200px;text-align:center;font-weight:600;color:#111827;font-size:16px}.calendar-grid{background:#fff;border-radius:8px;overflow:hidden}.calendar-header-row{display:grid;grid-template-columns:repeat(7,1fr);background:#f9fafb;border-bottom:1px solid #e5e7eb}.calendar-header-cell{padding:12px;text-align:center;font-weight:600;font-size:14px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);min-height:600px}.calendar-cell{border:1px solid #e5e7eb;padding:8px;min-height:120px;background:#fff;transition:background-color .2s}.calendar-cell:hover{background:#f9fafb}.calendar-cell.empty{background:#fafafa}.calendar-cell.today{background:#eff6ff}.date-number{font-weight:600;font-size:14px;color:#374151;margin-bottom:8px}.calendar-cell.today .date-number{color:#667eea;background:#667eea;color:#fff;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.bookings-list{display:flex;flex-direction:column;gap:4px}.booking-item{padding:4px 8px;background:#f9fafb;border-left:3px solid #667eea;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;display:flex;flex-direction:column;gap:2px}.booking-item:hover{background:#f3f4f6;transform:translate(2px)}.booking-time{font-weight:600;color:#374151}.booking-title{color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-bookings{padding:4px 8px;font-size:12px;color:#6b7280;text-align:center;font-weight:500}.week-view{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;padding:16px}.week-day{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.day-header{background:#f9fafb;padding:12px;text-align:center;border-bottom:1px solid #e5e7eb}.day-header.today{background:#eff6ff}.day-name{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.day-number{font-size:24px;font-weight:700;color:#111827;margin-top:4px}.day-header.today .day-number{color:#667eea}.day-bookings{padding:12px;display:flex;flex-direction:column;gap:8px;min-height:400px}.booking-card{padding:8px 12px;background:#f9fafb;border-left:4px solid #667eea;border-radius:6px;cursor:pointer;transition:all .2s}.booking-card:hover{background:#f3f4f6;transform:translate(2px)}.booking-card .booking-time{font-size:12px;font-weight:600;color:#374151;margin-bottom:4px}.booking-customer{font-size:14px;font-weight:600;color:#111827;margin-bottom:2px}.booking-service{font-size:12px;color:#6b7280}.day-view{padding:16px}.no-bookings{text-align:center;padding:60px 20px;color:#6b7280}.day-bookings-list{display:flex;flex-direction:column;gap:16px;max-width:800px;margin:0 auto}.day-booking-card{display:flex;gap:20px;padding:20px;background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s}.day-booking-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.booking-time-range{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:#f9fafb;border-radius:6px;min-width:100px}.time-start,.time-end{font-size:16px;font-weight:600;color:#111827}.time-separator{font-size:14px;color:#6b7280;margin:4px 0}.booking-details{flex:1}.booking-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.booking-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.booking-info{display:flex;flex-direction:column;gap:6px}.business-name{font-size:14px;font-weight:600;color:#667eea;margin:0}.service-name{font-size:14px;color:#374151;margin:0}.customer-contact{font-size:13px;color:#6b7280;margin:0}.booking-notes{margin-top:12px;padding:12px;background:#f9fafb;border-radius:6px;font-size:13px;color:#374151}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fef3c7;color:#92400e}.status-confirmed{background:#d1fae5;color:#065f46}.status-cancelled{background:#fee2e2;color:#991b1b}.status-completed{background:#dbeafe;color:#1e40af}.status-no_show{background:#e5e7eb;color:#4b5563}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.btn-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-section p{margin:8px 0;font-size:14px;color:#374151}.modal-actions{display:flex;gap:12px;padding:24px;border-top:1px solid #e5e7eb;justify-content:flex-end}.loading-container{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-container p{font-size:18px;color:#6b7280}@media(max-width:1200px){.calendar-container{grid-template-columns:240px 1fr}.calendar-body{min-height:500px}.calendar-cell{min-height:100px}}@media(max-width:968px){.calendar-container{grid-template-columns:1fr}.calendar-sidebar{height:auto;border-right:none;border-bottom:1px solid #e5e7eb}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-controls{width:100%;justify-content:space-between}.current-date{min-width:auto}.week-view{grid-template-columns:1fr}.day-bookings{min-height:auto}.day-booking-card{flex-direction:column}.booking-time-range{flex-direction:row;gap:12px}.time-separator{margin:0}}@media(max-width:640px){.calendar-page{padding:20px 10px}.calendar-container{border-radius:0}.calendar-body{min-height:400px}.calendar-cell{min-height:80px;padding:4px}.booking-item{padding:2px 4px;font-size:11px}.modal-content{margin:0;border-radius:0;max-height:100vh}}.business-view-page{min-height:100vh;background:#f9fafb;padding:40px 20px}.view-container{max-width:1000px;margin:0 auto}.view-hero{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:40px;color:#fff;margin-bottom:24px;box-shadow:0 4px 20px #667eea4d}.hero-content{display:flex;align-items:center;gap:32px;margin-bottom:24px}.hero-logo{width:120px;height:120px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 12px #0000001a;flex-shrink:0}.hero-logo img{width:100%;height:100%;object-fit:contain;padding:12px}.hero-logo .logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.hero-info h1{margin:0 0 8px;font-size:36px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.business-slug{font-family:monospace;font-size:16px;opacity:.9;margin:0 0 16px}.hero-badges{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.badge-industry{background:#ffffff40}.badge-active{background:#22c55e33;border-color:#22c55e4d}.badge-inactive{background:#ef444433;border-color:#ef44444d}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-actions .btn:hover{background:#ffffff4d}.hero-actions .btn-primary{background:#fff;color:#667eea;border:none}.hero-actions .btn-primary:hover{background:#f3f4f6}.info-card{background:#fff;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.info-card h2{margin:0 0 24px;font-size:20px;color:#111827;font-weight:600;border-bottom:2px solid #f3f4f6;padding-bottom:12px}.description-text{color:#4b5563;line-height:1.7;font-size:16px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.stat-item{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:1px solid #e5e7eb}.stat-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.stat-info{flex:1}.stat-value{margin:0 0 4px;font-size:28px;font-weight:700;color:#111827}.stat-label{margin:0;font-size:14px;color:#6b7280;font-weight:500}.info-grid{display:grid;gap:20px}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:16px;color:#111827;display:flex;align-items:center;gap:8px}.info-value.link{color:#667eea;text-decoration:none;transition:color .2s}.info-value.link:hover{color:#764ba2;text-decoration:underline}.info-value .link{color:#667eea;text-decoration:none}.info-value .link:hover{color:#764ba2;text-decoration:underline}.whatsapp-badge{background:#25d366;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px}.address-content{color:#4b5563;line-height:1.7}.address-content p{margin:0 0 8px}.address-content p:last-child{margin-bottom:0}.social-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.social-link{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:#374151;font-weight:500;font-size:14px;transition:all .2s}.social-link:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.social-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:18px;background:#fff;border:1px solid #e5e7eb}.social-link.facebook:hover{border-color:#1877f2;color:#1877f2}.social-link.facebook:hover .social-icon{background:#1877f2;color:#fff;border-color:#1877f2}.social-link.instagram:hover{border-color:#e4405f;color:#e4405f}.social-link.twitter:hover{border-color:#1da1f2;color:#1da1f2}.social-link.linkedin:hover{border-color:#0077b5;color:#0077b5}.social-link.youtube:hover{border-color:red;color:red}.social-link.tiktok:hover{border-color:#000;color:#000}.social-link.pinterest:hover{border-color:#e60023;color:#e60023}.social-link.github:hover{border-color:#333;color:#333}.color-swatches{display:flex;gap:24px;flex-wrap:wrap}.color-swatch{display:flex;align-items:center;gap:16px}.color-preview{width:80px;height:80px;border-radius:12px;border:2px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.color-info{display:flex;flex-direction:column;gap:4px}.color-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.color-hex{font-family:monospace;font-size:16px;color:#111827;font-weight:600}.metadata-card .info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media(max-width:768px){.business-view-page{padding:20px 10px}.view-hero{padding:24px;border-radius:12px}.hero-content{flex-direction:column;align-items:flex-start;gap:20px}.hero-logo{width:100px;height:100px}.hero-info h1{font-size:28px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.info-card{padding:24px 20px}.stats-grid,.social-links{grid-template-columns:1fr}.color-swatches{flex-direction:column}.metadata-card .info-grid{grid-template-columns:1fr}}.business-edit-page{min-height:100vh;background:#f9fafb;padding:40px 20px}.edit-container{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.edit-header{display:flex;justify-content:space-between;align-items:center;padding:32px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.edit-header h1{margin:0 0 8px;font-size:32px;font-weight:600}.business-slug{margin:0;font-size:14px;opacity:.9;font-family:monospace}.edit-header .btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.edit-header .btn:hover{background:#ffffff4d}.business-edit-form{padding:32px}.form-section{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{margin:0 0 24px;font-size:20px;color:#111827;font-weight:600}.logo-upload-section{display:flex;align-items:center;gap:24px}.current-logo-preview{width:120px;height:120px;border:2px solid #e5e7eb;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f9fafb}.current-logo-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.current-logo-preview .logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:600;color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.help-text{font-size:12px;color:#6b7280}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.required{color:#ef4444}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-group{display:flex;align-items:center;margin-top:8px}.checkbox-group input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer}.checkbox-label{font-size:14px;color:#4b5563;cursor:pointer;margin:0;font-weight:400}.color-input-group{display:flex;gap:12px;align-items:center}.color-input-group input[type=color]{width:60px;height:42px;padding:4px;cursor:pointer;border:1px solid #d1d5db;border-radius:6px}.color-input-group input[type=text]{flex:1}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:32px;margin-top:32px;border-top:1px solid #e5e7eb}.form-actions .btn{min-width:140px}.error-alert{padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:24px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-container p,.error-container p{font-size:18px;color:#6b7280;margin-bottom:20px}.status-section{background:#f9fafb;padding:24px!important;border-radius:8px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.status-item{display:flex;flex-direction:column;gap:8px}.status-item label{font-size:13px;color:#6b7280;font-weight:500;margin:0}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.badge-free{background:#e5e7eb;color:#4b5563}.badge-starter{background:#dbeafe;color:#1e40af}.badge-professional{background:#d1fae5;color:#065f46}.badge-enterprise{background:#fce7f3;color:#9f1239}.badge-active{background:#d1fae5;color:#065f46}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.stat-item{display:flex;flex-direction:column;gap:8px}.stat-item label{font-size:13px;color:#6b7280;font-weight:500;margin:0}.stat-value{font-size:24px;font-weight:700;color:#111827}.timestamps{display:flex;gap:16px;margin-top:16px;font-size:12px;color:#6b7280}.feature-toggles{display:flex;flex-direction:column;gap:16px;margin-top:24px}.toggle-group{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:background-color .2s}.toggle-group:hover{background:#f3f4f6}.toggle-group input[type=checkbox]{margin-top:4px;width:18px;height:18px;cursor:pointer}.toggle-group .checkbox-label{flex:1;display:flex;flex-direction:column;gap:4px}.toggle-group .checkbox-label strong{font-size:14px;color:#111827;font-weight:600}.toggle-group .checkbox-label span{font-size:13px;color:#6b7280;font-weight:400}.code-textarea{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.5;background:#1e293b;color:#e2e8f0;border:1px solid #334155}.code-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.section-description{margin:-12px 0 24px;font-size:14px;color:#6b7280}.array-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:20px}.array-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.array-item-header h4{margin:0;font-size:16px;font-weight:600;color:#111827}.btn-add{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;margin-top:12px}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger{background-color:#dc2626;color:#fff;border:none}.btn-danger:hover{background-color:#b91c1c}@media(max-width:768px){.business-edit-page{padding:20px 10px}.edit-container{border-radius:0}.edit-header{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}.edit-header h1{font-size:24px}.business-edit-form{padding:24px}.logo-upload-section{flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.status-grid,.stats-grid{grid-template-columns:1fr}.timestamps{flex-direction:column;gap:8px}.array-item{padding:16px}.array-item-header{flex-direction:column;align-items:flex-start;gap:12px}}.form-group.indented{margin-left:32px;margin-top:12px}.toggle-group.disabled{opacity:.5;cursor:not-allowed}.help-text{display:block;margin-top:8px;font-size:13px;color:#6b7280;line-height:1.5}.app{min-height:100vh}.login-container,.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card,.register-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:40px;max-width:450px;width:100%}.login-header,.register-header{text-align:center;margin-bottom:30px}.login-header h1,.register-header h1{color:#333;margin-bottom:8px;font-size:28px}.login-header p,.register-header p{color:#666;font-size:14px}.login-form,.register-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-weight:500;font-size:14px}.form-group input,.form-select{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-select:focus{outline:none;border-color:#667eea}.form-group input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:12px}.form-hint{color:#666;font-size:12px}.error-alert{padding:12px;background:#fee2e2;border:1px solid #ef4444;border-radius:6px;color:#991b1b;font-size:14px}.form-options{display:flex;justify-content:flex-end}.forgot-password-link{color:#667eea;font-size:14px;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.login-footer,.register-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.login-footer p,.register-footer p{color:#666;font-size:14px}.register-link,.login-link{color:#667eea;text-decoration:none;font-weight:500}.register-link:hover,.login-link:hover{text-decoration:underline}.dashboard-container{max-width:1200px;margin:0 auto;padding:40px 20px;min-height:calc(100vh - 200px)}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:32px 24px;border-radius:12px;box-shadow:0 4px 12px #667eea33;margin-bottom:30px}.dashboard-header h1{color:#fff;font-size:28px;margin:0;font-weight:600}.dashboard-content{display:grid;gap:30px}.user-info-card,.quick-actions{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.user-info-card h2,.quick-actions h2{color:#333;margin-bottom:20px;font-size:20px}.user-details p{margin:12px 0;color:#555}.user-details strong{color:#333}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center}.stat-card h3{color:#666;font-size:14px;font-weight:500;margin-bottom:12px}.stat-number{font-size:36px;font-weight:700;color:#667eea;margin:0}.stat-card small{color:#999;font-size:12px}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.api-key-generation{margin-top:24px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.api-key-generation h3{color:#333;margin-bottom:16px;font-size:18px}.api-key-generation .form-group{margin-bottom:16px}.api-key-generation .btn{width:100%}.api-key-display{margin-top:20px}.api-key-alert{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:24px;box-shadow:0 4px 12px #f59e0b33}.api-key-alert h3{color:#92400e;margin-bottom:8px;font-size:20px}.warning-text{color:#92400e;margin-bottom:16px;font-weight:500}.api-key-container{display:flex;gap:12px;align-items:center;background:#fff;padding:16px;border-radius:8px;margin-bottom:16px;border:1px solid #f59e0b}.api-key-value{flex:1;font-family:Courier New,monospace;font-size:14px;color:#333;word-break:break-all;background:#f9fafb;padding:8px;border-radius:4px}.btn-copy{background:#667eea;color:#fff;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-copy:hover{background:#5568d3}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-small{padding:8px 16px;font-size:13px}.api-keys-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.api-keys-section h2{color:#333;margin-bottom:20px;font-size:20px}.api-keys-list{display:grid;gap:16px}.api-key-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:box-shadow .3s}.api-key-card:hover{box-shadow:0 4px 12px #00000014}.api-key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.api-key-header h3{color:#333;font-size:18px;margin:0}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.api-key-info{margin-bottom:16px}.api-key-info p{margin:8px 0;color:#555;font-size:14px}.api-key-info strong{color:#333}.api-key-actions{display:flex;gap:8px;flex-wrap:wrap}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.access-denied-container,.not-found{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:#fff;text-align:center;padding:20px}.access-denied-container h2,.not-found h1{font-size:36px;margin-bottom:16px}.access-denied-container p,.not-found p{font-size:18px;margin-bottom:24px}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:16px}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}
