@charset "UTF-8";@keyframes syncPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes viewSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:100%0}to{background-position:-100%0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes promo-glow{0%,to{box-shadow:0 4px 20px rgba(255,107,107,.4)}50%{box-shadow:0 6px 30px rgba(255,107,107,.6)}}@keyframes listItemIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideUpBanner{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-border{0%,to{box-shadow:0 0 0 0 rgba(88,172,159,.4)}50%{box-shadow:0 0 0 6px transparent}}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutRight{to{transform:translateX(100%);opacity:0;height:0;padding:0;margin:0;border:0}}@keyframes adminNoteModalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--primary:#58AC9F;--primary-dark:#4a9589;--primary-light:#e8f5f3;--secondary:#f8b500;--danger:#dc3545;--success:#28a745;--warning:#ffc107;--dark:#2d3436;--gray-900:#1a1a2e;--gray-800:#2d3748;--gray-700:#4a5568;--gray-600:#718096;--gray-500:#a0aec0;--gray-400:#cbd5e0;--gray-300:#e2e8f0;--gray-200:#edf2f7;--gray-100:#f7fafc;--white:#ffffff;--bg:#f5f7fa;--card-bg:#ffffff;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,0.08);--shadow:0 4px 12px rgba(0,0,0,0.1);--shadow-lg:0 10px 30px rgba(0,0,0,0.15);--header-height:48px;--nav-height:56px;--safe-area-top:env(safe-area-inset-top, 0px);--safe-area-bottom:env(safe-area-inset-bottom, 0px);--ease-out:cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--transition:0.25s var(--ease-out);--transition-fast:0.15s var(--ease-out);--transition-slow:0.4s var(--ease-out)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--gray-800);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[role=button],a,button,html,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;transition:outline-offset .2s var(--ease-out)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:12px 24px;border-radius:var(--radius);font-weight:600;z-index:10000;text-decoration:none;transition:top .3s var(--ease-out)}.skip-link:focus{top:calc(var(--safe-area-top) + 10px)}@media (display-mode:standalone),(display-mode:fullscreen){body{overscroll-behavior:none}.app-header{padding-top:max(var(--safe-area-top),12px);height:calc(var(--header-height) + max(var(--safe-area-top),12px))}.main-content{padding-top:calc(var(--header-height) + max(var(--safe-area-top),12px))}}.app{display:flex;flex-direction:column;min-height:100vh;min-height:-webkit-fill-available}.app-header{position:fixed;top:0;left:0;right:0;height:calc(var(--header-height) + var(--safe-area-top));padding-top:var(--safe-area-top);background:var(--white);border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;padding-left:12px;padding-right:12px;z-index:100}.header-left,.header-right{display:flex;align-items:center;gap:0}.header-right{margin-left:auto;justify-content:flex-end}.header-left .btn-icon,.header-right .btn-icon{flex-shrink:0;background:0 0;width:36px;height:36px;padding:6px;border-radius:6px}.header-left .btn-icon:hover,.header-right .btn-icon:hover{background:var(--gray-100)}body.dark-mode .header-left .btn-icon,body.dark-mode .header-right .btn-icon{background:0 0;color:#e4e6eb}body.dark-mode .header-left .btn-icon:hover,body.dark-mode .header-right .btn-icon:hover{background:var(--gray-700);color:var(--primary)}.header-title{font-size:1.125rem;font-weight:600;color:var(--primary);margin-left:8px;white-space:nowrap}@media (max-width:360px){.header-title{font-size:1rem}.header-left .btn-icon,.header-right .btn-icon{width:32px;height:32px;padding:5px}.app-header{padding-left:8px;padding-right:8px;gap:4px}}.logo img{width:36px;height:36px;border-radius:8px;background:#fff}.btn-back{width:40px;height:40px;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.btn-back,.btn-icon{background:0 0;border-radius:var(--radius-sm);color:var(--gray-700)}.btn-back:active,.btn-icon:active{background:var(--gray-100)}.btn-back.hidden,.cart-badge.hidden,.notification-badge.hidden,.sync-badge.hidden{display:none}#nav-shop,.btn-cart,.btn-notification{position:relative}.cart-badge,.notification-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center}.cart-badge{background:var(--primary)}.sync-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--warning);color:var(--gray-900);font-size:10px;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center;animation:syncPulse 2s ease-in-out infinite}.dashboard-cart-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px;color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s}.dashboard-cart-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}#btn-theme-toggle .icon-moon,.dark-mode #btn-theme-toggle .icon-sun,.dashboard-cart-card.hidden{display:none}.dashboard-cart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dashboard-cart-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1rem}.dashboard-cart-badge{background:#fff;color:var(--primary);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:12px}.dashboard-cart-items{font-size:.85rem;opacity:.9;margin-bottom:12px}.dashboard-cart-footer{display:flex;align-items:center;justify-content:space-between}.dashboard-cart-total{font-size:1.25rem;font-weight:700}.dashboard-cart-btn{background:#fff;color:var(--primary);border:0;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s}.dashboard-cart-btn:hover{background:var(--gray-100)}.dark-mode #btn-theme-toggle .icon-moon,.view.active{display:block}@media (prefers-color-scheme:dark){body:not(.light-mode) #btn-theme-toggle .icon-sun{display:none}body:not(.light-mode) #btn-theme-toggle .icon-moon{display:block}}main.app-content{flex:1;margin-top:calc(var(--header-height) + var(--safe-area-top))!important;padding-top:0!important;margin-bottom:calc(var(--nav-height) + var(--safe-area-bottom))!important;padding-left:16px;padding-right:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}@supports not (margin-top:calc(1px + env(safe-area-inset-top,0px))){main.app-content{margin-top:48px!important}}.view{display:none;min-height:calc(100vh - var(--header-height) - var(--nav-height) - var(--safe-area-top) - var(--safe-area-bottom));padding:12px 10px;animation:viewSlideIn .4s var(--ease-out);overflow-x:hidden}.view.active{contain:layout style}.view.active>:nth-child(1){animation-delay:0ms}.view.active>:nth-child(2){animation-delay:40ms}.view.active>:nth-child(3){animation-delay:80ms}.view.active>:nth-child(4){animation-delay:120ms}.view.active>:nth-child(5){animation-delay:160ms}.view.active>*{animation:itemFadeIn .35s var(--ease-out) both}.loading-view.active{display:flex;align-items:center;justify-content:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(100deg,var(--gray-100) 30%,var(--gray-200) 50%,var(--gray-100) 70%);background-size:300% 100%;animation:skeleton-shimmer 2s var(--ease-in-out) infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:100%}.skeleton-title{height:20px;width:60%;margin-bottom:12px}.skeleton-service{display:flex;gap:12px;padding:16px;background:var(--white);border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow-sm)}.skeleton-service-icon{width:50px;height:50px;border-radius:var(--radius-sm)}.skeleton-service-info{flex:1}.skeleton-appointment{display:flex;gap:12px;padding:14px;background:var(--white);border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow-sm)}.skeleton-appointment-date{width:50px;height:60px;border-radius:var(--radius-sm)}.skeleton-appointment-info{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-resource{display:flex;gap:12px;padding:16px;background:var(--card-bg);border-radius:var(--radius);margin-bottom:12px}.skeleton-resource-icon{width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0}.skeleton-resource-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-journal-entry{background:var(--card-bg);border-radius:var(--radius);padding:16px;margin-bottom:12px}.skeleton-journal-header{width:60%;height:24px;border-radius:var(--radius-sm);margin-bottom:12px}.skeleton-journal-content{display:flex;flex-direction:column;gap:8px}.skeleton-dashboard-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;margin-bottom:16px}.skeleton-dashboard-header{display:flex;justify-content:space-between;margin-bottom:16px}.skeleton-dashboard-title{width:40%;height:20px;border-radius:var(--radius-sm)}.skeleton-dashboard-badge{width:24px;height:24px;border-radius:50%}.skeleton-dashboard-content{display:flex;flex-direction:column;gap:12px}.skeleton-dashboard-row{display:flex;gap:12px;align-items:center}.skeleton-dashboard-icon{width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.skeleton-dashboard-info{flex:1;display:flex;flex-direction:column;gap:6px}.app-nav,.nav-item{display:flex;align-items:center}.app-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--white);border-top:1px solid var(--gray-200);justify-content:space-around;z-index:100}.app-nav.hidden,.nav-item-primary span{display:none}.nav-item{flex:1;flex-direction:column;justify-content:center;gap:4px;padding:8px 4px;border:0;background:0 0;color:var(--gray-500);font-size:.625rem;font-weight:500;cursor:pointer;transition:color .2s var(--ease-out),transform .15s var(--ease-spring);-webkit-tap-highlight-color:transparent}.nav-item:active{transform:scale(.9)}.nav-item svg{width:24px;height:24px;transition:transform .2s var(--ease-spring)}.nav-item.active svg{transform:scale(1.1)}.auth-links a,.nav-item.active{color:var(--primary)}.nav-item-primary{background:var(--primary);color:var(--white)!important;border-radius:50%;width:56px;height:56px;margin:-20px 8px 0;box-shadow:0 4px 12px rgba(88,172,159,.4);flex:0 0 auto}.nav-item-primary svg{width:28px;height:28px}.nav-cart-badge{position:absolute;top:4px;right:50%;transform:translateX(16px);min-width:20px;height:20px;padding:0;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.nav-cart-badge.hidden{display:none}.auth-container{max-width:400px;margin:0 auto;padding:8px 0}.auth-header{text-align:center;margin-bottom:12px}.auth-logo{width:56px;height:56px;aspect-ratio:1;margin-bottom:6px;border-radius:14px;background:var(--gray-100)}@media (max-height:650px){.auth-container{padding:4px 0}.auth-form .form-group,.auth-header{margin-bottom:8px}.auth-logo{width:48px;height:48px;margin-bottom:4px;border-radius:12px}.auth-brand{font-size:1.25rem}.auth-author{font-size:.75rem;margin-bottom:8px}.auth-tagline{display:none}.auth-form{padding:12px}.auth-form .form-group label{margin-bottom:2px;font-size:.8rem}.auth-form input{padding:8px 10px}.auth-links{margin-top:8px;font-size:.8rem}.auth-divider{margin:8px 0}.btn-guest-booking{padding:8px 14px;font-size:.85rem}.form-check label{font-size:.8rem}}.auth-brand{font-size:1.5rem;font-weight:700;color:var(--primary);margin:0 0 2px}.auth-author{display:block;font-size:.8rem;color:var(--gray-500);margin-bottom:8px}.auth-header h2{font-size:1.35rem;color:var(--gray-900);margin-bottom:6px}.auth-header p{color:var(--gray-600);font-size:.9rem}.auth-form{background:var(--white);padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.auth-links{text-align:center;margin-top:12px;font-size:.85rem}.auth-links a{text-decoration:none}.auth-divider,.auth-links .separator{color:var(--gray-400);margin:0 8px}.auth-divider{display:flex;align-items:center;margin:12px 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.auth-divider::after,.auth-divider::before{content:"";flex:1;height:1px;background:var(--gray-200)}.auth-divider span{padding:0 12px}.auth-header-compact{display:flex;align-items:center;gap:12px;text-align:left;margin-bottom:20px}.auth-header-compact .auth-logo{margin:0}.auth-header-compact .auth-header-text{display:flex;flex-direction:column}.auth-header-compact .auth-brand{margin:0;font-size:1.4rem}.auth-header-compact .auth-author{margin:0;opacity:.7}.auth-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.btn-secondary-action{flex:1 1 calc(50% - 4px);min-width:130px;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px 14px;font-size:.85rem!important;border-style:dashed;white-space:nowrap}.btn-secondary-action svg{flex-shrink:0}.btn-secondary-action.hidden{display:none}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-700);margin-bottom:4px}.form-group label small{font-weight:400;color:var(--gray-500)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;color:var(--gray-800);background:var(--white);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.notes-card textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group input:disabled,.form-group select:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.form-group input[type=date]{max-width:200px;-webkit-appearance:none}.form-group small{display:block;margin-top:4px;font-size:.75rem;color:var(--gray-500)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-check label{display:flex;align-items:center;gap:8px;cursor:pointer}#admin-note-form .checkbox-group input[type=checkbox],.form-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.form-group-checkbox{margin-top:8px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.85rem;line-height:1.4}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--primary);cursor:pointer}.checkbox-text{color:var(--gray-600)}.checkbox-text a,.cookie-banner-text a{color:var(--primary);text-decoration:underline}.checkbox-text a:hover{color:var(--primary-dark)}.form-error,.form-message,.form-success{padding:12px;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:16px}.form-error{background:#fee;border:1px solid #fcc;color:var(--danger)}.form-message,.form-success{background:#e6ffed;border:1px solid #b7f5c4;color:var(--success)}.form-section{margin-bottom:32px}.btn,.form-section h3{font-size:1rem;font-weight:600}.form-section h3{color:var(--gray-800);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-family:inherit;border:0;border-radius:var(--radius);cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),background .2s ease,box-shadow .2s ease,opacity .2s ease;text-decoration:none;-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white);box-shadow:0 2px 8px rgba(88,172,159,.3)}.btn-primary:active:not(:disabled){background:var(--primary-dark);box-shadow:0 1px 4px rgba(88,172,159,.2)}.btn-outline{background:0 0;border:2px solid var(--primary);color:var(--primary)}.btn-outline:active:not(:disabled){background:var(--primary-light)}.btn-outline-danger{background:0 0;border:2px solid var(--danger);color:var(--danger)}.btn-outline-danger:hover:not(:disabled){background:rgba(220,53,69,.1)}.btn-outline-danger:active:not(:disabled){background:rgba(220,53,69,.2)}.btn-danger{background:var(--danger);color:var(--white);box-shadow:0 2px 8px rgba(220,53,69,.3)}.btn-danger:active:not(:disabled){box-shadow:0 1px 4px rgba(220,53,69,.2)}.btn-text{background:0 0;color:var(--gray-600);box-shadow:none;padding:10px 12px}.btn-text:hover{background:var(--gray-100)}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover{background:rgba(220,53,69,.1)}.btn-block{width:100%}.notes-card{background:var(--white);border-radius:var(--radius);padding:16px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.notes-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--gray-700);font-weight:500;font-size:.9rem}.notes-card-header svg{color:var(--gray-400)}.gift-card-input-wrapper input,.notes-card textarea{padding:12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);transition:var(--transition)}.notes-card textarea{width:100%;font-family:inherit;font-size:.9rem;resize:none}.gift-card-section{margin-bottom:20px}.gift-card-input-wrapper{display:flex;gap:10px;align-items:center}.gift-card-input-wrapper input{flex:1;font-family:monospace;font-size:1rem;letter-spacing:1px}.collapsible-content textarea:focus,.gift-card-input-wrapper input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.gift-card-input-wrapper .btn-small{padding:12px 16px;background:var(--primary);color:#fff;border:0;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:var(--transition)}.gift-card-input-wrapper .btn-small:hover{background:var(--primary-dark)}.gift-card-input-wrapper .btn-small:disabled{opacity:.6;cursor:not-allowed}.gift-card-status{margin-top:12px;padding:12px;border-radius:var(--radius-sm);font-size:.9rem}.gift-card-status.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.gift-card-status.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.gift-card-status .gift-card-info{display:flex;justify-content:space-between;align-items:center}.gift-card-status .gift-card-value{font-weight:600;font-size:1.1rem}.collapsible-section{background:var(--white);border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden}.collapsible-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:0 0;border:0;color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:var(--transition)}.collapsible-toggle:hover{background:var(--gray-100)}.collapsible-toggle span:first-child,.collapsible-toggle svg:first-child{flex-shrink:0}.collapsible-toggle .chevron{margin-left:auto;transition:transform .2s ease;color:var(--gray-400)}.collapsible-section.expanded .collapsible-toggle .chevron{transform:rotate(180deg)}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;padding:0 16px}.collapsible-section.expanded .collapsible-content{max-height:200px;padding:0 16px 16px}.collapsible-content textarea{width:100%;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-family:inherit;resize:none;transition:var(--transition)}.collapsible-content .gift-card-input-wrapper{margin-bottom:8px}.collapsible-content .gift-card-input-wrapper input,.collapsible-content textarea{padding:10px 12px;font-size:.875rem}.collapsible-content .gift-card-input-wrapper .btn-small{padding:10px 14px;font-size:.875rem}body.dark-mode .collapsible-section{background:var(--card-bg)}body.dark-mode .collapsible-toggle{color:var(--gray-200)}body.dark-mode .collapsible-toggle:hover{background:var(--gray-700)}body.dark-mode .collapsible-content textarea{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-200)}.confirm-action{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 80%,transparent);margin:0-16px -16px;padding:20px 16px 16px}.btn-confirm,.btn-confirm-icon{display:flex;align-items:center;justify-content:center}.btn-confirm{width:100%;gap:12px;padding:18px 24px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);border:0;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(88,172,159,.4)}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(88,172,159,.5)}.btn-confirm:active{transform:translateY(0);box-shadow:0 2px 10px rgba(88,172,159,.3)}.btn-confirm-icon{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:50%}.btn-confirm-icon svg{width:18px;height:18px}.btn-confirm:disabled{opacity:.7;cursor:not-allowed;transform:none}.appearance-option{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.btn-loading{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.dashboard{padding-bottom:20px}.promo-banner{margin:16px 0;position:relative;background:linear-gradient(135deg,#ff6b6b 0,#ee5a5a 50%,#ff8e53 100%);border-radius:var(--radius);box-shadow:0 4px 20px rgba(255,107,107,.4);overflow:hidden;animation:promo-glow 4s ease-in-out infinite}.promo-banner-btn{display:flex;align-items:center;gap:12px;width:100%;padding:16px;background:0 0;border:0;cursor:pointer;text-align:left;color:#fff}.promo-badge{display:inline-block;position:absolute;top:-2px;right:12px;padding:4px 12px;background:gold;color:#333;font-size:.65rem;font-weight:700;letter-spacing:.5px;border-radius:0 0 8px 8px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.promo-content{flex:1;display:flex;flex-direction:column;gap:4px}.promo-title{font-size:1.1rem;font-weight:700;color:#fff}.promo-text{font-size:.8rem;color:rgba(255,255,255,.9);line-height:1.4}.promo-arrow{font-size:1.4rem;font-weight:700;opacity:.8;transition:transform .2s ease}.promo-banner-btn:hover .promo-arrow{transform:translateX(4px)}.promo-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:rgba(255,255,255,.2);border:0;border-radius:50%;font-size:14px;color:#fff;cursor:pointer;transition:background .2s ease;z-index:2}.promo-close:hover{background:rgba(255,255,255,.3)}.promo-banner.dismissed,.promo-banner.submitted .promo-text{display:none}.promo-banner.submitted{background:linear-gradient(135deg,#28a745 0,#1e7e34 100%);animation:none}.promo-banner.submitted .promo-title::before{content:"✓ "}.promo-banner.submitted .promo-content::after{content:"Merci ! Votre remise sera appliquée automatiquement.";font-size:.8rem;color:rgba(255,255,255,.9)}.promo-modal{max-width:420px}.promo-modal-header{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);color:#fff;border-bottom:none}#view-dashboard.weather-overcast .next-apt-weather .weather-label,#view-dashboard.weather-overcast .next-apt-weather .weather-temp,.promo-modal-header .modal-title,body.dark-mode .quick-action-card.primary .quick-action-card-icon,body.dark-mode .quick-action-card.primary .quick-action-card-title{color:#fff}.promo-modal-header .btn-close{background:rgba(0,0,0,.2);color:#fff}.promo-modal-header .btn-close:hover{background:rgba(0,0,0,.3);color:#fff}.promo-modal-body{padding:0;max-height:65vh;overflow-y:auto}.promo-hero{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);color:#fff;text-align:center;padding:24px 16px}.promo-discount{font-size:3rem;font-weight:800;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.2)}.promo-subtitle{font-size:1rem;opacity:.9;margin-top:4px}.promo-intro{padding:16px;background:#fff5f5;border-bottom:1px solid #ffe0e0}.promo-intro p{margin:0 0 8px;font-size:.9rem;color:var(--gray-700)}.promo-intro p:last-child{margin-bottom:0}.promo-highlight{font-size:1rem!important;font-weight:600;color:#ff6b6b!important;text-align:center;margin:12px 0!important}.promo-section{padding:16px;border-bottom:1px solid var(--gray-200)}.promo-section:last-of-type{border-bottom:none}.promo-section h4{font-size:.95rem;font-weight:600;color:var(--gray-800);margin:0 0 12px}.promo-section h5{font-size:.85rem;font-weight:600;color:var(--gray-700);margin:0 0 4px}.promo-section p{font-size:.85rem;color:var(--gray-600);margin:0}.promo-steps{display:flex;flex-direction:column;gap:10px}.promo-step{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f0fdf4;border-radius:8px;border-left:3px solid #22c55e}.promo-step-icon{font-size:1rem;flex-shrink:0}.promo-step-text{font-size:.85rem;color:var(--gray-700)}.promo-faq{display:flex;flex-direction:column;gap:12px}.promo-faq-item{padding:12px;background:var(--gray-100);border-radius:8px}.promo-conditions{background:#fff8e5}.promo-conditions h5{color:#92400e}.promo-conditions ul{margin:0;padding-left:20px}.promo-conditions li{font-size:.8rem;color:#92400e;margin-bottom:4px}.promo-benefits-list{margin:0;padding:0;list-style:none}.promo-benefits-list li{font-size:.85rem;color:var(--gray-700);padding:6px 0;border-bottom:1px solid var(--gray-200)}.promo-benefits-list li:last-child,.pwa-ios-steps li:last-child{border-bottom:none}.promo-footer-text{padding:16px;text-align:center;background:#fff5f5}.promo-footer-text p{font-size:.85rem;color:var(--gray-600);margin:0 0 8px}.promo-footer-text p:last-child{margin:0;font-weight:500;color:var(--gray-700)}.promo-modal-footer{border-top:1px solid var(--gray-200);gap:12px}.promo-modal-footer .btn-primary{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);border:0;flex:1;width:100%}.promo-modal-footer .btn-primary:hover{background:linear-gradient(135deg,#ee5a5a 0,#e67d48 100%)}.dashboard-feedback{margin-top:32px;text-align:center;position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;gap:8px}.dashboard-feedback-btn,.feedback-close{align-items:center;cursor:pointer;transition:all .2s ease}.dashboard-feedback-btn{display:inline-flex;gap:8px;padding:10px 16px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:20px;font-size:.85rem;color:var(--gray-600)}.dashboard-feedback-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.dashboard-feedback-btn .feedback-icon{font-size:1rem}.feedback-close{display:none;justify-content:center;width:24px;height:24px;padding:0;background:0 0;border:1px solid #28a745;border-radius:50%;font-size:16px;line-height:1;color:#28a745;flex-shrink:0}.feedback-close:hover{background:#28a745;color:#fff}.dashboard-feedback.submitted .feedback-close{display:flex}.dashboard-feedback.submitted .dashboard-feedback-btn{background:#d4edda;border-color:#28a745;color:#28a745;pointer-events:none;cursor:default}.dashboard-feedback.dismissed,.dashboard-feedback.submitted .feedback-text{display:none}.dashboard-feedback.submitted .dashboard-feedback-btn::after{content:"Merci pour votre avis !"}.dashboard-version{position:fixed;bottom:65px;right:12px;font-size:.55rem;color:var(--gray-500);opacity:0;pointer-events:none;transition:opacity .3s;z-index:10}#view-dashboard.active .dashboard-version,.habit-slot-time svg{opacity:.6}.welcome-card{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);padding:12px 16px;border-radius:var(--radius-lg);display:flex;align-items:center;gap:12px;margin-bottom:16px;box-shadow:0 4px 20px rgba(88,172,159,.25)}.welcome-content{display:flex;align-items:baseline;gap:6px;flex:1}.welcome-greeting{font-size:1.1rem;font-weight:400}.next-appointment-card{background:var(--white);border-radius:var(--radius-lg);padding:12px;margin-bottom:12px;box-shadow:var(--shadow-sm);position:relative}.next-apt-empty{display:flex;align-items:center;gap:12px}.next-apt-empty-icon{font-size:32px}.next-apt-empty-text{flex:1;display:flex;flex-direction:column}.next-apt-empty-title{font-weight:600;color:var(--gray-800);font-size:.95rem}.next-apt-empty-subtitle{font-size:.8rem;color:var(--gray-500)}.btn-sm{padding:8px 16px;font-size:.85rem}.next-apt-content{display:block;padding-right:90px}.next-apt-right{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.next-apt-countdown{text-align:center;padding:8px 12px;background:var(--primary-light);border-radius:var(--radius)}.next-apt-countdown-value{font-size:1.2rem;font-weight:700;color:var(--primary);display:block;white-space:nowrap;line-height:1.2}.next-apt-countdown-label{font-size:.6rem;color:var(--primary);text-transform:uppercase;letter-spacing:.3px}.next-apt-weather{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:8px;border-radius:var(--radius);background:var(--gray-50)}.next-apt-weather .weather-icon{font-size:1.5rem;line-height:1}.next-apt-weather .weather-temp{font-size:.85rem;font-weight:600;color:var(--gray-700)}.next-apt-weather .weather-label{font-size:.6rem;color:var(--gray-500);text-transform:uppercase}#view-dashboard.weather-sunny{background:linear-gradient(180deg,#fff9e6 0,#fff 30%)}#view-dashboard.weather-sunny .next-apt-weather{background:linear-gradient(135deg,#fff3cd 0,#ffe69c 100%)}#view-dashboard.weather-cloudy{background:linear-gradient(180deg,#f0f4f8 0,#fff 30%)}#view-dashboard.weather-cloudy .next-apt-weather{background:linear-gradient(135deg,#e2e8f0 0,#cbd5e1 100%)}#view-dashboard.weather-overcast{background:linear-gradient(180deg,#e2e8f0 0,#fff 30%)}#view-dashboard.weather-overcast .next-apt-weather{background:linear-gradient(135deg,#cbd5e1 0,#94a3b8 100%);color:#fff}#view-dashboard.weather-rainy{background:linear-gradient(180deg,#e0f2fe 0,#fff 30%)}#view-dashboard.weather-rainy .next-apt-weather{background:linear-gradient(135deg,#bae6fd 0,#7dd3fc 100%)}#view-dashboard.weather-stormy{background:linear-gradient(180deg,#ddd6fe 0,#fff 30%)}#view-dashboard.weather-stormy .next-apt-weather{background:linear-gradient(135deg,#c4b5fd 0,#a78bfa 100%)}#view-dashboard.weather-snowy{background:linear-gradient(180deg,#f0f9ff 0,#fff 30%)}#view-dashboard.weather-snowy .next-apt-weather{background:linear-gradient(135deg,#e0f2fe 0,#bae6fd 100%)}#view-dashboard.weather-fog{background:linear-gradient(180deg,#f1f5f9 0,#fff 30%)}#view-dashboard.weather-fog .next-apt-weather{background:linear-gradient(135deg,#e2e8f0 0,#cbd5e1 100%)}.next-apt-details{flex:1;min-width:0}.offline-notice{font-size:.75rem;color:var(--warning);margin-top:8px;padding:6px 10px;background:rgba(255,193,7,.1);border-radius:var(--radius-sm);display:flex;align-items:center;gap:6px}.offline-notice::before{content:"⚠️";font-size:.875rem}.next-apt-service{font-weight:600;font-size:.9rem;color:var(--gray-800);margin-bottom:2px}.next-apt-datetime{font-size:.8rem;color:var(--gray-600)}.next-apt-location{margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.next-apt-address{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--gray-600);width:100%}.next-apt-address .location-icon{font-size:.9rem}.next-apt-nav-links{display:flex;align-items:center;gap:6px}.nav-link,.quick-action span{font-size:.75rem;font-weight:500}.nav-link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius);text-decoration:none;transition:all .2s}.nav-link-gmaps{background:#e8f5e9;color:#1b5e20}.nav-link-gmaps:hover{background:#c8e6c9}.nav-link-waze{background:#e3f2fd;color:#0d47a1}.nav-link-waze:hover{background:#bbdefb}.eta-enable-btn,.next-apt-eta{align-items:center;font-size:.75rem;color:var(--gray-600)}.next-apt-eta{display:flex;gap:4px}.next-apt-eta .eta-icon{font-size:.9rem}.next-apt-eta .eta-value{font-weight:600;color:var(--primary)}.eta-enable-btn{display:inline-flex;gap:6px;padding:6px 12px;background:var(--gray-100);border:1px dashed var(--gray-300);border-radius:var(--radius);cursor:pointer;transition:all .2s}.eta-enable-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.next-apt-actions{display:flex;gap:4px}.next-apt-actions .btn-icon{width:32px;height:32px;border-radius:6px;background:var(--gray-100);color:var(--gray-600);transition:all .2s ease}.next-apt-actions .btn-icon svg{width:16px;height:16px}.next-apt-actions .btn-icon:hover{background:var(--gray-200);color:var(--gray-800)}.next-apt-actions .btn-cancel-apt:hover{background:rgba(239,68,68,.1);color:#ef4444}.habit-card{margin-bottom:20px}.habit-header{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.habit-title{font-weight:600;font-size:.9rem;color:var(--gray-800)}.habit-subtitle{font-size:.75rem;color:var(--gray-500)}.habit-slot-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:stretch;overflow:hidden}.habit-days-column,.habit-slot-date{color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.habit-days-column{min-width:60px;padding:10px 8px;background:linear-gradient(135deg,var(--secondary) 0%,#e5a600 100%)}.habit-days-column .habit-days-num{font-size:1.6rem;font-weight:800;line-height:1}.habit-days-column .habit-days-label{font-size:.6rem;font-weight:600;text-transform:uppercase;opacity:.9;margin-top:2px}.habit-slot-date{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:12px 14px;min-width:70px}.habit-slot-weekday{font-size:.7rem;text-transform:uppercase;opacity:.9}.habit-slot-day{font-size:1.5rem;font-weight:700;line-height:1.1}.habit-slot-month{font-size:.7rem;opacity:.9}.habit-slot-info{flex:1;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:4px}.habit-slot-service{font-weight:600;font-size:.85rem;color:var(--gray-800)}.habit-slot-time{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--gray-600)}.habit-slot-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.habit-slot-delay{background:var(--primary-light);color:var(--primary);font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px}.habit-slot-badge{font-size:.65rem;color:var(--gray-500)}.habit-slot-book{background:var(--primary);color:#fff;border:0;padding:0 20px;font-weight:600;font-size:.8rem;cursor:pointer;transition:background .2s}.habit-slot-book:hover{background:var(--primary-dark)}.habit-alts-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--gray-200)}.habit-alts-header{font-size:.8rem;font-weight:600;color:var(--gray-600);margin-bottom:10px;display:flex;align-items:center;gap:6px}.habit-alts-header::before{content:"📅";font-size:.9rem}.habit-alts-container{display:flex;flex-direction:column;gap:8px}.habit-alt-slot{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s;text-align:left}.habit-alt-slot:hover{border-color:var(--primary);background:var(--primary-light)}.habit-alt-days-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:50px;padding:6px 8px;background:linear-gradient(135deg,var(--secondary) 0%,#e5a600 100%);border-radius:10px;color:#fff}.habit-alt-days-num{font-size:1.4rem;font-weight:800;line-height:1}.habit-alt-days-label{font-size:.6rem;font-weight:500;text-transform:uppercase;opacity:.9}.habit-alt-details{flex:1;display:flex;flex-direction:column;gap:2px}.habit-alt-date{font-weight:600;font-size:.85rem;color:var(--gray-800)}.habit-alt-badge,.habit-alt-time{font-size:.75rem;color:var(--gray-500)}.habit-alt-badge{font-size:.6rem;background:var(--gray-100);padding:3px 6px;border-radius:8px;white-space:nowrap}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;background:var(--white);border:0;border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-out);text-decoration:none;-webkit-tap-highlight-color:transparent}.quick-action-card:active{transform:scale(.96)}.quick-action-card.primary{background:var(--primary)}.quick-action-card.primary .quick-action-card-icon{background:rgba(255,255,255,.2);color:var(--white)}.quick-action-card.primary .quick-action-card-title{color:var(--white)}.quick-action-card-icon{width:44px;height:44px;background:var(--primary-light);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.quick-action-card-title{font-size:.7rem;font-weight:600;color:var(--gray-700);text-align:center}.welcome-text{display:flex;flex-direction:column}.welcome-label{font-size:1.125rem;opacity:.9}.welcome-name{font-size:1.1rem;font-weight:600}.welcome-avatar{display:none;font-weight:700}.debug-weather-switcher{background:var(--gray-100);border-radius:var(--radius);padding:8px 12px;margin-bottom:16px;display:flex;align-items:center;gap:10px;border:1px dashed var(--gray-300)}.debug-weather-label{font-size:.7rem;color:var(--gray-500);font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.debug-weather-buttons{display:flex;gap:4px;flex-wrap:wrap}.debug-weather-btn{width:36px;height:36px;border:0;border-radius:var(--radius-sm);background:var(--white);font-size:1.1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.debug-weather-btn:hover{transform:scale(1.1)}.debug-weather-btn.active{background:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,.15)}.section{margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:1rem;font-weight:600;color:var(--gray-800)}.section-link{font-size:.875rem;color:var(--primary);text-decoration:none}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:var(--white);border:0;border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}.quick-action:active{transform:scale(.98);box-shadow:var(--shadow)}.quick-action-icon{width:48px;height:48px;background:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.quick-action span{color:var(--gray-700)}.appointments-list{display:flex;flex-direction:column;gap:12px}.appointment-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.appointment-card .appointment-content{display:flex;align-items:center;gap:12px;padding:16px;width:100%}.appointment-card:active{transform:scale(.98);box-shadow:var(--shadow)}.appointment-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--service-color, var(--primary));border-radius:var(--radius)0 0 var(--radius)}.appointment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:8px;background:var(--gray-100);border-radius:var(--radius-sm)}.appointment-weekday{font-size:.65rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.appointment-day{font-size:1.5rem;font-weight:700;color:var(--gray-900);line-height:1}.appointment-month{font-size:.75rem;color:var(--gray-600);text-transform:uppercase}.appointment-info{flex:1;min-width:0}.appointment-service{font-weight:600;color:var(--gray-900);margin-bottom:4px}.appointment-time{font-size:.875rem;color:var(--gray-600);display:flex;align-items:center;gap:4px}.appointment-time svg{width:14px;height:14px}.appointment-status{font-size:.75rem;padding:4px 8px;border-radius:20px;margin-top:8px;display:inline-block}.appointment-status.confirmed{background:var(--primary-light);color:var(--primary)}.appointment-status.cancelled{background:#fee;color:var(--danger)}.appointment-status.duo{background:linear-gradient(135deg,#fef3f2 0,#fef9f3 100%);color:#dc2626;border:1px solid #fecaca}.appointment-rescheduled-info{display:block;font-size:.75rem;color:var(--gray-500);font-style:italic;margin-top:4px}body.dark-mode .appointment-rescheduled-info{color:#8a8d91}.appointment-session-data{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--gray-200);align-items:center}.session-item{font-size:12px;padding:3px 8px;border-radius:12px;background:var(--gray-100);color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.session-item small{color:var(--gray-500);font-size:10px}.session-item.session-exercise{background:rgba(16,185,129,.1);color:#059669}.session-item.session-resource{background:rgba(59,130,246,.1);color:#2563eb}.session-link{font-size:11px;color:var(--primary);text-decoration:none;margin-left:auto;white-space:nowrap}.admin-contact-line a:hover,.session-link:hover{text-decoration:underline}body.dark-mode .appointment-session-data{border-top-color:var(--gray-700)}body.dark-mode .session-item{background:var(--gray-800);color:var(--gray-300)}body.dark-mode .session-item.session-exercise{background:rgba(16,185,129,.15);color:#34d399}body.dark-mode .session-item.session-resource{background:rgba(59,130,246,.15);color:#60a5fa}.btn-cancel{font-size:.75rem;padding:6px 12px;background:0 0;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer}.empty-state{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-state.small{padding:24px}.empty-state p,.tabs{margin-bottom:16px}.tabs{display:flex;background:var(--white);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow-sm)}.evolution-tabs,.resources-tabs{margin:0-10px 16px;padding:4px 10px;border-radius:0;box-shadow:none;border-bottom:1px solid var(--gray-200)}body.dark-mode .evolution-tabs,body.dark-mode .resources-tabs{background:var(--gray-900);border-bottom-color:var(--gray-700)}.tab{flex:1;padding:12px;border:0;background:0 0;font-size:.875rem;font-weight:500;color:var(--gray-600);border-radius:var(--radius-sm);cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.tab:active{transform:scale(.97)}.tab.active{background:var(--primary);color:var(--white);box-shadow:0 2px 8px rgba(88,172,159,.25)}.tab-badge{font-size:.75rem;background:var(--gray-200);color:var(--gray-700)}.tab.active .tab-badge{background:rgba(255,255,255,.25);color:var(--white)}.booking-wizard{max-width:500px;margin:0 auto}.wizard-progress{justify-content:center;margin-bottom:32px;padding:0 10px}.progress-step,.step-number,.wizard-progress{display:flex;align-items:center}.progress-step{flex-direction:column;gap:4px}.step-number{width:32px;height:32px;border-radius:50%;background:var(--gray-200);color:var(--gray-500);justify-content:center;font-weight:600;font-size:.875rem;transition:var(--transition)}.step-label{font-size:.625rem;color:var(--gray-500);text-transform:uppercase}.progress-step.active .step-number,.progress-step.completed:hover .step-number{background:var(--primary);color:var(--white)}.progress-step.active .step-label{color:var(--primary)}.progress-step.completed .step-number{background:var(--primary-light);color:var(--primary)}.progress-step.completed{cursor:pointer}.progress-step.completed:hover .step-number{transform:scale(1.1);box-shadow:0 2px 8px rgba(88,172,159,.4)}.progress-step.completed:hover .step-label{color:var(--primary)}.progress-step .step-number{transition:all .2s ease}.progress-line{flex:1;height:2px;background:var(--gray-200);margin:0 8px 18px}.wizard-step{display:none;animation:fadeIn .3s ease}.wizard-step.active{display:block}.wizard-step h2{font-size:1.1rem;color:var(--gray-900);margin-bottom:8px;text-align:center}.services-list{display:flex;flex-direction:column;gap:12px}.appointments-list .appointment-card,.services-list .service-card{animation:listItemIn .4s var(--ease-out) both}.appointments-list .appointment-card:nth-child(1),.services-list .service-card:nth-child(1){animation-delay:0ms}.appointments-list .appointment-card:nth-child(2),.services-list .service-card:nth-child(2){animation-delay:50ms}.appointments-list .appointment-card:nth-child(3),.services-list .service-card:nth-child(3){animation-delay:100ms}.appointments-list .appointment-card:nth-child(4),.services-list .service-card:nth-child(4){animation-delay:150ms}.appointments-list .appointment-card:nth-child(5),.services-list .service-card:nth-child(5){animation-delay:200ms}.appointments-list .appointment-card:nth-child(n+6),.services-list .service-card:nth-child(n+6){animation-delay:250ms}.services-offline-notice{background:linear-gradient(135deg,rgba(245,158,11,.1)0,rgba(217,119,6,.1) 100%);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:.875rem;color:#b45309}.services-offline-notice svg{flex-shrink:0;color:#f59e0b}body.dark-mode .services-offline-notice{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}body.dark-mode .services-offline-notice svg{color:#fbbf24}.service-card{background:var(--white);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.05);display:flex;align-items:stretch;position:relative;border-left:4px solid var(--primary)}.service-card:active{transform:scale(.98);box-shadow:0 1px 4px rgba(0,0,0,.08)}.service-card.selected{box-shadow:0 0 0 2px var(--service-color, var(--primary)),0 4px 12px rgba(0,0,0,.12)}.service-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin:16px 4px 16px 14px;align-self:flex-start}.service-icon,.service-icon-small{align-items:center;justify-content:center}.service-icon{width:36px;height:36px;display:flex;flex-shrink:0;margin:10px 4px 10px 12px}.service-icon svg{width:22px;height:22px}.service-icon-small{display:inline-flex;width:18px;height:18px;margin-right:6px;vertical-align:middle}.service-icon-small svg{width:16px;height:16px}.service-content{flex:1;padding:10px 14px 10px 10px;min-width:0;display:flex;flex-direction:column;gap:4px}.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.service-name{font-weight:600;font-size:.95rem;color:var(--gray-900);line-height:1.3;flex:1;min-width:0}.service-duration{font-size:.75rem;color:var(--gray-500);flex-shrink:0}.service-price{font-size:.9rem;font-weight:600;color:var(--gray-800);flex-shrink:0}.service-price-discounted{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.service-price-discounted .price-original{text-decoration:line-through;color:var(--gray-400);font-size:.8rem;font-weight:400}.service-price-discounted .price-final{font-weight:700}.service-price-discounted .discount-badge{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:10px;white-space:nowrap}.service-desc-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:.7rem;color:var(--primary);background:var(--primary-light);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.service-desc-toggle.open,.service-desc-toggle:active{background:var(--primary);color:var(--white)}.service-desc-toggle svg{width:10px;height:10px;transition:transform .2s ease}.service-desc-toggle.open svg{transform:rotate(180deg)}.service-description{font-size:.85rem;color:var(--gray-600);line-height:1.6;border-top:1px solid var(--gray-100);max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease,padding-top .3s ease;margin-top:0;padding-top:0;border-top:none}.service-description.show{max-height:300px;opacity:1;margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-100)}.service-description p{margin:0 0 8px}.service-description p:last-child{margin-bottom:0}.service-description b,.service-description strong{font-weight:600;color:var(--gray-700)}.service-description em,.service-description i{font-style:italic}.calendar-slots-info{font-size:.75rem;color:var(--primary);text-align:center;margin-bottom:8px;padding:4px 10px;background:var(--primary-light);border-radius:var(--radius);display:inline-block;width:100%}.calendar-slots-info.empty{color:var(--gray-500);background:var(--gray-100)}.calendar-slots-info.searching{color:var(--primary);background:var(--primary-light);animation:pulse 1.5s ease-in-out infinite}.calendar-container{background:var(--white);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-sm)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-title{font-weight:600;color:var(--gray-900);text-transform:capitalize}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:.7rem;font-weight:500;color:var(--gray-500);padding:4px 0}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.875rem;border:0;background:0 0;border-radius:50%;cursor:pointer;transition:transform .15s var(--ease-spring),background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out);color:var(--gray-700);position:relative;-webkit-tap-highlight-color:transparent}.calendar-day:active:not(:disabled){transform:scale(.9)}.calendar-day:disabled{color:var(--gray-300);cursor:not-allowed}.calendar-day.other-month{color:var(--gray-300)}.calendar-day.today{font-weight:700;color:var(--primary)}.calendar-day.available{background:var(--primary-light);color:var(--primary);font-weight:500}.calendar-day.available:active,.calendar-day.selected{background:var(--primary);color:var(--white)}.calendar-day.loading{background:var(--gray-100)}.calendar-day .slot-count{position:absolute;bottom:1px;right:1px;font-size:.55rem;background:#1e293b;color:#fff;min-width:14px;height:14px;padding:0 3px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.2)}.calendar-day.selected .slot-count{background:rgba(255,255,255,.3)}.selected-date-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);padding:10px 14px;border-radius:var(--radius);margin-bottom:12px;display:flex;align-items:center;gap:10px}.selected-date-header .date-icon{width:28px;height:28px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected-date-header .date-icon svg{width:16px;height:16px}.selected-date-header .date-text{font-size:.95rem;font-weight:600;text-transform:capitalize;flex:1}.selected-date-header .slots-count{font-size:.75rem;opacity:.9;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:10px}.time-period{margin-bottom:14px}.time-period:last-child{margin-bottom:0}.time-period-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--gray-200)}.time-period-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px}.time-period-icon.morning{background:linear-gradient(135deg,#ffe4b5,gold)}.time-period-icon.afternoon{background:linear-gradient(135deg,#87ceeb,#4682b4)}.time-period-icon.evening{background:linear-gradient(135deg,plum,#9370db)}.time-period-title{font-weight:600;color:var(--gray-800);font-size:.9rem}body.dark-mode .promo-section h5{color:var(--gray-200)}.time-period-count{margin-left:auto;font-size:.75rem;color:var(--gray-500);background:var(--gray-100);padding:2px 8px;border-radius:10px}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-slot{padding:16px 8px;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:transform .15s var(--ease-spring),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out);text-align:center;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.time-slot::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);transform:scaleX(0);transition:transform .2s ease}.time-slot:hover::before{transform:scaleX(1)}.time-slot:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(88,172,159,.15)}.time-slot .slot-time{font-size:1.1rem;font-weight:600;color:var(--gray-800);display:block}.time-slot .slot-end{font-size:.75rem;color:var(--gray-500);margin-top:2px;display:block}.time-slot.selected,.time-slot:active{border-color:var(--primary);background:var(--primary);transform:scale(.98);box-shadow:none}.time-slot.selected::before{transform:scaleX(1);background:rgba(255,255,255,.3)}.time-slot.selected .slot-end,.time-slot.selected .slot-time{color:var(--white)}.time-slot.selected::after{content:"✓";position:absolute;top:6px;right:6px;width:18px;height:18px;background:rgba(255,255,255,.3);border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;color:var(--white)}.no-slots-message{grid-column:1/-1;text-align:center;padding:40px 20px;background:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-200)}.no-slots-message .no-slots-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-slots-message h4{margin:0 0 8px;color:var(--gray-700)}.no-slots-message p{margin:0;color:var(--gray-500);font-size:.875rem}.booking-summary{background:var(--white);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;box-shadow:var(--shadow-sm);border-left:3px solid var(--service-color, var(--primary))}.summary-content{padding:12px 14px}.summary-row{display:flex;align-items:center;padding:6px 0;border-bottom:1px solid var(--gray-100)}.success-details .summary-row:last-child,.summary-row:last-child{border-bottom:none;padding-bottom:0}.success-details .summary-row:first-child,.summary-row:first-child{padding-top:0}.summary-row-icon{width:28px;height:28px;background:var(--gray-100);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0}.summary-row-icon svg{width:14px;height:14px;stroke:var(--gray-600)}.summary-row-content{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.summary-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.3px;color:var(--gray-500)}.summary-value{font-weight:600;color:var(--gray-900);font-size:.875rem}.summary-duration{font-weight:400;color:var(--gray-500);font-size:.8rem}.summary-footer{background:var(--gray-50);padding:10px 14px;border-top:1px solid var(--gray-100)}.summary-total{display:flex;justify-content:space-between;align-items:center}.summary-total-label{font-size:.875rem;color:var(--gray-600)}.summary-total-value{font-size:1.1rem;font-weight:700;color:var(--primary)}.summary-total-discounted{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-total-discounted .price-original{text-decoration:line-through;color:var(--gray-400);font-size:.9rem;font-weight:400}.summary-total-discounted .price-final{font-weight:700}.summary-total-discounted .discount-badge{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:12px;white-space:nowrap}.summary-payment-info{margin-top:10px;padding-top:10px;border-top:1px dashed var(--gray-200);font-size:.8rem;color:var(--gray-600);text-align:center}.summary-notice{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px;background:var(--primary-light);border-radius:var(--radius-sm);font-size:.8rem;color:var(--primary-dark)}.summary-notice svg{width:18px;height:18px;flex-shrink:0}.booking-success{text-align:center;padding:40px 20px}.success-icon{width:80px;height:80px;background:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--primary)}.booking-success h2{color:var(--gray-900);margin-bottom:8px}.booking-success p{color:var(--gray-600);margin-bottom:24px}.success-details{background:var(--gray-100);border-radius:var(--radius);padding:16px;margin-bottom:24px;text-align:left}.success-details .summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--gray-200)}.success-details .summary-label{font-size:.875rem;color:var(--gray-600);text-transform:none;letter-spacing:normal}.success-details .summary-value{font-weight:600;color:var(--gray-900);text-align:right}.success-actions{display:flex;flex-direction:column;gap:12px}.guest-account-hint{text-align:center;color:var(--gray-600);font-size:.9rem;margin-bottom:8px;font-style:italic}body.dark-mode .guest-account-hint{color:var(--gray-400)}.reschedule-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;text-align:center}.reschedule-warning p{margin:0;color:#856404;font-size:.9rem;font-weight:500}body.dark-mode .reschedule-warning{background:#332701;border-color:#665200}body.dark-mode .reschedule-warning p{color:#ffc107}.calendar-actions{margin:20px 0;padding:16px;background:var(--gray-50);border-radius:var(--radius)}.calendar-actions-label{font-size:.8rem;color:var(--gray-600);margin-bottom:12px}.calendar-buttons{display:flex;gap:10px;justify-content:center}.btn-calendar{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;text-decoration:none;transition:var(--transition)}.btn-apple,.btn-google{background:#fff;color:#4285f4;border:1px solid #4285f4}.btn-google:hover{background:#4285f4;color:#fff}.btn-apple{color:#333;border:1px solid #333}.btn-apple:hover{background:#333;color:#fff}.profile-page{max-width:500px;margin:0 auto}.profile-partner-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fef3f2 0,#fef9f3 100%);border:1px solid #fecaca;border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px}.profile-partner-icon{font-size:2rem;flex-shrink:0}.profile-partner-info{flex:1}.profile-partner-label{font-size:.75rem;color:#dc2626;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.profile-partner-name,.profile-section h3{font-size:1.1rem;font-weight:600;color:var(--gray-800)}.profile-partner-since{font-size:.8rem;color:var(--gray-500);margin-top:2px}.profile-form,.profile-section{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.profile-section h3{font-size:1rem;margin-bottom:16px}.danger-zone{border:1px solid var(--danger);border-left:4px solid var(--danger)}.profile-tabs{display:flex;background:var(--white);border-radius:var(--radius-lg);padding:4px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.profile-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:0 0;border:0;border-radius:var(--radius);cursor:pointer;transition:var(--transition);color:var(--gray-500)}.profile-tab svg{stroke:var(--gray-400)}.profile-tab span{font-size:.75rem;font-weight:500}.profile-tab.active,body.dark-mode .calendar-day.available:hover{background:var(--primary);color:var(--white)}.profile-tab.active svg{stroke:var(--white)}.profile-tab-content{display:none}.profile-tab-content.active{display:block}.settings-card{background:var(--white);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:12px}.settings-card.danger{border:1px solid var(--danger)}.settings-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--gray-100)}.settings-card-icon{font-size:20px}.settings-card-title{font-weight:600;color:var(--gray-800)}.settings-section-title{font-size:.85rem;font-weight:600;color:var(--gray-600);margin:20px 0 10px;padding:0}.settings-section-title:first-of-type{margin-top:0}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:16px;padding-bottom:calc(16px + var(--safe-area-bottom));animation:backdropFadeIn .3s var(--ease-out);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-overlay.hidden{display:none}.modal{background:var(--white);border-radius:var(--radius-lg) var(--radius-lg)0 0;width:100%;max-width:500px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideUp .4s var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.modal-title{font-size:1.125rem;font-weight:600}.btn-close,.modal-close{width:44px;height:44px;border:0;background:var(--gray-100);border-radius:50%;font-size:1.25rem;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .2s,color .2s}.btn-close:hover,.modal-close:hover{background:var(--gray-200);color:var(--gray-800)}.modal-body{padding:20px;overflow-y:auto;flex:1;min-height:0}.modal-footer{padding:16px 20px;border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:8px}.modal-footer .btn{flex:1;min-width:0;white-space:nowrap;font-size:.875rem;padding:10px 12px}@media (max-width:400px){.modal-footer{flex-direction:column;gap:8px}.modal-footer .btn{width:100%;flex:none}}.offline-banner{position:fixed;top:calc(var(--header-height) + var(--safe-area-top));left:0;right:0;background:linear-gradient(135deg,#f39c12 0,#e67e22 100%);justify-content:center;font-weight:500;z-index:150;box-shadow:0 2px 8px rgba(0,0,0,.15)}.cookie-banner.hidden,.toast.hidden{display:none}.app.is-offline .app-content{padding-top:calc(var(--header-height) + var(--safe-area-top) + 36px)}.toast{position:fixed;bottom:calc(var(--nav-height) + 20px + var(--safe-area-bottom));left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:var(--radius);font-size:.875rem;z-index:300;animation:toastIn .4s var(--ease-spring);box-shadow:0 8px 24px rgba(0,0,0,.2)}.toast,.toast-success{background:var(--gray-900);color:var(--white)}.toast-error{background:#dc3545;color:var(--white)}.notification-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.toggle-info{display:flex;flex-direction:column;gap:2px}.toggle-label{font-weight:500;color:var(--gray-900)}.toggle-description{font-size:.813rem;color:var(--gray-500)}.eta-status{margin-top:12px;padding:12px;background:var(--primary-light);border-radius:var(--radius-sm)}.eta-info{display:flex;justify-content:space-between;align-items:center}.eta-label{font-size:.85rem;color:var(--gray-600)}.eta-value{font-size:1rem;font-weight:600;color:var(--primary)}.settings-description{margin-top:8px;color:var(--gray-500)}.switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider,.slider:before{position:absolute;transition:.3s}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);border-radius:28px}.slider:before{content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translateX(22px)}input:disabled+.slider{opacity:.5;cursor:not-allowed}.notification-prefs{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.prefs-intro{font-size:13px;color:var(--text-secondary)}.pref-group,.prefs-intro{margin-bottom:16px}.pref-group-title{display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--text)}.pref-item{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;font-size:14px;color:var(--text-secondary)}.pref-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.pref-item span{flex:1}#btn-save-notif-prefs{margin-top:16px}#notif-prefs-success{margin-top:12px;text-align:center}.hidden{display:none!important}@media (min-width:768px){.app-content{padding:8px 24px}.view{padding:24px}.modal-overlay{align-items:center}.modal{border-radius:var(--radius-lg)}.quick-actions,.time-slots{grid-template-columns:repeat(4,1fr)}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--gray-200);box-shadow:0-4px 20px rgba(0,0,0,.1);padding:16px;padding-bottom:calc(16px + var(--safe-area-bottom));z-index:200;animation:slideUpBanner .4s var(--ease-out)}.cookie-banner-content{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.cookie-banner-text{flex:1}.cookie-banner-text strong{display:block;font-size:.9375rem;color:var(--gray-800);margin-bottom:4px}.cookie-banner-text p{font-size:.8125rem;color:var(--gray-600);margin:0;line-height:1.4}.cookie-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-btn{flex:1;min-width:100px;padding:10px 16px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s var(--ease-out);border:0}.cookie-btn-accept{background:var(--primary);color:#fff}.cookie-btn-accept:hover{background:var(--primary-dark)}.cookie-btn-decline{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.cookie-btn-decline:hover{background:var(--gray-200)}@media (min-width:600px){.cookie-banner-content{flex-direction:row;align-items:center}.cookie-banner-actions{flex-wrap:nowrap}.cookie-btn{flex:none}}body.dark-mode .cookie-banner{background:#18191a;border-top-color:#3d4149}body.dark-mode .cookie-banner-text strong{color:#e4e6eb}body.dark-mode .cookie-banner-text p{color:#b0b3b8}body.dark-mode .cookie-btn-decline{background:#2d3139;color:#e4e6eb;border-color:#3d4149}body.dark-mode .cookie-btn-decline:hover{background:#3d4149}.pwa-install-banner{position:fixed;bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 16px);left:16px;right:16px;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.15);padding:16px;z-index:150;animation:slideUpBanner .4s cubic-bezier(.34,1.56,.64,1)}.pwa-install-banner.hidden{display:none}.pwa-install-content{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pwa-install-icon{flex-shrink:0}.pwa-install-icon img{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.pwa-install-text{display:flex;flex-direction:column;gap:2px}.pwa-install-text strong,.pwa-ios-content h3{font-size:1rem;color:var(--gray-900)}.pwa-install-text span,.pwa-ios-content>p{font-size:.813rem;color:var(--gray-600)}.pwa-install-actions,.pwa-ios-steps li{display:flex;gap:12px}.pwa-install-btn,.pwa-install-dismiss{flex:1;padding:12px;border:0;font-size:.875rem;border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.pwa-install-dismiss{background:var(--gray-100);color:var(--gray-700);font-weight:500}.pwa-install-dismiss:active{background:var(--gray-200)}.pwa-install-btn{background:var(--primary);color:var(--white);font-weight:600}.pwa-install-btn:active{background:var(--primary-dark)}.pwa-ios-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}.pwa-ios-modal.hidden{display:none}.pwa-ios-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);animation:fadeIn .2s ease}.pwa-ios-content{position:relative;background:var(--white);border-radius:var(--radius-xl) var(--radius-xl)0 0;padding:24px;padding-bottom:calc(24px + var(--safe-area-bottom));width:100%;max-width:400px;text-align:center;animation:slideUp .3s ease}.pwa-ios-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:0;background:var(--gray-100);border-radius:50%;font-size:1.25rem;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center}.pwa-ios-icon{margin-bottom:16px}.pwa-ios-icon img{border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.pwa-ios-content h3{font-size:1.25rem;margin-bottom:8px}.pwa-ios-content>p{font-size:.875rem;margin-bottom:20px}.pwa-ios-steps{text-align:left;list-style:none;margin:0 0 24px;padding:0}.pwa-ios-steps li{align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--gray-200);font-size:.875rem;color:var(--gray-700)}.pull-to-refresh-indicator,.pwa-ios-step-icon{display:flex;align-items:center;justify-content:center}.pwa-ios-step-icon{flex-shrink:0;width:36px;height:36px;background:var(--primary-light);border-radius:50%;color:var(--primary)}.pull-to-refresh-indicator{position:absolute;top:-60px;left:0;right:0;flex-direction:column;gap:8px;padding:15px;opacity:0;transition:transform .2s ease,opacity .2s ease;z-index:10}.pull-spinner{width:24px;height:24px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;transition:transform .3s ease}.pull-to-refresh-indicator.ready .pull-spinner{transform:rotate(180deg)}.pull-to-refresh-indicator.refreshing .pull-spinner{animation:spin .8s linear infinite}.pull-text{font-size:12px;color:var(--gray-600)}.appointment-card.swipeable{position:relative;overflow:hidden}.swipe-action-delete{position:absolute;right:0;top:0;bottom:0;width:80px;background:var(--danger);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600;cursor:pointer;z-index:0}.swipe-action-delete svg{opacity:.9}.appointment-content{width:100%;background:var(--white);position:relative;z-index:1;transition:transform .3s ease}.appointment-card.swiped .appointment-content{transform:translateX(-80px)}.appointment-card.swiping .appointment-content{transform:translateX(var(--swipe-x, 0));transition:none}.char-counter{text-align:right;font-size:11px;color:var(--gray-500);margin-top:4px}.char-counter.warning{color:var(--warning)}.char-counter.danger{color:var(--danger)}.sticky-cta-container{position:sticky;bottom:0;background:linear-gradient(to top,var(--white) 70%,transparent);padding:20px 0 10px;margin-top:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.app-content{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}body.dark-mode{--primary:#6BC4B8;--primary-dark:#58AC9F;--primary-light:#1a3d38;--danger:#ff6b6b;--success:#51cf66;--warning:#fcc419;--dark:#e9ecef;--gray-900:#f8f9fa;--gray-800:#e9ecef;--gray-700:#dee2e6;--gray-600:#adb5bd;--gray-500:#868e96;--gray-400:#495057;--gray-300:#343a40;--gray-200:#212529;--gray-100:#1a1d21;--white:#121416;--bg:#0d0f10;--card-bg:#1a1d21;background:var(--bg);color:var(--gray-800)}body.dark-mode .app-header{background:var(--card-bg);border-bottom-color:var(--gray-300)}body.dark-mode .calendar-weekdays span,body.dark-mode .dashboard-version{color:var(--gray-600)}body.dark-mode .app-nav{background:var(--card-bg);border-top-color:var(--gray-300)}body.dark-mode .welcome-card{background:linear-gradient(135deg,var(--primary-dark),#3d8a7e)}body.dark-mode .next-appointment-card,body.dark-mode .quick-action-card{background:var(--card-bg)}body.dark-mode .quick-action-card.primary{background:var(--primary)}body.dark-mode .next-apt-empty-title,body.dark-mode .next-apt-service{color:var(--gray-800)}body.dark-mode .appointment-card,body.dark-mode .auth-form,body.dark-mode .booking-summary,body.dark-mode .calendar-container,body.dark-mode .modal,body.dark-mode .profile-form,body.dark-mode .profile-section,body.dark-mode .profile-tabs,body.dark-mode .quick-action,body.dark-mode .service-card,body.dark-mode .settings-card,body.dark-mode .tabs{background:var(--card-bg)}.dark-mode .success-details .summary-row,body.dark-mode .settings-card-header{border-bottom-color:var(--gray-200)}body.dark-mode .settings-card-title{color:#e9ecef}body.dark-mode .notification-blocked-warning{background:#4a3f00!important;border-left-color:#ffc107!important}body.dark-mode .notification-blocked-warning li,body.dark-mode .notification-blocked-warning ol,body.dark-mode .notification-blocked-warning p{color:#ffe066!important}body.dark-mode .notification-blocked-warning .settings-card-title{color:gold!important}body.dark-mode .checkbox-text{color:var(--gray-400)}body.dark-mode .checkbox-text a{color:var(--primary-light)}body.dark-mode .form-group input,body.dark-mode .form-group select,body.dark-mode .form-group textarea,body.dark-mode .notes-card textarea{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-800)}body.dark-mode .form-group input:focus,body.dark-mode .form-group select:focus,body.dark-mode .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}body.dark-mode .form-group small,body.dark-mode .form-hint{color:#8a8d91}body.dark-mode .btn-outline{border-color:var(--primary);color:var(--primary)}body.dark-mode .calendar-title{color:var(--gray-800)}body.dark-mode .calendar-day{color:var(--gray-800);background:var(--gray-100)}body.dark-mode .calendar-day:disabled{color:var(--gray-500);background:0 0}body.dark-mode .calendar-day.available{background:var(--primary-light);color:var(--primary)}body.dark-mode .calendar-day.today{color:var(--primary);background:var(--gray-100)}body.dark-mode .calendar-day.today.available{background:var(--primary-light)}body.dark-mode .calendar-day .slot-count{background:#f8fafc;color:#1e293b}body.dark-mode .time-slot{background:var(--card-bg);border-color:var(--gray-300)}body.dark-mode .time-slot .slot-time{color:var(--gray-800)}body.dark-mode .time-slot .slot-end{color:var(--gray-500)}body.dark-mode .time-slot:hover{border-color:var(--primary)}body.dark-mode .time-period-header{border-bottom-color:var(--gray-300)}body.dark-mode .no-slots-message h4,body.dark-mode .time-period-title{color:var(--gray-800)}body.dark-mode .time-period-count{background:var(--gray-200);color:var(--gray-600)}body.dark-mode .no-slots-message{background:var(--gray-100);border-color:var(--gray-300)}body.dark-mode .summary-ticket-edge::after,body.dark-mode .summary-ticket-edge::before{background:var(--bg)}body.dark-mode .summary-row-icon{background:var(--gray-200)}body.dark-mode .summary-row-icon svg{stroke:var(--gray-500)}body.dark-mode .summary-footer{background:var(--gray-100);border-top-color:var(--gray-200)}body.dark-mode .summary-notice{background:rgba(88,172,159,.15)}body.dark-mode .notes-card{background:var(--card-bg)}body.dark-mode .notes-card-header{color:var(--gray-800)}body.dark-mode .confirm-action{background:linear-gradient(to top,var(--bg) 80%,transparent)}.dark-mode .success-details .summary-label,body.dark-mode .empty-state{color:var(--gray-600)}body.dark-mode .section-title{color:var(--gray-800)}body.dark-mode #admin-note-modal .modal-overlay,body.dark-mode .modal-overlay{background:rgba(0,0,0,.7)}body.dark-mode .modal-title{color:#f7fafc}body.dark-mode .modal-body,body.dark-mode .modal-body label,body.dark-mode .modal-body p,body.dark-mode .modal-body span{color:#e2e8f0}body.dark-mode .modal-body strong{color:#fff}body.dark-mode .modal-body .text-muted{color:#a0aec0}body.dark-mode .modal-close{background:var(--gray-200);color:var(--gray-700)}body.dark-mode .modal-close:hover{background:var(--gray-300);color:var(--gray-900)}body.dark-mode .offline-banner{background:linear-gradient(135deg,#d68910 0,#b9770e 100%)}body.dark-mode .toast,body.dark-mode .toast-success{background:var(--gray-100);color:var(--gray-900)}body.dark-mode .toast-error{background:#dc3545;color:var(--white)}body.dark-mode .pwa-install-banner,body.dark-mode .pwa-ios-content{background:var(--card-bg)}body.dark-mode .pwa-install-dismiss{background:var(--gray-300);color:var(--gray-700)}body.dark-mode ::-webkit-scrollbar{width:8px}body.dark-mode ::-webkit-scrollbar-track{background:var(--gray-100)}body.dark-mode ::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}.dark-mode{--primary:#6BC4B8;--primary-dark:#58AC9F;--primary-light:#1a3d38;--bg:#0d0f10;--card-bg:#1a1d21;--gray-900:#f8f9fa;--gray-800:#e9ecef;--gray-100:#1a1d21;--gray-200:#2a2d31;--white:#121416}.dark-mode .success-details{background:var(--gray-100)}.dark-mode .success-details .summary-value{color:var(--gray-900)}.theme-picker{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.theme-color-option{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s;position:relative}.theme-color-option:hover{transform:scale(1.1)}.theme-color-option.active{border-color:var(--gray-900)}.theme-color-option.active::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.unverified-badge,.verified-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:12px;margin-left:8px}.verified-badge{color:var(--primary);background:var(--primary-light)}.verified-badge svg{width:12px;height:12px}.unverified-badge{color:var(--warning);background:#fff3cd;cursor:pointer}body.dark-mode .cancellation-policy,body.dark-mode .unverified-badge{background:rgba(255,193,7,.15);color:#ffc107}.loyalty-card{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border-radius:var(--radius-lg);padding:20px;color:#fff;margin-bottom:20px}.loyalty-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.loyalty-title{font-size:14px;opacity:.9}.loyalty-points{font-size:32px;font-weight:700}.loyalty-points-label{font-size:12px;opacity:.8}.loyalty-level{font-size:12px;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:20px}.loyalty-progress{height:6px;background:rgba(255,255,255,.3);border-radius:3px;overflow:hidden;margin-bottom:8px}.loyalty-progress-bar{height:100%;background:#fff;border-radius:3px;transition:width .5s ease}.loyalty-next{font-size:11px;opacity:.8}.cancellation-policy{background:#fff3cd;border:1px solid #ffeeba;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:13px;color:#856404}.cancellation-policy-icon{margin-right:8px}.cancellation-policy a{color:#533f03;text-decoration:underline}body.dark-mode .cancellation-policy{border-color:rgba(255,193,7,.3)}body.dark-mode .cancellation-policy a{color:#ffd54f}.smart-suggestion{display:flex;align-items:center;gap:12px;background:var(--primary-light);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;cursor:pointer;transition:var(--transition)}.smart-suggestion:hover{background:rgba(88,172,159,.2)}.smart-suggestion-icon{width:40px;height:40px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.smart-suggestion-text{flex:1}.smart-suggestion-title{font-weight:600;color:var(--gray-900);font-size:14px}.smart-suggestion-desc{font-size:12px;color:var(--gray-600)}.recommended-badge,.smart-suggestion-action{color:var(--primary);font-size:20px}.recommended-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;background:var(--primary-light);padding:2px 6px;border-radius:4px;margin-left:6px}.time-slot.recommended{border-color:var(--primary);position:relative}.time-slot.recommended::before{content:"⭐";position:absolute;top:-8px;right:-8px;font-size:14px}.time-slot.habit{border-color:#f59e0b;background:linear-gradient(180deg,#fef3c7 0%,var(--white) 100%)}.time-slot.habit:hover{border-color:#d97706}.time-slot.preferred{border-color:var(--primary);border-width:3px;animation:pulse-border 2s ease-in-out infinite}.slot-habit-badge{display:block;background:#f59e0b;color:#fff;font-size:.55rem;padding:2px 4px;border-radius:4px;font-weight:600;margin-top:4px}.time-slot.selected .slot-habit-badge{background:rgba(255,255,255,.3)}.rebooking-reminder{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#58ac9f,#4a9589);border-radius:var(--radius-lg);padding:16px;color:#fff;margin-bottom:20px}.rebooking-reminder-icon{font-size:32px}.rebooking-reminder-text{flex:1}.rebooking-reminder-title{font-weight:600;margin-bottom:4px}.rebooking-reminder-desc{font-size:13px;opacity:.9}.rebooking-reminder-btn{background:#fff;color:var(--primary);border:0;padding:10px 16px;border-radius:var(--radius);font-weight:600;font-size:13px;cursor:pointer;transition:var(--transition)}.rebooking-reminder-btn:active{transform:scale(.95)}.survey-modal{max-width:500px;max-height:90vh;overflow-y:auto;border-radius:20px;overflow:hidden}.survey-modal .modal-header{background:linear-gradient(135deg,#ff6b6b 0,#ee5a5a 50%,#ff8e53 100%);padding:20px 24px;position:relative;overflow:hidden}.survey-modal .modal-header::before{content:"";position:absolute;top:-50%;right:-20%;width:150px;height:150px;background:rgba(255,255,255,.1);border-radius:50%}.survey-modal .modal-header::after{content:"";position:absolute;bottom:-30%;left:-10%;width:100px;height:100px;background:rgba(255,255,255,.08);border-radius:50%}.survey-modal .modal-title{color:#fff!important;font-size:1.2rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.survey-modal .btn-close{color:#fff;opacity:.9}.survey-modal .btn-close:hover{opacity:1}.survey-intro{background:linear-gradient(135deg,#fff9f0 0,#fff5eb 100%);color:var(--gray-700);font-size:.95rem;margin:-16px -20px 20px;padding:16px 20px;text-align:center;border-bottom:1px solid rgba(255,107,107,.15)}.survey-intro strong{color:#ff6b6b}.survey-section{margin-bottom:24px}.survey-question label,.survey-section h4{font-size:.9rem;color:var(--gray-700);font-weight:600}.survey-section h4{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #ff6b6b;display:inline-block}.survey-question,.survey-question textarea{border-radius:12px;transition:var(--transition)}.survey-question{margin-bottom:20px;padding:12px;background:var(--gray-50)}.survey-question:hover{background:#fff5f0}.survey-question label{display:block;margin-bottom:10px}.survey-rating{display:flex;gap:8px;justify-content:center}.survey-rating button{width:48px;height:48px;border:2px solid var(--gray-300);border-radius:12px;background:var(--white);font-size:1.1rem;font-weight:700;color:var(--gray-500);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.05)}.survey-rating button:hover{border-color:#ff6b6b;color:#ff6b6b;transform:translateY(-2px);box-shadow:0 4px 8px rgba(255,107,107,.2)}.survey-rating button.selected{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);border-color:transparent;color:var(--white);transform:scale(1.1);box-shadow:0 4px 12px rgba(255,107,107,.4)}.survey-rating button.selected[data-value="1"],.survey-rating button.selected[data-value="2"]{background:linear-gradient(135deg,#dc3545 0,#c82333 100%)}.survey-rating button.selected[data-value="3"]{background:linear-gradient(135deg,#ffc107 0,#e0a800 100%)}.survey-rating button.selected[data-value="4"],.survey-rating button.selected[data-value="5"]{background:linear-gradient(135deg,#28a745 0,#218838 100%)}.survey-question textarea{width:100%;padding:14px;border:2px solid var(--gray-200);font-size:.9rem;resize:vertical;font-family:inherit;background:var(--white)}.survey-question textarea:focus{outline:0;border-color:#ff6b6b;box-shadow:0 0 0 4px rgba(255,107,107,.1)}.survey-error{background:linear-gradient(135deg,#fff5f5 0,#fee);color:var(--danger);padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:.85rem;border-left:4px solid var(--danger)}.survey-modal .modal-footer{border-top:none;padding-top:8px}.survey-modal .modal-footer .btn-primary{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);border:0;padding:14px 28px;font-weight:600;border-radius:12px;box-shadow:0 4px 12px rgba(255,107,107,.3);transition:all .2s ease}.survey-modal .modal-footer .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,107,107,.4)}.survey-success{text-align:center;padding:40px 20px;background:linear-gradient(180deg,#fff9f0 0,#fff 50%)}.survey-success-icon{font-size:5rem;margin-bottom:20px;animation:bounce-in .6s ease}.survey-success h3{color:#ff6b6b;margin-bottom:12px;font-size:1.4rem}.survey-success p{color:var(--gray-600);margin-bottom:16px;line-height:1.6}.survey-success p.survey-success-promo{background:linear-gradient(135deg,#fff5f0 0,#ffebe5 100%);padding:16px;border-radius:12px;border:1px solid rgba(255,107,107,.2);font-size:.95rem}.survey-success p.survey-success-note{font-size:.85rem;color:var(--gray-500);font-style:italic}body.dark-mode .survey-modal .modal-header{background:linear-gradient(135deg,#c9302c 0,#ac2925 50%,#d9534f 100%)}body.dark-mode .survey-intro{background:linear-gradient(135deg,rgba(255,107,107,.1)0,rgba(255,142,83,.1) 100%);border-color:rgba(255,107,107,.2)}body.dark-mode .survey-question{background:var(--gray-800)}body.dark-mode .survey-question:hover{background:rgba(255,107,107,.1)}body.dark-mode .survey-question textarea,body.dark-mode .survey-rating button{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}body.dark-mode .survey-rating button:hover{border-color:#ff6b6b;color:#ff6b6b}body.dark-mode .survey-rating button.selected{background:linear-gradient(135deg,#ff6b6b 0,#ff8e53 100%);border-color:transparent;color:var(--white)}body.dark-mode .survey-question textarea{color:var(--gray-100)}body.dark-mode .survey-question textarea:focus{border-color:#ff6b6b;box-shadow:0 0 0 4px rgba(255,107,107,.15)}body.dark-mode .survey-error{background:rgba(220,53,69,.15)}body.dark-mode .survey-success{background:linear-gradient(180deg,rgba(255,107,107,.1) 0%,var(--gray-900) 50%)}body.dark-mode .survey-success p.survey-success-promo{background:rgba(255,107,107,.1);border-color:rgba(255,107,107,.3)}body.dark-mode .promo-modal .modal-body,body.dark-mode .promo-modal-body,body.dark-mode .survey-modal .modal-body{background:var(--gray-900)}body.dark-mode .promo-intro{background:rgba(255,107,107,.15);border-color:rgba(255,107,107,.3)}body.dark-mode .promo-intro p,body.dark-mode .promo-section h4{color:var(--gray-100)}body.dark-mode .promo-highlight{color:#ff8a8a!important}body.dark-mode .promo-section{border-color:var(--gray-700)}body.dark-mode .promo-section p{color:var(--gray-200)}body.dark-mode .promo-step{background:rgba(22,101,52,.5);border-left-color:#22c55e}body.dark-mode .promo-step-text{color:#fff}body.dark-mode .promo-step-icon{filter:brightness(1.2)}body.dark-mode .promo-faq-item{background:var(--gray-800)}body.dark-mode .promo-conditions{background:rgba(120,80,0,.4)}body.dark-mode .promo-conditions h5{color:#fde68a}body.dark-mode .promo-conditions li{color:#fef3c7}body.dark-mode .promo-benefits-list li{color:var(--gray-300);border-color:var(--gray-700)}body.dark-mode .promo-footer-text{background:rgba(180,60,60,.35)}body.dark-mode .promo-footer-text p,body.dark-mode .survey-question label,body.dark-mode .survey-success h3{color:var(--gray-100)}body.dark-mode .promo-footer-text p:last-child{color:#fecaca;font-weight:500}body.dark-mode .promo-modal-footer{border-color:var(--gray-700);background:var(--gray-900)}body.dark-mode .survey-form{background:var(--gray-900)}body.dark-mode .survey-intro,body.dark-mode .survey-section h4{color:#fff}body.dark-mode .survey-intro strong{color:#ff8a8a;font-weight:700}body.dark-mode .survey-success p{color:var(--gray-300)}body.dark-mode .survey-success p strong{color:#ff8a8a}body.dark-mode .survey-success-note{color:var(--gray-400)}.appointment-actions,.offline-banner{display:flex;align-items:center;gap:8px}.offline-banner{padding:10px 14px;background:linear-gradient(135deg,#fff3cd 0,#ffeeba 100%);border-radius:var(--radius-sm);font-size:.85rem;color:#856404;margin-bottom:12px;animation:slideDown .3s var(--ease-out)}.offline-banner svg{flex-shrink:0}.offline-banner.hidden{display:none}.appointment-actions{margin-left:auto;padding-left:10px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:0;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--primary-light);color:var(--primary)}.btn-icon:active{transform:scale(.95)}.btn-icon.disabled,.btn-icon:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.btn-icon svg{width:16px;height:16px;stroke:currentColor}.btn-reschedule{color:var(--gray-600)}.btn-reschedule:hover{background:var(--primary-light);color:var(--primary)}.btn-cancel-apt{color:var(--gray-500)}.btn-cancel-apt:hover{background:rgba(220,53,69,.1);color:var(--danger)}.cancel-reason-field{margin-top:16px}.cancel-reason-field label{display:block;font-weight:500;margin-bottom:8px;font-size:.9rem}.cancel-reason-field .required{color:var(--danger)}.cancel-reason-field select,.cancel-reason-field textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.95rem;background:var(--white)}.cancel-reason-field select:focus,.cancel-reason-field textarea:focus{outline:0;border-color:var(--primary)}body.dark-mode .cancel-reason-field select,body.dark-mode .cancel-reason-field textarea{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}body.dark-mode .cancel-reason-field select option{background:var(--gray-800);color:var(--gray-100)}body.dark-mode #admin-note-form .checkbox-group label,body.dark-mode #admin-note-form .form-group label,body.dark-mode .cancel-reason-field label{color:#e0e0e0}body.dark-mode .cancel-reason-field select::placeholder,body.dark-mode .cancel-reason-field textarea::placeholder{color:#aaa}.reschedule-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#e3f2fd 0,#bbdefb 100%);border-radius:var(--radius-sm);font-size:.85rem;color:#1565c0;margin-bottom:16px}.offline-pending-notice svg,.reschedule-notice svg{flex-shrink:0;stroke:currentColor}.guest-info-form{background:var(--gray-50);border-radius:12px;padding:16px;margin-bottom:16px}.guest-info-form h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--gray-800)}.guest-info-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guest-info-form .form-group{margin-bottom:12px}.guest-info-form .form-group:last-of-type{margin-bottom:8px}.guest-info-form label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-700);margin-bottom:4px}.guest-info-form input{width:100%;padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}.guest-info-form input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,172,159,.15)}.guest-note{font-size:.85rem;color:var(--gray-600);margin:8px 0 0;text-align:center}.guest-note a{color:var(--primary);font-weight:500}body.dark-mode .guest-info-form{background:var(--gray-800)}body.dark-mode .guest-info-form h4{color:var(--gray-200)}body.dark-mode .guest-info-form label{color:var(--gray-400)}body.dark-mode .guest-info-form input{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-200)}body.dark-mode #admin-note-form textarea:focus,body.dark-mode .admin-note-section-text textarea:focus,body.dark-mode .guest-info-form input:focus{border-color:var(--primary)}body.dark-mode .guest-note{color:var(--gray-500)}.reschedule-info{padding:12px;background:var(--gray-50);border-radius:var(--radius-sm)}.reschedule-info p{margin:0}.reschedule-info .text-muted{font-size:.9rem;margin-top:4px}.appointment-content{display:flex;align-items:center;gap:12px;padding:14px;flex:1}body.dark-mode .offline-banner{background:linear-gradient(135deg,#3d3400 0,#4d4200 100%);color:#ffd93d}body.dark-mode .btn-icon{background:var(--gray-700);color:var(--gray-400)}body.dark-mode .btn-icon:hover{background:rgba(88,172,159,.2);color:var(--primary)}body.dark-mode .reschedule-notice{background:linear-gradient(135deg,#1a365d 0,#234e8e 100%);color:#90caf9}body.dark-mode .reschedule-info{background:var(--gray-800)}body.dark-mode .reschedule-info p,body.dark-mode .reschedule-info strong{color:var(--gray-100)}body.dark-mode .reschedule-info .text-muted{color:var(--gray-400)}.offline-pending-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#fff3cd 0,#ffeeba 100%);border-radius:var(--radius-sm);font-size:.9rem;color:#856404;margin-bottom:16px}body.dark-mode .offline-pending-notice{background:linear-gradient(135deg,#5c4d1a 0,#7a6820 100%);color:#ffc107}.shop-page{padding:16px}.shop-header{text-align:center;margin-bottom:16px;position:relative}.shop-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0 0 4px}.shop-subtitle{font-size:.85rem;color:var(--gray-600);margin:0}.shop-cart-badge,.shop-cart-btn{position:absolute;color:#fff;display:flex;align-items:center;justify-content:center}.shop-cart-btn{top:0;right:0;background:var(--primary);border:0;border-radius:50%;width:44px;height:44px;cursor:pointer;transition:transform .2s,background .2s}.shop-cart-btn:hover{transform:scale(1.05);background:var(--primary-dark)}.shop-cart-badge{top:-4px;right:-4px;background:var(--danger);font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 4px}.shop-filters{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.shop-filters::-webkit-scrollbar{display:none}.shop-filter-btn{flex-shrink:0;padding:8px 16px;border:1px solid var(--gray-300);border-radius:20px;background:var(--card-bg);color:var(--gray-700);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.shop-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.shop-filter-btn.active,body.dark-mode .exercise-item.pending .exercise-checkbox:hover{background:var(--primary);border-color:var(--primary);color:#fff}.shop-products-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:20px}@media (min-width:400px){.shop-products-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:600px){.shop-products-grid{grid-template-columns:repeat(3,1fr)}}.shop-product-card{background:var(--card-bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:row}@media (min-width:400px){.shop-product-card{flex-direction:column}}.shop-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.shop-product-image{width:100px;min-width:100px;height:100px;overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center}@media (min-width:400px){.shop-product-image{width:100%;min-width:auto;aspect-ratio:1;height:auto}}.shop-product-image img{width:100%;height:100%;object-fit:cover}.shop-product-content{flex:1;display:flex;flex-direction:column;padding:10px}@media (min-width:400px){.shop-product-content{padding:12px}}.shop-product-info{flex:1;padding:0;margin-bottom:8px}.shop-product-name{font-size:.9rem;font-weight:600;color:var(--gray-900);margin:0 0 4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-product-price{font-size:1.1rem;font-weight:700;color:var(--primary)}.shop-product-actions{display:flex;gap:8px;padding:0}.shop-product-actions .btn{flex:1;padding:10px 12px;font-size:.85rem;border-radius:var(--radius-sm)}.shop-product-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:6px}.shop-product-actions .btn svg{width:16px;height:16px}.shop-empty,.shop-error,.shop-loading{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--gray-600)}.shop-empty-icon,.shop-error-icon{font-size:48px;margin-bottom:12px}.shop-info-banner{display:flex;justify-content:center;gap:24px;padding:16px;background:var(--primary-light);border-radius:var(--radius)}.shop-info-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--primary-dark)}.shop-info-icon{font-size:1.2rem}.shop-product-detail{text-align:center}.shop-detail-image{max-width:200px;margin:0 auto 16px;border-radius:var(--radius);overflow:hidden}.shop-detail-image img{width:100%;height:auto}.shop-detail-price{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:16px}.shop-detail-description{font-size:.9rem;color:var(--gray-700);line-height:1.6;margin-bottom:20px;text-align:left}.shop-detail-info{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--gray-100);border-radius:var(--radius)}.shop-detail-info .shop-info-item{justify-content:center}.shop-mini-cart{max-height:400px;overflow-y:auto}.shop-cart-items{margin-bottom:16px}.shop-cart-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-200)}.shop-cart-item:last-child{border-bottom:none}.shop-cart-item-image{width:50px;height:50px;border-radius:var(--radius-sm);overflow:hidden;background:var(--gray-100)}.shop-cart-item-image img{width:100%;height:100%;object-fit:cover}.shop-cart-item-info{flex:1}.shop-cart-item-name{font-size:.9rem;font-weight:500;color:var(--gray-900);margin-bottom:2px}.shop-cart-item-qty{font-size:.8rem;color:var(--gray-600)}.shop-cart-item-price{font-weight:600;color:var(--primary)}.shop-cart-total{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:2px solid var(--gray-200);font-size:1.1rem;font-weight:700}.shop-cart-total span:last-child{color:var(--primary)}.shop-cart-empty,.shop-cart-error,.shop-cart-loading{text-align:center;padding:40px 20px;color:var(--gray-600)}body.dark-mode .shop-product-card{background:var(--card-bg)}body.dark-mode .shop-product-image{background:var(--gray-800)}body.dark-mode .shop-info-banner{background:rgba(88,172,159,.1)}body.dark-mode .shop-detail-info{background:var(--gray-800)}body.dark-mode .shop-cart-item{border-bottom-color:var(--gray-700)}body.dark-mode .shop-cart-total{border-top-color:var(--gray-700)}.btn-floating-bug{position:fixed;bottom:calc(env(safe-area-inset-bottom,0) + 80px);right:16px;display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:20px;font-size:.75rem;font-weight:500;color:var(--gray-600);box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;z-index:100;transition:var(--transition);opacity:.8}.btn-floating-bug:active,.btn-floating-bug:hover{opacity:1;background:var(--gray-200);transform:scale(1.02)}.btn-floating-bug svg{opacity:.7}.btn-floating-bug.hidden{display:none}@media (max-width:360px){.btn-floating-bug{padding:10px;border-radius:50%}.btn-floating-bug span{display:none}}body.dark-mode .btn-floating-bug{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-400)}body.dark-mode .btn-floating-bug:active,body.dark-mode .btn-floating-bug:hover{background:var(--gray-700)}.bug-info{background:var(--gray-100);padding:12px;border-radius:8px;margin-bottom:15px;font-size:13px}.bug-info-row{display:flex;justify-content:space-between;margin-bottom:5px}.bug-info-row:last-child{margin-bottom:0}.bug-info-label{color:var(--gray-600)}.bug-info-value{font-weight:500;color:var(--gray-900)}body.dark-mode .bug-info{background:var(--gray-800)}body.dark-mode .bug-info-label{color:var(--gray-400)}body.dark-mode .bug-info-value{color:var(--gray-100)}.dashboard-checkin-card{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,var(--primary) 0%,#a78bfa 100%);border-radius:16px;margin-bottom:16px}.dashboard-checkin-btn{flex:1;display:flex;align-items:center;gap:12px;background:0 0;border:0;cursor:pointer;text-align:left;padding:0}.checkin-icon{font-size:28px;line-height:1}.checkin-text{display:flex;flex-direction:column;gap:2px}.checkin-title{font-size:16px;font-weight:600;color:#fff}.checkin-subtitle{font-size:13px;color:rgba(255,255,255,.85)}.checkin-evolution-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border:0;border-radius:12px;cursor:pointer;color:#fff;transition:background .2s}.checkin-evolution-btn:hover{background:rgba(255,255,255,.3)}.checkin-modal{max-width:400px}.checkin-modal .modal-body{padding:16px 20px;max-height:60vh;overflow-y:auto}.modal-title-group{display:flex;flex-direction:column;gap:4px}.modal-subtitle{font-size:13px;color:var(--gray-500);font-weight:400}.checkin-question{margin-bottom:16px}.checkin-question:last-child{margin-bottom:0}.checkin-question-label{display:block;font-size:14px;font-weight:500;color:var(--gray-900);margin-bottom:8px}.checkin-emoji-rating{display:flex;justify-content:space-between;gap:6px}.checkin-emoji-btn{flex:1;padding:8px 6px;background:var(--gray-100);border:2px solid transparent;border-radius:10px;font-size:22px;cursor:pointer;transition:all .2s}.checkin-emoji-btn:hover{background:var(--gray-200);transform:scale(1.05)}.checkin-emoji-btn.selected{border-color:var(--primary);background:var(--primary-light, #ede9fe);transform:scale(1.1)}.checkin-number-rating{display:flex;gap:8px;justify-content:center}.checkin-number-btn{width:42px;height:42px;padding:0;background:var(--gray-100);border:2px solid transparent;border-radius:10px;font-size:16px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .2s}.checkin-number-btn:hover{background:var(--gray-200);transform:scale(1.05)}.checkin-number-btn.selected{border-color:var(--primary);background:var(--primary);color:var(--white);transform:scale(1.1)}.checkin-number-btn.selected[data-value="1"],.checkin-number-btn.selected[data-value="2"]{background:var(--danger);border-color:var(--danger)}.checkin-number-btn.selected[data-value="3"]{background:var(--secondary);border-color:var(--secondary);color:var(--dark)}.checkin-textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:12px;font-size:14px;resize:vertical;font-family:inherit}.checkin-textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light, #ede9fe)}.checkin-error{color:var(--danger-color, #dc2626);font-size:14px;text-align:center;padding:8px;background:#fef2f2;border-radius:8px;margin-top:12px}.checkin-footer{display:flex;gap:12px}.checkin-footer .btn{flex:1}.evolution-page{padding:0;padding-bottom:calc(60px + env(safe-area-inset-bottom))}.evolution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.evolution-header h2{font-size:22px;font-weight:600;margin:0}.evolution-period-selector{display:flex;gap:6px;background:var(--gray-100);padding:4px;border-radius:10px}.evolution-period-btn{padding:6px 12px;font-size:13px;font-weight:500;color:var(--gray-600);background:0 0;border:0;border-radius:8px;cursor:pointer;transition:all .2s}.evolution-header h2,.evolution-period-btn:hover{color:var(--gray-900)}.evolution-period-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.evolution-chart-container{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.08);min-height:300px;position:relative}.evolution-empty,.evolution-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.evolution-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--gray-500)}.evolution-empty{text-align:center;width:80%}.evolution-empty-icon{font-size:48px;margin-bottom:12px}.evolution-empty p,.resources-empty p{margin:0 0 8px;color:var(--gray-700);font-size:16px}.evolution-empty-hint{font-size:14px!important;color:var(--gray-500)!important;margin-bottom:16px!important}#evolution-chart{width:100%!important;height:280px!important}body.dark-mode .dashboard-checkin-card{background:linear-gradient(135deg,#7c3aed 0,#a78bfa 100%)}body.dark-mode .checkin-question-label,body.dark-mode .evolution-header h2{color:var(--gray-100)}body.dark-mode .checkin-emoji-btn{background:var(--gray-700)}body.dark-mode .checkin-emoji-btn:hover{background:var(--gray-600)}body.dark-mode .checkin-emoji-btn.selected{background:rgba(139,92,246,.3)}body.dark-mode .checkin-number-btn{background:var(--gray-700);color:var(--gray-300)}body.dark-mode .checkin-number-btn:hover{background:var(--gray-600)}body.dark-mode .checkin-number-btn.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}body.dark-mode .checkin-number-btn.selected[data-value="1"],body.dark-mode .checkin-number-btn.selected[data-value="2"]{background:var(--danger);border-color:var(--danger)}body.dark-mode .checkin-number-btn.selected[data-value="3"]{background:var(--secondary);border-color:var(--secondary);color:var(--dark)}body.dark-mode .checkin-textarea{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}body.dark-mode .checkin-error{background:rgba(220,38,38,.2)}body.dark-mode .evolution-period-selector{background:var(--gray-800)}body.dark-mode .evolution-period-btn{color:var(--gray-400)}body.dark-mode .evolution-period-btn:hover{color:var(--gray-200)}body.dark-mode .evolution-period-btn.active{background:var(--gray-700);color:var(--primary)}body.dark-mode .evolution-chart-container{background:var(--gray-800)}body.dark-mode .evolution-empty p{color:var(--gray-300)}body.dark-mode .evolution-empty-hint{color:var(--gray-500)!important}.dashboard-resources-card{display:flex;align-items:center;padding:16px;background:linear-gradient(135deg,#3b82f6 0,#60a5fa 100%);border-radius:16px;margin-bottom:16px}.dashboard-resources-btn{flex:1;display:flex;align-items:center;gap:12px;background:0 0;border:0;cursor:pointer;text-align:left;padding:0}.resources-icon{font-size:28px;line-height:1}.resources-text{display:flex;flex-direction:column;gap:2px;flex:1}.resources-title{font-size:16px;font-weight:600;color:#fff}.resources-subtitle{font-size:13px;color:rgba(255,255,255,.85)}.resources-badge{min-width:24px;height:24px;padding:0 8px;background:#ef4444;color:#fff;font-size:12px;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center}.resources-page{padding:0;padding-bottom:calc(60px + env(safe-area-inset-bottom))}.resources-header{margin-bottom:20px}.resources-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.resources-filter-btn{padding:8px 16px;font-size:13px;font-weight:500;color:var(--gray-600);background:var(--gray-100);border:0;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .2s}.resources-filter-btn:hover{background:var(--gray-200)}.resources-filter-btn.active{background:var(--primary);color:#fff}.resources-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.resources-favorites-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:var(--gray-600);white-space:nowrap}.resources-favorites-checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.resources-favorites-checkbox:checked+.resources-favorites-text{color:var(--primary);font-weight:600}.resources-content{position:relative;min-height:200px}.resources-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--gray-500)}.resources-empty{text-align:center;padding:40px 20px}.resources-empty-icon{font-size:48px;margin-bottom:12px}.resources-empty-hint{font-size:14px;color:var(--gray-500)}.resources-list{display:grid;gap:16px;overflow:hidden}.resource-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:all .2s;border-left:4px solid transparent;overflow:hidden}.resource-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}.resource-card.unviewed{border-left-color:var(--primary)}.resource-card.favorite{background:linear-gradient(135deg,#fffbeb 0,#fff 50%)}.resource-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;overflow:hidden}.resource-card-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.resource-type-icon{font-size:24px;line-height:1;flex-shrink:0}.resource-favorite-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:0;font-size:20px;color:#f59e0b;cursor:pointer;transition:transform .2s}.resource-favorite-btn:hover{transform:scale(1.2)}.resource-card-body{margin-bottom:8px}.resource-title{font-size:15px;font-weight:600;color:var(--gray-900);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.resource-header-title{font-size:15px;font-weight:600;color:var(--gray-900);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-author,.resource-detail-author{font-size:12px;color:var(--gray-500);font-style:italic}.resource-detail-author{font-size:14px;margin-top:-4px}body.dark-mode .resource-author,body.dark-mode .resource-detail-author{color:var(--gray-400)}.resource-description,.resource-message{font-size:14px;color:var(--gray-600);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-message{font-size:13px;color:var(--gray-500);font-style:italic;margin:0;padding:8px 12px;background:var(--gray-50);border-radius:8px}.resource-card-footer{display:flex;justify-content:space-between;align-items:center}.resource-date{font-size:12px;color:var(--gray-400)}.resource-badge-new{font-size:11px;font-weight:600;color:#fff;background:var(--primary);padding:2px 8px;border-radius:10px}.resource-card.offline-unavailable{opacity:.6}.resource-card.offline-unavailable .resource-header-title{color:var(--gray-500)}.resource-badge-online{font-size:11px;font-weight:500;color:#f59e0b;display:flex;align-items:center;gap:4px}.resource-badge-offline{font-size:11px;font-weight:500;color:#10b981}.resource-favorite-btn.disabled{opacity:.4;cursor:not-allowed}.resources-offline-notice{background:linear-gradient(135deg,rgba(245,158,11,.1)0,rgba(217,119,6,.1) 100%);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:.875rem;color:#b45309}.journal-offline-notice svg,.resources-offline-notice svg{flex-shrink:0;color:#f59e0b}body.dark-mode .resources-offline-notice{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}body.dark-mode .journal-offline-notice svg,body.dark-mode .resource-badge-online,body.dark-mode .resources-offline-notice svg{color:#fbbf24}body.dark-mode .resource-badge-offline{color:#34d399}.resource-detail-modal{max-width:500px;max-height:85vh;display:flex;flex-direction:column}.resource-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--gray-100)}.resource-detail-header-info{flex:1}.resource-detail-type{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--primary);background:var(--gray-50);padding:4px 10px;border-radius:12px;margin-bottom:8px}.resource-detail-modal .modal-title{font-size:18px;font-weight:600;color:var(--gray-900);margin:0;line-height:1.3}.resource-detail-modal .modal-body{flex:1;overflow-y:auto;padding:16px 0}.resource-detail-description{font-size:14px;color:var(--gray-600);margin-bottom:16px;line-height:1.5}.resource-detail-message{display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe 100%);padding:14px 16px;border-radius:12px;margin-bottom:16px;border-left:3px solid var(--primary)}.resource-message-icon{font-size:16px;flex-shrink:0}.resource-detail-message p{margin:0;font-style:italic;font-size:14px;color:var(--gray-700);line-height:1.5}.resource-detail-content{font-size:15px;line-height:1.7;color:var(--gray-800);white-space:pre-wrap}.resource-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;font-size:15px;font-weight:600;border-radius:12px;margin-top:8px;text-decoration:none}.resource-detail-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--gray-100)}.resource-detail-date{font-size:12px;color:var(--gray-500)}.resource-detail-favorite{background:0 0;border:0;font-size:24px;color:var(--gray-300);cursor:pointer;padding:4px;transition:all .2s ease}.resource-detail-favorite.active,.resource-detail-favorite:hover{color:#f59e0b;transform:scale(1.1)}body.dark-mode .dashboard-resources-card{background:linear-gradient(135deg,#2563eb 0,#3b82f6 100%)}body.dark-mode .resources-filter-btn{color:#cbd5e0}body.dark-mode .resources-filter-btn:hover{background:#3a3f4a;color:#fff}body.dark-mode .resources-filter-btn.active{background:var(--primary);color:#fff}body.dark-mode .resource-card,body.dark-mode .resources-filter-btn{background:#2d3139;border-color:#3a3f4a}body.dark-mode .resource-card.favorite{background:linear-gradient(135deg,rgba(245,158,11,.2)0,#2d3139 50%)}body.dark-mode .resource-header-title,body.dark-mode .resource-title{color:#fff}body.dark-mode .resource-description{color:#cbd5e0}body.dark-mode .resource-message{background:#3a3f4a;color:#e2e8f0}body.dark-mode .resource-date,body.dark-mode .resources-empty p{color:#a0aec0}body.dark-mode .resource-type-icon{opacity:.9}body.dark-mode .resource-detail-modal .modal-header{border-bottom-color:#3a3f4a}body.dark-mode .resource-detail-type{background:#3a3f4a;color:#60a5fa}body.dark-mode .admin-notes-header h2,body.dark-mode .resource-detail-modal .modal-title{color:#fff}body.dark-mode .resource-detail-description{color:#cbd5e0}body.dark-mode .resource-detail-message{background:linear-gradient(135deg,rgba(59,130,246,.15)0,rgba(59,130,246,.1) 100%);border-left-color:#60a5fa}body.dark-mode .resource-detail-content,body.dark-mode .resource-detail-message p{color:#e2e8f0}body.dark-mode .resource-detail-modal .modal-footer{border-top-color:#3a3f4a}body.dark-mode .resource-detail-date{color:#a0aec0}body.dark-mode .resource-detail-favorite{color:#4a5568}body.dark-mode .resource-type-badge{background:#3a3f4a;color:#cbd5e0}body.dark-mode .resource-meta{color:#a0aec0}body.dark-mode .resources-page{background:#1a1d21}body.dark-mode .resources-favorites-label,body.dark-mode .resources-favorites-text{color:#cbd5e0}body.dark-mode .resource-favorite-btn{color:#a0aec0}body.dark-mode .resource-favorite-btn:hover{color:#f59e0b}.exercise-item.pending .exercise-checkbox:hover,body.dark-mode .resource-badge-new{background:var(--primary);color:#fff}.dashboard-journal-btn{width:100%;display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#10b981 0,#059669 100%);border:0;border-radius:16px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(16,185,129,.3)}.dashboard-journal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,185,129,.4)}.journal-icon{font-size:28px;line-height:1}.journal-text{flex:1;text-align:left}.journal-title{display:block;font-size:16px;font-weight:600;color:#fff}.journal-subtitle{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:2px}.journal-badge,.tab-badge{align-items:center;justify-content:center;font-weight:700;color:#fff;background:#ef4444}.journal-badge{min-width:24px;height:24px;padding:0 8px;display:flex;font-size:12px;border-radius:12px}.tab-badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;font-size:11px;border-radius:9px;margin-left:6px}.tab-badge.hidden{display:none}.dashboard-exercises-list{display:flex;flex-direction:column;gap:8px}.dashboard-exercise-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;border-left:3px solid var(--primary);transition:all .2s}.dashboard-exercise-card:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,.06)}.dashboard-exercise-card.overdue{border-left-color:#ef4444;background:#fef2f2}.dashboard-exercise-card .exercise-checkbox{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.dashboard-exercise-card .exercise-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary)}.dashboard-exercise-card .exercise-info{flex:1;min-width:0}.dashboard-exercise-card .exercise-title{font-size:14px;font-weight:600;color:var(--gray-800);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-exercise-card .exercise-desc{font-size:12px;color:var(--gray-500);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-exercise-card .exercise-due{flex-shrink:0;font-size:11px;font-weight:500;color:#f59e0b;background:#fef3c7;padding:4px 8px;border-radius:12px}.dashboard-exercise-card .exercise-due.overdue{color:#ef4444;background:#fee2e2}.dashboard-exercise-card.completing{opacity:.6;pointer-events:none}.dashboard-exercise-card.completed{animation:slideOutRight .3s ease forwards}body.dark-mode .dashboard-exercise-card{background:var(--gray-800);border-color:var(--gray-600);border-left-color:var(--primary)}body.dark-mode .dashboard-exercise-card:hover{border-color:var(--primary);background:var(--gray-700)}body.dark-mode .dashboard-exercise-card.overdue{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4);border-left-color:#ef4444}body.dark-mode .dashboard-exercise-card .exercise-title{color:var(--gray-800)}body.dark-mode .dashboard-exercise-card.overdue .exercise-title{color:#fca5a5}body.dark-mode .dashboard-exercise-card .exercise-desc{color:var(--gray-600)}body.dark-mode .dashboard-exercise-card.overdue .exercise-desc{color:#fecaca}body.dark-mode .dashboard-exercise-card .exercise-due{background:#b45309;color:#fff;border:0}body.dark-mode .dashboard-exercise-card .exercise-due.overdue{background:#dc2626;color:#fff;border:0}body.dark-mode .dashboard-exercise-card .exercise-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--gray-500);border-radius:6px;background:0 0;cursor:pointer;position:relative;transition:all .2s}body.dark-mode .dashboard-exercise-card .exercise-checkbox input[type=checkbox]:hover{border-color:var(--primary);background:rgba(88,172,159,.1)}body.dark-mode .dashboard-exercise-card .exercise-checkbox input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}body.dark-mode .dashboard-exercise-card .exercise-checkbox input[type=checkbox]:checked::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.journal-tabs{display:flex;gap:4px;margin:0-10px;padding:0 10px;background:var(--white);border-bottom:1px solid var(--gray-200)}.journal-tab{flex:1;padding:12px 8px;background:0 0;border:0;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .2s}.journal-tab:hover{color:var(--gray-700)}.journal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.journal-tab-content{display:none;padding:12px 0 0}.journal-tab-content.active{display:block}.journal-stats{display:flex;gap:16px;margin-bottom:20px}.journal-stat{flex:1;padding:16px;background:var(--gray-50);border-radius:12px;text-align:center}.journal-stat-value{display:block;font-size:32px;font-weight:700;color:var(--primary);line-height:1.2}.journal-stat-value.journal-stat-pending{color:#f59e0b}.journal-stat-label{display:block;font-size:13px;color:var(--gray-500);margin-top:4px}.exercises-loading,.journal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--gray-500);gap:16px}.exercises-empty,.journal-empty{text-align:center;padding:60px 20px;color:var(--gray-500)}.exercises-empty-icon,.journal-empty-icon{font-size:48px;margin-bottom:16px}.exercises-empty-hint,.journal-empty-hint{font-size:14px;color:var(--gray-400);margin-top:8px}.journal-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.journal-offline-notice{background:linear-gradient(135deg,rgba(245,158,11,.1)0,rgba(217,119,6,.1) 100%);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:.875rem;color:#b45309}body.dark-mode .journal-offline-notice{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#fbbf24}.journal-entry{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;overflow:hidden}.journal-entry.standalone{background:#fffbeb;border-color:#fcd34d}.journal-entry-label{font-size:12px;font-weight:600;text-transform:uppercase;color:#f59e0b;padding:12px 16px 0}.journal-entry-header{display:flex;justify-content:space-between;align-items:center;padding:16px;margin-bottom:8px;background:var(--gray-50);border-bottom:1px solid var(--gray-100)}.journal-entry-date{font-size:15px;color:var(--gray-800)}.journal-entry-date strong{display:block;text-transform:capitalize}.journal-entry-time{font-size:13px;color:var(--gray-500)}.journal-entry-service{font-size:12px;font-weight:500;color:#fff;padding:4px 12px;border-radius:12px}.journal-entry-content{padding:16px}.journal-entry-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.journal-tag-preview{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 10px;background:var(--primary-light);color:var(--primary-dark);border-radius:12px}.journal-section-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.journal-tag-more{font-size:12px;padding:4px 8px;background:var(--gray-200);color:var(--gray-600);border-radius:12px}.journal-entry-preview{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}.journal-preview-exercises,.journal-preview-note{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-600)}.journal-preview-icon{font-size:14px;flex-shrink:0}.journal-preview-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-entry-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--gray-400)}.journal-entry{position:relative;cursor:pointer;transition:transform .2s,box-shadow .2s}.journal-entry:active{transform:scale(.98)}body.dark-mode .journal-tag-preview{background:rgba(88,172,159,.2);color:var(--primary)}body.dark-mode .journal-tag-more{background:var(--gray-300);color:var(--gray-600)}body.dark-mode .journal-preview-exercises,body.dark-mode .journal-preview-note{color:var(--gray-600)}body.dark-mode .journal-entry-arrow{color:var(--gray-500)}.journal-note{background:var(--gray-50);border-radius:12px;padding:16px;margin-bottom:16px}.journal-note-label{font-size:12px;font-weight:600;color:var(--gray-500);margin-bottom:8px}.journal-note-content{font-size:15px;line-height:1.6;color:var(--gray-800)}.journal-note-section{background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.journal-note-section:last-child{margin-bottom:0}.journal-note-section-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.journal-note-section-icon{font-size:16px;line-height:1}.journal-note-section-label{font-size:12px;font-weight:600;color:var(--primary)}.journal-note-section-text{font-size:14px;line-height:1.6;color:var(--gray-700)}.journal-text-icon{font-size:12px;margin-right:6px;opacity:.7}.journal-note-plaintext{font-size:14px;line-height:1.6;color:var(--gray-700)}.journal-note-empty{font-size:13px;color:var(--gray-400);font-style:italic;margin:0}.journal-exercises{margin-top:8px}.journal-exercises-label{font-size:12px;font-weight:600;color:var(--gray-500);margin-bottom:12px}.journal-detail-modal{max-height:90vh}.journal-detail-modal .modal-header{align-items:flex-start;gap:12px}.journal-detail-header-info{display:flex;flex-direction:column;gap:4px;flex:1}.journal-detail-modal .btn-close{flex-shrink:0;margin-top:4px}.journal-detail-service{display:inline-block;font-size:12px;font-weight:500;color:#fff;padding:6px 12px;border-radius:20px;margin-bottom:8px}.journal-detail-time{font-size:14px;color:var(--gray-500)}.journal-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.journal-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:6px 12px;background:var(--primary-light);color:var(--primary-dark);border-radius:16px}.journal-tag-icon{font-size:14px}.journal-detail-section{background:var(--gray-50);border-radius:12px;padding:16px;margin-bottom:16px}.journal-detail-note-content p:last-child,.journal-detail-section:last-child{margin-bottom:0}.journal-detail-section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.journal-detail-section-icon{font-size:18px}.journal-detail-section-title{font-size:14px;font-weight:600;color:var(--gray-700)}.journal-detail-note-content{font-size:15px;line-height:1.6;color:var(--gray-700)}.journal-detail-note-content p{margin-bottom:8px}.journal-detail-exercises{display:flex;flex-direction:column;gap:12px}.journal-detail-empty{text-align:center;padding:32px;color:var(--gray-500)}body.dark-mode .journal-detail-section{background:var(--card-bg)}body.dark-mode .journal-detail-note-content,body.dark-mode .journal-detail-section-title{color:var(--gray-800)}body.dark-mode .journal-detail-time{color:var(--gray-600)}body.dark-mode .journal-tag{background:rgba(88,172,159,.2);color:var(--primary)}.exercises-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.exercises-section{margin-bottom:20px}.exercises-section:first-child{margin-top:4px}.exercises-section .exercise-item+.exercise-item{margin-top:10px}.exercises-section-title{font-size:14px;font-weight:600;color:var(--gray-600);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.completed-section{opacity:.7}.exercise-item{display:flex;gap:12px;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;transition:all .2s}.exercise-item.pending{border-left:3px solid var(--primary)}.exercise-item.overdue{border-left:3px solid #ef4444;background:#fef2f2}.exercise-item.completed{border-left:3px solid #10b981;background:var(--gray-50);opacity:.8}.exercise-checkbox{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:50%;font-size:14px;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all .2s;flex-shrink:0}.exercise-item.overdue .exercise-checkbox{background:#fee2e2;color:#ef4444}.exercise-item.completed .exercise-checkbox{background:#d1fae5;color:#10b981}.exercise-info{flex:1;min-width:0}.exercise-title{font-size:15px;font-weight:600;color:var(--gray-800);margin-bottom:4px}.exercise-title.completed{text-decoration:line-through;color:var(--gray-500)}.exercise-description{font-size:14px;color:var(--gray-600);line-height:1.5;margin-bottom:8px}.exercise-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.exercise-due{color:#f59e0b}.exercise-due.overdue{color:#ef4444;font-weight:600}.exercise-completed-date{color:#10b981}.exercise-comment{margin-top:8px;font-size:13px;font-style:italic;color:var(--gray-500);padding:8px 12px;background:var(--gray-50);border-radius:8px}.exercise-complete-modal{max-width:400px}.exercise-complete-title{font-size:16px;font-weight:600;color:var(--gray-800);margin-bottom:16px}body.dark-mode .dashboard-journal-btn{background:linear-gradient(135deg,#059669 0,#047857 100%)}body.dark-mode .journal-tabs{background:var(--card-bg);border-bottom-color:var(--gray-300)}body.dark-mode .journal-tab{color:var(--gray-400)}body.dark-mode .journal-tab:hover{color:var(--gray-200)}body.dark-mode .journal-stat{background:var(--card-bg)}body.dark-mode .journal-stat-label{color:var(--gray-400)}body.dark-mode .journal-entry{background:var(--card-bg);border-color:var(--gray-300)}body.dark-mode .journal-entry.standalone{background:rgba(251,191,36,.1);border-color:#b45309}body.dark-mode .journal-entry-header{background:var(--gray-100);border-bottom-color:var(--gray-300)}body.dark-mode .journal-entry-date{color:var(--gray-800)}body.dark-mode .journal-note{background:var(--gray-100)}body.dark-mode .journal-note-content{color:var(--gray-200)}body.dark-mode .journal-note-section{background:var(--card-bg);box-shadow:none}body.dark-mode .journal-note-section-label{color:#7fc9bf}body.dark-mode .journal-note-plaintext,body.dark-mode .journal-note-section-text{color:var(--gray-700)}.admin-booking-datetime svg,body.dark-mode .journal-note-empty{color:var(--gray-500)}body.dark-mode .exercise-item{background:var(--card-bg);border-color:var(--gray-400)}body.dark-mode .exercise-item.overdue{background:rgba(220,38,38,.25);border-color:#dc2626;border-left-width:4px}body.dark-mode .exercise-item.overdue .exercise-title{color:#fecaca}body.dark-mode .exercise-item.completed{background:var(--gray-200);border-color:var(--gray-300)}body.dark-mode .exercise-checkbox{background:var(--gray-600);color:var(--gray-200);border:2px solid var(--gray-500)}body.dark-mode .exercise-item.overdue .exercise-checkbox{background:#dc2626;border-color:#dc2626;color:#fff}body.dark-mode .exercise-item.completed .exercise-checkbox{background:rgba(16,185,129,.2);border-color:#10b981;color:#34d399}body.dark-mode .exercise-title{color:var(--gray-800)}body.dark-mode .exercise-description{color:var(--gray-600)}body.dark-mode .exercise-comment{background:var(--gray-200);color:var(--gray-700);border-color:var(--gray-300)}body.dark-mode .exercises-section-title{color:var(--gray-300);border-bottom-color:var(--gray-700)}body.dark-mode .exercise-due{color:#fbbf24}body.dark-mode .exercise-due.overdue{background:#dc2626;color:#fff;padding:2px 8px;border-radius:4px;font-weight:600}.group-registrations-page{padding:16px}.group-registrations-page .tabs{margin-bottom:16px}.group-registrations-list{display:flex;flex-direction:column;gap:12px}.group-registration-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.group-registration-card:active{transform:scale(.98);box-shadow:var(--shadow)}.group-registration-card.past{opacity:.7}.registration-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:12px 8px;background:var(--primary);color:var(--white)}.registration-card-date .date-day{font-size:1.75rem;font-weight:700;line-height:1}.registration-card-date .date-month{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.registration-card-date .date-year{font-size:.65rem;opacity:.8;margin-top:2px}.group-registration-card.past .registration-card-date{background:var(--gray-400)}.registration-card-content{flex:1;padding:12px 16px;min-width:0}.registration-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.registration-title{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0;line-height:1.3}.registration-card-details{display:flex;flex-direction:column;gap:4px}.registration-card-details .detail-row{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--gray-600)}.registration-card-details .detail-icon{font-size:.9rem;width:20px;text-align:center}.registration-card-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100)}.status-badge{font-size:.7rem;padding:3px 8px;border-radius:12px;font-weight:500;white-space:nowrap}.status-badge.status-confirmed{background:var(--primary-light);color:var(--primary)}.status-badge.status-cancelled{background:#fee2e2;color:#dc2626}.status-badge.status-attended{background:#d1fae5;color:#059669}.status-badge.status-noshow{background:#fef3c7;color:#d97706}body.dark-mode .group-registration-card{background:var(--gray-800)}body.dark-mode .registration-title{color:var(--gray-100)}body.dark-mode .registration-card-details .detail-row{color:var(--gray-400)}body.dark-mode .registration-card-actions{border-top-color:var(--gray-700)}body.dark-mode .group-registration-card.past .registration-card-date{background:var(--gray-600)}body.dark-mode .status-badge.status-confirmed{background:rgba(var(--primary-rgb),.2)}body.dark-mode .status-badge.status-cancelled{background:rgba(220,38,38,.2)}body.dark-mode .status-badge.status-attended{background:rgba(5,150,105,.2)}body.dark-mode .status-badge.status-noshow{background:rgba(217,119,6,.2)}.dashboard-group-card{margin-top:16px}.dashboard-group-btn{width:100%;display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#8b5cf6 0,#7c3aed 100%);border:0;border-radius:16px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(139,92,246,.3)}.dashboard-group-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(139,92,246,.4)}.group-icon{font-size:28px;line-height:1}.group-text{flex:1;text-align:left}.group-title{font-size:16px;font-weight:600;color:#fff;display:block}.group-subtitle{font-size:13px;color:rgba(255,255,255,.85);display:block}.group-badge{font-size:11px;font-weight:700;color:#7c3aed;background:#fff;padding:4px 10px;border-radius:12px;min-width:24px;text-align:center}body.dark-mode .dashboard-group-btn{background:linear-gradient(135deg,#7c3aed 0,#6d28d9 100%)}.admin-clients-page{padding:0}.admin-search-bar{display:flex;gap:8px;margin-bottom:16px}.admin-search-input{flex:1;font-size:16px;background:var(--card-bg);color:var(--gray-800)}#admin-note-form textarea:focus,.admin-note-section-text textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,172,159,.15)}.admin-search-input:focus{box-shadow:0 0 0 3px rgba(88,172,159,.15)}.admin-clients-list{display:flex;flex-direction:column;gap:12px}.admin-client-card{background:var(--card-bg);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.admin-client-info{flex:1;min-width:0}.admin-client-name{font-weight:600;font-size:1rem;color:var(--gray-800);margin-bottom:2px}.admin-client-email{font-size:.85rem;color:var(--gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-client-phone{font-size:.8rem;color:var(--gray-500)}.admin-client-stats{flex-shrink:0}.admin-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.admin-badge-upcoming{background:var(--primary-light);color:var(--primary-dark)}.admin-badge-none{background:var(--gray-200);color:var(--gray-600)}.admin-view-bookings{flex-shrink:0}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:16px}.admin-page-info{font-size:.9rem;color:var(--gray-600)}.admin-bookings-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto;padding:4px}.admin-booking-card{background:var(--gray-100);border-radius:var(--radius);padding:14px}.admin-booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-booking-service{font-weight:600;font-size:.95rem}.admin-booking-status{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:10px}.admin-booking-status.status-confirmed{background:#dcfce7;color:#166534}.admin-booking-status.status-pending{background:#fef3c7;color:#92400e}.admin-booking-datetime{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--gray-700);margin-bottom:8px}.admin-booking-notes{font-size:.85rem;color:var(--gray-600);font-style:italic;margin-bottom:10px;padding:8px;background:var(--white);border-radius:8px}.admin-booking-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-booking-no-action{font-size:.8rem;color:var(--gray-500);font-style:italic}.btn-danger-outline{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger-outline:hover{background:var(--danger);color:#fff}body.dark-mode .admin-search-input{background:var(--gray-800);border-color:var(--gray-700);color:var(--gray-100)}body.dark-mode .admin-client-card{background:var(--gray-800)}body.dark-mode .admin-client-name{color:var(--gray-100)}body.dark-mode .admin-client-email{color:var(--gray-400)}body.dark-mode .admin-badge-upcoming{background:rgba(88,172,159,.2);color:var(--primary)}body.dark-mode .admin-badge-none{background:var(--gray-700);color:var(--gray-400)}body.dark-mode .admin-booking-card{background:var(--gray-700)}body.dark-mode .admin-booking-service{color:inherit}body.dark-mode .admin-booking-datetime{color:var(--gray-300)}body.dark-mode .admin-booking-notes{background:var(--gray-800);color:var(--gray-400)}.admin-bookings-page{padding:0}.admin-search-box{position:sticky;top:0;background:var(--bg);padding:8px 0 12px;z-index:10}.admin-search-input{width:100%;padding:12px 16px 12px 40px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem;background-color:var(--card-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:12px center;background-repeat:no-repeat;transition:border-color .2s,box-shadow .2s}.admin-search-input:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}#admin-note-form textarea::placeholder,.admin-note-section-text textarea::placeholder,.admin-search-input::placeholder{color:var(--gray-400)}.admin-date-header{font-size:.85rem;font-weight:600;color:var(--gray-600);text-transform:capitalize;padding:12px 4px 8px;border-bottom:1px solid var(--gray-200);margin-bottom:8px}.admin-date-header:first-child{padding-top:0}#admin-clients-list .appointment-card{margin-bottom:10px}#admin-clients-list .appointment-card .appointment-content{padding:14px}.admin-time-block{background:var(--primary-light)!important;min-width:52px}.admin-time-block .appointment-day{font-size:1.4rem;color:var(--primary-dark)}.admin-time-block .appointment-month{font-size:.85rem;color:var(--primary);text-transform:none}.admin-customer-name{font-size:1.05rem!important;font-weight:700!important;color:var(--gray-900)!important;margin-bottom:6px!important}.admin-service-line{display:flex;align-items:center;gap:8px;font-size:.9rem}.admin-service-line span:first-child{font-weight:500}.admin-duration{font-size:.8rem;color:var(--gray-500);background:var(--gray-100);padding:2px 6px;border-radius:4px}.admin-contact-line{margin-top:4px;font-size:.85rem}.admin-contact-line a{color:var(--primary);text-decoration:none}body.dark-mode .admin-bookings-page,body.dark-mode .admin-search-box{background:#18191a}body.dark-mode .admin-search-box .admin-search-input,body.dark-mode .admin-search-input{background-color:#2d3139;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23a0aec0' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:12px center;background-repeat:no-repeat;background-size:18px 18px;border-color:#3d4149;border-radius:var(--radius);color:#e4e6eb}body.dark-mode .admin-search-input::placeholder{color:var(--gray-500)}body.dark-mode .admin-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,172,159,.2)}body.dark-mode .admin-date-header{color:var(--gray-300);border-color:var(--gray-700)}body.dark-mode .admin-time-block{background:rgba(88,172,159,.15)!important}body.dark-mode .admin-contact-line a,body.dark-mode .admin-time-block .appointment-day,body.dark-mode .admin-time-block .appointment-month{color:var(--primary)}body.dark-mode .admin-customer-name{color:#fff!important}body.dark-mode .admin-service-line span:first-child{opacity:.9}body.dark-mode .admin-duration{background:var(--gray-700);color:var(--gray-300)}:root{--sidebar-width:240px;--sidebar-width-lg:280px}.sidebar-logo{display:none}@media (min-width:1024px){.sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px;position:absolute;top:0;left:0;right:0;height:80px;z-index:1}.sidebar-logo img{width:40px;height:40px;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}.sidebar-logo-text{font-size:1.125rem;font-weight:600;color:var(--primary);white-space:nowrap}.app-nav,.nav-item{justify-content:flex-start}.app-nav,.app-nav::before{top:0;left:0;background:var(--white)}.app-nav{position:fixed;bottom:0;right:auto;width:var(--sidebar-width);height:100vh;padding:80px 0 24px;flex-direction:column;align-items:stretch;gap:4px;border-top:none;border-right:1px solid var(--gray-200);overflow-y:auto}.app-nav::before{content:"";position:absolute;right:0;height:80px;border-bottom:1px solid var(--gray-100)}.nav-item{flex:0 0 auto;flex-direction:row;align-items:center;gap:12px;padding:12px 20px;margin:0 12px;border-radius:var(--radius);font-size:.9375rem;font-weight:500;color:var(--gray-600);transition:all .2s var(--ease-out)}.nav-item:hover{background:var(--gray-100);color:var(--gray-800)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:var(--primary-light);color:var(--primary-dark)}.nav-item.active svg{transform:none}.nav-item svg{width:22px;height:22px;flex-shrink:0}.nav-item span{display:block;white-space:nowrap}.nav-item-primary{background:var(--primary);color:var(--white)!important;border-radius:var(--radius);width:auto;height:auto;margin:8px 12px 16px;padding:14px 20px;box-shadow:0 2px 8px rgba(88,172,159,.3);order:-1}.nav-item-primary:hover{background:var(--primary-dark);color:var(--white)!important;box-shadow:0 4px 12px rgba(88,172,159,.4);transform:translateY(-1px)}.nav-item-primary span{display:block}.nav-cart-badge{position:static;transform:none;margin-left:auto;min-width:22px;height:22px;font-size:12px;line-height:22px;border-radius:50%}body:has(.app-nav:not(.hidden)) .app-header{left:var(--sidebar-width);right:0;width:auto;padding-left:24px;padding-right:24px}body:has(.app-nav:not(.hidden)) .app-header .header-title,body:has(.app-nav:not(.hidden)) .app-header .logo{display:none}.header-left{flex:1}#btn-install-app-login,.auth-install-btn,.btn-install-pwa{display:none!important}body:has(.app-nav:not(.hidden)) main.app-content{margin-left:var(--sidebar-width)!important;margin-bottom:0!important;padding:24px 32px;max-width:100%;box-sizing:border-box}body:has(.app-nav.hidden) .app-header{left:0;right:0;width:auto;padding-left:24px;padding-right:24px}body:has(.app-nav.hidden) .app-header .header-title,body:has(.app-nav.hidden) .app-header .logo{display:flex}body:has(.app-nav.hidden) main.app-content{margin-left:0!important;margin-bottom:0!important;padding:24px 32px;max-width:100%;box-sizing:border-box}.view{padding:0;max-width:1200px;margin:0 auto}.dashboard{display:grid;grid-template-columns:1fr;gap:24px}.welcome-card{grid-column:1/-1}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:16px}.next-appointment-card,.quick-action-card{padding:20px}.appointments-list{max-width:800px}.appointment-card{padding:4px}.appointment-content{padding:16px 20px}.booking-wizard{max-width:900px;margin:0 auto}.time-slots{grid-template-columns:repeat(5,1fr);gap:12px}.service-cards{grid-template-columns:repeat(2,1fr);gap:16px}.service-card{padding:20px}.booking-summary{max-width:500px;margin:24px auto;padding:24px}.profile-form,.profile-tabs,.settings-card{max-width:600px}.shop-products-grid{grid-template-columns:repeat(4,1fr);gap:20px}.modal{max-width:560px;width:90%;margin:auto}.admin-bookings-page{max-width:1000px;margin:0 auto}.evolution-view{max-width:800px;margin:0 auto}.resources-grid{grid-template-columns:repeat(3,1fr);gap:20px}.calendar-container{max-width:500px}.group-registrations-list{max-width:800px}.auth-container{max-width:420px;margin:60px auto}.pwa-install-banner{left:calc(var(--sidebar-width) + 24px);right:24px;bottom:24px;max-width:500px}}@media (min-width:1280px){.app-nav{width:var(--sidebar-width-lg)}body:has(.app-nav:not(.hidden)) .app-header{left:var(--sidebar-width-lg)}body:has(.app-nav:not(.hidden)) main.app-content{margin-left:var(--sidebar-width-lg)!important;padding:32px 48px;max-width:100%;box-sizing:border-box}.quick-actions{grid-template-columns:repeat(4,1fr)}.time-slots{grid-template-columns:repeat(6,1fr)}.shop-products-grid{grid-template-columns:repeat(5,1fr)}.pwa-install-banner{left:calc(var(--sidebar-width-lg) + 32px)}}@media (min-width:1536px){main.app-content{padding:40px 64px}.view{max-width:1400px}.dashboard-grid{grid-template-columns:repeat(3,1fr)}.quick-actions{grid-template-columns:repeat(5,1fr)}.shop-products-grid{grid-template-columns:repeat(6,1fr)}.time-slots{grid-template-columns:repeat(8,1fr)}}@media (min-width:1024px){body.dark-mode .app-nav{background:#18191a;border-right-color:#3d4149;border-top:none}body.dark-mode .app-nav::before{background:#18191a;border-bottom-color:#2d3139}body.dark-mode .sidebar-logo{background:#18191a}body.dark-mode .sidebar-logo img{background:#2d3139}body.dark-mode .sidebar-logo-text{color:var(--primary)}body.dark-mode .nav-item:hover{background:#3a3f4a;color:#fff}body.dark-mode .nav-item.active{background:rgba(88,172,159,.15);color:var(--primary)}body.dark-mode .nav-item-primary{background:var(--primary);color:#fff!important}body.dark-mode .nav-item-primary:hover{background:var(--primary-dark)}}.admin-notes-page{padding:0}.admin-notes-header{padding:20px;text-align:center;border-bottom:1px solid var(--gray-200)}.admin-notes-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-800);margin:0 0 4px}.admin-notes-subtitle{font-size:.875rem;color:var(--gray-500);margin:0}.admin-notes-list{padding:16px;display:flex;flex-direction:column;gap:12px}.admin-notes-date-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);padding:12px 4px 4px;margin-top:8px;border-bottom:2px solid var(--primary-light)}.admin-notes-date-header:first-child{margin-top:0}.admin-note-booking-card{background:var(--white);border-radius:var(--radius);padding:16px;border:1px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.admin-note-booking-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(88,172,159,.15)}.admin-note-booking-card:active{transform:scale(.98)}.admin-note-booking-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}#admin-note-modal .modal-header h3,.admin-note-booking-client{font-weight:600;color:var(--gray-800);font-size:1rem}.admin-note-booking-time{font-size:.8125rem;color:var(--gray-500);white-space:nowrap}.admin-note-booking-service{display:inline-block;font-size:.75rem;font-weight:500;padding:4px 10px;border-radius:12px;color:var(--white);background:var(--primary)}.admin-note-booking-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.admin-note-status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 10px;border-radius:10px;font-weight:500}.admin-note-status.has-note{background:#e8f5e9;color:#2e7d32}.admin-note-status.no-note{background:var(--gray-100);color:var(--gray-500)}.admin-note-status-icon{font-size:.875rem}#admin-note-modal.modal{display:none;max-width:none!important;max-height:none!important;z-index:9999!important;background:0 0!important;margin:0!important;padding:0!important;overflow:visible!important}#admin-note-modal.modal.active{display:flex!important;justify-content:center!important;align-items:center!important}#admin-note-modal.modal,#admin-note-modal.modal>.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;border-radius:0!important}#admin-note-modal.modal>.modal-overlay{background:rgba(0,0,0,.5)!important;z-index:0!important}#admin-note-modal.modal>.admin-note-modal-container,#admin-note-modal.modal>.modal-container{position:relative!important;z-index:1!important;background:#fff!important;border-radius:12px!important;box-shadow:0 20px 60px rgba(0,0,0,.3)!important;animation:adminNoteModalSlideIn .3s ease;width:calc(100% - 40px)!important;max-width:600px!important;max-height:calc(100vh - 40px)!important;margin:0 auto!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}#admin-note-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--gray-200)}#admin-note-modal .modal-header h3{margin:0;font-size:1.125rem}#admin-note-modal .modal-close{background:0 0;border:0;font-size:1.5rem;color:var(--gray-500);cursor:pointer;padding:4px 8px;line-height:1}#admin-note-modal .modal-close:hover{color:var(--gray-800)}#admin-note-modal .modal-body{padding:20px;max-height:60vh;overflow-y:auto}#admin-note-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--gray-200)}.admin-note-modal-container{max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.admin-note-session-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--gray-50);padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:12px;font-size:.8125rem}.admin-note-session-info .session-date{color:var(--gray-600);font-weight:500}.admin-note-session-info .session-service{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.75rem;color:var(--white);background:var(--primary)}#admin-note-form .form-group{margin-bottom:16px}#admin-note-form .form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}#admin-note-form textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5;resize:vertical;transition:border-color .2s,box-shadow .2s}#admin-note-form .checkbox-group{padding-top:8px}#admin-note-form .checkbox-group label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:var(--gray-700)}.admin-notes-empty{text-align:center;padding:60px 20px;color:var(--gray-500)}.admin-notes-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.5}.admin-notes-empty p{margin:0;font-size:.9375rem}body.dark-mode .admin-notes-header{border-bottom-color:#3d4149}body.dark-mode .admin-notes-subtitle{color:#9aa0a6}body.dark-mode .admin-notes-date-header{color:var(--primary);border-bottom-color:rgba(88,172,159,.3)}body.dark-mode .admin-note-booking-card{background:#2d3139;border-color:#3d4149}body.dark-mode .admin-note-booking-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.3)}body.dark-mode #admin-note-modal .modal-close:hover,body.dark-mode #admin-note-modal .modal-header h3,body.dark-mode .admin-note-booking-client{color:#fff}body.dark-mode .admin-note-booking-time{color:#9aa0a6}body.dark-mode .admin-note-status.no-note{background:#3a3f4a;color:#9aa0a6}body.dark-mode #admin-note-modal .modal-container{background:#2d3139}body.dark-mode #admin-note-modal .modal-header{border-bottom-color:#3d4149}body.dark-mode #admin-note-modal .modal-close,body.dark-mode .admin-note-session-info .session-date{color:#9aa0a6}body.dark-mode #admin-note-modal .modal-footer{border-top-color:#3d4149}body.dark-mode .admin-note-session-info{background:#3a3f4a}body.dark-mode #admin-note-form textarea{background:#3a3f4a;border-color:#4a5058;color:#fff}body.dark-mode .admin-notes-empty{color:#9aa0a6}.admin-note-sections-container{display:flex;flex-direction:column;gap:16px}.admin-note-sections-loading{text-align:center;padding:24px;color:var(--gray-500);font-size:.875rem}.admin-note-section{padding:12px;background:var(--gray-50);border-radius:var(--radius-sm)}.admin-note-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.admin-note-section-icon{font-size:1rem}.admin-note-section-label{font-weight:600;font-size:.8125rem;color:var(--gray-700)}.admin-note-section-required{color:var(--danger);font-size:.75rem}.admin-note-tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.admin-note-section-text textarea,.admin-note-tag-chip{border:1px solid var(--gray-300);background:var(--white)}.admin-note-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:16px;cursor:pointer;font-size:.8125rem;transition:all .2s;user-select:none}.admin-note-tag-chip:hover{border-color:var(--primary);background:var(--primary-lightest)}.admin-note-tag-chip.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}.admin-note-tag-chip .tag-icon{font-size:.875rem}.admin-note-section-text textarea{width:100%;padding:10px 12px;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5;resize:vertical;transition:border-color .2s,box-shadow .2s}body.dark-mode .admin-note-section{background:#3a3f4a}body.dark-mode .admin-note-section-label{color:#e0e0e0}body.dark-mode .admin-note-tag-chip{background:#2d3139;border-color:#4a5058;color:#e0e0e0}body.dark-mode .admin-note-tag-chip:hover{border-color:var(--primary);background:rgba(88,172,159,.2)}body.dark-mode .admin-note-tag-chip.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}body.dark-mode .admin-note-section-text textarea{background:#2d3139;border-color:#4a5058;color:#fff}body.dark-mode .form-error{background:rgba(220,53,69,.15);border-color:rgba(220,53,69,.3);color:#f87171}body.dark-mode .form-message,body.dark-mode .form-success,body.dark-mode .gift-card-status.success{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:#4ade80}body.dark-mode .gift-card-status.error{background:rgba(220,53,69,.15);border-color:rgba(220,53,69,.3);color:#f87171}body.dark-mode .nav-link-gmaps{background:rgba(34,197,94,.15);color:#4ade80}body.dark-mode .nav-link-gmaps:hover{background:rgba(34,197,94,.25)}body.dark-mode .nav-link-waze{background:rgba(59,130,246,.15);color:#60a5fa}body.dark-mode .nav-link-waze:hover{background:rgba(59,130,246,.25)}body.dark-mode .admin-booking-status.status-pending{background:rgba(251,191,36,.15);color:#fbbf24}body.dark-mode .admin-booking-status.status-confirmed{background:rgba(34,197,94,.15);color:#4ade80}body.dark-mode .admin-booking-status.status-cancelled,body.dark-mode .appointment-status.cancelled{background:rgba(220,53,69,.15);color:#f87171}body.dark-mode .appointment-status.duo{background:rgba(220,38,38,.15);color:#fca5a5;border-color:rgba(220,38,38,.3)}body.dark-mode .profile-partner-card{background:linear-gradient(135deg,rgba(220,38,38,.1)0,rgba(251,146,60,.1) 100%);border-color:rgba(220,38,38,.3)}body.dark-mode .profile-partner-label{color:#fca5a5}body.dark-mode .profile-partner-name{color:var(--gray-100)}body.dark-mode .btn-google{background:var(--gray-800);color:#60a5fa;border-color:#60a5fa}body.dark-mode .btn-google:hover{background:#4285f4;color:#fff}body.dark-mode .btn-apple{background:var(--gray-800);color:var(--gray-200);border-color:var(--gray-500)}body.dark-mode .btn-apple:hover{background:var(--gray-200);color:var(--gray-900)}@media (min-width:1024px){.admin-notes-page{max-width:800px;margin:0 auto}.admin-notes-list{padding:24px}.admin-note-modal-container{max-width:700px}}