:root{--primary:#25d366;--primary-dark:#128c7e;--dark:#075e54;--text:#2b2b2b;--text-light:#6b7280;--bg:#f7f9fb;--card-bg:#fff;--border:#e5e7eb;--danger:#ef4444;--warning:#f59e0b;--radius:10px;--shadow:0 2px 8px #0000000f;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{color:var(--text);background:var(--bg)}a{color:var(--primary-dark);text-decoration:none}h1,h2,h3,h4{color:#111827;margin:0 0 8px;font-weight:700}h1{font-size:2.5rem}h2{font-size:1.8rem}h3{font-size:1.3rem}p{color:var(--text-light);margin:0 0 8px}.container{max-width:1180px;margin:0 auto;padding:0 24px}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{border-color:var(--border);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:not-allowed}.field{text-align:left;flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text);font-size:.85rem;font-weight:600}.input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;padding:10px 12px;font-family:inherit;font-size:.95rem}.input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);border-color:var(--primary)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card>table{max-width:100%;display:block;overflow-x:auto}table{border-collapse:collapse;width:100%}.card>table>thead,.card>table>tbody{width:100%;display:table}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.9rem}th{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.badge{border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-green{color:#15803d;background:#dcfce7}.badge-red{color:#b91c1c;background:#fee2e2}.badge-gray{color:#475569;background:#f1f5f9}.badge-yellow{color:#92400e;background:#fef3c7}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#054b43 0%,#075e54 100%);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;width:260px;padding:22px 14px;display:flex}.sidebar-admin{background:linear-gradient(#111827 0%,#1f2937 100%)}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:14px;padding:4px 8px 22px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary) 0%, #1ab859 100%);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:800;display:flex;box-shadow:0 4px 12px #25d36659}.brand-mark-admin{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);box-shadow:0 4px 12px #6366f159}.brand-name{color:#fff;font-size:1.05rem;font-weight:700;line-height:1.2}.brand-sub{color:#ffffff8c;letter-spacing:.03em;text-transform:uppercase;margin-top:2px;font-size:.72rem}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-item{color:#ffffffb8;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#ffffff1f;font-weight:600}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.sidebar-admin .nav-item.active:before{background:#818cf8}.nav-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.nav-icon svg{width:18px;height:18px}.nav-label{flex:1}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:14px}.user-chip{align-items:center;gap:10px;margin-bottom:8px;padding:10px 8px;display:flex}.user-avatar{color:#fff;background:#ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.user-avatar-admin{background:#818cf840}.user-info{flex:1;min-width:0}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.user-email{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.logout-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.logout-btn:hover{color:#fff;background:#ef444426;border-color:#ef444466}.main-content{flex:1;max-width:100%;padding:32px;overflow-x:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header h2{font-size:1.6rem}@media (width<=768px){.sidebar{width:100%;padding:14px}.app-shell{flex-direction:column}.main-content{padding:20px}}.navbar{-webkit-backdrop-filter:saturate(180%)blur(12px);z-index:100;background:#ffffffd9;border-bottom:1px solid #e5e7eb99;justify-content:space-between;align-items:center;padding:14px 0;display:flex;position:sticky;top:0}.navbar .container{gap:32px}.navbar .logo{color:var(--dark);flex-shrink:0;align-items:center;gap:10px;margin-right:24px;font-size:1.35rem;font-weight:800;display:flex}.navbar .logo:before{content:"S";background:linear-gradient(135deg, var(--primary), #1ab859);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #25d36659}.navbar nav{align-items:center;gap:28px;display:flex}.navbar nav a:not(.btn){color:var(--text);padding:6px 2px;font-size:.92rem;font-weight:500;position:relative}.navbar nav a:not(.btn):hover{color:var(--primary-dark)}.navbar nav .btn{white-space:nowrap;flex-shrink:0}.navbar nav select{border-radius:8px;min-width:64px;padding:6px 10px;font-size:.85rem}.hero-section{text-align:center;background:linear-gradient(135deg,#e8fff3 0%,#f7f9fb 100%);padding:80px 0}.hero-section h1{max-width:800px;margin:0 auto 16px}.hero-section p.subtitle{max-width:640px;margin:0 auto 28px;font-size:1.1rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.section{padding:64px 0}.section-title{text-align:center;margin-bottom:12px}.section-subtitle{text-align:center;color:var(--text-light);margin-bottom:40px;font-size:1.05rem}.section-alt{background:#fff}.hero-tagline{color:var(--primary-dark);letter-spacing:.02em;background:#25d3661f;border-radius:100px;margin-bottom:18px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-block}.step-card,.feature-card,.business-card,.testimonial-card,.pricing-card,.faq-item{text-align:left}.step-card{text-align:center}.step-number{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:1.2rem;font-weight:800;display:flex}.feature-card .icon,.business-card .icon{margin-bottom:12px;font-size:2rem}.business-card{text-align:center}.pricing-card{border:1px solid var(--border);position:relative}.pricing-card.popular{border:2px solid var(--primary)}.pricing-card .badge-popular{background:var(--primary);color:#fff;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:700;position:absolute;top:-12px;right:20px}.price-amount{color:#111827;margin:8px 0;font-size:2.2rem;font-weight:800}.price-amount span{color:var(--text-light);font-size:1rem;font-weight:500}.pricing-card ul{color:var(--text-light);margin:16px 0;padding:0;font-size:.9rem;list-style:none}.pricing-card li{padding:4px 0}.faq-item{border-bottom:1px solid var(--border);padding:16px 0}.footer{background:var(--dark);color:#d1fae5;text-align:center;padding:32px 0;font-size:.9rem}.footer a{color:#fff}.auth-page{background:linear-gradient(135deg,#e8fff3 0%,#f7f9fb 60%,#eef2ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{width:400px;max-width:100%;padding:32px}.auth-brand{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.auth-mark{background:linear-gradient(135deg, var(--primary), #1ab859);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:800;display:flex;box-shadow:0 6px 16px #25d36659}.auth-mark-admin{background:linear-gradient(135deg, var(--dark), #054b43);box-shadow:0 6px 16px #075e5459}.auth-brand-name{color:var(--dark);font-size:1.2rem;font-weight:800}.auth-title{text-align:center;margin:0 0 6px;font-size:1.35rem}.auth-sub{text-align:center;color:var(--text-light);margin-bottom:22px;font-size:.88rem}.auth-switch{text-align:center;margin-top:12px;font-size:.9rem}.stat-card h3{margin-bottom:4px;font-size:2rem}.stat-card p{margin:0;font-size:.85rem}.trial-banner{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-left:4px solid #3b82f6;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 20px;display:flex}.trial-banner.warning{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left-color:#f59e0b}.trial-banner-text{align-items:center;gap:14px;min-width:0;display:flex}.trial-banner-icon{flex-shrink:0;font-size:1.6rem}.trial-banner-title{color:var(--dark);font-size:.95rem;font-weight:700}.trial-banner-sub{color:var(--text-light);margin-top:2px;font-size:.85rem}.trial-banner .btn{flex-shrink:0}.usage-card{padding:20px 24px}.usage-card-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.usage-card-head h3{margin:0;font-size:1rem}.usage-card-head a{color:var(--primary-dark);font-size:.85rem;text-decoration:none}.usage-row{margin-bottom:14px}.usage-row:last-child{margin-bottom:0}.usage-row-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:.88rem;display:flex}.usage-row-head strong{color:var(--dark)}.usage-bar{background:#f1f5f9;border-radius:6px;height:6px;overflow:hidden}.usage-bar-fill{background:var(--primary);border-radius:6px;height:100%;transition:width .3s}.usage-bar-fill.warn{background:#f59e0b}.usage-bar-fill.danger{background:#ef4444}.usage-bar-fill.unlimited{background:linear-gradient(90deg, var(--primary) 0%, transparent 100%);width:12%!important}.onboarding-wizard{border-left:4px solid var(--primary,#25d366);background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-radius:12px;margin-bottom:18px;padding:16px 20px}.onboarding-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.onboarding-steps{margin:8px 0 0;padding:0;list-style:none}.onboarding-steps li{align-items:center;gap:10px;padding:6px 0;font-size:.9rem;display:flex}.onboarding-steps li.done a{color:var(--text-light);text-decoration:line-through}.onboarding-steps li.done .onboarding-bullet{color:var(--primary-dark,#128c7e)}.onboarding-bullet{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:inline-flex}.onboarding-steps a{color:var(--dark);text-decoration:none}.onboarding-steps a:hover{color:var(--primary-dark,#128c7e)}.danger-zone{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px 20px}.danger-zone h3{color:#b91c1c;margin:0 0 8px;font-size:.95rem}.danger-zone p{color:#7f1d1d;margin:0 0 12px;font-size:.85rem}.text-center{text-align:center}.muted{color:var(--text-light);font-size:.85rem}.flex{align-items:center;gap:10px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-2{margin-bottom:16px}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:100%;max-width:480px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.modal h3{margin:0 0 16px}.modal p{color:var(--text);margin:4px 0}.staff-legend{border:1px solid var(--border);background:#fff;border-radius:10px;flex-wrap:wrap;gap:14px;margin-bottom:14px;padding:10px 14px;display:flex}.legend-item{color:var(--text);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.legend-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.calendar-card{padding:16px}.calendar-card .fc{font-family:inherit;font-size:.88rem}.calendar-card .fc-toolbar-title{font-weight:700;font-size:1.15rem!important}.calendar-card .fc-button{border:1px solid var(--border)!important;color:var(--text)!important;text-transform:none!important;box-shadow:none!important;background:#fff!important;font-weight:500!important}.calendar-card .fc-button-active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.calendar-card .fc-button-primary:not(:disabled):hover{background:#f3f4f6!important}.calendar-card .fc-event{cursor:pointer;border-radius:6px;padding:2px 4px;font-weight:500}.calendar-card .fc-timegrid-now-indicator-line{border-color:var(--danger)}.calendar-card .fc-col-header-cell{background:#f9fafb;padding:8px 0}.calendar-card .fc-day-today{background:#ecfdf5!important}.pb-shell{background:linear-gradient(#e8fff3 0%,#f7f9fb 70%);flex-direction:column;align-items:center;min-height:100vh;padding:30px 16px 60px;display:flex}.pb-card{background:#fff;border-radius:16px;width:100%;max-width:480px;padding:28px 24px;box-shadow:0 10px 30px #00000014}.pb-header{text-align:center;margin-bottom:22px}.pb-icon{margin-bottom:6px;font-size:2.4rem}.pb-header h1{margin-bottom:4px;font-size:1.5rem}.pb-muted{color:var(--text-light);margin:0;font-size:.88rem}.pb-stepper{color:var(--text-light);gap:4px;margin-bottom:22px;font-size:.75rem;display:flex}.pb-step{text-align:center;border-bottom:2px solid var(--border);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:6px 4px;overflow:hidden}.pb-step.active{color:var(--primary-dark);border-color:var(--primary);font-weight:600}.pb-options{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.pb-option{border:2px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 16px;font-family:inherit;transition:all .15s;display:flex}.pb-option:hover{border-color:var(--primary)}.pb-option.selected{border-color:var(--primary);background:#25d3660f}.pb-price{color:var(--primary-dark);font-weight:700}.pb-next{width:100%;margin-top:8px}.pb-days{scroll-snap-type:x mandatory;gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.pb-day{border:2px solid var(--border);text-align:center;cursor:pointer;scroll-snap-align:start;background:#fff;border-radius:10px;flex-shrink:0;width:60px;padding:10px 0;font-family:inherit}.pb-day.selected{border-color:var(--primary);background:var(--primary);color:#fff}.pb-day-name{font-size:.78rem}.pb-day-num{font-size:1.2rem;font-weight:700}.pb-staff-slots{margin-top:14px}.pb-staff-name{margin-bottom:6px;font-size:.9rem;font-weight:600}.pb-slots{flex-wrap:wrap;gap:6px;display:flex}.pb-slot{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:.88rem}.pb-slot:hover{border-color:var(--primary)}.pb-slot.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.pb-summary{background:#f9fafb;border-radius:10px;margin-bottom:16px;padding:14px}.pb-summary p{color:var(--text);margin:4px 0}.pb-success{text-align:center}.pb-success-icon{margin-bottom:10px;font-size:3rem}.pb-success-details{background:#f0fdf4;border-radius:10px;margin:14px 0;padding:14px}.pb-success-details p{color:var(--text);margin:4px 0}.pb-footer{color:var(--text-light);margin-top:24px;font-size:.78rem}.chatbot-fab{background:var(--primary);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;width:60px;height:60px;font-size:1.8rem;transition:transform .15s;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #25d36666}.chatbot-fab:hover{transform:scale(1.08)}.chatbot-window{z-index:1000;background:#fff;border-radius:16px;flex-direction:column;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 12px 40px #0000002e}.chatbot-header{background:var(--dark);color:#fff;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.chatbot-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.chatbot-messages{background:#f7f9fb;flex-direction:column;flex:1;gap:8px;padding:14px;display:flex;overflow-y:auto}.chatbot-msg{white-space:pre-wrap;border-radius:14px;max-width:80%;padding:10px 14px;font-size:.92rem;line-height:1.4}.chatbot-msg-user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chatbot-msg-assistant{color:var(--text);background:#fff;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 2px #0000000f}.chatbot-typing{opacity:.6;font-style:italic}.chatbot-input-row{border-top:1px solid var(--border);background:#fff;gap:8px;padding:12px;display:flex}.chatbot-input-row .input{flex:1}.fc-event.appt-cancelled{opacity:.55}.fc-event.appt-cancelled .fc-event-title{text-decoration:line-through}.cookie-banner{z-index:1000;border:1px solid var(--border);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:16px 18px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 10px 40px #00000026}.cookie-text{min-width:240px;color:var(--text);flex:1;font-size:.88rem}.cookie-text a{color:var(--primary-dark);text-decoration:underline}.cookie-actions{flex-shrink:0;gap:8px;display:flex}@media (width<=480px){.cookie-actions{width:100%}.cookie-actions .btn{flex:1}}.legal-page{background:var(--bg,#f8fafc);min-height:100vh;padding:40px 16px}.legal-container{border:1px solid var(--border);background:#fff;border-radius:16px;max-width:760px;margin:0 auto;padding:40px}.legal-back{color:var(--primary-dark);margin-bottom:16px;font-size:.9rem;text-decoration:none;display:inline-block}.legal-container h1{margin:0 0 4px;font-size:1.6rem}.legal-updated{color:var(--text-light);margin-bottom:24px;font-size:.85rem}.legal-section{margin-bottom:20px}.legal-section h2{margin:0 0 6px;font-size:1.05rem}.legal-section p{color:var(--text);margin:0;line-height:1.6}
