@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Inter:wght@400;600;700&family=Poppins:wght@400;600;700;800&display=swap";:root{--primary:#062b66;--on-primary:#fff;--primary-container:#e7ecf3;--on-primary-container:#062b66;--accent:#4fa3ff;--on-accent:#fff;--surface:#f9fafc;--surface-container-lowest:#fff;--surface-container-low:#f1f4f9;--surface-container:#e7ecf3;--on-surface:#062b66;--on-surface-variant:#6b7280;--outline:#9ca3af;--outline-variant:#e5e7eb;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#0ea5e9;--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--error);--color-error:var(--error);--color-info:var(--info);--error-container:#ef44441f;--on-error-container:#b91c1c;--tertiary:var(--accent);--on-tertiary-container:var(--on-primary);--tertiary-container:#4fa3ff2e;--secondary-container:var(--surface-container-low);--on-secondary-container:var(--on-surface);--primary-rgb:6, 43, 102;--gradient-primary:linear-gradient(135deg, #062b66 0%, #4fa3ff 100%);--font-display:"Poppins", "Inter", sans-serif;--font-body:"Inter", sans-serif;--radius-default:14px;--radius-md:18px;--radius-lg:24px;--radius-full:9999px;--shadow-main:0 4px 20px #062b6614;--shadow-hover:0 10px 30px #062b661f;--unit:6px;--container-padding:16px;--container-margin:12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--surface-container-low);color:var(--on-surface);min-height:100vh;font-size:14px;line-height:1.4;position:relative;overflow-x:hidden}body:before,body:after{content:"";filter:blur(120px);z-index:-1;opacity:.15;border-radius:var(--radius-full);width:50vw;height:50vw;position:fixed}body:before{background:var(--accent);top:-10%;right:-10%}body:after{background:var(--primary);bottom:-10%;left:-10%}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--on-surface);letter-spacing:-.03em}h1{margin-bottom:.4em;font-size:24px;font-weight:800;line-height:1.1}h2{margin-bottom:.4em;font-size:18px;font-weight:700;line-height:1.2}.card{background:var(--surface-container-lowest);border:1px solid var(--outline);border-radius:var(--radius-default);box-shadow:var(--shadow-main);padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.form-input{border:1px solid var(--outline-variant);width:100%;font-family:var(--font-body);color:var(--on-surface);background:#ffffff80;border-radius:10px;outline:none;padding:8px 12px;font-size:14px;transition:all .2s;box-shadow:inset 1px 1px 3px #00000005}.form-input:focus{background:var(--surface-container-lowest);border-color:var(--primary);border-width:2px;transform:scale(1.005);box-shadow:0 0 0 3px #4648d41a}.btn{border-radius:var(--radius-full);font-family:var(--font-body);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #6063ee 100%);color:#fff;box-shadow:0 4px 15px #4648d44d}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 20px #4648d466}.btn-secondary{background:var(--surface-container-high);color:var(--on-surface);box-shadow:var(--shadow-neumorphic-out)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-warning{background:var(--tertiary-container);color:var(--on-tertiary-container)}.status-confirmed{background:var(--secondary-container);color:var(--on-secondary-container)}.status-confirmed_wa{color:#059669;background:#d1fae5;border:1px solid #10b981}.container{max-width:1200px;padding:0 var(--container-margin);margin:0 auto}.animate-fade-in{animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dash-sidebar{box-shadow:10px 0 30px #00000005;background:var(--surface-container-low)!important;border-right:none!important}.dash-nav-item.active{box-shadow:0 4px 12px #4648d433;background:var(--primary)!important;color:#fff!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--surface-dim);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--outline-variant)}.pulse-dot{background:var(--tertiary);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--on-surface-variant);padding:60px 20px}:root{--primary-fixed:#e1e0ff;--primary-fixed-dim:#c0c1ff;--on-primary-fixed:#07006c;--on-primary-fixed-variant:#2f2ebe;--secondary-fixed:#6ffbbe;--secondary-fixed-dim:#4edea3;--on-secondary-fixed:#002113;--on-secondary-fixed-variant:#005236;--tertiary-fixed:#ffdcc5;--tertiary-fixed-dim:#ffb783;--on-tertiary-fixed:#301400;--on-tertiary-fixed-variant:#703700}.agenda-grid-container{-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow-x:auto}.agenda-grid-header{z-index:20;background:var(--surface-container-lowest,#fff);min-width:fit-content;display:flex;position:sticky;top:0}.agenda-grid-body{min-width:fit-content;display:flex}.time-corner,.time-labels-column{z-index:10;background:var(--surface-container-lowest,#fff);border-right:1px solid var(--outline-variant,#e1e1e1);flex-shrink:0;width:50px;position:sticky;left:0}.time-corner{z-index:30}.agenda-days-wrapper{flex:1;display:flex}.day-header,.agenda-day-column{border-right:1px solid #0000000d;flex:1;min-width:90px;position:relative}.day-header{text-align:center;padding-bottom:8px}.agenda-time-label,.agenda-hour-row{height:15px}@media (width<=768px){.day-header,.agenda-day-column{min-width:180px}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast-item{pointer-events:auto;-webkit-backdrop-filter:blur(12px)saturate(180%);background:#ffffffe6;border:1px solid #fff6;border-radius:12px;align-items:center;gap:12px;min-width:280px;max-width:400px;padding:12px 16px;transition:all .3s;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards toastSlideIn;display:flex;transform:translate(120%);box-shadow:0 10px 30px #062b6614,0 1px 3px #062b6605}.toast-item.exit{animation:.3s forwards toastSlideOut}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.toast-success .toast-icon{color:#15803d;background:#22c55e26}.toast-error .toast-icon{color:#b91c1c;background:#ef444426}.toast-warning .toast-icon{color:#b45309;background:#f59e0b26}.toast-info .toast-icon{color:#0369a1;background:#0ea5e926}.toast-content{font-family:var(--font-body);color:#1f2937;flex:1;font-size:13px;font-weight:600;line-height:1.4}.toast-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:14px;transition:color .2s;display:flex}.toast-close:hover{color:#4b5563}@keyframes toastSlideIn{to{transform:translate(0)}}@keyframes toastSlideOut{to{opacity:0;transform:translate(120%)}}@media (width<=480px){.page-content{padding-left:12px!important;padding-right:12px!important}.card{border-radius:12px;padding:12px 14px}.card:hover{transform:none}.form-input{padding:10px 12px;font-size:14px}.form-label{font-size:12px}.settings-section-header{flex-direction:column;gap:12px;align-items:stretch!important}.settings-section-header .btn,.panel>.btn{width:100%}.data-table th,.data-table td{font-size:12px;padding:10px 12px!important}.modal-card{max-height:88vh;padding:18px 16px}.page-title{font-size:18px!important}}@media (width<=360px){.page-content{padding-left:8px!important;padding-right:8px!important}.card{padding:10px 12px}.form-input{padding:9px 10px}}@media (width<=640px){.promotions-table-wrapper{overflow:visible}.promotions-table thead{display:none}.promotions-table,.promotions-table tbody,.promotions-table tr,.promotions-table td{width:100%;display:block}.promotions-table tr{background:var(--surface-container-lowest,#fff);border:1px solid var(--outline-variant,#e5e7eb);border-radius:12px;margin:0 12px 12px;padding:12px 14px;box-shadow:0 1px 3px #062b660a}.promotions-table tr+tr{margin-top:0}.promotions-table td{grid-template-columns:110px 1fr;align-items:start;gap:12px;display:grid;text-align:left!important;border:none!important;padding:6px 0!important;font-size:13px!important}.promotions-table td[data-label]:before{content:attr(data-label);color:var(--on-surface-variant,#6b7280);text-transform:uppercase;letter-spacing:.04em;padding-top:2px;font-size:11px;font-weight:800}.promotions-table td[data-label=""]:before{display:none}.promotions-table .promotions-table-actions{grid-template-columns:1fr;justify-items:end;margin-top:4px;border-top:1px solid var(--outline-variant,#e5e7eb)!important;padding-top:10px!important}}.confirm-overlay{-webkit-backdrop-filter:blur(8px)saturate(160%);z-index:10000;background:#062b6673;justify-content:center;align-items:center;padding:16px;animation:.18s confirmOverlayIn;display:flex;position:fixed;inset:0}.confirm-overlay.exit{animation:.18s forwards confirmOverlayOut}.confirm-card{border-radius:var(--radius-lg);text-align:center;width:100%;max-width:420px;font-family:var(--font-body);box-sizing:border-box;background:#fff;padding:28px 24px 20px;animation:.22s cubic-bezier(.34,1.56,.64,1) confirmCardIn;box-shadow:0 30px 60px #062b6640}.confirm-card.exit{animation:.18s forwards confirmCardOut}.confirm-icon{width:56px;height:56px;color:var(--info,#0ea5e9);background:#0ea5e91f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.confirm-danger .confirm-icon{color:var(--error,#ef4444);background:#ef44441f}.confirm-title{font-family:var(--font-display);color:var(--on-surface,#062b66);margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.3}.confirm-message{color:var(--on-surface-variant,#6b7280);word-wrap:break-word;margin:0 0 22px;font-size:14px;line-height:1.5}.confirm-actions{justify-content:stretch;gap:10px;display:flex}.confirm-btn{font-family:var(--font-body);border-radius:var(--radius-default);cursor:pointer;border:1px solid #0000;flex:1;min-height:44px;padding:11px 16px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .18s,background .18s,color .18s}.confirm-btn:active{transform:scale(.97)}.confirm-btn-cancel{color:var(--on-surface,#062b66);border-color:var(--outline-variant,#d1d5db);background:0 0}.confirm-btn-cancel:hover{background:var(--surface-container-low,#f1f4f9)}.confirm-btn-primary{background:var(--primary,#062b66);color:var(--on-primary,#fff)}.confirm-btn-primary:hover{box-shadow:0 6px 16px #062b6640}.confirm-btn-danger{background:var(--error,#ef4444);color:#fff}.confirm-btn-danger:hover{background:#dc2626;box-shadow:0 6px 16px #ef44444d}@keyframes confirmOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes confirmOverlayOut{to{opacity:0}}@keyframes confirmCardIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confirmCardOut{to{opacity:0;transform:translateY(6px)scale(.98)}}@media (width<=480px){.confirm-card{padding:22px 18px 16px}.confirm-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion:reduce){.confirm-overlay,.confirm-overlay.exit,.confirm-card,.confirm-card.exit{animation:none}}.auth-container{box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.auth-card{box-sizing:border-box;width:100%;max-width:480px;animation:.6s cubic-bezier(.16,1,.3,1) slideUp}.auth-header{text-align:center;margin-bottom:20px}.auth-brand-container{border-radius:20px;justify-content:center;margin-bottom:16px;display:flex;overflow:hidden}.auth-logo{mix-blend-mode:multiply;filter:brightness(1.2)contrast(1.1);max-width:160px;height:auto}.auth-title{color:var(--on-surface-variant);font-size:18px;font-weight:500}.auth-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-family:var(--font-body);color:var(--on-surface);margin-left:4px;font-size:14px;font-weight:600}.auth-footer{text-align:center;color:var(--on-surface-variant);margin-top:24px;font-size:14px}.auth-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--primary-container);text-decoration:underline}.auth-error{background:var(--error-container);color:var(--on-error-container);border-radius:var(--radius-sm);border:1px solid #ba1a1a40;border-left:3px solid var(--error,#ba1a1a);transform-origin:50%;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.4;animation:.22s cubic-bezier(.16,1,.3,1) authErrorIn,.42s cubic-bezier(.36,.07,.19,.97) .22s authErrorShake;display:flex;box-shadow:0 2px 8px #ba1a1a14}.auth-error-icon{width:22px;height:22px;color:var(--error,#ba1a1a);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.auth-error-text{word-break:break-word;flex:1}@keyframes authErrorIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes authErrorShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.auth-error{animation:none}}.auth-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.auth-grid{grid-template-columns:1fr}}.section-title{text-transform:uppercase;color:var(--outline);border-bottom:1px solid var(--surface-container-highest);grid-column:1/-1;margin-top:12px;padding-bottom:4px;font-size:14px;font-weight:700}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23464554'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-divider{text-align:center;color:var(--outline);align-items:center;margin:16px 0;font-size:13px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--outline-variant);flex:1}.auth-divider:not(:empty):before{margin-right:12px}.auth-divider:not(:empty):after{margin-left:12px}.google-login-wrapper{justify-content:center;width:100%;min-height:44px;margin-top:4px;margin-bottom:4px;display:flex}.google-login-wrapper>div{justify-content:center;width:100%;display:flex}.google-loading-placeholder{border:1px solid var(--outline-variant);width:100%;max-width:350px;color:var(--on-surface-variant);cursor:default;opacity:.6;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:500;display:flex}.google-login-wrapper>div,.google-login-wrapper>div>div,.google-login-wrapper iframe{max-width:100%!important}@media (width<=480px){.auth-container{align-items:flex-start;padding:24px 12px 12px}.auth-card{padding:16px 14px}.auth-logo{max-width:120px}.auth-title{font-size:16px}.auth-header{margin-bottom:16px}.auth-divider{margin:12px 0}.google-loading-placeholder{padding:10px 16px;font-size:13px}}@media (width<=360px){.auth-container{padding:16px 8px 8px}.auth-card{padding:14px 12px}.auth-logo{max-width:100px}.auth-title{font-size:15px}}.dashboard-layout{box-sizing:border-box;background:0 0;gap:12px;width:100%;max-width:100vw;min-height:100vh;padding:12px;display:flex}.dash-sidebar{-webkit-backdrop-filter:blur(20px)saturate(160%);border-radius:var(--radius-lg);z-index:100;background:#fff6;border:1px solid #ffffff80;flex-direction:column;width:220px;height:calc(100vh - 24px);padding:16px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;top:12px;overflow:visible;box-shadow:0 10px 30px #0000000d}.dash-sidebar.collapsed{align-items:center;width:72px;padding:16px 10px}.collapse-toggle{background:var(--primary);color:#fff;cursor:pointer;z-index:110;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;transition:all .2s;display:flex;position:absolute;top:20px;right:-12px;box-shadow:0 4px 10px #00000026}.collapsed .collapse-toggle{right:-12px}.dash-sidebar-header{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;padding:0 8px;display:flex}.brand-logo-container{border-radius:8px;width:100%;max-width:95px;margin-bottom:0;transition:all .3s;overflow:hidden}.collapsed .brand-logo-container{max-width:40px}.brand-logo{object-fit:contain;mix-blend-mode:multiply;filter:brightness(1.2)contrast(1.1);clip-path:inset(14% 8%);width:100%;height:auto;transform:scale(1.1)}.dash-sidebar-header h2{font-family:var(--font-display);color:var(--primary);margin:0;font-size:16px;font-weight:800;line-height:1.2}.dash-sidebar-header .commerce-name{color:var(--on-surface-variant);margin-top:-2px;font-size:12px;font-weight:600}.dash-nav{scrollbar-width:thin;scrollbar-color:#00000026 transparent;flex-direction:column;flex:1;gap:4px;min-height:0;margin:8px 0;display:flex;overflow:hidden auto}.dash-nav::-webkit-scrollbar{width:4px}.dash-nav::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.dash-nav::-webkit-scrollbar-track{background:0 0}.dash-nav-item{border-radius:var(--radius-default);color:var(--on-surface-variant);align-items:center;gap:10px;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.collapsed .dash-nav-item{justify-content:center;gap:0;padding:10px}.collapsed .nav-label{display:none}.collapsed .nav-icon{font-size:20px}.dash-nav-item:hover{background:var(--surface-container-low);color:var(--accent);transform:translate(4px)}.dash-nav-item.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-main)}.dash-nav-item.active:hover{filter:brightness(1.1);transform:translate(0)}.dash-nav-item span:first-child{font-size:20px}.dash-sidebar-footer{border-top:1px solid #0000000d;flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto;padding-top:12px;display:flex}.logout-btn{background:var(--surface-container-highest);width:100%;color:var(--on-surface-variant);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.logout-btn:hover{color:#991b1b;background:#fee2e2}.dash-user-info{align-items:center;gap:12px;padding:0 12px;display:flex}.dash-avatar{background:var(--gradient-primary);color:#fff;width:36px;height:36px;box-shadow:var(--shadow-main);border-radius:10px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.dash-user-details p{color:var(--on-surface);font-size:14px;font-weight:700}.dash-user-details span{color:var(--on-surface-variant);text-transform:capitalize;font-size:12px}.public-link-container{background:var(--surface-container-low);border-radius:var(--radius-md);box-shadow:var(--shadow-neumorphic-in);padding:10px 12px}.public-link-label{text-transform:uppercase;color:var(--outline);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.public-link-badge{color:var(--primary);word-break:break-all;font-size:13px;font-weight:700;text-decoration:none;display:block}.menu-toggle{z-index:1000;background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:44px;height:44px;display:none;position:fixed;top:20px;left:20px;box-shadow:0 4px 12px #4648d44d}.dash-mobile-header{-webkit-backdrop-filter:blur(20px);z-index:1100;background:#fffc;border-bottom:1px solid #0000000d;justify-content:flex-start;align-items:center;height:60px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-brand-name{font-family:var(--font-display);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:22px;font-weight:800}.menu-toggle{background:var(--surface-container-highest);color:var(--primary);cursor:pointer;z-index:1200;border:none;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:all .2s;display:flex;position:relative}.menu-toggle:active{transform:scale(.9)}.dash-main{flex-direction:column;flex:1;min-width:0;padding:0;animation:.6s ease-out fadeIn;display:flex}.page-content{min-height:calc(100vh - 64px);padding:12px 16px}.page-title{color:var(--on-surface);margin-bottom:12px;font-size:18px;font-weight:800}.settings-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.responsive-flex{justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width<=768px){.dash-mobile-header{display:flex}.dashboard-layout{flex-direction:column;padding:64px 16px 16px}.dash-sidebar{z-index:1000;border-radius:0 24px 24px 0;width:280px;height:100vh;margin:0;padding-top:80px;transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:-320px;overflow-y:auto}.collapse-toggle{display:none}.dash-sidebar.open{left:0;box-shadow:20px 0 50px #0003}.page-content{padding:16px 0}.settings-section-header{flex-direction:column;align-items:flex-start;gap:12px}.responsive-flex{flex-direction:column;align-items:stretch}.card{padding:20px}}.dash-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#0003;animation:.3s fadeIn;position:fixed;inset:0}.appointments-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.appointment-card{border-left:6px solid var(--primary)}.status-badge{border-radius:var(--radius-full);padding:6px 12px;font-size:12px;font-weight:700}.status-badge.confirmed{color:#2e7d32;background:#e8f5e9}.status-badge.confirmed_wa{color:#059669;background:#d1fae5;border:1px solid #10b981}.status-badge.pending_payment,.status-badge.pending{color:#ef6c00;background:#fff3e0}.status-badge.cancelled,.status-badge.no_show{color:#c62828;background:#ffebee}.status-badge.completed{background:var(--surface-container);color:var(--on-surface-variant)}.status-badge.expired{background:var(--surface-container-highest);color:var(--on-surface-variant)}.agenda-slot{cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .1s,box-shadow .2s}.agenda-slot:active{cursor:grabbing}.agenda-slot.dragging{opacity:.5;transform:scale(.95);box-shadow:0 10px 30px #0003}.agenda-hour-row.drag-over{background:#4648d40d}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:24px;width:100%;max-width:480px;padding:32px;position:relative;box-shadow:0 30px 60px #00000026}@media (width<=480px){.modal-card{width:94%;padding:24px 20px}}.appt-detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail-item label{text-transform:uppercase;color:var(--outline);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.detail-item .val{color:var(--on-surface);font-size:15px;font-weight:700}.detail-item .sub{color:var(--on-surface-variant);font-size:13px}.btn-close{background:var(--surface-container-highest);cursor:pointer;width:32px;height:32px;color:var(--on-surface-variant);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.summary-schedule-grid{grid-template-columns:1fr;align-items:start;gap:32px;display:grid}@media (width>=1024px){.summary-schedule-grid{grid-template-columns:1fr 350px;gap:48px}}.today-section{flex-direction:column;display:flex}.next-day-section{background:var(--surface-container-low);border-radius:var(--radius-default);border:1px solid var(--outline-variant);box-shadow:var(--shadow-main);opacity:.9;padding:24px;transition:all .3s}.next-day-section:hover{opacity:1;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.onboarding-overlay{z-index:9999;background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f5f0ff 100%);flex-direction:column;align-items:center;padding:24px 16px 60px;display:flex;position:fixed;inset:0;overflow-y:auto}.onboarding-overlay:before{content:"";pointer-events:none;background:radial-gradient(circle,#4fa3ff14 0%,#0000 70%);border-radius:50%;width:60vw;height:60vw;position:fixed;top:-20%;right:-20%}.onboarding-overlay:after{content:"";pointer-events:none;background:radial-gradient(circle,#062b660f 0%,#0000 70%);border-radius:50%;width:50vw;height:50vw;position:fixed;bottom:-15%;left:-15%}.onboarding-header{text-align:center;z-index:1;margin-bottom:32px;position:relative}.onboarding-header .brand-logo{width:48px;height:48px;margin-bottom:12px}.onboarding-header h1{color:var(--primary);margin-bottom:4px;font-size:22px;font-weight:800;line-height:1.2}.onboarding-header p{color:var(--on-surface-variant);max-width:500px;margin:0 auto;font-size:14px}.onboarding-steps{z-index:1;justify-content:center;align-items:center;gap:0;width:100%;max-width:520px;margin-bottom:28px;display:flex;position:relative}.onboarding-step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.onboarding-step:after{content:"";background:var(--outline-variant);z-index:0;width:100%;height:2px;transition:background .4s;position:absolute;top:14px;left:50%}.onboarding-step:last-child:after{display:none}.onboarding-step.done:after{background:var(--success)}.onboarding-step-dot{background:var(--surface-container);border:2px solid var(--outline-variant);width:30px;height:30px;color:var(--on-surface-variant);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:800;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.onboarding-step.active .onboarding-step-dot{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.15);box-shadow:0 4px 16px #062b6640}.onboarding-step.done .onboarding-step-dot{background:var(--success);border-color:var(--success);color:#fff}.onboarding-step-label{color:var(--outline);text-align:center;white-space:nowrap;font-size:11px;font-weight:700;transition:color .3s}.onboarding-step.active .onboarding-step-label{color:var(--primary)}.onboarding-step.done .onboarding-step-label{color:var(--success)}.onboarding-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:#ffffffd9;border:1px solid #fff9;border-radius:20px;width:100%;max-width:560px;padding:28px 28px 24px;animation:.4s cubic-bezier(.16,1,.3,1) onboardSlideUp;position:relative;box-shadow:0 8px 40px #062b6614,0 1px 3px #0000000a}@keyframes onboardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-card h2{color:var(--on-surface);align-items:center;gap:10px;margin-bottom:4px;font-size:20px;font-weight:800;display:flex}.onboarding-card .step-subtitle{color:var(--on-surface-variant);margin-bottom:20px;font-size:13px;line-height:1.4}.onboarding-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.onboarding-form-grid.single-col{grid-template-columns:1fr}.onboarding-form-grid .full-width{grid-column:1/-1}.onboarding-form-grid label{color:var(--on-surface);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.onboarding-form-grid .form-input{width:100%}.day-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.day-chip{border:1.5px solid var(--outline-variant);color:var(--on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:20px;padding:7px 14px;font-size:12px;font-weight:700;transition:all .2s}.day-chip.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px #062b6626}.day-chip:hover:not(.selected){border-color:var(--primary);background:#062b660a}.day-shortcuts{gap:10px;margin-bottom:4px;display:flex}.day-shortcuts button{color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.color-picker-row{align-items:center;gap:10px;display:flex}.color-picker-row input[type=color]{border:1px solid var(--outline-variant);cursor:pointer;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:2px}.color-picker-row input[type=text]{flex:1}.upload-zone{border:2px dashed var(--outline-variant);text-align:center;cursor:pointer;background:#ffffff80;border-radius:12px;padding:16px;transition:all .2s;position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--primary);background:#062b6605}.upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-zone .upload-icon{margin-bottom:4px;font-size:28px}.upload-zone .upload-text{color:var(--on-surface-variant);font-size:12px;font-weight:600}.upload-zone .upload-hint{color:var(--outline);margin-top:2px;font-size:10px}.upload-preview{object-fit:cover;border-radius:10px;width:100%;max-height:120px}.gallery-upload-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gallery-thumb{aspect-ratio:1;border-radius:10px;position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%}.gallery-thumb .remove-btn{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:opacity .2s;display:flex;position:absolute;top:4px;right:4px}.gallery-thumb:hover .remove-btn{opacity:1}.onboarding-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.onboarding-actions .btn-next{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 28px;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #062b6633}.onboarding-actions .btn-next:hover{filter:brightness(1.05);box-shadow:0 6px 24px #062b664d}.onboarding-actions .btn-next:disabled{opacity:.5;cursor:not-allowed}.onboarding-actions .btn-back{background:var(--surface-container);color:var(--on-surface);cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.onboarding-actions .btn-skip{color:var(--outline);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-size:13px;font-weight:600;text-decoration:underline}.onboarding-actions .btn-skip:hover{color:var(--on-surface-variant)}.onboarding-success{text-align:center;padding:40px 20px}.onboarding-success .success-icon{margin-bottom:16px;font-size:56px;animation:.6s cubic-bezier(.68,-.55,.265,1.55) successBounce}@keyframes successBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.onboarding-success h2{justify-content:center;margin-bottom:8px;font-size:24px}.onboarding-success p{color:var(--on-surface-variant);margin-bottom:24px;font-size:14px}@media (width<=600px){.onboarding-card{border-radius:16px;padding:20px 18px}.onboarding-form-grid{grid-template-columns:1fr}.onboarding-step-label{font-size:9px}.gallery-upload-grid{grid-template-columns:repeat(3,1fr)}}.agenda-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface-container-lowest);border:1px solid var(--outline);border-radius:var(--radius-default);box-shadow:var(--shadow-main);padding:14px 18px;transition:all .2s cubic-bezier(.4,0,.2,1)}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--on-surface-variant);margin-bottom:8px;font-size:11px;font-weight:700}.stat-card .stat-value{color:var(--on-surface);font-size:20px;font-weight:800;line-height:1}.stat-card .stat-value.primary{color:var(--primary)}.stat-card .stat-value.success{color:var(--success)}.stat-card .stat-value.warning{color:var(--warning)}.stat-card .stat-value.money{color:var(--primary)}.agenda-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.agenda-view-toggle{background:var(--surface-container);border-radius:var(--radius-full);gap:2px;padding:4px;display:flex}.agenda-view-toggle button{border-radius:var(--radius-full);color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;padding:8px 20px;font-size:13px;font-weight:600;transition:all .2s}.agenda-view-toggle button.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #4648d440}.agenda-date-nav{align-items:center;gap:12px;display:flex}.agenda-date-nav button{background:var(--surface-container);cursor:pointer;width:36px;height:36px;color:var(--on-surface-variant);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.agenda-date-nav button:hover{background:var(--primary);color:#fff}.agenda-date-nav .current-range{color:var(--on-surface);white-space:nowrap;font-size:14px;font-weight:700}.agenda-today-btn{border:1px solid var(--outline-variant);border-radius:var(--radius-full);color:var(--primary);cursor:pointer;background:0 0;padding:6px 16px;font-size:12px;font-weight:700;transition:all .2s}.agenda-today-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.live-indicator{color:var(--secondary);background:var(--secondary-container);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.live-dot{background:var(--secondary);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse}.agenda-grid-container{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px #00000008}.agenda-grid-header{grid-template-columns:50px repeat(var(--day-cols,6), minmax(90px, 1fr));border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low);display:grid}.agenda-grid-header .day-header{text-align:center;text-transform:uppercase;color:var(--on-surface-variant);letter-spacing:.5px;padding:8px 4px;font-size:11px;font-weight:700}.agenda-grid-header .day-header.today{color:var(--primary)}.agenda-grid-header .day-header .day-number{color:var(--on-surface);margin-top:2px;font-size:16px;font-weight:800;display:block}.agenda-grid-header .day-header.today .day-number{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:inline-flex}.agenda-grid-header .time-corner{color:var(--outline);padding:14px 8px;font-size:11px;font-weight:600}.agenda-grid-body{grid-template-columns:50px repeat(var(--day-cols,6), minmax(90px, 1fr));display:grid;position:relative}.agenda-time-label{color:#4b5563;text-align:right;border-right:1px solid var(--outline-variant);background:var(--surface-container-low);z-index:5;justify-content:flex-end;align-items:center;padding-right:10px;font-size:12px;font-weight:700;display:flex;position:sticky;left:0}.time-labels-column{flex-direction:column;display:flex}.agenda-day-column{border-right:1px solid #d1d5db;position:relative}.agenda-day-column:last-child{border-right:none}.agenda-hour-row{border-bottom:1px solid #f3f4f6;height:60px;position:relative}.agenda-day-column .agenda-hour-row:nth-child(4n){border-bottom-color:#d1d5db}.agenda-hour-row:hover{background:#4648d405}.agenda-slot{cursor:pointer;z-index:2;border-left:4px solid;border-radius:6px;padding:6px 8px;transition:transform .15s,box-shadow .15s;position:absolute;left:2px;right:2px;overflow:hidden}.agenda-slot.dragging{opacity:.4;pointer-events:none}.agenda-grid-container.drag-active .agenda-slot:not(.dragging){pointer-events:none}.agenda-slot:hover{z-index:10;transform:scale(1.02);box-shadow:0 6px 20px #0000001f}.agenda-slot .slot-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;line-height:1.1;overflow:hidden}.agenda-slot .slot-service{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:500;line-height:1;overflow:hidden}.agenda-slot.color-0{background:#4648d4;border-color:#2f2ebe}.agenda-slot.color-1{background:#006c49;border-color:#005236}.agenda-slot.color-2{background:#904900;border-color:#703700}.agenda-slot.color-3{background:#b55d00;border-color:#904900}.agenda-slot.color-4{background:#6063ee;border-color:#4648d4}.agenda-slot.color-5{background:#7c5800;border-color:#5e4200}.agenda-slot.color-confirmed{color:#fff;background:#3b82f6;border-color:#2563eb}.agenda-slot.color-confirmed-wa{color:#fff;background:#25d366;border-color:#16a34a}.agenda-slot.color-completed{color:#fff;background:#15803d;border-color:#166534}.agenda-slot.color-pending{color:#fff;background:#f59e0b;border-color:#d97706}.agenda-slot.color-error{color:#fff;background:#ef4444;border-color:#dc2626}.agenda-slot.color-expired{color:#4b5563;opacity:.85;background:#e5e7eb;border:1px solid #9ca3af;border-left:4px solid #6b7280}.agenda-slot.color-expired .slot-name,.agenda-slot.color-expired .slot-service{font-weight:600;-webkit-text-decoration:line-through #4b556380;text-decoration:line-through #4b556380;color:#4b5563!important}.agenda-slot.color-success{color:#fff;background:#006c49;border-color:#005236}.agenda-slot.color-blocked{color:#374151;background-color:#e5e7eb;background-image:repeating-linear-gradient(-45deg,#0000000a,#0000000a 6px,#0000001a 6px 12px);border:1px solid #9ca3af;border-left:4px solid #6b7280;font-weight:600}.agenda-slot.color-blocked .slot-name,.agenda-slot.color-blocked .slot-service{color:#374151!important}.slot-status-tag{text-transform:uppercase;opacity:.8;margin-left:6px;font-size:9px;font-weight:800}.agenda-slot.status-cancelled,.agenda-slot.status-no_show{opacity:.7}.agenda-slot.status-cancelled .slot-name,.agenda-slot.status-no_show .slot-name,.agenda-slot.status-cancelled .slot-service,.agenda-slot.status-no_show .slot-service{text-decoration:line-through}.agenda-list{flex-direction:column;gap:12px;display:none}.agenda-list-item{background:var(--surface-container-lowest);border:1px solid var(--outline);border-radius:var(--radius-default);box-shadow:var(--shadow-main);align-items:center;gap:16px;padding:20px 24px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.agenda-list-item:before{content:"";background:var(--accent);width:6px;position:absolute;top:0;bottom:0;left:0}.agenda-list-item:active{box-shadow:none;transform:scale(.97)}.agenda-list-item .list-time{font-family:var(--font-display);color:var(--primary);min-width:60px;font-size:16px;font-weight:800}.agenda-list-item .list-info{flex:1;min-width:0}.agenda-list-item .list-name{font-family:var(--font-display);color:var(--primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.agenda-list-item .list-service{color:var(--on-surface-variant);margin-top:4px;font-size:13px}.agenda-list-item .list-status{border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding:6px 14px;font-size:11px;font-weight:800}.list-status.confirmed{color:#2e7d32;background:#e8f5e9}.list-status.confirmed_wa{color:#059669;background:#d1fae5;border:1px solid #10b981}.list-status.pending_payment{color:#ef6c00;background:#fff3e0}.list-status.cancelled{color:#c62828;background:#ffebee}.list-status.completed{background:var(--surface-container);color:var(--on-surface-variant)}.agenda-empty{text-align:center;color:var(--on-surface-variant);padding:60px 20px}.agenda-empty .empty-icon{margin-bottom:12px;font-size:48px}.agenda-empty p{font-size:14px}@media (width<=768px){.agenda-stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px 16px}.stat-card .stat-value{font-size:22px}.stat-card .stat-label{font-size:10px}.agenda-toolbar{flex-direction:column;align-items:stretch;gap:10px}.agenda-toolbar>div{justify-content:center}.agenda-list{display:none}}.agenda-page-content{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:calc(100vh - 24px);min-height:calc(100vh - 24px);display:flex;padding-bottom:12px!important}.agenda-grid-container{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow-x:auto}.agenda-grid-body{flex:1;min-height:0;overflow-y:auto;max-height:none!important}.agenda-list{display:none}.agenda-grid-body::-webkit-scrollbar{width:6px}.agenda-grid-body::-webkit-scrollbar-track{background:0 0}.agenda-grid-body::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:3px}.public-booking{width:100%;max-width:600px;min-height:100vh;font-family:var(--font-display);box-sizing:border-box;margin:0 auto;padding:0 12px 40px;font-size:14px}.public-header{text-align:center;padding:24px 0 16px}.public-header h1{color:var(--on-surface);margin-bottom:2px;font-size:24px;font-weight:800}.public-header .business-category{color:var(--outline);font-size:14px;font-weight:500}.steps-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:32px;padding:0 20px;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.step:after{content:"";background:var(--outline-variant);z-index:0;width:100%;height:2px;position:absolute;top:14px;left:50%}.step:last-child:after{display:none}.step.done:after{background:var(--secondary)}.step-dot{background:var(--surface-container);border:2px solid var(--outline);width:32px;height:32px;color:var(--on-surface-variant);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:800;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.step.active .step-dot{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-main);transform:scale(1.1)}.step.done .step-dot{background:var(--success);border-color:var(--success);color:#fff}.step-label{color:var(--outline);font-size:11px;font-weight:600}.step.active .step-label{color:var(--primary);font-weight:700}.step.done .step-label{color:var(--secondary)}.booking-content{animation:.4s fadeIn}.step-title{color:var(--on-surface);margin-bottom:20px;font-size:20px;font-weight:800}.option-grid{grid-template-columns:1fr;gap:12px;margin-bottom:20px;display:grid}.option-card{background:var(--surface-container-lowest);border:1px solid var(--outline);border-radius:var(--radius-default);cursor:pointer;text-align:left;color:var(--on-surface);font-family:var(--font-display);box-shadow:var(--shadow-main);box-sizing:border-box;width:100%;padding:clamp(16px,4vw,24px);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}@media (width<=480px){.option-card{padding:16px}}.option-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.option-card.selected{border-color:var(--primary);background:var(--surface-container-low);border-width:2px;box-shadow:0 0 0 4px #062b660d}.option-card h4{margin-bottom:4px;font-size:16px;font-weight:700}.option-card .text-muted{color:var(--on-surface-variant);font-size:13px}.option-price{color:var(--primary);margin-top:8px;font-size:18px;font-weight:800}.prof-avatar{background:var(--gradient-primary);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-main);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;font-size:20px;font-weight:700;display:flex}.slots-grid{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.slot-btn{background:var(--surface-container-lowest);border:2px solid var(--outline-variant);color:var(--on-surface);font-family:var(--font-display);cursor:pointer;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s}.slot-btn:hover{border-color:var(--primary);background:#4648d40a}.slot-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 14px #4648d44d}.form-group{margin-bottom:16px}.step-actions{gap:12px;margin-top:24px;display:flex}.step-actions .btn{flex:1}.booking-summary{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:16px;margin:24px 0;padding:20px}.booking-summary h4{text-transform:uppercase;color:var(--outline);letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:700}.booking-summary p{color:var(--on-surface-variant);margin-bottom:6px;font-size:14px}.booking-summary .option-price{margin-top:12px;font-size:22px}.confirmation{text-align:center;padding:60px 20px}.confirmation-icon{margin-bottom:16px;font-size:64px;animation:.6s bounceIn}.confirmation h3{color:var(--on-surface);margin-bottom:8px;font-size:24px;font-weight:800}.confirmation p{color:var(--on-surface-variant);font-size:14px}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.no-slots-msg{text-align:center;color:var(--on-surface-variant);padding:32px 16px;font-size:14px}.no-slots-msg .no-slots-icon{margin-bottom:8px;font-size:40px}@media (width<=768px){.public-booking{padding:12px 12px 60px}.public-header h1{font-size:clamp(20px,6vw,26px)}.steps-indicator{margin-bottom:24px;padding:0 4px}.step-label{display:none}.step-dot{width:clamp(32px,10vw,40px);height:clamp(32px,10vw,40px);font-size:14px}.step:after{top:50%;transform:translateY(-50%)}.option-card h4{font-size:18px}.option-price{font-size:20px}}@media (width<=400px){.public-banner h1{font-size:1rem!important}}.checkmark-container{width:80px;height:80px;margin:0 auto 24px;display:block}.checkmark{stroke-width:3px;stroke:#fff;stroke-miterlimit:10;border-radius:50%;width:80px;height:80px;animation:.4s ease-in-out .4s forwards fill,.3s ease-in-out .9s both scale;display:block;box-shadow:inset 0 0 #22c55e}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166px;stroke-width:3px;stroke-miterlimit:10;stroke:#22c55e;fill:none;animation:.6s cubic-bezier(.65,0,.45,1) forwards stroke}.checkmark__check{transform-origin:50%;stroke-dasharray:48;stroke-dashoffset:48px;animation:.3s cubic-bezier(.65,0,.45,1) .8s forwards stroke}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale(1.1)}}@keyframes fill{to{box-shadow:inset 0 0 0 40px #22c55e}}.google-login-section{background:var(--surface-container-low);border:1px dashed var(--outline-variant);border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.google-login-label{color:var(--on-surface-variant);font-size:13px;font-weight:600}.google-user-badge{background:#22c55e14;border:1px solid #22c55e4d;border-radius:12px;justify-content:space-between;align-items:center;width:100%;margin-bottom:24px;padding:14px 16px;display:flex}.google-user-info{align-items:center;gap:10px;display:flex}.google-avatar-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.google-user-text{flex-direction:column;display:flex}.google-user-name{color:var(--on-surface);font-size:14px;font-weight:700}.google-user-email{color:var(--outline);font-size:12px}.google-logout-btn{color:var(--error);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .2s}.google-logout-btn:hover{background:#b91c1c14}.customer-access-panel{margin:24px 20px 28px}.customer-login-card,.customer-profile-hero,.customer-next-card,.customer-appointment-card{border:1px solid var(--outline-variant);background:#fff;border-radius:18px;box-shadow:0 10px 35px #0f172a12}.customer-login-card{grid-template-columns:1fr auto;align-items:center;gap:18px;padding:18px;display:grid}.customer-eyebrow{color:var(--primary);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:800;display:inline-block}.customer-login-card h2,.customer-profile-copy h2,.customer-next-card h3,.customer-appointment-card h4{color:var(--on-surface);margin:0;font-weight:800}.customer-login-card h2{font-size:18px}.customer-login-card p,.customer-profile-copy p,.customer-next-card p,.customer-appointment-card p{color:var(--on-surface-variant);margin:4px 0 0;font-size:13px;line-height:1.45}.customer-google-box{flex-direction:column;justify-content:center;gap:10px;min-width:230px;display:flex}.customer-register-toggle{border:1px solid var(--outline-variant);color:var(--primary);cursor:pointer;background:#fff;border-radius:10px;padding:11px 14px;font-weight:800}.customer-register-card{border:1px solid var(--outline-variant);background:#fff;border-radius:18px;margin-top:12px;padding:18px;box-shadow:0 10px 35px #0f172a12}.customer-register-card h3{color:var(--on-surface);margin:0 0 14px;font-size:17px;font-weight:800}.customer-register-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.customer-profile-page{margin:24px 20px 32px}.google-loading-inline{border:1px solid var(--outline-variant);color:var(--on-surface-variant);border-radius:10px;align-items:center;gap:10px;padding:12px 18px;font-size:13px;display:flex}.customer-profile-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:14px;padding:16px;display:grid}.customer-avatar{background:var(--primary);color:#fff;width:48px;height:48px;box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:14px;justify-content:center;align-items:center;font-size:20px;font-weight:900;display:flex}.customer-profile-copy span{color:var(--primary);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:800}.customer-profile-copy h2{font-size:19px}.customer-link-btn,.customer-cancel-btn{background:var(--surface-container-low);color:var(--on-surface-variant);cursor:pointer;border:none;border-radius:10px;padding:9px 12px;font-weight:800}.customer-next-card{border-color:color-mix(in srgb, var(--primary) 35%, var(--outline-variant));background:linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--primary) 8%, #fff) 100%);grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:14px;padding:18px;display:grid}.customer-new-booking-btn{white-space:nowrap;width:auto;padding:13px 18px}.customer-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.customer-tabs button{border:1px solid var(--outline-variant);color:var(--on-surface-variant);cursor:pointer;background:#fff;border-radius:12px;padding:11px 12px;font-weight:800}.customer-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.customer-list{gap:10px;display:grid}.customer-appointment-card{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.customer-status{background:var(--surface-container-low);color:var(--on-surface-variant);border-radius:999px;margin-bottom:7px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.customer-status.confirmed{color:#15803d;background:#22c55e1f}.customer-status.pending_payment{color:#92400e;background:#f59e0b26}.customer-status.cancelled{color:#b91c1c;background:#ef44441f}.customer-cancel-btn{color:var(--error)}.customer-empty-state{text-align:center;color:var(--on-surface-variant);border:1px dashed var(--outline-variant);background:#ffffffb3;border-radius:14px;padding:18px;font-weight:700}@media (width<=640px){.customer-login-card,.customer-profile-hero,.customer-next-card,.customer-appointment-card{grid-template-columns:1fr}.customer-profile-hero{text-align:center;justify-items:center}.customer-google-box,.customer-new-booking-btn,.customer-link-btn,.customer-cancel-btn{width:100%}.customer-register-grid{grid-template-columns:1fr}}
