@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-tertiary: #eeeef2;--bg-card: #ffffff;--bg-card-hover: #fafafa;--bg-input: #f2f2f5;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .72);--primary: #c9a84c;--text-primary: #111118;--text-secondary: #52526a;--text-tertiary: #8e8ea8;--border-color: #dddde6;--border-light: #ececf0;--accent: #c9a84c;--accent-hover: #b89440;--accent-light: rgba(201, 168, 76, .1);--accent-glow: rgba(201, 168, 76, .22);--success: #10b981;--success-bg: rgba(16, 185, 129, .08);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .08);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .08);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .08);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .06);--shadow-md: 0 4px 20px rgba(0, 0, 0, .07);--shadow-lg: 0 12px 44px rgba(0, 0, 0, .1);--shadow-accent: 0 4px 24px rgba(201, 168, 76, .18);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.5rem}[data-theme=dark]{--bg-primary: #0a0a11;--bg-secondary: #111119;--bg-tertiary: #161622;--bg-card: #14142a;--bg-card-hover: #1c1c34;--bg-input: #161622;--bg-elevated: #1a1a30;--bg-glass: rgba(14, 14, 22, .82);--primary: #c9a84c;--text-primary: #ebebf2;--text-secondary: #9494b4;--text-tertiary: #5a5a78;--border-color: #222240;--border-light: #1c1c30;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .22);--shadow-md: 0 4px 20px rgba(0, 0, 0, .28);--shadow-lg: 0 12px 44px rgba(0, 0, 0, .4);--shadow-accent: 0 4px 24px rgba(201, 168, 76, .12)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out both}.pulse{animation:pulse 2s ease-in-out infinite}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .35s,color .35s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}input,select{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.booking-page{max-width:680px;margin:0 auto}.header{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;transition:background var(--transition)}.header-content{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;overflow:hidden}.header-logo{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1;overflow:hidden}.logo-icon{width:44px;height:44px;min-width:44px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent);overflow:hidden}.logo-icon:has(img){background:transparent;box-shadow:none}.logo-icon img{width:100%;height:100%;object-fit:cover}.logo-text{min-width:0;overflow:hidden}.logo-text h1{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-tertiary);font-weight:600}.menu-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary)}.header-nav{display:flex;align-items:center;gap:.35rem}.nav-divider{width:1px;height:24px;background:var(--border-color);margin:0 .35rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition)}.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-link.active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-user-name{font-size:.82rem;font-weight:500;color:var(--text-secondary);padding:.3rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.theme-toggle{padding:0;display:flex;align-items:center}.theme-toggle-track{width:48px;height:26px;border-radius:13px;background:var(--bg-tertiary);border:1px solid var(--border-color);position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 5px;transition:all var(--transition)}.theme-icon{color:var(--text-tertiary);z-index:1;transition:color var(--transition)}.sun-icon{color:var(--warning)}.theme-toggle-thumb{position:absolute;left:3px;width:20px;height:20px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-sm);transition:transform var(--transition)}.theme-toggle-thumb.dark{transform:translate(22px)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:248px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:200;transition:transform var(--transition);overflow-y:auto;overflow-x:hidden}.sidebar-brand{padding:1.35rem 1.15rem;border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;gap:.75rem}.sidebar-nav{flex:1;padding:.75rem .6rem;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.7rem;padding:.55rem .85rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:all var(--transition);white-space:nowrap;text-decoration:none;border:none;background:none;cursor:pointer;width:100%;text-align:left;font-family:inherit}.sidebar-link svg{opacity:.6;transition:opacity var(--transition)}.sidebar-link:hover svg,.sidebar-link.active svg{opacity:1}.sidebar-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-light);color:var(--accent);font-weight:600}.sidebar-link.logout-btn:hover{background:var(--danger-bg);color:var(--danger)}.sidebar-footer{padding:.75rem .6rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.35rem}.sidebar-divider{width:100%;height:1px;background:var(--border-color);margin:.35rem 0}.sidebar-user-name{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);padding:.3rem .85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-mobile-header,.sidebar-overlay{display:none}.sidebar-mobile-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);border:none;background:none;cursor:pointer}.sidebar-mobile-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.app--sidebar{flex-direction:row}.app--sidebar .main-content{margin-left:240px;width:calc(100% - 240px)}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem;padding:1rem;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.step{display:flex;align-items:center;gap:.5rem}.step:not(:last-child):after{content:"";width:32px;height:2px;background:var(--border-color);margin:0 .4rem;border-radius:1px;transition:background var(--transition)}.step.completed:not(:last-child):after{background:var(--accent)}.step-circle{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid var(--border-color);color:var(--text-tertiary);background:var(--bg-secondary);transition:all var(--transition);flex-shrink:0}.step.active .step-circle{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-light)}.step.completed .step-circle{border-color:var(--accent);background:var(--accent);color:#fff}.step-label{font-size:.78rem;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.step.active .step-label{color:var(--text-primary);font-weight:600}.step.completed .step-label{color:var(--accent)}.page-header{margin-bottom:1.75rem}.page-header.centered{text-align:center}.page-header-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-light);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem}.page-header h2{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.25rem}.page-header p{color:var(--text-secondary);font-size:.9rem}.back-button{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:1.25rem;padding:.4rem .75rem .4rem 0;border-radius:var(--radius-sm);transition:all var(--transition)}.back-button:hover{color:var(--accent)}.professionals-grid{display:flex;flex-direction:column;gap:.75rem}.professional-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition);text-align:left;width:100%}.professional-card:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 1px var(--accent-light);transform:translateY(-2px)}.professional-avatar-wrapper{position:relative;flex-shrink:0}.professional-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2.5px solid var(--border-color);transition:border-color var(--transition)}.professional-card:hover .professional-avatar{border-color:var(--accent)}.avatar-status{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-card)}.avatar-status.online{background:var(--success)}.professional-info{flex:1}.professional-info h3{font-size:1rem;font-weight:600;margin-bottom:.1rem}.professional-specialty{font-size:.8rem;color:var(--text-secondary)}.professional-rating{display:inline-flex;align-items:center;gap:.25rem;color:var(--accent);font-size:.78rem;font-weight:700;margin-top:.3rem;background:var(--accent-light);padding:.15rem .5rem;border-radius:20px}.card-arrow{color:var(--text-tertiary);flex-shrink:0;transition:all var(--transition)}.professional-card:hover .card-arrow{color:var(--accent);transform:translate(3px)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.service-card{display:flex;flex-direction:column;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition);text-align:left;width:100%;gap:0}.service-card:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-card--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.service-card--selected:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent)}.service-card{position:relative}.service-check{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.service-selection-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border-color);box-shadow:0 -4px 20px #0000001a;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:100;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.service-selection-info{display:flex;flex-direction:column;gap:2px}.service-selection-count{font-weight:700;font-size:.95rem;color:var(--text-primary)}.service-selection-details{font-size:.82rem;color:var(--text-secondary)}.service-selection-btn{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:.6rem 1.25rem}.service-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:.75rem;flex-shrink:0}.service-info{flex:1}.service-info h3{font-size:.92rem;font-weight:600;margin-bottom:.2rem}.service-description{font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border-light)}.service-price{font-size:.95rem;font-weight:700;color:var(--accent)}.service-duration{font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;gap:.25rem;font-weight:500}.datetime-layout{display:flex;flex-direction:column;gap:1.5rem}.calendar-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-month{font-size:.95rem;font-weight:600;text-transform:capitalize;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.calendar-nav{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition);border:1px solid var(--border-color)}.calendar-nav:hover:not(:disabled){background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.65rem .25rem;border-radius:var(--radius-sm);transition:all var(--transition);border:2px solid transparent;position:relative}.calendar-day:not(.past):hover{background:var(--bg-tertiary);border-color:var(--border-color)}.calendar-day.selected{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}.calendar-day.today:not(.selected){border-color:var(--accent)}.calendar-day.past{opacity:.25;cursor:not-allowed}.day-name{font-size:.68rem;text-transform:uppercase;font-weight:600;color:var(--text-tertiary);letter-spacing:.02em}.calendar-day.selected .day-name{color:#ffffffbf}.day-number{font-size:1.05rem;font-weight:700}.day-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);position:absolute;bottom:4px}.time-slots-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.time-slots-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.time-slots-header h3{font-size:1rem;font-weight:600}.time-slots-count{font-size:.78rem;font-weight:600;color:var(--success);background:var(--success-bg);padding:.2rem .65rem;border-radius:20px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.5rem}.time-slot{padding:.55rem;text-align:center;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);transition:all var(--transition)}.time-slot:hover:not(.unavailable){border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.time-slot.selected{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-color:transparent;color:#fff;box-shadow:var(--shadow-accent)}.time-slot.unavailable{opacity:.2;cursor:not-allowed;text-decoration:line-through}.booking-footer{position:sticky;bottom:0;padding:1rem 0;background:var(--bg-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border-color);margin-top:1rem}.booking-footer-info{display:flex;flex-direction:column;font-size:.85rem;color:var(--text-secondary);text-transform:capitalize}.booking-footer-info strong{font-size:1.1rem;color:var(--accent)}.confirm-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.booking-summary h3,.client-form h3{font-size:1rem;font-weight:600;margin-bottom:.75rem}.summary-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem}.summary-row{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border-light)}.summary-row:last-of-type{border-bottom:none}.summary-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.summary-row div:not(.summary-icon){display:flex;flex-direction:column}.summary-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.summary-value{font-size:.9rem;font-weight:500;color:var(--text-primary)}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.5rem;border-top:2px solid var(--border-color);font-weight:600;font-size:.95rem}.total-price{font-size:1.25rem;font-weight:800;color:var(--accent)}.client-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.form-group{margin-bottom:1.15rem}.form-group label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.form-group input{width:100%;padding:.8rem 1rem;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);transition:all var(--transition);outline:none}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);background:var(--bg-secondary)}.form-group input::placeholder{color:var(--text-tertiary)}.form-group select,select{width:100%;padding:.8rem 2.5rem .8rem 1rem;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);transition:all var(--transition);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px}.form-group select:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);background-color:var(--bg-secondary)}.form-group select:hover,select:hover{border-color:var(--text-tertiary)}.form-group select option,select option{background:var(--card-bg);color:var(--text-primary);padding:.5rem}.form-group select:disabled,select:disabled{opacity:.6;cursor:not-allowed}select.select-compact{padding:.5rem 2rem .5rem .75rem;font-size:.85rem}.input-row select{flex:1}.confirmation-success{text-align:center;padding:2.5rem 1rem}.success-icon-wrapper{position:relative;display:inline-flex;margin-bottom:1.5rem}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--success),#059669);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px #10b9814d}.confetti-icon{position:absolute;top:-8px;right:-12px;color:var(--warning);animation:fadeIn .5s ease-out .3s both}.confirmation-success h2{font-size:1.5rem;margin-bottom:.35rem}.confirmation-success>p{color:var(--text-secondary);margin-bottom:1.5rem}.confirmation-details{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;text-align:left;margin-bottom:1.5rem;max-width:420px;margin-left:auto;margin-right:auto}.detail-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.detail-row:last-of-type{border-bottom:none}.detail-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.detail-content{display:flex;flex-direction:column}.detail-label{font-size:.68rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.detail-value{font-size:.9rem;font-weight:500;color:var(--text-primary)}.detail-total{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.5rem;border-top:2px solid var(--border-color);font-weight:600}.confirmation-note{font-size:.82rem;color:var(--text-tertiary);margin-bottom:1.5rem}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:var(--shadow-accent);letter-spacing:.01em}.btn-primary:hover{box-shadow:var(--shadow-lg),var(--shadow-accent);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-full{width:100%}.btn-lg{padding:.9rem 1.5rem;font-size:.95rem}.btn-small{padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;transition:all var(--transition)}.btn-confirm{background:var(--success-bg);color:var(--success)}.btn-confirm:hover{background:var(--success);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-complete{background:var(--info-bg);color:var(--info)}.btn-complete:hover{background:var(--info);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-cancel{background:var(--danger-bg);color:var(--danger)}.btn-cancel:hover{background:var(--danger);color:#fff;box-shadow:0 2px 8px #ef44444d}.action-buttons{display:flex;gap:.4rem}.admin-page{max-width:1100px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}.admin-header h2{font-size:1.6rem;font-weight:700;letter-spacing:-.03em}.admin-header p{color:var(--text-secondary);font-size:.9rem;text-transform:capitalize}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-light);color:var(--accent)}.stat-blue,.stat-green,.stat-yellow,.stat-purple{background:var(--accent-light);color:var(--accent)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--text-2xl);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--text-primary)}.stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.stat-card-clickable{cursor:pointer;position:relative}.stat-card-clickable:hover{border-color:var(--primary);background:var(--bg-elevated)}.stat-card-clickable:focus{outline:2px solid var(--primary);outline-offset:2px}.stat-arrow{color:var(--text-secondary);opacity:0;transition:all var(--transition);margin-left:auto}.stat-card-clickable:hover .stat-arrow{opacity:1;transform:translate(4px)}.quick-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition)}.quick-action-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.quick-action-btn svg{flex-shrink:0;opacity:.7}.quick-action-btn:hover svg{opacity:1}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem}.chart-card-wide{grid-column:span 2}.chart-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.chart-title svg{color:var(--primary)}.chart-container{width:100%;height:250px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-color)}.recharts-tooltip-wrapper{outline:none}.recharts-legend-wrapper{padding-top:.5rem!important}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:.8rem}@media(max-width:900px){.charts-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:span 1}.quick-actions{flex-wrap:wrap}.quick-action-btn{flex:1;min-width:140px;justify-content:center}}@media(max-width:600px){.quick-action-btn{font-size:.75rem;padding:.5rem .75rem}.chart-container{height:200px}}.dashboard-grid{display:grid;grid-template-columns:1fr minmax(320px,380px);gap:1.25rem}.dashboard-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}.section-link{display:flex;align-items:center;gap:.2rem;font-size:.8rem;color:var(--accent);font-weight:600;transition:all var(--transition);padding:.3rem .5rem;border-radius:var(--radius-sm)}.section-link:hover{background:var(--accent-light)}.appointments-list{display:flex;flex-direction:column}.appointment-item{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border-light);transition:all var(--transition)}.appointment-item:last-child{border-bottom:none}.appointment-time{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-light);border-radius:var(--radius-sm)}.appointment-time span{font-size:.85rem;font-weight:800;color:var(--accent)}.appointment-time--future{width:auto;padding:.35rem .6rem}.appointment-time-stacked{display:flex;flex-direction:column;align-items:center;line-height:1.3}.appointment-time-stacked small{font-size:.68rem;font-weight:600;opacity:.75}.appointment-details{flex:1;min-width:0}.appointment-client{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-service{font-size:.78rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-price{font-size:.8rem;font-weight:700;color:var(--accent);margin-top:.15rem}.appointment-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0}.financial-summary{display:flex;flex-direction:column}.financial-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.financial-row:last-child{border-bottom:none}.financial-row.total{border-top:2px solid var(--border-color);border-bottom:none;padding-top:.85rem;margin-top:.35rem;font-weight:600;color:var(--text-primary)}.financial-value{font-weight:700;color:var(--text-primary)}.financial-value.highlight{color:var(--accent);font-size:1.15rem}.team-list{display:flex;flex-direction:column;gap:.85rem}.team-member{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:var(--radius-sm);transition:all var(--transition)}.team-member:hover{background:var(--bg-tertiary)}.team-member img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.team-info{display:flex;flex-direction:column}.team-name{font-size:.875rem;font-weight:600}.team-count{font-size:.75rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-tertiary)}.empty-state svg{margin-bottom:.75rem;opacity:.35}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap;letter-spacing:.01em}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.filters-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:.6rem;padding:0 1rem;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);transition:border-color var(--transition)}.search-box:focus-within{border-color:var(--accent)}.search-box input{flex:1;padding:.7rem 0;background:transparent;border:none;color:var(--text-primary);font-size:.85rem;outline:none}.search-box input::placeholder{color:var(--text-tertiary)}.filter-group{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.filter-group select,.filter-group input[type=date]{padding:.7rem 2.2rem .7rem .85rem;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;outline:none;transition:all var(--transition);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:14px}.filter-group input[type=date]{padding-right:.85rem;background-image:none}.filter-group select:focus,.filter-group input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.filter-group select:hover,.filter-group input[type=date]:hover{border-color:var(--text-tertiary)}.appointments-table{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto}.table-header{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) 90px 100px minmax(100px,1fr);gap:.5rem;padding:.85rem 1.5rem;background:var(--bg-tertiary);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.table-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) 90px 100px minmax(100px,1fr);gap:.5rem;padding:.85rem 1.5rem;align-items:center;font-size:.85rem;border-bottom:1px solid var(--border-light);transition:background var(--transition)}.table-row:hover{background:var(--bg-card-hover)}.table-row:last-child{border-bottom:none}.cell-datetime{display:flex;flex-direction:column}.cell-datetime strong{font-size:.8rem}.cell-datetime small{color:var(--text-secondary);font-size:.75rem}.cell-client{display:flex;flex-direction:column;min-width:0}.cell-client strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-client small{color:var(--text-tertiary);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-price{font-weight:700;color:var(--accent)}.cell-actions{display:flex;gap:.35rem;flex-wrap:wrap}@media(max-width:960px){.main-content{max-width:100%}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.table-header{display:none}.table-row{display:flex;flex-wrap:wrap;gap:.25rem .5rem;padding:1rem 1.25rem;align-items:center}.table-row .cell-client{flex:1 1 0;min-width:0;order:1}.table-row .cell-status{flex:0 0 auto;order:2}.table-row .cell-datetime{flex:1 1 100%;order:3;flex-direction:row;gap:.4rem;font-size:.8rem}.table-row .cell-service{order:4;font-size:.8rem;color:var(--text-secondary)}.table-row .cell-service:after{content:" ·"}.table-row .cell-professional{order:5;font-size:.8rem;color:var(--text-secondary)}.table-row .cell-price{order:6;margin-left:auto;font-size:.85rem}.table-row .cell-actions{flex:1 1 100%;order:7;margin-top:.35rem}.confirm-layout{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start;gap:.75rem}.sidebar{transform:translate(-100%)}.sidebar.sidebar--open{transform:translate(0)}.sidebar-brand{display:none}.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 1rem;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:199}.app--sidebar{flex-direction:column}.app--sidebar .main-content{margin-left:0;width:100%}}@media(max-width:640px){.main-content{padding:1rem .75rem 4rem}.header-content,.sidebar-mobile-header{padding:0 .75rem}.logo-text h1{font-size:1rem}.services-grid{grid-template-columns:1fr}.step-indicator{padding:.6rem;margin-bottom:1.25rem}.step-label{display:none}.step:not(:last-child):after{width:16px}.stats-grid{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card{padding:.85rem;gap:.65rem}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.15rem}.stat-label{font-size:.7rem}.filters-bar{flex-direction:column}.search-box{min-width:100%}.filter-group{width:100%}.filter-group select,.filter-group input[type=date]{flex:1;width:100%}.page-header h2{font-size:1.25rem}.page-header p{font-size:.82rem}.booking-footer{padding:.75rem 0}.booking-page{max-width:100%}.calendar-section{padding:1rem}.calendar-days{gap:.25rem}.calendar-day{padding:.45rem .15rem}.day-name{font-size:.6rem}.day-number{font-size:.9rem}.calendar-month{font-size:.88rem}.calendar-nav{width:32px;height:32px}.time-slots-section{padding:1rem}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:.35rem}.time-slot{padding:.45rem;font-size:.8rem}.confirm-layout{grid-template-columns:1fr;gap:1rem}.summary-card,.client-form{padding:1rem}.client-form h3,.booking-summary h3{font-size:.95rem}.confirmation-success{padding:1.5rem .5rem}.confirmation-success h2{font-size:1.25rem}.success-icon{width:64px;height:64px}.confirmation-details{padding:1rem;max-width:100%}.admin-page{max-width:100%}.admin-header{margin-bottom:1.25rem}.admin-header h2{font-size:1.3rem}.admin-header p{font-size:.82rem}.dashboard-section{padding:1rem}.section-header h3{font-size:.9rem}.appointment-item{flex-wrap:wrap;gap:.4rem .6rem;padding:.75rem 0}.appointment-time{width:auto;min-width:44px;height:auto;min-height:40px;padding:.25rem .5rem}.appointment-time span{font-size:.72rem}.appointment-details{flex:1 1 0;min-width:0}.appointment-client{font-size:.82rem}.appointment-service{font-size:.7rem}.appointment-price{font-size:.75rem}.appointment-actions{flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.3rem;width:auto}.appointment-actions .action-buttons{display:flex;gap:.25rem}.appointment-actions .btn-small{font-size:.68rem;padding:.25rem .5rem}.appointments-table{border-radius:var(--radius-md)}.table-row{padding:.85rem 1rem}.table-row .cell-client strong{font-size:.85rem}.table-row .cell-service,.table-row .cell-professional{font-size:.75rem}.professional-card{padding:.85rem 1rem;gap:.75rem}.professional-avatar{width:48px;height:48px}.professional-info h3{font-size:.92rem}.service-card{padding:1rem}.service-icon{width:38px;height:38px;font-size:1.15rem;margin-bottom:.6rem}.my-appointment-card{padding:.85rem 1rem}.my-apt-header{margin-bottom:.5rem}.my-apt-price{font-size:.95rem}.my-apt-row{font-size:.8rem}.crud-grid{grid-template-columns:1fr}.crud-card{padding:1rem}.crud-card-actions{flex-wrap:wrap}.booking-banner{flex-direction:column;text-align:center;padding:1rem .85rem;gap:.85rem}.banner-logo img,.banner-logo-fallback{width:112px;height:112px}.banner-name{font-size:1.15rem}.banner-details{justify-content:center;gap:.5rem}.banner-detail{font-size:.75rem}.banner-auth{width:100%}.banner-btn{width:100%;justify-content:center;padding:.55rem .9rem;font-size:.82rem}.banner-client-info{align-items:center;width:100%}.banner-client-greeting{font-size:.82rem}.banner-client-actions{width:100%;justify-content:center;flex-wrap:wrap;gap:.4rem}.banner-btn-outline{flex:1;justify-content:center;min-width:0}.form-group input{padding:.7rem .85rem;font-size:.85rem}.form-group label{font-size:.72rem}.btn-primary{padding:.7rem 1.25rem;font-size:.85rem}.btn-lg{padding:.8rem 1.25rem;font-size:.9rem}.empty-state{padding:2rem .5rem}.back-button{font-size:.8rem;margin-bottom:1rem}.login-page{padding:0;min-height:100vh;align-items:center;justify-content:center;background:#08080f}.login-bg-effects{display:block}.login-back-btn{background:transparent;border:none;padding:.4rem 0}.login-card{background:transparent;border:none;border-radius:0;box-shadow:none;max-width:100%;padding:3rem 1.5rem 2rem;display:flex;flex-direction:column;justify-content:center;flex:1}.login-header{text-align:center}.login-header h1{font-size:1.35rem}.client-auth-page{max-width:100%}.auth-brand h1{font-size:1.3rem}.auth-brand-logo,.auth-brand-logo img{width:128px;height:128px}.modal-content{margin:.5rem;max-height:95vh}.modal-header{padding:1rem 1.25rem}.modal-form{padding:1.25rem}.form-row,.billing-stats{grid-template-columns:1fr}}@media(max-width:380px){.main-content{padding:.75rem .5rem 3rem}.header-content{padding:0 .5rem;height:56px}.header-nav{top:56px}.logo-icon{width:36px;height:36px;min-width:36px}.logo-text h1{font-size:.85rem}.header-subtitle{font-size:.55rem;letter-spacing:.1em}.header-logo{gap:.5rem}.page-header h2{font-size:1.1rem}.calendar-day{padding:.35rem .1rem}.day-name{font-size:.55rem}.day-number{font-size:.82rem}.step-circle{width:26px;height:26px;font-size:.68rem}.step:not(:last-child):after{width:12px}.stats-grid{grid-template-columns:1fr}.banner-logo img,.banner-logo-fallback{width:96px;height:96px}.banner-name{font-size:1.05rem}.my-apt-body{grid-template-columns:1fr}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}}.image-upload-area{display:flex;flex-direction:column;gap:.5rem}.image-upload-preview{position:relative;display:inline-block}.image-upload-preview img{display:block;border:1px solid var(--border-color);object-fit:cover}.image-upload-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid var(--bg-card);transition:transform .15s}.image-upload-remove:hover{transform:scale(1.1)}.image-upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--radius-sm);border:2px dashed var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.image-upload-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.image-upload-btn:disabled{opacity:.6;cursor:not-allowed}.image-upload-change{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.78rem;cursor:pointer;border:1px solid var(--border-color);transition:all var(--transition);width:fit-content}.image-upload-change:hover{color:var(--accent);border-color:var(--accent)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.business-hours-list{display:flex;flex-direction:column;gap:.5rem}.bh-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition)}.bh-row:hover{border-color:var(--accent)}.bh-row--closed{opacity:.6}.bh-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer;min-width:160px}.bh-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.bh-day{font-weight:600;font-size:.9rem;color:var(--text-primary)}.bh-times{display:flex;align-items:center;gap:.5rem}.bh-time-input{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-family:inherit}.bh-time-input:focus{outline:none;border-color:var(--accent)}.bh-sep{color:var(--text-secondary);font-size:.82rem}.bh-closed-label{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.bh-add-closed{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.bh-add-closed .form-input{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-family:inherit}.bh-add-closed .form-input:focus{outline:none;border-color:var(--accent)}.btn-sm{padding:.4rem .75rem!important;font-size:.82rem!important}.bh-closed-list{display:flex;flex-direction:column;gap:.4rem}.bh-closed-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem}.bh-closed-item strong{color:var(--text-primary)}@media(max-width:640px){.bh-row{flex-direction:column;align-items:flex-start;gap:.5rem}.bh-toggle{min-width:auto}.bh-add-closed{flex-direction:column;align-items:stretch}.bh-add-closed .form-input{width:100%}}.login-bg-effects{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.login-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.login-bg-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 70%);top:-200px;left:-100px;animation:loginOrbFloat 20s ease-in-out infinite}.login-bg-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);bottom:-150px;right:-100px;animation:loginOrbFloat 25s ease-in-out infinite reverse}.login-bg-orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(201,168,76,.06) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:loginOrbPulse 15s ease-in-out infinite}.login-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%)}@keyframes loginOrbFloat{0%,to{transform:translate(0)}33%{transform:translate(30px,-20px)}66%{transform:translate(-20px,15px)}}@keyframes loginOrbPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.3}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:0;position:relative;background:#08080f;overflow:hidden}.login-hero,.login-hero-badge,.login-hero-stats,.login-hero-stat,.login-hero-stat-divider{display:none}.login-back-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem 0;border-radius:var(--radius-sm);background:transparent;color:#6a6a88;font-size:.82rem;font-weight:500;transition:all .2s;border:none;align-self:flex-start;cursor:pointer;margin-bottom:1.5rem}.login-back-btn:hover{color:#c9a84c}.login-card{width:100%;max-width:100%;padding:2rem 1.5rem;position:relative;z-index:1}.login-card-inner{width:100%;max-width:400px;margin:0 auto}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#c9a84c26,#c9a84c0d);border:1px solid rgba(201,168,76,.2);color:#c9a84c;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-logo:has(img){background:transparent;border-color:transparent}.login-logo img{width:100%!important;height:100%!important;object-fit:cover}.login-header h1{font-size:1.5rem;color:#e8e8f0;margin-bottom:.5rem;font-weight:700;letter-spacing:-.02em}.login-header p{color:#6a6a88;font-size:.9rem;line-height:1.5}.login-header p strong{color:#c9a84c;font-weight:600}.login-form{display:flex;flex-direction:column;gap:1.15rem}.login-input-group{display:flex;flex-direction:column;gap:.45rem}.login-input-group label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5c5c78;display:flex;align-items:center;gap:.4rem;transition:color .2s}.login-input-group label svg{color:#4a4a68;transition:color .2s}.login-input-group.focused label{color:#c9a84c}.login-input-group.focused label svg{color:#c9a84c}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-wrapper input{width:100%;background:#1a1a3099!important;border:1.5px solid #2a2a45!important;border-radius:12px!important;padding:.85rem 1rem!important;font-size:.92rem!important;color:#dcdce8!important;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-input-wrapper input::placeholder{color:#3a3a58!important}.login-input-group.focused .login-input-wrapper input{border-color:#c9a84c!important;box-shadow:0 0 0 3px #c9a84c14,0 4px 16px #0003!important;background:#1e1e36cc!important;outline:none!important}.login-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#4a4a68;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s;border-radius:6px}.login-password-toggle:hover{color:#c9a84c}.login-submit-btn{margin-top:.5rem;padding:.9rem;font-size:.95rem;border-radius:12px;font-weight:600;background:linear-gradient(135deg,#c9a84c,#b8943c);color:#0c0c18;border:none;box-shadow:0 4px 20px #c9a84c40,inset 0 1px #ffffff26;letter-spacing:.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.login-submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);opacity:0;transition:opacity .3s}.login-submit-btn:hover:not(:disabled):before{opacity:1}.login-submit-btn:hover:not(:disabled){box-shadow:0 6px 28px #c9a84c59,inset 0 1px #fff3;transform:translateY(-2px)}.login-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 12px #c9a84c33}.login-submit-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.login-spinner{width:18px;height:18px;border:2.5px solid rgba(12,12,24,.2);border-top-color:#0c0c18;border-radius:50%;animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-divider{display:flex;align-items:center;gap:1rem;margin:.25rem 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.login-divider span{font-size:.75rem;color:#4a4a68;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.login-error{background:#dc35450f;border:1px solid rgba(220,53,69,.15);color:#ff6b7a;padding:.75rem 1rem;border-radius:10px;font-size:.84rem;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:loginShake .4s ease}@keyframes loginShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-register-link{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.88rem}.login-register-link span{color:#4a4a68}.login-register-link button{background:none;border:1.5px solid rgba(201,168,76,.2);color:#c9a84c;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.5rem 1.25rem;transition:all .25s;border-radius:10px;background:#c9a84c0a}.login-register-link button:hover{background:#c9a84c1a;border-color:#c9a84c59;color:#d4b55a}@media(min-width:641px){.login-page{position:fixed;inset:0;z-index:9999;height:100vh;min-height:100vh;display:flex;flex-direction:row;align-items:stretch;justify-content:stretch;padding:0;margin:0;background:#08080f;overflow:hidden}.login-bg-effects{z-index:0}.login-hero{display:flex;flex:1 1 0%;min-width:0;align-items:center;justify-content:center;background:transparent;position:relative;overflow:hidden;z-index:1}.login-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 30% 40%,rgba(201,168,76,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 70% at 70% 60%,rgba(99,102,241,.03) 0%,transparent 60%);pointer-events:none}.login-hero-content{position:relative;z-index:1;text-align:center;padding:2rem 3rem;max-width:480px}.login-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#c9a84c14;border:1px solid rgba(201,168,76,.15);border-radius:100px;color:#c9a84c;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-hero-icon{width:120px;height:120px;border-radius:28px;background:linear-gradient(135deg,#c9a84c1a,#c9a84c08);border:1px solid rgba(201,168,76,.15);display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;color:#c9a84c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.login-hero-icon img{width:120px!important;height:120px!important;border-radius:28px;object-fit:cover}.login-hero-content h2{font-size:2rem;font-weight:700;color:#e8e8f0;margin-bottom:.5rem;letter-spacing:-.02em}.login-hero-content>p{color:#6a6a88;font-size:1rem;margin-bottom:2.5rem;font-weight:400}.login-hero-features{display:flex;flex-direction:column;gap:.6rem;text-align:left;margin-bottom:2.5rem}.login-hero-feature{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;transition:all .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-hero-feature:hover{background:#ffffff0a;border-color:#c9a84c1f;transform:translate(4px)}.login-hero-feature-icon{width:36px;height:36px;border-radius:10px;background:#c9a84c14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-hero-feature-icon svg{color:#c9a84c}.login-hero-feature div{display:flex;flex-direction:column}.login-hero-feature strong{color:#c8c8d8;font-size:.85rem;font-weight:600;margin-bottom:.1rem}.login-hero-feature div span{color:#5a5a78;font-size:.78rem;font-weight:400}.login-hero-stats{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.25rem 1.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-hero-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.login-hero-stat strong{color:#c9a84c;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.login-hero-stat span{color:#5a5a78;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.login-hero-stat-divider{display:block;width:1px;height:32px;background:#ffffff0f}.login-card{flex:0 0 500px;display:flex;flex-direction:column;justify-content:center;background:#131322b3;border-left:1px solid rgba(255,255,255,.04);padding:3rem 3.5rem;overflow-y:auto;max-width:500px;width:500px;z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card-inner{max-width:100%}.login-card .login-header{text-align:left;margin-bottom:2rem}.login-card .login-logo{width:56px;height:56px;border-radius:14px;margin:0 0 1.25rem}.login-card .login-header h1{font-size:1.5rem;color:#e8e8f0;font-weight:700;margin-bottom:.4rem;letter-spacing:-.02em}.login-card .login-header p{color:#6a6a88;font-size:.9rem}.login-register-link{flex-direction:row;gap:.6rem}}.crud-table{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.billing-breakdown{margin-top:1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem}.billing-breakdown .section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-primary)}.billing-breakdown .section-header h3{font-size:1rem;font-weight:600}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.breakdown-card{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1rem;transition:all var(--transition)}.breakdown-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.breakdown-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.breakdown-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.breakdown-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.breakdown-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.breakdown-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.breakdown-stat{text-align:center}.breakdown-value{display:block;font-size:.95rem;font-weight:700;color:var(--text-primary)}.breakdown-label{display:block;font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem}@media(max-width:768px){.breakdown-grid{grid-template-columns:1fr}.breakdown-stats{gap:.25rem}.breakdown-value{font-size:.85rem}}.billing-table{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;margin-top:1.5rem}.billing-table .table-header{display:grid;grid-template-columns:100px 1fr 1fr 1fr 90px 100px;gap:.75rem;padding:.85rem 1rem;background:var(--bg-tertiary);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.billing-table .table-row{display:grid;grid-template-columns:100px 1fr 1fr 1fr 90px 100px;gap:.75rem;padding:.85rem 1rem;align-items:center;font-size:.85rem;border-bottom:1px solid var(--border-light);transition:background var(--transition)}.billing-table .table-row:hover{background:var(--bg-card-hover)}.billing-table .table-row:last-child{border-bottom:none}.billing-table .cell-datetime{display:flex;flex-direction:column;gap:.15rem}.billing-table .cell-datetime strong{font-size:.8rem;color:var(--text-primary)}.billing-table .cell-datetime small{color:var(--text-tertiary);font-size:.75rem}.billing-table .cell-client{display:flex;flex-direction:column;min-width:0}.billing-table .cell-client strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-table .cell-client small{color:var(--text-tertiary);font-size:.75rem}.billing-table .cell-service{display:flex;flex-direction:column;min-width:0}.billing-table .cell-service strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-table .cell-service small{color:var(--text-tertiary);font-size:.72rem}.billing-table .cell-professional{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem}.billing-table .cell-price{font-weight:600;color:var(--success);font-size:.85rem}.billing-table .row-inactive .cell-price{color:var(--text-tertiary);text-decoration:line-through}@media(max-width:768px){.billing-table .table-header{display:none}.billing-table .table-row{display:flex;flex-wrap:wrap;gap:.5rem;position:relative;padding:1rem 1rem 1rem 1.25rem}.billing-table .table-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--success);border-radius:0 2px 2px 0}.billing-table .table-row.row-inactive:before{background:var(--danger)}.billing-table .cell-client{flex:1;min-width:0;order:1}.billing-table .cell-status{flex:0 0 auto;order:2}.billing-table .cell-datetime{flex:1 1 100%;flex-direction:row;gap:.5rem;align-items:center;order:3;padding:.5rem 0;border-bottom:1px dashed var(--border-light);margin-bottom:.25rem}.billing-table .cell-datetime strong{font-size:.8rem;color:var(--text-secondary)}.billing-table .cell-datetime small{font-size:.8rem;color:var(--text-tertiary)}.billing-table .cell-service{order:4;flex:1}.billing-table .cell-service strong{font-size:.8rem}.billing-table .cell-professional{order:5;font-size:.8rem;color:var(--text-secondary)}.billing-table .cell-professional:before{content:"• "}.billing-table .cell-price{order:6;margin-left:auto;font-size:1rem;font-weight:700}.billing-table .cell-client strong{font-size:.95rem}}.crud-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.crud-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.crud-card-header{display:flex;gap:1rem;align-items:flex-start}.crud-card-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.crud-card-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.crud-card-info{flex:1;min-width:0;word-break:break-word}.crud-card-info h3{font-size:1rem;color:var(--text-primary);margin-bottom:.15rem}.crud-card-info p{font-size:.85rem;color:var(--text-secondary)}.professional-phone{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.crud-card-meta{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem}.crud-card-actions{display:flex;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.btn-edit{background:var(--info-bg);color:var(--info);border:none;cursor:pointer;display:flex;align-items:center;gap:.35rem}.btn-edit:hover{background:var(--info);color:#fff}.btn-permissions{background:var(--accent-light);color:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;gap:.35rem}.btn-permissions:hover{background:var(--accent);color:#fff}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-lg{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.1rem;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm)}.modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-section-title{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.row-inactive{opacity:.5}.billing-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.billing-stats .stat-card small{display:block;margin-top:.25rem;font-size:.78rem;color:var(--text-tertiary)}.stat-accent{border-left:3px solid var(--accent)}.badge-role-super_admin{background:var(--danger-bg);color:var(--danger)}.badge-role-admin_empresa{background:var(--info-bg);color:var(--info)}.badge-role-funcionario{background:var(--success-bg);color:var(--success)}.booking-banner{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1.5rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.booking-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hover),var(--accent))}.banner-logo{flex-shrink:0}.banner-logo img{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);box-shadow:var(--shadow-accent)}.banner-logo-fallback{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-accent)}.banner-info{flex:1;min-width:0}.banner-name{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-details{display:flex;flex-wrap:wrap;gap:.75rem}.banner-detail{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-secondary)}.banner-auth{flex-shrink:0}.banner-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition);white-space:nowrap}.banner-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;box-shadow:var(--shadow-accent)}.banner-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #c9a84c4d}.banner-btn-outline{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color)}.banner-btn-outline:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--accent)}.banner-btn-text{background:none;border:none;color:var(--text-tertiary);font-size:.8rem;cursor:pointer;padding:.3rem .5rem;transition:color var(--transition)}.banner-btn-text:hover{color:var(--danger)}.banner-client-info{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.banner-client-greeting{display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--text-primary)}.banner-client-actions{display:flex;align-items:center;gap:.5rem}.client-auth-page{max-width:440px;margin:0 auto}.auth-brand{text-align:center;margin-bottom:2rem}.auth-brand-logo{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem;box-shadow:var(--shadow-accent)}.auth-brand-logo img{width:160px;height:160px;border-radius:50%;object-fit:cover}.auth-brand h1{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 .3rem}.auth-brand p{color:var(--text-secondary);font-size:.9rem}.auth-tabs{display:flex;background:var(--bg-input);border-radius:var(--radius-sm);padding:4px;margin-bottom:1.5rem}.auth-tab{flex:1;padding:.65rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition)}.auth-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.auth-error{background:var(--danger-bg);color:var(--danger);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem;border:1px solid rgba(239,68,68,.15)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .btn-primary{margin-top:.5rem}.auth-back{margin-top:1.5rem;justify-content:center;width:100%}.auth-login-link{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.25rem;color:var(--text-secondary);font-size:.9rem}.auth-login-link .btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;padding:0;transition:color var(--transition)}.auth-login-link .btn-link:hover{color:var(--accent-hover)}.my-appointments-list{display:flex;flex-direction:column;gap:.75rem}.my-appointment-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.25rem;transition:all var(--transition)}.my-appointment-card:hover{box-shadow:var(--shadow-sm)}.my-apt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.my-apt-price{font-weight:700;font-size:1.05rem;color:var(--accent)}.my-apt-body{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.my-apt-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary)}.my-apt-row svg{color:var(--text-tertiary);flex-shrink:0}.status-badge{display:inline-flex;padding:.25rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-confirmed{background:var(--info-bg);color:var(--info)}.badge-pending{background:var(--warning-bg);color:var(--warning)}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-cancelled{background:var(--danger-bg);color:var(--danger)}.input-readonly{opacity:.7;cursor:default;background:var(--bg-tertiary)!important}.settings-form{max-width:700px;display:flex;flex-direction:column;gap:1.5rem}.settings-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem}.settings-section .form-section-title{margin-top:0}.settings-preview{margin-top:.5rem}.lp{--lp-gold: #c9a84c;--lp-gold-light: #dfc26a;--lp-gold-dark: #a88a3a;--lp-bg: #0e0e14;--lp-bg-alt: #141420;--lp-text: #e0ddd5;--lp-text-dim: rgba(224,221,213,.45);--lp-border: rgba(201,168,76,.12);--lp-serif: "Playfair Display", Georgia, "Times New Roman", serif}.lp{width:100%;min-height:100vh;overflow-x:hidden;background:var(--lp-bg);color:var(--lp-text);font-family:inherit;-webkit-font-smoothing:antialiased}.lp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--lp-text-dim)}.lp-loading-spinner{width:36px;height:36px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--lp-gold);border-radius:50%;animation:lpSpin .8s linear infinite}@keyframes lpSpin{to{transform:rotate(360deg)}}.lp-ornament{display:flex;justify-content:center;margin:1.5rem 0;color:var(--lp-gold)}.lp-ornament svg{width:140px;height:16px}.lp-section{position:relative;overflow:hidden;scroll-margin-top:60px}.lp-container{max-width:960px;margin:0 auto;padding:0 2rem;text-align:center}.lp-label{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:var(--lp-gold);margin-bottom:.5rem}.lp-heading{font-family:var(--lp-serif);font-size:2.2rem;font-weight:700;color:#fff;margin-bottom:.25rem;letter-spacing:-.01em;line-height:1.2}.lp-hero{position:relative;height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.lp-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;z-index:0;animation:lpZoom 30s ease-in-out infinite alternate}@keyframes lpZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.lp-hero__overlay{position:absolute;inset:0;z-index:1}.lp-hero--img .lp-hero__overlay{background:radial-gradient(ellipse 80% 60% at 50% 45%,transparent 0%,rgba(0,0,0,.4) 100%),linear-gradient(180deg,#0006,#00000026,#0003 60%,#0e0e14e0)}.lp-hero--solid{background:radial-gradient(ellipse at 25% 75%,rgba(201,168,76,.06) 0%,transparent 50%),radial-gradient(ellipse at 75% 25%,rgba(201,168,76,.04) 0%,transparent 50%),linear-gradient(160deg,#0e0e14,#18182a,#0e0e14)}.lp-hero--solid .lp-hero__overlay{background:repeating-linear-gradient(-45deg,transparent,transparent 60px,rgba(201,168,76,.01) 60px,rgba(201,168,76,.01) 61px)}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 2rem;transition:background .35s,box-shadow .35s,backdrop-filter .35s;background:transparent}.lp-nav--solid{background:#0e0e14eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 20px #0006;border-bottom:1px solid rgba(201,168,76,.12)}.lp-nav__inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}.lp-nav__brand{display:flex;align-items:center;gap:.5rem;color:#ffffffe6;font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:color .3s}.lp-nav__brand svg{color:var(--lp-gold)}.lp-nav__brand:hover{color:#fff}.lp-nav__toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;color:#fffc;border-radius:8px;transition:background .2s}.lp-nav__toggle:hover{background:#ffffff14}.lp-nav__links{display:flex;align-items:center;gap:.25rem}.lp-nav__link{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:50px;font-size:.8rem;font-weight:500;color:#ffffffb3;background:transparent;border:none;cursor:pointer;transition:all .25s;white-space:nowrap}.lp-nav__link:hover{color:#fff;background:#ffffff14}.lp-nav__link--cta{background:var(--lp-gold);color:#0e0e14;font-weight:700;padding:.45rem 1.1rem}.lp-nav__link--cta:hover{background:#d4b44a;color:#0e0e14}.lp-nav__user{display:flex;align-items:center;gap:.15rem}@media(max-width:768px){.lp-nav{padding:0 1rem}.lp-nav__toggle{display:flex}.lp-nav__links{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;background:#0e0e14f5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.75rem 1rem;border-bottom:1px solid rgba(201,168,76,.12);box-shadow:0 8px 30px #00000080;gap:.25rem}.lp-nav__links--open{display:flex}.lp-nav__link{width:100%;padding:.7rem 1rem;border-radius:8px;justify-content:flex-start}.lp-nav__link--cta{justify-content:center;margin-top:.25rem}.lp-nav__user{width:100%;flex-direction:column;gap:.25rem}}.lp-hero__logout{background:none;border:none;color:#ffffff59;font-size:.7rem;cursor:pointer;transition:color .3s;text-decoration:underline;text-underline-offset:2px}.lp-hero__logout:hover{color:#e74c3c}.lp-hero__center{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 3.5rem;max-width:580px}.lp-hero__frame-top,.lp-hero__frame-bottom{position:absolute;left:0;right:0;height:40px;pointer-events:none}.lp-hero__frame-top{top:0}.lp-hero__frame-bottom{bottom:0}.lp-hero__frame-corner{position:absolute;width:28px;height:28px;border-color:var(--lp-gold);border-style:solid;border-width:0;opacity:.5}.lp-hero__frame-corner--tl{top:0;left:0;border-top-width:1px;border-left-width:1px}.lp-hero__frame-corner--tr{top:0;right:0;border-top-width:1px;border-right-width:1px}.lp-hero__frame-corner--bl{bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}.lp-hero__frame-corner--br{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}.lp-hero__eyebrow{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3em;color:var(--lp-gold);margin-bottom:1rem;opacity:.8}.lp-hero__logo-img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:2px solid rgba(201,168,76,.4);box-shadow:0 0 40px #c9a84c1f;margin-bottom:1rem}.lp-hero__logo-icon{width:128px;height:128px;border-radius:50%;border:1.5px solid var(--lp-gold);display:flex;align-items:center;justify-content:center;color:var(--lp-gold);margin-bottom:1rem}.lp-hero__title{font-family:var(--lp-serif);font-size:3.2rem;font-weight:800;color:#fff;margin-bottom:.25rem;text-shadow:0 4px 40px rgba(0,0,0,.5);line-height:1.05;letter-spacing:-.02em}.lp-hero__ornament{margin:.75rem 0}.lp-hero__tagline{font-family:var(--lp-serif);font-size:.95rem;font-style:italic;color:var(--lp-text-dim);letter-spacing:.08em;margin-bottom:1.25rem}.lp-hero__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-bottom:1.75rem}.lp-hero__meta span{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:#ffffff80}.lp-hero__meta span svg{color:var(--lp-gold);opacity:.6}.lp-hero__cta{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2.4rem;border-radius:0;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;background:var(--lp-gold);color:var(--lp-bg);border:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px #c9a84c33}.lp-hero__cta:hover{background:var(--lp-gold-light);transform:translateY(-2px);box-shadow:0 8px 30px #c9a84c59}.lp-hero__cta:active{transform:translateY(0)}.lp-hero__scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:10;background:none;border:none;color:#fff3;cursor:pointer;animation:lpBounce 2.5s ease-in-out infinite;transition:color .3s;padding:.5rem}.lp-hero__scroll:hover{color:var(--lp-gold)}@keyframes lpBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.lp-about{padding:5rem 0;background:var(--lp-bg)}.lp-about__text{font-size:1rem;line-height:1.9;color:var(--lp-text-dim);max-width:600px;margin:1.25rem auto 0}.lp-services{padding:5rem 0;background:var(--lp-bg-alt)}.lp-services:before,.lp-services:after{content:"";position:absolute;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--lp-border),transparent)}.lp-services:before{top:0}.lp-services:after{bottom:0}.lp-services__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;margin:2.5rem 0;background:var(--lp-border);border:1px solid var(--lp-border)}.lp-svc{display:flex;gap:1rem;padding:1.75rem;background:var(--lp-bg-alt);transition:background .3s}.lp-svc:hover{background:#c9a84c0a}.lp-svc__number{font-family:var(--lp-serif);font-size:2rem;font-weight:700;color:var(--lp-gold);opacity:.2;line-height:1;min-width:36px}.lp-svc__content{flex:1;text-align:left}.lp-svc__name{font-family:var(--lp-serif);font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.3rem}.lp-svc__desc{font-size:.78rem;color:var(--lp-text-dim);line-height:1.5;margin-bottom:.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-svc__footer{display:flex;align-items:center;gap:.5rem}.lp-svc__price{font-family:var(--lp-serif);font-size:1.1rem;font-weight:700;color:var(--lp-gold)}.lp-svc__sep{color:#ffffff26;font-size:.8rem}.lp-svc__time{display:flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--lp-text-dim)}.lp-cta-wrap{margin-top:2.5rem;text-align:center}.lp-btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--lp-gold);background:transparent;border:1px solid var(--lp-gold);cursor:pointer;transition:all .3s}.lp-btn-outline:hover{background:var(--lp-gold);color:var(--lp-bg);box-shadow:0 4px 20px #c9a84c40}.lp-team{padding:5rem 0;background:var(--lp-bg)}.lp-team__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2.5rem}.lp-pro{width:200px}.lp-pro{text-align:center;cursor:default}.lp-pro__photo{position:relative;width:160px;height:200px;margin:0 auto 1.25rem;overflow:hidden}.lp-pro__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.05);transition:all .5s}.lp-pro:hover .lp-pro__photo img{filter:grayscale(0%) contrast(1);transform:scale(1.04)}.lp-pro__photo-frame{position:absolute;inset:6px;border:1px solid rgba(201,168,76,.3);pointer-events:none;transition:border-color .3s}.lp-pro:hover .lp-pro__photo-frame{border-color:var(--lp-gold)}.lp-pro__name{font-family:var(--lp-serif);font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.2rem}.lp-pro__specialty{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--lp-text-dim);margin-bottom:.5rem}.lp-pro__rating{display:inline-flex;align-items:center;gap:.15rem;color:var(--lp-gold);font-size:.72rem;font-weight:600}.lp-pro__rating span{margin-left:.3rem;color:var(--lp-text-dim)}.lp-cta-final{position:relative;padding:6rem 2rem;overflow:hidden}.lp-cta-final__bg{position:absolute;inset:-10px;background-size:cover;background-position:center;filter:blur(2px) brightness(.4) grayscale(30%)}.lp-cta-final__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0e0e14cc,#0e0e1499,#0e0e14d9)}.lp-cta-final__inner{position:relative;z-index:1;max-width:500px;margin:0 auto;text-align:center}.lp-cta-final__inner h2{font-family:var(--lp-serif);font-size:2rem;font-weight:700;color:#fff;margin-bottom:.75rem}.lp-cta-final__inner p{font-size:.88rem;color:var(--lp-text-dim);margin-bottom:2rem;line-height:1.6}.lp-footer{background:#0a0a10;border-top:1px solid var(--lp-border)}.lp-footer__inner{max-width:960px;margin:0 auto;padding:2.5rem 2rem 2rem;text-align:center}.lp-footer__logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem;color:var(--lp-gold);font-size:.9rem}.lp-footer__logo strong{color:#ffffffbf;font-family:var(--lp-serif);font-weight:700}.lp-footer__info{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.25rem}.lp-footer__info span{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:#ffffff40}.lp-footer__info span svg{color:#c9a84c66}.lp-footer__sep{width:40px;height:1px;background:var(--lp-border);margin:0 auto 1rem}.lp-footer__copy{font-size:.65rem;color:#ffffff26;letter-spacing:.06em}@media(max-width:768px){.lp-hero__center{padding:2.5rem;max-width:480px}.lp-hero__title{font-size:2.6rem}.lp-heading{font-size:1.8rem}.lp-services__grid{grid-template-columns:1fr}.lp-team__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.lp-pro__photo{width:140px;height:175px}}@media(max-width:540px){.lp-hero__center{padding:2rem 1.75rem;max-width:95%}.lp-hero__title{font-size:2rem}.lp-hero__tagline{font-size:.82rem}.lp-hero__meta{flex-direction:column;gap:.3rem;margin-bottom:1.5rem}.lp-hero__meta span{justify-content:center;font-size:.72rem}.lp-hero__cta{padding:.75rem 2rem;font-size:.78rem}.lp-hero__frame-corner{width:20px;height:20px}.lp-container{padding:0 1.25rem}.lp-about,.lp-services,.lp-team{padding:3.5rem 0}.lp-heading{font-size:1.5rem}.lp-about__text{font-size:.88rem;line-height:1.75}.lp-svc{padding:1.25rem}.lp-team__grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.lp-pro__photo{width:120px;height:150px}.lp-pro__name{font-size:.9rem}.lp-cta-final{padding:4rem 1.5rem}.lp-cta-final__inner h2{font-size:1.5rem}.lp-footer__info{flex-direction:column;gap:.4rem}.lp-footer__info span{justify-content:center}}@media(max-width:380px){.lp-hero__title{font-size:1.7rem}.lp-hero__center{padding:1.75rem 1.25rem}.lp-heading{font-size:1.3rem}.lp-team__grid{gap:1rem}.lp-pro__photo{width:100px;height:130px}}.lp-promos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.lp-promo-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.lp-promo-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.lp-promo-card__banner{width:100%;height:140px;overflow:hidden}.lp-promo-card__banner img{width:100%;height:100%;object-fit:cover}.lp-promo-card__body{padding:1.25rem}.lp-promo-card__badge{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:20px;margin-bottom:10px}.lp-promo-card__name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.lp-promo-card__desc{font-size:.88rem;color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.lp-promo-card__meta{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-tertiary)}.lp-loyalty__card{display:flex;align-items:center;gap:2rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;margin-top:2rem;max-width:600px;margin-left:auto;margin-right:auto}.lp-loyalty__icon{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff}.lp-loyalty__info{flex:1}.lp-loyalty__desc{font-size:.95rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.lp-loyalty__details{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.lp-loyalty__detail{display:flex;flex-direction:column;align-items:center}.lp-loyalty__detail strong{font-size:1.3rem;color:var(--accent)}.lp-loyalty__detail span{font-size:.78rem;color:var(--text-tertiary)}.lp-loyalty__detail-sep{font-size:1.5rem;color:var(--text-tertiary);font-weight:300}.lp-loyalty__note{font-size:.82rem;color:var(--text-tertiary);margin:0;font-style:italic}@media(max-width:500px){.lp-loyalty__card{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.lp-loyalty__icon{width:60px;height:60px}}.service-price--original{text-decoration:line-through;color:var(--text-tertiary);font-size:.82rem;font-weight:400;margin-right:6px}.service-price--promo{color:var(--accent);font-weight:700}.service-promo-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:12px;margin-bottom:4px}.stamp-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.stamp-card__header{display:flex;align-items:flex-start;gap:10px;margin-bottom:1rem;color:var(--accent)}.stamp-card__title{font-size:1rem;font-weight:700;margin:0;color:var(--text-primary)}.stamp-card__desc{font-size:.82rem;color:var(--text-secondary);margin:2px 0 0}.stamp-card__dots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.stamp-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--bg-tertiary);transition:all .2s}.stamp-dot--filled{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px rgba(var(--accent-rgb, 200, 155, 60),.4)}.stamp-card__progress{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:10px}.stamp-card__progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.stamp-card__footer{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--text-secondary)}.stamp-card__reward{font-weight:700;color:var(--accent)}.stamp-card__banner{margin-top:10px;padding:10px 14px;background:var(--success);color:#fff;border-radius:8px;font-size:.88rem;font-weight:600;text-align:center}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast--success{border-color:var(--success)}.toast--success svg{color:var(--success)}.toast--error{border-color:var(--danger)}.toast--error svg{color:var(--danger)}.toast--warning{border-color:var(--warning)}.toast--warning svg{color:var(--warning)}.toast span{flex:1;font-size:.9rem;color:var(--text-primary)}.toast-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media(max-width:480px){.toast-container{left:10px;right:10px;max-width:none}}.modal-permissions{max-width:420px}.permissions-user-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:1rem}.permissions-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.permissions-user-info>div{display:flex;flex-direction:column;gap:.15rem}.permissions-user-info strong{font-size:.95rem;color:var(--text-primary)}.permissions-user-info small{font-size:.8rem;color:var(--text-tertiary)}.permissions-description{font-size:.88rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.permissions-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.permission-item{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:1px solid transparent}.permission-item:hover{background:var(--bg-card-hover);border-color:var(--border-color)}.permission-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);cursor:pointer}.permission-info{display:flex;flex-direction:column;gap:.2rem}.permission-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.permission-desc{font-size:.78rem;color:var(--text-tertiary);line-height:1.4}.permissions-note{display:block;font-size:.78rem;color:var(--text-tertiary);margin-bottom:1rem;padding:.65rem .85rem;background:var(--info-bg);border-radius:var(--radius-sm);border-left:3px solid var(--info)}
