@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--primary-50: #faf5ff;--primary-100: #f3e8ff;--primary-200: #e9d5ff;--primary-300: #d8b4fe;--primary-400: #c084fc;--primary-500: #a855f7;--primary-600: #9333ea;--primary-700: #7e22ce;--primary-800: #6b21a8;--primary-900: #581c87;--accent-50: #fffbeb;--accent-100: #fef3c7;--accent-200: #fde68a;--accent-300: #fcd34d;--accent-400: #fbbf24;--accent-500: #f59e0b;--accent-600: #d97706;--accent-700: #b45309;--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-300: #d4d4d8;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--success-light: #d1fae5;--success: #10b981;--success-dark: #059669;--warning-light: #fef3c7;--warning: #f59e0b;--warning-dark: #d97706;--error-light: #fee2e2;--error: #ef4444;--error-dark: #dc2626;--info-light: #dbeafe;--info: #3b82f6;--info-dark: #2563eb;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f4f4f5;--surface: #ffffff;--surface-elevated: #ffffff;--text-primary: #18181b;--text-secondary: #52525b;--text-tertiary: #a1a1aa;--text-inverse: #ffffff;--border-light: #f4f4f5;--border-medium: #e4e4e7;--border-dark: #d4d4d8}:root{--font-display: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem}:root{--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-primary: 0 10px 25px -5px rgba(168, 85, 247, .3);--shadow-accent: 0 10px 25px -5px rgba(245, 158, 11, .3);--shadow-success: 0 10px 25px -5px rgba(16, 185, 129, .3);--shadow-error: 0 10px 25px -5px rgba(239, 68, 68, .3)}:root{--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px}:root{--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1)}:root{--glass-bg: rgba(255, 255, 255, .7);--glass-bg-dark: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--glass-blur: blur(16px)}:root{--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}:root{--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root{--gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);--gradient-accent: linear-gradient(135deg, var(--accent-400) 0%, var(--accent-600) 100%);--gradient-purple-pink: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-warm: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-ocean: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-sunset: linear-gradient(135deg, #fa709a 0%, #fee140 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--space-4)}h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold);letter-spacing:-.02em}h2{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.01em}h3{font-size:var(--text-3xl);font-weight:var(--font-bold)}h4{font-size:var(--text-2xl);font-weight:var(--font-semibold)}h5{font-size:var(--text-xl);font-weight:var(--font-semibold)}h6{font-size:var(--text-lg);font-weight:var(--font-medium)}p{margin-bottom:var(--space-4);color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}strong,b{font-weight:var(--font-semibold)}small{font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1;text-decoration:none;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-primary)}.btn-secondary{background:var(--gray-100);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover:not(:disabled){background:var(--gray-200);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary-600);border:2px solid var(--primary-600)}.btn-outline:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-700);color:var(--primary-700)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text-primary)}.btn-success{background:var(--success);color:#fff;box-shadow:var(--shadow-success)}.btn-success:hover:not(:disabled){background:var(--success-dark);transform:translateY(-2px)}.btn-danger{background:var(--error);color:#fff;box-shadow:var(--shadow-error)}.btn-danger:hover:not(:disabled){background:var(--error-dark);transform:translateY(-2px)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-xl)}.btn-icon{padding:var(--space-3);aspect-ratio:1}.card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card-gradient{position:relative;background:var(--surface);border:2px solid transparent;background-clip:padding-box}.card-gradient:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-header{padding:var(--space-6);border-bottom:1px solid var(--border-light)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-tertiary)}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-control{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-medium);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background-color:var(--surface);transition:all var(--transition-base)}.form-control:hover{border-color:var(--border-dark)}.form-control:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #a855f71a}.form-control::placeholder{color:var(--text-tertiary)}.form-control:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}textarea.form-control{resize:vertical;min-height:120px}.form-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--error)}.form-help{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-6)}.container-sm{max-width:640px}.container-lg{max-width:1536px}.section{padding:var(--space-20) 0}.section-sm{padding:var(--space-12) 0}.section-lg{padding:var(--space-32) 0}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:var(--font-bold)}.font-semibold{font-weight:var(--font-semibold)}.font-medium{font-weight:var(--font-medium)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.m-0{margin:0}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .6s var(--ease-out)}.slide-in-left{animation:slideInLeft .5s var(--ease-out)}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){html{font-size:15px}.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}}@media (max-width: 480px){.btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}}:root{--mobile-padding: 16px;--mobile-margin: 12px;--mobile-button-height: 48px;--mobile-input-height: 48px;--mobile-touch-target: 44px}@media (max-width: 768px){*{box-sizing:border-box}body{margin:0;padding:0;overflow-x:hidden;font-size:16px}.container{padding-left:var(--mobile-padding)!important;padding-right:var(--mobile-padding)!important;max-width:100%!important}nav{padding:8px var(--mobile-padding)}nav ul{flex-direction:column;gap:8px}nav ul li{margin:0;width:100%}nav ul li a,nav ul li button{display:block;width:100%;min-height:var(--mobile-touch-target);padding:12px 16px;text-align:center;font-size:16px}.btn,button{min-height:var(--mobile-button-height)!important;padding:12px 20px!important;font-size:16px!important;touch-action:manipulation}input,select,textarea{min-height:var(--mobile-input-height)!important;font-size:16px!important;padding:12px 16px!important;border-radius:8px!important}.grid,.profile-grid,.about-grid,.hero-content{grid-template-columns:1fr!important;gap:var(--mobile-margin)!important}section,.section{padding:40px var(--mobile-padding)!important}.card,.about-card,.sidebar-card{margin:var(--mobile-margin) 0!important;padding:var(--mobile-padding)!important;border-radius:12px!important}}@media (max-width: 480px){:root{--mobile-padding: 12px;--mobile-margin: 8px}.hero-title,h1{font-size:1.8rem!important;line-height:1.2!important}.hero-description,h2{font-size:1.4rem!important;line-height:1.3!important}h3{font-size:1.2rem!important}p{font-size:14px!important;line-height:1.5!important}nav{padding:6px var(--mobile-padding)}nav ul li a,nav ul li button{padding:10px 12px;font-size:14px}.form-group{gap:6px!important}.form-actions{flex-direction:column!important;gap:12px!important}.form-actions .btn{width:100%!important}}@media (max-width: 768px){.profile-header{padding:20px var(--mobile-padding)!important}.profile-header-content{gap:16px!important;text-align:center!important}.profile-avatar .avatar-image,.profile-avatar .avatar-placeholder{width:80px!important;height:80px!important}.profile-name{font-size:1.5rem!important}.profile-stats{flex-wrap:wrap!important;justify-content:center!important;gap:8px!important}.stat-item{min-width:120px!important;padding:8px 12px!important}.stat-number{font-size:1.2rem!important}.stat-label{font-size:.8rem!important}}@media (max-width: 768px){.user-form-container{gap:16px!important}.profile-form>div,.form-group{gap:6px!important}.profile-form label,.form-group label{font-size:14px!important;font-weight:600!important}.profile-form input,.profile-form select,.profile-form textarea,.form-group input,.form-group select,.form-group textarea{font-size:16px!important;padding:12px 14px!important}.profile-form textarea,.form-group textarea{min-height:60px!important}}@media (max-width: 768px){.date-selector-container{padding:16px!important;margin:var(--mobile-margin) 0!important}.date-input-container{flex-direction:column!important;gap:12px!important}.date-input{width:100%!important;min-width:unset!important}.date-navigation{flex-direction:row!important;gap:8px!important}.date-nav-btn{flex:1!important;min-width:unset!important;font-size:14px!important;padding:10px 12px!important}.selected-date-info{font-size:12px!important;padding:8px 10px!important}}@media (max-width: 480px){.date-navigation{flex-direction:column!important;gap:8px!important}.date-nav-btn{width:100%!important}}@media (max-width: 768px){.quick-actions,.admin-links{gap:8px!important}.quick-action-btn,.admin-link{padding:12px 16px!important;font-size:14px!important;min-height:var(--mobile-touch-target)!important}.contact-buttons{flex-direction:column!important;gap:12px!important}.contact-buttons .btn{width:100%!important}}@media (max-width: 768px){.hero-section,.about-section,.timeline-section,.cv-section,.contact-section{overflow-x:hidden!important}.timeline-container,.cv-preview{margin:0 var(--mobile-padding)!important;padding:var(--mobile-padding)!important}.cv-iframe{width:100%!important;height:400px!important;border-radius:8px!important}}@media (max-width: 768px){.modal,.notification{margin:var(--mobile-padding)!important;max-width:calc(100% - 2 * var(--mobile-padding))!important}.notification{position:fixed!important;top:var(--mobile-padding)!important;left:var(--mobile-padding)!important;right:var(--mobile-padding)!important;width:auto!important}}@media (max-width: 768px){html{scroll-behavior:smooth}body{min-width:320px}.section-title,.hero-title{word-wrap:break-word!important;hyphens:auto!important}.profile-main>*{margin-bottom:24px!important}.profile-sidebar>*{margin-bottom:16px!important}}@media (max-width: 360px){:root{--mobile-padding: 8px;--mobile-margin: 6px}.hero-title{font-size:1.6rem!important}.profile-name{font-size:1.3rem!important}.btn,button{font-size:14px!important;padding:10px 16px!important}}@media (max-width: 768px){a,button,.btn,input[type=submit],input[type=button]{min-height:var(--mobile-touch-target)!important;min-width:var(--mobile-touch-target)!important}a:focus,button:focus,.btn:focus,input:focus,select:focus,textarea:focus{outline:3px solid #007AFF!important;outline-offset:2px!important}}:root{--text-primary: #2c3e50;--text-secondary: #34495e;--text-muted: #7f8c8d;--background-white: #ffffff;--background-light: #f8f9fa;--border-light: #e9ecef;--error-text: #c0392b;--success-text: #27ae60;--warning-text: #f39c12}.card,.modal-content,.form-container,.item-card,.item-card p,.item-card h3,.item-card h4,.item-card span,.form-group label,.form-label{color:var(--text-primary)!important}.form-control,input,textarea,select{color:var(--text-primary)!important;background-color:var(--background-white)!important}.modal,.modal-overlay,.modal-content h2,.modal-content h3,.modal-content p,.modal-content span,.background-light,.background-light .card,.background-light .container,.background-light p,.background-light h1,.background-light h2,.background-light h3,.background-light h4,.background-light h5,.background-light h6,.background-light span,.background-light div,.background-light label{color:var(--text-primary)!important}.calendar-view .month-title{color:#fff!important;font-weight:600!important}.calendar-view .view-btn{color:#2c3e50!important;background:#fffffff2!important;border:1px solid rgba(255,255,255,.3)!important;font-weight:600!important}.calendar-view .view-btn:hover{background:#fff!important;color:#2c3e50!important}.calendar-view .view-btn.active{background:#fff!important;color:#8b5a8c!important;font-weight:700!important}.user-card,.user-card *,.user-card h3,.user-card p,.user-card span,.user-card div,.user-management,.user-management *,.user-list,.user-list *,.user-item,.user-item *,.back-office-container,.back-office-container *,.back-office-section,.back-office-section *,.admin-section,.admin-section *,div[style*="background: white"],div[style*="background-color: white"],.white-background,.white-background *{color:var(--text-primary)!important}.btn-delete,.delete-btn,.btn-danger,button[class*=delete],button[class*=supprimer],.button-delete,.action-delete{background-color:#e74c3c!important;color:#fff!important;border:1px solid #c0392b!important}.btn-delete:hover,.delete-btn:hover,.btn-danger:hover,button[class*=delete]:hover,button[class*=supprimer]:hover,.button-delete:hover,.action-delete:hover{background-color:#c0392b!important;color:#fff!important}*,*:before,*:after,div,section,header,.profile-header,.user-profile,.profile-banner,.banner,.hero,.hero-section{filter:none!important;backdrop-filter:none!important;-webkit-filter:none!important;-webkit-backdrop-filter:none!important}.blur,.blurred,.backdrop-blur,[style*="filter: blur"],[style*=backdrop-filter],.profile-blur,.section-blur,.glassmorphism,.glass-effect{filter:none!important;backdrop-filter:none!important;-webkit-filter:none!important;-webkit-backdrop-filter:none!important;background:#8b5a8ce6!important}.profile-container,.profile-container *,.user-profile-header,.user-profile-header *{filter:none!important;backdrop-filter:none!important;-webkit-filter:none!important;-webkit-backdrop-filter:none!important}button,.btn,.button,a,[role=button],input[type=button],input[type=submit]{pointer-events:auto!important;cursor:pointer!important;z-index:999!important;position:relative!important}.back-btn,.return-btn,.nav-btn,.btn-primary,.btn-secondary{pointer-events:auto!important;cursor:pointer!important;z-index:1000!important}.sidebar,.navigation,.nav-sidebar,.side-nav{width:200px!important;min-width:200px!important;max-width:200px!important}.main-content,.content,.page-content{margin-left:210px!important;width:calc(100% - 210px)!important}.purple-background,.violet-background,[style*="background: rgb(139, 90, 140)"],[style*="background-color: rgb(139, 90, 140)"],.week-header,.timeline-header,.profile-header,.sidebar,.navigation,.nav-sidebar,.side-nav,.sidebar *,.navigation *,.nav-sidebar *,.side-nav *{color:#fff!important}.section-header,.week-title,.timeline-title{color:#fff!important;font-weight:600!important}.slot-card,.time-slot,.calendar-slot{background:#fffffff2!important;color:#2c3e50!important;border:1px solid rgba(255,255,255,.3)!important}:root{--primary-color: #95678e;--primary-dark: #6b4c65;--text-light: white;--text-dark: #333;--text-gray: #666}.home-container{min-height:100vh;overflow-x:hidden}.hero-section{background:linear-gradient(135deg,#95678e,#7a5a73,#6b4c65);color:#fff;padding:100px 0;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 200"><polygon fill="rgba(255,255,255,0.1)" points="0,0 1000,50 1000,200 0,200"/></svg>');background-size:cover;background-position:bottom}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}.hero-text{animation:fadeInLeft 1s ease-out}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-highlight{color:gold;background:linear-gradient(45deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:1.3rem;line-height:1.8;margin-bottom:3rem;opacity:.95;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.hero-buttons{display:flex;gap:20px;flex-wrap:wrap}.hero-image{display:flex;justify-content:center;align-items:center;animation:fadeInRight 1s ease-out}.profile-image-container{position:relative;border-radius:50%;overflow:hidden;box-shadow:0 20px 60px #0000004d;border:6px solid rgba(255,255,255,.2);transition:transform .3s ease}.profile-image-container:hover{transform:scale(1.05) rotate(2deg)}.profile-image{border-radius:50%}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:2.8rem;font-weight:700;color:#333;margin-bottom:1rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));border-radius:2px}.section-subtitle{font-size:1.2rem;color:var(--text-dark);font-style:italic}.hero-section p,.rdv-preview-section p,.contact-section p,.hero-section .section-subtitle,.contact-section .section-subtitle,.rdv-preview-section .section-subtitle{color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.calendar-demo-section .section-subtitle,.timeline-section .section-subtitle,.about-section .section-subtitle,.cv-section .section-subtitle{color:var(--text-dark)}.hero-section .section-title,.contact-section .section-title,.rdv-preview-section .section-title{color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.4)}.about-section{padding:100px 0;background:#f8f9fa}.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.about-card{background:#fff;padding:30px 20px;border-radius:20px;text-align:center;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;border-top:4px solid var(--primary-color);position:relative;overflow:hidden;height:fit-content;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.about-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(149,103,142,.05),transparent);transition:left .5s ease}.about-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #95678e33}.about-card:hover:before{left:100%}.about-icon{font-size:3rem;margin-bottom:20px;display:block}.about-card h3{color:var(--primary-color);font-size:1.4rem;margin-bottom:15px;font-weight:600}.about-card p{color:#444;line-height:1.7;font-size:1rem}.timeline-section{padding:100px 0;background:#fff}.timeline-section.purple-background{background:linear-gradient(135deg,#95678e,#7a5a73,#6b4c65);color:#fff}.timeline-section.purple-background .section-title{color:#fff}.timeline-section.purple-background .section-subtitle{color:#ffffffe6}.timeline-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 10px 30px #0000001a;color:#2c3e50}.cv-section{padding:100px 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.cv-content{max-width:1000px;margin:0 auto}.cv-actions{text-align:center;margin-bottom:50px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.cv-preview{background:#fff;border-radius:20px;padding:30px;box-shadow:0 15px 40px #0000001a;position:relative;overflow:hidden;max-height:0;opacity:0;transition:all .5s ease-in-out}.cv-preview.show-preview{max-height:1000px;opacity:1;margin-top:2rem}.cv-frame{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 5px 20px #0000001a;padding-top:1rem}.cv-iframe{border:none;border-radius:10px;width:100%;height:800px;transition:transform .3s ease}.cv-preview:hover .cv-iframe{transform:scale(1.02)}.cv-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid #dee2e6;border-radius:8px 8px 0 0}.cv-preview-header h4{margin:0;color:#2c3e50;font-size:1.2rem}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.contact-section{padding:80px 0;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;text-align:center}.contact-content h2{font-size:2.5rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.contact-content p{font-size:1.2rem;margin-bottom:40px;opacity:.95;max-width:600px;margin-left:auto;margin-right:auto}.contact-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.contact-buttons .btn{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}.contact-buttons .btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.calendar-demo-section{padding:80px 0;background:linear-gradient(135deg,#f8f9ff,#e8f0ff);position:relative}.calendar-demo-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100"><polygon fill="rgba(149,103,142,0.05)" points="0,0 1000,0 1000,80 0,100"/></svg>');background-size:cover;background-position:top}.calendar-demo-section .container{position:relative;z-index:2}.calendar-container{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:20px;box-shadow:0 20px 40px #95678e1a;border:1px solid rgba(149,103,142,.1)}.rdv-preview-section{padding:100px 0;background:linear-gradient(135deg,#95678e,#7a5a73,#6b4c65);color:#fff;position:relative}.rdv-preview-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100"><polygon fill="rgba(255,255,255,0.05)" points="0,0 1000,20 1000,100 0,80"/></svg>');background-size:cover;background-position:bottom}.rdv-preview-section .container{position:relative;z-index:2}.rdv-preview-section .section-title,.rdv-preview-section .section-subtitle{color:#fff}.rdv-preview-content{max-width:800px;margin:0 auto;text-align:center}.rdv-preview-text h3{color:gold;font-size:2rem;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.rdv-preview-text p{font-size:1.2rem;line-height:1.8;margin-bottom:3rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.rdv-features-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:2rem}.feature-item{display:flex;align-items:center;justify-content:center;gap:10px;background:#fffffff2;padding:15px 20px;border-radius:10px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.feature-item:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.feature-icon{font-size:1.5rem;color:#95678e}.feature-item span:last-child{color:#95678e;font-weight:500}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1200px){.about-grid{grid-template-columns:repeat(2,1fr);gap:25px}}@media (max-width: 768px){.home-container{overflow-x:hidden}.hero-section{padding:40px 16px}.hero-content{grid-template-columns:1fr;gap:24px;text-align:center}.hero-title{font-size:2rem;line-height:1.2;margin-bottom:16px}.hero-description{font-size:1rem;line-height:1.5;margin-bottom:24px}.hero-buttons{justify-content:center;flex-direction:column;gap:12px;align-items:center}.hero-buttons .btn{width:100%;max-width:280px;min-height:48px;font-size:16px}.hero-visual{order:-1;margin-bottom:20px}.hero-visual img{max-width:250px;height:auto}.about-section,.timeline-section,.cv-section,.contact-section{padding:40px 16px}.about-grid{grid-template-columns:1fr;gap:20px}.about-card{padding:20px 16px;margin:0}.section-title{font-size:1.8rem;margin-bottom:16px;text-align:center}.timeline-container,.cv-preview{padding:16px;margin:0}.cv-iframe{height:400px;width:100%}.contact-buttons{flex-direction:column;align-items:stretch;gap:12px}.contact-buttons .btn{width:100%;max-width:none}.calendar-container{padding:16px;margin:0}.calendar-demo-section{padding:40px 16px}.feature-grid{grid-template-columns:1fr;gap:16px}.feature-item{padding:16px;text-align:center}.feature-icon{font-size:2rem;margin-bottom:8px}.contact-content{text-align:center}.contact-content h2{font-size:1.6rem}.contact-content p{font-size:1rem;margin-bottom:24px}}@media (max-width: 480px){.hero-section{padding:30px 12px}.hero-title{font-size:1.6rem;line-height:1.2}.hero-description{font-size:.9rem;line-height:1.4}.hero-buttons .btn{font-size:15px;padding:12px 20px}.about-section,.timeline-section,.cv-section,.contact-section{padding:30px 12px}.about-card{padding:16px 12px}.cv-iframe{height:300px}.section-title{font-size:1.5rem}.contact-content h2{font-size:1.4rem}.contact-content p{font-size:.9rem}.about-grid{gap:16px}.timeline-container{padding:12px}.hero-buttons{gap:8px}.hero-buttons .btn{max-width:100%;font-size:14px}}.btn:focus,.about-card:focus{outline:3px solid #ffd700;outline-offset:2px}.hero-section *,.rdv-preview-section *,.contact-section *{color:#fff}.hero-highlight{color:gold!important}.feature-icon{color:#95678e!important}.feature-item span:last-child{color:#95678e!important}.about-card,.timeline-container{opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease-out forwards}.about-card:nth-child(1){animation-delay:.1s}.about-card:nth-child(2){animation-delay:.2s}.about-card:nth-child(3){animation-delay:.3s}.about-card:nth-child(4){animation-delay:.4s}.calendar-container,.rdv-preview-section{opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease-out .3s forwards}.timeline-wrapper{position:relative;width:100%;max-width:1000px;margin:0 auto}.timeline-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.timeline-nav-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:50%;width:50px;height:50px;font-size:1.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #95678e4d;display:flex;align-items:center;justify-content:center}.timeline-nav-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #95678e66}.timeline-nav-button:active{transform:scale(.95)}.timeline-nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.timeline-progress{flex:1;margin:0 20px;text-align:center}.timeline-progress-text{display:none}.timeline-progress-bar{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;position:relative}.timeline-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));border-radius:3px;transition:width .5s ease;position:relative}.timeline-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.timeline-main{position:relative;min-height:400px}.timeline-event{background:linear-gradient(135deg,#fffffff2,#f8f9fae6);backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 10px 30px #0000001a;position:relative;overflow:hidden;transition:all .5s ease;border-left:5px solid var(--primary-color);border:1px solid rgba(255,255,255,.2)}.timeline-event:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark))}.timeline-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f8f9fa}.timeline-date{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem;box-shadow:0 4px 10px #95678e4d}.timeline-type{background:#f8f9fa;color:var(--primary-color);padding:6px 12px;border-radius:15px;font-size:.8rem;font-weight:500;border:1px solid #e9ecef}.timeline-content{animation:fadeInContent .6s ease-out}.timeline-title{color:#2c2c2c;font-size:1.8rem;font-weight:700;margin-bottom:15px;line-height:1.3}.timeline-subtitle{color:var(--primary-color);font-size:1.2rem;font-weight:600;margin-bottom:20px;font-style:italic}.timeline-description{color:#2c2c2c;line-height:1.7;font-size:1rem;margin-bottom:20px;font-weight:500}.timeline-image{margin:25px 0;text-align:center;padding:15px;background:#fffc;border-radius:12px;box-shadow:0 2px 10px #0000000d}.timeline-event-image{max-width:220px;max-height:165px;border-radius:10px;box-shadow:0 4px 15px #00000026;object-fit:cover;transition:all .3s ease;border:2px solid rgba(255,255,255,.8)}.timeline-event-image:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003}.timeline-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:30px}.timeline-detail-item{background:#f8f9fa;padding:20px;border-radius:15px;text-align:center;border:1px solid #e9ecef;transition:all .3s ease}.timeline-detail-item:hover{background:#95678e0d;border-color:var(--primary-color);transform:translateY(-2px)}.timeline-detail-label{font-weight:600;color:var(--primary-color);font-size:.9rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.timeline-detail-value{color:#333;font-size:1rem;font-weight:500}.timeline-indicators{display:flex;justify-content:center;gap:10px;margin-top:30px}.timeline-indicator{width:12px;height:12px;border-radius:50%;background:#e9ecef;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.timeline-indicator.active{background:var(--primary-color);transform:scale(1.2);box-shadow:0 0 0 3px #95678e33}.timeline-indicator:hover{background:var(--primary-light);transform:scale(1.1)}.timeline-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a}.timeline-loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.timeline-loading-text{color:#333;font-size:1.1rem;font-weight:500}.timeline-error{text-align:center;padding:40px 20px;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;border-left:5px solid var(--error-color)}.timeline-error-icon{font-size:3rem;margin-bottom:20px}.timeline-error-title{color:var(--error-color);font-size:1.3rem;font-weight:600;margin-bottom:10px}.timeline-error-message{color:#333;font-size:1rem}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.timeline-event{padding:30px 25px}.timeline-event-header{flex-direction:column;gap:15px;align-items:flex-start}.timeline-title{font-size:1.5rem}.timeline-subtitle{font-size:1.1rem}.timeline-details{grid-template-columns:1fr;gap:15px}.timeline-navigation{flex-direction:column;gap:20px}.timeline-progress{order:-1;margin:0;width:100%}.timeline-nav-button{width:45px;height:45px;font-size:1.1rem}}@media (max-width: 480px){.timeline-event{padding:25px 20px}.timeline-title{font-size:1.3rem}.timeline-subtitle{font-size:1rem}.timeline-description{font-size:.95rem}.timeline-detail-item{padding:15px}}:root{--primary-color: #8b5a8c;--secondary-color: #6d4570;--text-color: #2c3e50;--text-secondary: #7f8c8d;--border-color: #e1e8ed;--accent-color: #8b5a8c}.calendar-view{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden;max-width:1200px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;flex-wrap:wrap;gap:16px}.month-navigation{display:flex;align-items:center;gap:20px}.nav-btn{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s ease}.nav-btn:hover{background:#ffffff4d;transform:scale(1.1)}.month-title{font-size:1.5rem;font-weight:600;margin:0;min-width:200px;text-align:center}.view-controls{display:flex;gap:8px;background:#ffffff1a;padding:4px;border-radius:8px}.view-btn{background:transparent;border:none;color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500}.view-btn:hover{background:#fff3}.view-btn.active{background:#fff;color:var(--primary-color);font-weight:600}.month-view{padding:0}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--light-gray);border-bottom:1px solid var(--border-color)}.weekday{padding:16px 8px;text-align:center;font-weight:600;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color)}.day-cell{position:relative;min-height:100px;padding:8px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;transition:all .3s ease;background:#fff;display:flex;flex-direction:column}.day-cell:hover{background:var(--hover-color)}.day-cell.current-month{color:var(--text-primary)}.day-cell.other-month{color:var(--text-disabled);background:var(--light-gray)}.day-cell.other-month:hover{background:#f0f0f0}.day-cell.today{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.day-cell.today:hover{background:linear-gradient(135deg,var(--primary-dark),var(--secondary-dark))}.day-cell.selected{background:var(--accent-color);color:#fff}.day-cell.has-slots{border:2px solid rgba(139,90,140,.3)}.day-cell.has-slots:hover{border-color:var(--primary-color);background:#8b5a8c0d}.slots-indicator{position:absolute;top:4px;right:4px;background:var(--primary-color);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.slots-count{background:var(--success-color);color:#fff!important;font-size:.75rem;padding:2px 6px;border-radius:10px;font-weight:700}.day-cell.today .slots-count{background:#ffffffe6;color:#2c3e50!important;font-weight:700}.day-cell[data-slots-count=high]{background:linear-gradient(135deg,#8b5a8c1a,#8b5a8c0d)}.day-cell[data-slots-count=high] .slots-indicator{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));animation:pulse 2s infinite}.day-cell[data-slots-count=medium]{background:linear-gradient(135deg,#8b5a8c0d,#8b5a8c05)}.day-cell[data-slots-count=medium] .slots-indicator{background:linear-gradient(135deg,#8b5a8c,#a06ba0)}.total-slots-info{display:none!important}.slots-summary{font-size:.7rem;color:var(--text-secondary);margin-top:2px;padding:2px 6px;background:#8b5a8c1a;border-radius:6px;text-align:center}.day-view{padding:32px}.day-header{text-align:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.day-header h3{color:var(--text-primary);font-size:1.5rem;margin:0;text-transform:capitalize}.slots-timeline{max-width:800px;margin:0 auto}.slots-list{display:flex;flex-direction:column;gap:16px}.slot-card{display:flex;align-items:center;justify-content:space-between;padding:24px;border-radius:12px;border:2px solid var(--border-color);transition:all .3s ease;background:#fff;gap:20px}.slot-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.slot-card.available{border-color:var(--success-color);background:linear-gradient(135deg,#f8fff9,#fff)}.slot-card.booked{border-color:var(--error-color);background:linear-gradient(135deg,#fff8f8,#fff);opacity:.7}.slot-card.past-slot{border-color:var(--text-secondary);background:linear-gradient(135deg,#f5f5f5,#fff);opacity:.6}.slot-card.past-slot .slot-time,.slot-card.past-slot .slot-price{color:var(--text-secondary)}.past-indicator{color:var(--accent-color);font-weight:500;font-size:.9rem}.past-label{background:var(--text-secondary);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.9rem}.slot-time{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.1rem;color:var(--text-primary)}.separator{color:var(--text-secondary)}.slot-info{display:flex;flex-direction:column;gap:12px;text-align:center}.slot-duration{font-size:.9rem;color:var(--text-secondary);margin-bottom:6px}.slot-price{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:8px}.slot-actions{display:flex;align-items:center}.reserve-btn{background:linear-gradient(135deg,var(--success-color),#28a745);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.reserve-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.booked-label{background:var(--error-color);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.9rem}.login-required{color:var(--text-secondary);font-style:italic;padding:8px 16px;background:var(--light-gray);border-radius:6px}.no-slots{text-align:center;padding:64px 32px;color:var(--text-secondary)}.no-slots-icon{font-size:3rem;margin-bottom:16px}.no-slots p{font-size:1.1rem;margin:0}.week-view{padding:24px}.week-header{display:flex;justify-content:center;align-items:center;margin-bottom:24px}.week-navigation{display:flex;align-items:center;gap:20px}.week-navigation .nav-btn{background:#8b5a8c;color:#fff}.week-navigation .nav-btn:hover{background:#6d4570}.week-navigation h3{color:#2c3e50;font-size:1.2rem;margin:0;min-width:300px;text-align:center;font-weight:600}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.week-day{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;min-height:200px;display:flex;flex-direction:column}.week-day:hover{border-color:#8b5a8c;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.week-day.today{border-color:var(--primary-color);background:#8b5a8c0d}.week-day.selected{border-color:#8b5a8c;background:#8b5a8c1a}.week-day[data-slots-count=high]{border-left:4px solid var(--primary-color);background:linear-gradient(135deg,#8b5a8c14,#8b5a8c08)}.week-day[data-slots-count=medium]{border-left:4px solid #a06ba0;background:linear-gradient(135deg,#8b5a8c0d,#8b5a8c05)}.week-day[data-slots-count=low]{border-left:4px solid #c1a3c1}.week-day[data-slots-count=high] .slots-summary{background:#8b5a8c33;color:var(--primary-color);font-weight:600}.week-day[data-slots-count=medium] .slots-summary{background:#8b5a8c26;color:#8b5a8c;font-weight:500}.week-day-header{display:flex;flex-direction:column;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e1e8ed}.day-name{font-size:.9rem;color:#7f8c8d;font-weight:500}.day-number{font-size:1.4rem;font-weight:600;color:#2c3e50;margin-top:4px}.week-day-slots{flex:1;display:flex;flex-direction:column}.slots-preview{display:flex;flex-direction:column;gap:6px}.slot-preview{display:flex;justify-content:space-between;align-items:center;background:#8b5a8c1a;padding:6px 8px;border-radius:6px;font-size:.8rem}.slot-time-preview{color:#2c3e50;font-weight:500}.slot-price-preview{color:#8b5a8c;font-weight:600}.more-slots{text-align:center;color:#7f8c8d;font-size:.75rem;font-style:italic;margin-top:4px}.no-slots-preview{color:#7f8c8d;font-size:.8rem;text-align:center;font-style:italic;margin-top:auto;margin-bottom:auto}.day-navigation{display:flex;align-items:center;gap:20px;justify-content:center}.day-navigation .nav-btn{background:#8b5a8c;color:#fff}.day-navigation .nav-btn:hover{background:#6d4570}.day-navigation h3{color:#2c3e50;font-size:1.3rem;margin:0;min-width:320px;text-align:center;font-weight:600}.calendar-view *{color:inherit}.calendar-view h1,.calendar-view h2,.calendar-view h3,.calendar-view h4{color:var(--text-color)!important}.calendar-view p,.calendar-view span:not(.nav-btn span){color:var(--text-color)}.day-cell .day-number,.weekday{color:var(--text-color)!important}@media (max-width: 768px){.calendar-header{flex-direction:column;padding:16px;gap:16px}.month-navigation{order:2}.view-controls{order:1}.month-title{font-size:1.3rem;min-width:auto}.day-cell{min-height:80px;padding:4px}.day-number{font-size:.9rem}.slots-count{font-size:.7rem;padding:1px 4px}.day-view{padding:16px}.slot-card{flex-direction:column;gap:12px;text-align:center;padding:16px}.slot-time{font-size:1rem}.slot-price{font-size:1.1rem}.reserve-btn{padding:10px 20px;font-size:.9rem}.week-grid{grid-template-columns:1fr;gap:8px}.week-day{min-height:120px;padding:12px}.week-day-header{flex-direction:row;justify-content:space-between}.week-navigation h3{font-size:1rem;min-width:250px}.day-navigation h3{font-size:1.1rem;min-width:280px}}@media (max-width: 480px){.days-grid{grid-template-columns:repeat(7,1fr)}.day-cell{min-height:60px;padding:2px}.day-number{font-size:.8rem}.weekday{padding:8px 4px;font-size:.8rem}.slots-indicator{display:none}.total-slots-info,.slots-summary{font-size:.6rem;padding:1px 4px}.slots-indicator{width:16px;height:16px;font-size:.6rem}}.cart-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:flex-end;z-index:1000;animation:fadeIn .3s ease-out}.cart-container{background:#fff;width:100%;max-width:500px;height:100vh;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000001a;animation:slideInRight .3s ease-out}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e1e8ed;background:linear-gradient(135deg,#8b5a8c,#6d4570);color:#fff}.cart-header h2{margin:0;font-size:1.5rem;font-weight:600}.cart-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:5px;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.cart-close:hover{background:#ffffff1a}.cart-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.3}.cart-empty h3{color:#2c3e50;margin-bottom:10px}.cart-empty p{color:#7f8c8d;margin-bottom:30px}.btn-browse{background:linear-gradient(135deg,#8b5a8c,#6d4570);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s ease}.btn-browse:hover{transform:translateY(-2px)}.cart-items{flex:1;overflow-y:auto;padding:20px}.cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border:1px solid #e1e8ed;border-radius:12px;margin-bottom:15px;background:#f8f9fa;transition:all .2s ease}.cart-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.item-info{flex:1}.item-info h4{margin:0 0 8px;color:#2c3e50;font-size:1.1rem;font-weight:600}.item-teacher,.item-date,.item-time{margin:4px 0;color:#7f8c8d;font-size:.9rem}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.price{font-size:1.2rem;font-weight:700;color:#8b5a8c}.remove-btn{background:#e74c3c;border:none;color:#fff;padding:8px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.remove-btn:hover{background:#c0392b}.cart-summary{padding:20px;border-top:1px solid #e1e8ed;background:#f8f9fa}.summary-line{display:flex;justify-content:space-between;margin-bottom:10px;color:#2c3e50}.summary-line.total{font-size:1.2rem;padding-top:10px;border-top:1px solid #e1e8ed;color:#8b5a8c}.cart-actions{display:flex;gap:10px;padding:20px;border-top:1px solid #e1e8ed}.btn-clear{flex:1;background:#95a5a6;color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.btn-clear:hover:not(:disabled){background:#7f8c8d}.btn-payment{flex:2;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-payment:hover:not(:disabled){background:linear-gradient(135deg,#229954,#27ae60);transform:translateY(-2px)}.btn-payment:disabled,.btn-clear:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width: 768px){.cart-container{max-width:100%}.cart-item{flex-direction:column;gap:15px}.item-price{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.cart-actions{flex-direction:column}}.cart-icon{position:relative;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.cart-icon:hover{background:#ffffff1a;transform:scale(1.05)}.cart-emoji{font-size:1.5rem}.cart-badge{position:absolute;top:-2px;right:-2px;background:#e74c3c;color:#fff;border-radius:50%;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;animation:pulse .3s ease-out}@keyframes pulse{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.cart-icon.white{color:#fff}.cart-icon.white:hover{background:#ffffff1a}.cart-icon.dark{color:#2c3e50}.cart-icon.dark:hover{background:#0000000d}.add-to-cart-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;width:100%;justify-content:center;min-height:44px}.add-to-cart-btn.available{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:2px solid transparent}.add-to-cart-btn.available:hover{background:linear-gradient(135deg,#229954,#27ae60);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.add-to-cart-btn.in-cart{background:#95a5a6;color:#fff;cursor:default}.add-to-cart-btn.just-added{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;animation:addedPulse .6s ease-out}.add-to-cart-btn.booked{background:#e74c3c;color:#fff;cursor:not-allowed;opacity:.8}.add-to-cart-btn.disabled{background:#bdc3c7;color:#7f8c8d;cursor:not-allowed;opacity:.6}.add-to-cart-btn:disabled{cursor:not-allowed;transform:none}.btn-icon{font-size:1.1rem}.btn-text{flex:1;text-align:center}.btn-price{font-weight:700;background:#fff3;padding:4px 8px;border-radius:4px;font-size:.85rem}@keyframes addedPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.add-to-cart-btn.compact{padding:8px 12px;font-size:.8rem;min-height:36px}.add-to-cart-btn.mini{padding:6px 10px;font-size:.75rem;min-height:32px;gap:6px}.add-to-cart-btn.mini .btn-price{font-size:.7rem;padding:2px 6px}@media (max-width: 768px){.add-to-cart-btn{padding:12px 16px;font-size:.95rem;min-height:48px}.add-to-cart-btn.compact{padding:10px 14px;font-size:.85rem;min-height:40px}}.item-modal-backdrop{position:fixed;inset:0;background-color:#000c;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;overflow-y:auto}.item-modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;position:relative;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.item-modal-close{position:absolute;top:15px;right:15px;background:#0000001a;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;z-index:20;transition:all .2s ease;backdrop-filter:blur(2px)}.item-modal-close:hover{background:#0003;transform:scale(1.1)}.item-modal-header{padding:30px 30px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;position:relative;z-index:1}.item-modal-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 15px;line-height:1.2}.item-modal-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.item-type{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.item-date{color:#6b7280;font-size:.95rem;font-weight:500}.item-modal-body{padding:0 30px 30px;overflow-y:auto;flex:1}.item-modal-image-container{margin:20px 0 30px;text-align:center}.item-modal-image{border-radius:8px;box-shadow:0 8px 25px #00000026;width:100%;height:auto}.item-modal-description h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 15px;border-bottom:2px solid #e5e7eb;padding-bottom:10px}.description-content{color:#374151;font-size:1.1rem;line-height:1.7}.description-content p{margin:0 0 15px}.description-content p:last-child{margin-bottom:0}@media (max-width: 768px){.item-modal-backdrop{padding:10px}.item-modal-content{max-width:100%;max-height:95vh;border-radius:8px}.item-modal-header{padding:20px 20px 15px}.item-modal-title{font-size:1.5rem}.item-modal-body{padding:0 20px 20px}.item-modal-close{top:10px;right:10px;width:35px;height:35px;font-size:16px;z-index:25;background:#0003}.item-modal-meta{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.item-modal-title{font-size:1.3rem}.description-content{font-size:1rem}}.item-modal-backdrop.closing{animation:modalSlideOut .2s ease-in forwards}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.95)}}.items-list{margin-top:30px;padding:20px}.items-list h2{text-align:center;color:#333;margin-bottom:30px;font-size:2em;font-weight:300;position:relative}.items-list h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#95678e,#7a5a73);border-radius:2px}.items-list ul{list-style-type:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:25px;margin:0}.items-list li{background:#fff;border:1px solid #e9ecef;border-radius:15px;padding:0;margin:0;transition:all .3s ease;box-shadow:0 2px 10px #00000014;overflow:hidden;position:relative}.items-list li:hover{transform:translateY(-5px);box-shadow:0 8px 25px #95678e26;border-color:#95678e}.items-list li:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#95678e,#7a5a73);opacity:0;transition:opacity .3s ease}.items-list li:hover:before{opacity:1}.item-content{padding:20px}.item-content h3{color:#333;margin:0 0 15px;font-size:1.4em;font-weight:600;line-height:1.3}.item-title-clickable:hover{color:#95678e;text-decoration:underline}.item-content p{color:#666;line-height:1.6;margin:0 0 15px}.item-date{color:#95678e!important;font-size:.9em;font-weight:500;margin-bottom:20px!important}.item-image-container{margin:20px 0;border-radius:10px;overflow:hidden}.no-image-message{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:10px;padding:40px 20px;text-align:center;color:#6c757d;margin:20px 0}.no-image-message .no-image-icon{font-size:2.5em;margin-bottom:10px;opacity:.6}.no-image-message p{margin:0;font-weight:500;color:#6c757d!important}@media (max-width: 768px){.items-list ul{grid-template-columns:1fr}.items-list{padding:15px}.items-list h2{font-size:1.6em}.item-content{padding:15px}.item-content h3{font-size:1.2em}}.item-actions{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0;text-align:center}.view-item-btn{background:linear-gradient(135deg,#95678e,#7a5a73);color:#fff;border:none;border-radius:25px;padding:10px 20px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;box-shadow:0 2px 8px #95678e4d}.view-item-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #95678e66;background:linear-gradient(135deg,#a1748a,#85637e)}.view-item-btn:active{transform:translateY(0)}@media (max-width: 480px){.items-list{padding:10px}.item-content{padding:12px}}.rdv-container{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:40px 20px}.rdv-header{text-align:center;margin-bottom:48px;max-width:800px;margin-left:auto;margin-right:auto}.rdv-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rdv-subtitle{font-size:1.2rem;color:var(--text-secondary);line-height:1.6;margin-bottom:32px}.rdv-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.feature-item{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.feature-icon{font-size:1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feature-text{font-weight:600;color:var(--text-primary);font-size:.9rem}.rdv-main{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px}.calendar-section{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.rdv-message{padding:16px;border-radius:12px;margin-bottom:24px;font-weight:600;text-align:center;animation:slideInFromTop .5s ease-out}.rdv-message.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.rdv-message.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.rdv-message.info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid #bee5eb}.rdv-info{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 24px #00000014;margin-bottom:32px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-card{text-align:center;padding:24px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--border-color);transition:all .3s ease}.info-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.info-card-icon{font-size:2.5rem;margin-bottom:16px;display:block}.info-card h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:12px;font-weight:600}.info-card p{color:var(--text-secondary);line-height:1.6;margin:0}.quick-contact{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:32px;border-radius:16px;text-align:center;margin-top:32px}.quick-contact h3{font-size:1.5rem;margin-bottom:16px}.quick-contact p{margin-bottom:24px;opacity:.9}.contact-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.contact-btn{padding:12px 24px;border:2px solid white;border-radius:8px;color:#fff;text-decoration:none;font-weight:600;transition:all .3s ease;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.contact-btn:hover{background:#fff;color:var(--primary-color);transform:translateY(-2px)}.auth-prompt{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffecb5;color:#856404;padding:20px;border-radius:12px;text-align:center;margin-bottom:24px}.auth-prompt h4{margin-bottom:12px;color:#856404}.auth-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap}.auth-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.auth-btn.login{background:var(--primary-color);color:#fff}.auth-btn.signup{background:var(--secondary-color);color:#fff}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:40px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.rdv-container{padding:20px 16px}.rdv-title{font-size:2rem}.rdv-subtitle{font-size:1.1rem}.rdv-features,.info-grid{grid-template-columns:1fr}.contact-buttons,.auth-buttons{flex-direction:column;align-items:center}.rdv-info,.quick-contact{padding:20px}}@media (max-width: 480px){.rdv-title{font-size:1.8rem}.feature-item{padding:12px}.info-card{padding:16px}.contact-btn,.auth-btn{padding:10px 16px;font-size:.9rem}}.rdv-footer{margin-top:60px;padding:24px 0;background:#fffc;border-top:1px solid rgba(0,0,0,.1);backdrop-filter:blur(10px)}.rdv-footer .container{max-width:1200px;margin:0 auto;padding:0 20px}.footer-content{text-align:center}.footer-version{color:#6b7280;font-size:.875rem;opacity:.8}.payment-form{max-width:500px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.payment-summary{background:#f8fafc;padding:20px;border-radius:8px;margin-bottom:24px;border:1px solid #e2e8f0}.payment-summary h3{margin:0 0 16px;color:#1e293b;font-size:18px;font-weight:600}.payment-details p{margin:8px 0;color:#475569;font-size:14px}.payment-form-content,.card-element-container{margin-bottom:24px}.card-element-container label{display:block;margin-bottom:8px;color:#374151;font-weight:500;font-size:14px}.card-element{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;transition:border-color .2s ease}.card-element:focus{border-color:#6366f1;outline:none}.pay-button{width:100%;padding:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.pay-button:hover:not(:disabled){background:linear-gradient(135deg,#5856eb,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.pay-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.pay-button.loading{position:relative}.pay-button.loading:after{content:"";position:absolute;width:20px;height:20px;margin:auto;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.payment-security{text-align:center;padding:16px;background:#f1f5f9;border-radius:8px;border:1px solid #e2e8f0}.security-icons{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.security-icons span{font-size:24px}.payment-security p{margin:0;color:#64748b;font-size:13px;font-weight:500}@media (max-width: 600px){.payment-form{margin:0 16px;padding:16px}.payment-summary{padding:16px}.pay-button{padding:14px;font-size:15px}}.StripeElement--invalid{border-color:#ef4444!important}.StripeElement--focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11a!important}.payment-success{animation:successPulse .6s ease-out}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.payment-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.payment-header{text-align:center;margin-bottom:40px;color:#fff}.payment-header h1{font-size:2.5rem;margin-bottom:12px;font-weight:700}.payment-header p{font-size:1.1rem;opacity:.9;margin:0}.payment-container{max-width:600px;margin:0 auto 40px}.cart-summary-container{max-width:600px;margin:0 auto 30px;background:#fff;border-radius:16px;padding:30px;box-shadow:0 8px 32px #0000001a}.cart-summary-container h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem;font-weight:600}.cart-items-summary{margin-bottom:20px}.cart-item-summary{display:flex;justify-content:space-between;align-items:flex-start;padding:15px 0;border-bottom:1px solid #f1f3f4}.cart-item-summary:last-child{border-bottom:none}.item-details h4{margin:0 0 8px;color:#2c3e50;font-size:1rem;font-weight:600}.item-details p{margin:4px 0;color:#7f8c8d;font-size:.9rem}.item-price{font-size:1.1rem;font-weight:700;color:#8b5a8c}.total-summary{text-align:right;padding-top:15px;border-top:2px solid #8b5a8c;font-size:1.3rem;color:#8b5a8c}.payment-success-container,.payment-error-container{background:#fff;padding:40px;border-radius:16px;text-align:center;box-shadow:0 8px 32px #0000001a;max-width:500px;margin:0 auto}.success-icon,.error-icon{font-size:4rem;margin-bottom:20px}.payment-success-container h2{color:#10b981;margin-bottom:16px;font-size:2rem}.payment-error-container h2{color:#ef4444;margin-bottom:16px;font-size:2rem}.payment-details{background:#f8fafc;padding:20px;border-radius:8px;margin:24px 0;text-align:left}.payment-details p{margin:8px 0;font-size:14px;color:#64748b}.payment-details strong{color:#1e293b}.error-message{color:#dc2626;background:#fef2f2;padding:16px;border-radius:8px;border:1px solid #fecaca;margin:20px 0}.success-actions,.error-actions{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;min-width:140px}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover{background:#5856eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db;transform:translateY(-1px)}.payment-info{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-section{background:#ffffff1a;backdrop-filter:blur(10px);padding:24px;border-radius:12px;border:1px solid rgba(255,255,255,.2);color:#fff}.info-section h3{margin-bottom:12px;font-size:1.2rem;font-weight:600}.info-section p{margin:0;opacity:.9;line-height:1.6}@media (max-width: 768px){.payment-page{padding:20px 16px}.payment-header h1{font-size:2rem}.payment-success-container,.payment-error-container{padding:24px;margin:0 16px}.success-actions,.error-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:200px}.payment-info{grid-template-columns:1fr;gap:16px}.info-section{padding:20px}}@media (max-width: 480px){.payment-header h1{font-size:1.8rem}.success-icon,.error-icon{font-size:3rem}.payment-success-container h2,.payment-error-container h2{font-size:1.5rem}}.payment-success-container{animation:slideInUp .6s ease-out}.payment-error-container{animation:shake .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,20%,40%,60%,80%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}}.slot-list-modern{width:100%}.slot-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.slot-list-empty{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;border:2px dashed var(--border-color)}.slot-list-empty h3{color:var(--text-primary);margin-bottom:12px;font-size:1.4rem}.slot-list-empty p{color:var(--text-secondary);margin:0;font-size:1rem}.slot-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 0;border-bottom:2px solid var(--border-color);flex-wrap:wrap;gap:16px}.slot-list-header h4{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:600}.slot-stats{display:flex;gap:16px;flex-wrap:wrap}.stat{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;background:#fff;border:1px solid var(--border-color)}.stat.available{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border-color:#c3e6cb}.stat.booked{background:linear-gradient(135deg,#cce5ff,#b3d9ff);color:#004085;border-color:#b3d9ff}.stat.past{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border-color:#f5c6cb}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.slot-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 16px #00000014;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.slot-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.slot-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--border-color)}.slot-card.status-available:before{background:linear-gradient(135deg,#28a745,#20c997)}.slot-card.status-booked:before{background:linear-gradient(135deg,#007bff,#17a2b8)}.slot-card.status-past:before{background:linear-gradient(135deg,#dc3545,#fd7e14)}.slot-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.slot-time{flex:1}.time-range{display:block;font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.duration{display:block;font-size:.9rem;color:var(--text-secondary);font-weight:500}.slot-status{flex-shrink:0}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-available{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.status-badge.status-booked{background:linear-gradient(135deg,#cce5ff,#b3d9ff);color:#004085}.status-badge.status-past{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.slot-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.detail-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.detail-value{font-size:.9rem;color:var(--text-primary);font-weight:600}.slot-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;text-decoration:none}.btn-info{background:linear-gradient(135deg,#17a2b8,#20c997);color:#fff}.btn-info:hover{background:linear-gradient(135deg,#138496,#1c7e70)}.btn-warning{background:linear-gradient(135deg,#ffc107,#fd7e14);color:#212529}.btn-warning:hover{background:linear-gradient(135deg,#e0a800,#e8610c)}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c82333,#a02332)}.calendar-view{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000000d}.calendar-header{text-align:center;margin-bottom:24px}.calendar-header h4{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.calendar-day{border:2px solid var(--border-color);border-radius:12px;overflow:hidden;background:#fff;min-height:200px;display:flex;flex-direction:column}.day-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;padding:12px;text-align:center}.day-header h5{margin:0 0 4px;font-size:.9rem;font-weight:600;text-transform:capitalize}.day-date{font-size:1.2rem;font-weight:700}.day-slots{flex:1;padding:12px;display:flex;flex-direction:column;gap:8px}.no-slots{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px;font-size:.85rem}.calendar-slot{padding:8px;border-radius:8px;border:1px solid var(--border-color);font-size:.8rem;transition:all .3s ease}.calendar-slot:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.calendar-slot.status-available{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb}.calendar-slot.status-booked{background:linear-gradient(135deg,#cce5ff,#b3d9ff);border-color:#b3d9ff}.calendar-slot.status-past{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb;opacity:.7}.slot-time-compact{font-weight:600;margin-bottom:4px;color:var(--text-primary)}.slot-info-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.slot-price{font-weight:600;color:var(--primary-color)}.slot-status-icon{font-size:1rem}.slot-actions-compact{display:flex;gap:4px;justify-content:flex-end}.action-btn-compact{padding:4px 6px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s ease;background:#fffc}.action-btn-compact:hover{transform:scale(1.1)}.action-btn-compact.btn-warning{background:#ffc107;color:#212529}.action-btn-compact.btn-info{background:#17a2b8;color:#fff}.action-btn-compact.btn-danger{background:#dc3545;color:#fff}@media (max-width: 1200px){.calendar-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.calendar-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:150px}.day-header{padding:8px}.day-header h5{font-size:.8rem}.day-date{font-size:1rem}}@media (max-width: 480px){.calendar-grid{grid-template-columns:1fr}.calendar-day{min-height:120px}}.slot-grid{grid-template-columns:1fr;gap:16px}.slot-list-header{flex-direction:column;align-items:flex-start}.slot-stats{width:100%;justify-content:space-between}.slot-card{padding:16px}.slot-actions{justify-content:center}.action-btn{flex:1;justify-content:center;min-width:120px}} @media (max-width: 480px){.slot-list-header h4{font-size:1.1rem}.stat{font-size:.8rem;padding:4px 8px}.time-range{font-size:1.1rem}.duration{font-size:.85rem}.status-badge{font-size:.75rem;padding:4px 8px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px}.slot-actions{flex-direction:column}.action-btn{width:100%}}.user-detail{background:linear-gradient(135deg,#e3f2fd,#fff);border-left:3px solid var(--primary-color);padding:8px 12px;border-radius:6px;margin:4px 0}.user-name{font-weight:600;color:var(--primary-color)}.user-email{font-size:.9rem;color:var(--text-secondary);font-style:italic}.slot-user-compact{background:#ffffffe6;border-radius:4px;padding:4px 6px;margin:4px 0;border:1px solid rgba(0,0,0,.1)}.user-info-compact{display:flex;justify-content:space-between;align-items:center;gap:6px}.user-name-compact{font-size:.75rem;font-weight:500;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-btn-compact{background:var(--primary-color);color:#fff;border:none;border-radius:3px;padding:2px 4px;cursor:pointer;font-size:.7rem;transition:all .3s ease;min-width:20px;height:18px;display:flex;align-items:center;justify-content:center}.user-profile-btn-compact:hover{background:var(--primary-color-dark);transform:scale(1.1)}.action-btn.btn-info{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;border:2px solid #17a2b8}.action-btn.btn-info:hover{background:linear-gradient(135deg,#138496,#117a8b);border-color:#117a8b;transform:translateY(-2px);box-shadow:0 6px 12px #17a2b84d}.slot-card.status-booked{border-left:4px solid var(--primary-color)}.calendar-slot.status-booked{border-left:3px solid var(--primary-color)}@media (max-width: 768px){.user-detail{padding:6px 8px}.user-name-compact{font-size:.7rem}.user-profile-btn-compact{padding:1px 3px;font-size:.6rem;min-width:16px;height:16px}.action-btn.btn-info{font-size:.8rem;padding:8px 12px}}@media (max-width: 480px){.user-detail .detail-label,.user-detail .detail-value{font-size:.8rem}.user-name-compact{font-size:.65rem}.slot-user-compact{padding:3px 4px}}.reschedule-modal{max-width:500px;width:90%}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:0;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh}.modal-header{padding:16px 24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.2rem;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body{padding:24px;overflow-y:auto}.section-label{font-weight:600;margin-bottom:8px;color:#555;font-size:.9rem}.current-appointment{background-color:#f8f9fa;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid #3498db}.current-info{font-size:1rem;color:#333}.date-selection{margin-bottom:20px}.date-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem}.slots-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.slot-btn-compact{padding:10px 5px;background-color:#fff;border:1px solid #3498db;color:#3498db;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:500}.slot-btn-compact:hover{background-color:#3498db;color:#fff}.slot-btn-compact:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.slot-price{font-size:.8rem;margin-top:4px;opacity:.8}.modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.btn-secondary{background-color:#eee;color:#333;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.loading-spinner,.no-slots,.error-message{text-align:center;padding:20px;color:#666;background:#f9f9f9;border-radius:8px}.error-message{color:#e74c3c;background:#fdeaea}.user-appointments{max-width:1000px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:80vh}.appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.appointments-header h3{font-size:1.8rem;color:#2c3e50;margin:0;display:flex;align-items:center;gap:10px}.appointments-stats{display:flex;gap:16px}.stat{background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 4px #0000000d;font-size:.9rem;color:#555;border:1px solid #f0f0f0}.stat strong{color:#3498db;font-size:1.1rem}.appointments-tabs{display:flex;gap:10px;margin-bottom:24px;border-bottom:2px solid #eee;padding-bottom:2px}.tab{padding:10px 20px;background:none;border:none;font-size:1rem;color:#7f8c8d;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-4px;transition:all .3s ease;font-weight:500}.tab:hover{color:#3498db}.tab.active{color:#3498db;border-bottom:2px solid #3498db;font-weight:600}.appointments-list{display:grid;gap:16px}.appointment-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s,box-shadow .2s;border:1px solid #eef2f5}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014;border-color:#e0e6ed}.appointment-info{display:flex;gap:20px;align-items:center;flex:1}.date-box{background:#f8f9fa;padding:10px 5px;border-radius:10px;text-align:center;min-width:90px;border:1px solid #e9ecef;display:flex;flex-direction:column;justify-content:center}.date-day{font-size:.85rem;font-weight:700;color:#3498db;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.date-full{font-size:1.2rem;font-weight:700;color:#2c3e50;line-height:1.2}.date-time{font-size:.85rem;color:#7f8c8d;margin-top:4px;font-weight:500}.details-box{display:flex;flex-direction:column;gap:6px}.details-box h4{margin:0;font-size:1.15rem;color:#2c3e50}.details-row{display:flex;align-items:center;gap:12px;color:#666;font-size:.9rem}.price-tag{background:#e3f2fd;color:#1565c0;padding:3px 8px;border-radius:4px;font-weight:600;font-size:.85rem}.status-badge{padding:3px 8px;border-radius:4px;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:4px}.status-confirmed,.status-paid{background:#e8f5e9;color:#2e7d32}.status-pending{background:#fff3e0;color:#ef6c00}.payment-info{font-size:.8rem;color:#95a5a6;margin-top:6px}.actions-box{display:flex;gap:10px;margin-left:20px}.btn{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn-small{padding:6px 12px;font-size:.85rem}.btn-primary{background:#3498db;color:#fff;box-shadow:0 2px 4px #3498db33}.btn-primary:hover{background:#2980b9;box-shadow:0 4px 8px #3498db4d}.btn-secondary{background:#2ecc71;color:#fff;box-shadow:0 2px 4px #2ecc7133}.btn-secondary:hover{background:#27ae60;box-shadow:0 4px 8px #2ecc714d}.btn-outline{background:#fff;border:1px solid #ddd;color:#555}.btn-outline:hover{border-color:#3498db;color:#3498db;background:#f8fcfe}.btn-loading{opacity:.7;cursor:wait}.history-card{opacity:.85;background-color:#fafafa}.history-card:hover{opacity:1;background-color:#fff}.empty-state{text-align:center;padding:40px;background:#fff;border-radius:12px;border:1px dashed #ddd;margin-top:20px}.empty-icon{font-size:48px;margin-bottom:16px;display:block}.empty-state h4{color:#2c3e50;margin:0 0 8px}.empty-state p{color:#7f8c8d}.loading,.error{text-align:center;padding:40px;color:#666;font-size:1.1rem}.error{color:#e74c3c}@media (max-width: 768px){.appointment-card{flex-direction:column;align-items:flex-start;gap:16px}.appointment-info{width:100%}.actions-box{width:100%;margin-left:0;justify-content:flex-end;border-top:1px solid #f0f0f0;padding-top:16px}.details-row{flex-wrap:wrap}}.backoffice-user-container{padding:20px}.user-list{list-style-type:none;padding:0}.user-item{border:1px solid #ccc;padding:10px;margin-bottom:10px;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.user-item:hover{background-color:#f0f0f0}.user-item p{margin:5px 0}.user-profile-container{padding:20px;max-width:1200px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.back-button{background:#6c63ff;color:#fff;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;font-size:14px;transition:background .3s ease}.back-button:hover{background:#5a52d5}.profile-header h1{margin:0;color:#333;font-size:24px}.loading-state,.error-state{text-align:center;padding:40px;background:#f8f9fa;border-radius:12px;margin:20px 0}.error-state h2{color:#dc3545;margin-bottom:15px}.error-state p{color:#666;margin-bottom:20px}.error-state button{background:#6c63ff;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px}.appointments-section{margin-top:40px;background:#f8f9fa;border:2px solid #6c63ff;border-radius:20px;padding:30px;color:#333;box-shadow:0 10px 40px #6c63ff1a}.appointments-section h2{color:#6c63ff;margin-bottom:25px;font-size:28px;text-align:center;font-weight:600}.appointments-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.appointments-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:25px;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.appointments-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.appointments-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0003}.appointments-card h3{margin-top:0;margin-bottom:20px;color:#333;font-size:20px;font-weight:600;text-align:center;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.appointment-item{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:15px;border-left:4px solid #667eea;transition:all .3s ease;position:relative}.appointment-item:hover{background:#e9ecef;transform:translate(5px);box-shadow:0 4px 15px #667eea33}.appointment-item.future{border-left-color:#28a745;background:linear-gradient(135deg,#f8fff8,#f0fff0)}.appointment-item.past{border-left-color:#6c757d;background:linear-gradient(135deg,#f8f9fa,#e9ecef);opacity:.8}.appointment-details{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.appointment-time{background:#667eea;color:#fff;padding:8px 12px;border-radius:8px;font-weight:600;font-size:14px;white-space:nowrap;box-shadow:0 2px 8px #667eea4d}.appointment-info{flex:1}.appointment-info h4{margin:0 0 5px;color:#333;font-size:16px;font-weight:600}.appointment-info p{margin:0;color:#666;font-size:14px}.appointment-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.appointment-status.booked{background:#28a745;color:#fff}.appointment-status.available{background:#17a2b8;color:#fff}.appointment-status.past{background:#6c757d;color:#fff}.no-appointments{text-align:center;padding:40px 20px;color:#666;font-style:italic}.no-appointments-icon{font-size:48px;margin-bottom:15px;opacity:.5}.appointments-summary{display:flex;justify-content:space-around;margin-bottom:25px;background:#fff;border-radius:12px;padding:20px;border:2px solid #6c63ff;box-shadow:0 4px 16px #6c63ff1a}.summary-item{text-align:center}.summary-number{display:block;font-size:24px;font-weight:700;margin-bottom:5px;color:#6c63ff}.summary-label{font-size:14px;color:#666;font-weight:500}.appointments-list{max-height:400px;overflow-y:auto;padding-right:10px}.appointments-list::-webkit-scrollbar{width:6px}.appointments-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.appointments-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.appointments-list::-webkit-scrollbar-thumb:hover{background:#5a67d8}.loading-appointments{text-align:center;padding:20px;color:#666;font-style:italic}.appointment-item:last-child{margin-bottom:0}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appointment-item{animation:slideIn .3s ease-out}.appointment-item:nth-child(1){animation-delay:.1s}.appointment-item:nth-child(2){animation-delay:.2s}.appointment-item:nth-child(3){animation-delay:.3s}.appointment-item:nth-child(4){animation-delay:.4s}.appointment-item:nth-child(5){animation-delay:.5s}@media (max-width: 768px){.appointments-grid{grid-template-columns:1fr}.profile-header{flex-direction:column;align-items:flex-start}}.user-profile-item{display:flex;flex-direction:column;gap:32px}.profile-section{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease}.profile-section:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.section-icon{font-size:1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.profile-field{background:#fff;padding:20px;border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.profile-field:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.field-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.field-icon{font-size:1.1rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.field-label{font-weight:600;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.field-value{color:var(--text-primary);font-weight:500;font-size:1rem;line-height:1.4;word-wrap:break-word}.field-value.text-field{background:var(--light-gray);padding:12px;border-radius:6px;border-left:4px solid var(--primary-color);font-style:italic;line-height:1.6}.field-value:empty:before{content:"Non renseigné";color:var(--text-disabled);font-style:italic}@media (max-width: 768px){.profile-grid{grid-template-columns:1fr;gap:16px}.profile-section{padding:20px}.profile-field{padding:16px}.section-title{margin-bottom:16px}.section-title h3{font-size:1.2rem}}@media (max-width: 480px){.user-profile-item{gap:24px}.profile-section{padding:16px}.profile-field{padding:12px}.field-header{margin-bottom:8px}.field-label{font-size:.85rem}.field-value{font-size:.95rem}}.admin-layout{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.admin-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:20px 0;box-shadow:0 4px 20px #0000001a;position:sticky;top:0;z-index:100}.admin-header-content{display:flex;justify-content:space-between;align-items:center}.admin-brand{display:flex;align-items:center;gap:16px}.admin-brand h1{font-size:1.8rem;font-weight:700;margin:0;color:#fff}.sidebar-toggle{background:#fff3;border:none;color:#fff;padding:12px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease;display:none}.sidebar-toggle:hover{background:#ffffff4d;transform:scale(1.05)}.admin-user-info{display:flex;align-items:center;gap:20px}.admin-welcome{font-weight:500;opacity:.9}.admin-profile-link,.admin-home-link{background:#fff3;color:#fff;text-decoration:none;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;transition:all .3s ease;backdrop-filter:blur(10px)}.admin-profile-link:hover,.admin-home-link:hover{background:#ffffff4d;transform:translateY(-2px);color:#fff}.admin-content{padding:40px 20px;max-width:1400px;margin:0 auto}.admin-grid{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start;width:100%}.admin-sidebar{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000014;position:sticky;top:120px;max-height:calc(100vh - 140px);overflow-y:auto;width:100%}.nav-title h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.admin-nav{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.nav-item{display:flex;align-items:center;gap:16px;padding:16px;border-radius:12px;text-decoration:none;color:var(--text-primary);transition:all .3s ease;border:2px solid transparent}.nav-item:hover{background:linear-gradient(135deg,#f8fafc,#fff);border-color:var(--primary-color);transform:translate(4px);color:var(--text-primary)}.nav-item.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 4px 16px #95678e4d}.nav-icon{font-size:1.5rem;width:32px;text-align:center}.nav-content{flex:1}.nav-name{display:block;font-weight:600;font-size:1rem;margin-bottom:4px}.nav-desc{display:block;font-size:.85rem;opacity:.8;line-height:1.3}.nav-item.active .nav-desc{opacity:.9}.admin-shortcuts{padding-top:20px;border-top:1px solid var(--border-color)}.admin-shortcuts h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.shortcuts-grid{display:flex;flex-direction:column;gap:8px}.shortcut-btn{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--border-color);color:var(--text-primary);text-decoration:none;padding:12px 16px;border-radius:8px;font-size:.9rem;font-weight:500;text-align:center;transition:all .3s ease}.shortcut-btn:hover{background:linear-gradient(135deg,var(--accent-color),#e67e22);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #e67e224d}.admin-main{background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 20px #00000014;min-height:calc(100vh - 200px)}.admin-page-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.admin-page-header h2{font-size:2.2rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.page-description{color:var(--text-secondary);font-size:1.1rem;margin:0;line-height:1.5}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.admin-loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:adminSpin 1s linear infinite;margin-bottom:20px}.admin-loading h3{color:var(--text-primary);margin-bottom:8px}.admin-loading p{color:var(--text-secondary)}@keyframes adminSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1200px){.admin-content{padding:40px 15px}.admin-grid{grid-template-columns:260px 1fr;gap:30px}}@media (max-width: 1024px){.admin-grid{grid-template-columns:1fr;gap:24px}.admin-sidebar{position:static;max-height:none;order:2;margin:0 auto;max-width:600px}.admin-main{order:1}.sidebar-toggle{display:block}.admin-sidebar{display:none}.admin-sidebar.sidebar-open{display:block;position:fixed;top:100px;left:20px;right:20px;z-index:50;max-height:calc(100vh - 120px)}}@media (max-width: 768px){.admin-content{padding:24px 0}.admin-header-content{flex-direction:column;gap:16px}.admin-user-info{flex-wrap:wrap;justify-content:center}.admin-main{padding:24px}.admin-page-header h2{font-size:1.8rem}.nav-item{padding:12px}.nav-name{font-size:.95rem}.nav-desc{font-size:.8rem}}@media (max-width: 480px){.admin-brand h1{font-size:1.5rem}.admin-main{padding:20px}.admin-page-header h2{font-size:1.6rem}.page-description{font-size:1rem}.admin-user-info{gap:12px}.admin-profile-link,.admin-home-link{padding:6px 12px;font-size:.85rem}}.admin-items-list{margin-top:30px;padding:20px;background-color:#fff;border-radius:10px;border:1px solid #e9ecef}.admin-items-list h2{color:#2c3e50;margin-bottom:20px;text-align:center;font-size:1.8em}.admin-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.admin-item-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #e0e0e0}.admin-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px #00000026}.admin-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0f0f0;min-height:40px}.admin-item-header h3{color:#2c3e50;margin:0 10px 0 0;font-size:1.3em;flex-grow:1;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;max-width:calc(100% - 220px)}.item-title-clickable{cursor:pointer;transition:color .2s ease}.item-title-clickable:hover{color:#667eea;text-decoration:underline}.delete-icon-btn{background:#ff4757;border:none;border-radius:50%;width:35px;height:35px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .1s ease}.delete-icon-btn:hover{background:#ff3838;transform:scale(1.1)}.admin-item-content{margin-bottom:20px}.item-description{color:#666;line-height:1.5;margin-bottom:10px;font-size:.95em}.item-date{color:#888;font-size:.9em;margin-bottom:15px}.item-date strong{color:#555}.item-image-container{margin:15px 0;text-align:center;border-radius:10px;overflow:hidden;position:relative;background:#f8f9fa}.clickable-image{cursor:pointer;transition:transform .2s ease}.clickable-image:hover{transform:scale(1.02)}.clickable-image:hover .admin-item-image{opacity:.9}.item-image-container .image-viewer{width:100%;border-radius:10px;overflow:hidden}.item-image-container .admin-item-image{width:100%;height:200px;object-fit:cover;transition:all .3s ease}.no-image-placeholder{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px dashed #ddd;border-radius:10px;padding:30px 20px;text-align:center;color:#999;height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .3s ease}.no-image-placeholder:hover{background:linear-gradient(135deg,#e8e8e8,#d8d8d8);border-color:#bbb}.no-image-icon{font-size:3em;margin-bottom:10px;opacity:.6}.no-image-placeholder p{margin:0;font-weight:500;font-size:.95em}.admin-item-actions{display:flex;gap:10px;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.view-btn{background:#667eea;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.9em;transition:background-color .2s ease;flex:1;margin-right:5px}.view-btn:hover{background:#5a6fd8}.edit-btn{background:#3742fa;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.9em;transition:background-color .2s ease;flex:1;margin-right:5px}.edit-btn:hover{background:#2f3542}.delete-btn-detailed{background:#ff4757;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.9em;transition:background-color .2s ease;flex:1;margin-left:5px}.delete-btn-detailed:hover{background:#ff3838}.no-items-message{text-align:center;padding:40px 20px;color:#666;background:#fff;border-radius:10px;border:2px dashed #ddd}.no-items-message p:first-child{font-size:1.2em;font-weight:700;margin-bottom:10px;color:#333}.no-items-message p:last-child{color:#888;font-size:.95em}@media (max-width: 768px){.admin-items-grid{grid-template-columns:1fr}.admin-item-header{flex-direction:column;align-items:flex-start;gap:10px;min-height:auto}.admin-item-header h3{max-width:100%;margin-right:0}.item-actions{align-self:flex-end;margin-top:0}.admin-item-actions{flex-direction:column}.edit-btn,.delete-btn-detailed{margin:0 0 5px}.delete-btn-detailed{margin-bottom:0}}.item-actions{display:flex;gap:8px;align-items:flex-start;flex-shrink:0;margin-top:2px;min-width:210px}.edit-btn,.delete-btn{background:#f8f9fa;border:1px solid #e0e0e0;color:#2c3e50;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;height:32px;width:auto;font-size:.9em;white-space:nowrap}.edit-btn{color:#0d6efd;background-color:#e9f2ff;border-color:#cfe2ff}.edit-btn:hover{background-color:#dbe8ff;border-color:#b6d4fe}.delete-btn{color:#dc3545;background-color:#ffe9ec;border-color:#ffd1d7}.delete-btn:hover{background-color:#ffdfe4;border-color:#ffb9c2}.item-management{display:flex;flex-direction:column;gap:32px}.content-type-selector{background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.content-type-selector h3{font-size:1.4rem;font-weight:600;color:var(--text-primary);margin:0 0 20px;text-align:center}.type-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.type-tab{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:16px;text-align:left}.type-tab:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#f8fafc,#fff);transform:translateY(-2px);box-shadow:0 4px 16px #95678e1a}.type-tab.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:var(--primary-dark);color:#fff;box-shadow:0 4px 20px #95678e4d}.tab-icon{font-size:2rem;flex-shrink:0}.tab-content{flex:1}.tab-name{display:block;font-weight:600;font-size:1.1rem;margin-bottom:4px}.tab-desc{display:block;font-size:.9rem;opacity:.8;line-height:1.3}.type-tab.active .tab-desc{opacity:.9}.creation-form-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color)}.creation-form{display:flex;flex-direction:column;gap:24px}.form-group.full-width{grid-column:1 / -1}.form-group input,.form-group textarea{padding:14px 18px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #95678e1a;transform:translateY(-1px)}.form-group input:hover,.form-group textarea:hover{border-color:#ced4da}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.file-input-wrapper{position:relative;border:2px dashed var(--border-color);border-radius:8px;background:#f8fafc;transition:all .3s ease;overflow:hidden}.file-input-wrapper:hover{border-color:var(--primary-color);background:#95678e0d}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.file-input-info{padding:24px;text-align:center;pointer-events:none}.file-placeholder{color:var(--text-secondary);font-size:1rem;line-height:1.5}.file-placeholder small{color:var(--text-muted);font-size:.85rem}.file-selected{color:var(--success-color);font-weight:600;font-size:1rem}.content-list-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-state p{color:var(--text-secondary);font-size:1.1rem;margin:0}@media (max-width: 768px){.item-management{gap:24px}.content-type-selector,.creation-form-section,.content-list-section{padding:20px}.type-tabs{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:20px}.section-header h3{font-size:1.4rem}.tab-name{font-size:1rem}.tab-desc{font-size:.85rem}.btn-lg{padding:14px 24px;font-size:1rem;min-width:160px}}@media (max-width: 480px){.content-type-selector h3{font-size:1.2rem}.section-header h3{font-size:1.3rem}.type-tab{padding:16px;flex-direction:column;text-align:center;gap:12px}.tab-icon{font-size:1.8rem}.form-group input,.form-group textarea{padding:12px 16px}.file-input-info{padding:20px}.btn-lg{width:100%;min-width:unset}}.cancel-edit-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;margin-top:12px}.cancel-edit-btn:hover{background:linear-gradient(135deg,#ff5252,#e53e3e);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.section-header{position:relative}.creation-form-section.editing{border:2px solid #007bff;background:linear-gradient(135deg,#f0f8ff,#fff)}.creation-form-section.editing .section-header h3{color:#007bff}.date-selector-container{display:flex;flex-direction:column;gap:16px;background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 16px #00000014;border:1px solid var(--border-color)}.date-selector-label{font-weight:600;color:var(--text-primary);font-size:1.1rem;margin-bottom:8px;display:flex;align-items:center;gap:8px}.date-selector-label:before{content:"";font-size:1.2rem}.date-input-container{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-input{flex:1;min-width:200px;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:var(--text-primary);transition:all .3s ease}.date-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a;transform:translateY(-1px)}.date-navigation{display:flex;gap:8px}.date-nav-btn{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:120px;gap:6px}.date-nav-btn:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #8b451333}.date-nav-btn:active{transform:translateY(0);box-shadow:0 2px 6px #8b45134d}.date-nav-btn.prev:before{content:"◀";font-size:.8rem}.date-nav-btn.next:after{content:"▶";font-size:.8rem}.date-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.date-nav-btn:disabled:hover{background:linear-gradient(135deg,#f8fafc,#fff);color:var(--text-primary);border-color:var(--border-color);transform:none;box-shadow:none}.selected-date-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#e6f3ff,#f0f9ff);border:1px solid #bfdbfe;border-radius:6px;font-size:.85rem;color:#1e40af;font-weight:500}.selected-date-info:before{content:""}@media (max-width: 768px){.date-input-container{flex-direction:column;align-items:stretch}.date-input{min-width:unset}.date-navigation{justify-content:center}.date-nav-btn{flex:1;min-width:unset;max-width:140px}}@media (max-width: 480px){.date-selector-container{padding:16px}.date-navigation{flex-direction:column;gap:12px}.date-nav-btn{max-width:none}}@keyframes dateChange{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.date-input.changing{animation:dateChange .3s ease}.back-office-date-selector{margin-bottom:24px}.back-office-date-selector .date-selector-container{background:linear-gradient(135deg,#fefce8,#fff);border-color:#ffc1074d}.back-office-date-selector .date-nav-btn{background:linear-gradient(135deg,#fff8f0,#fff);border-color:#ffc10766;color:#e67e22}.back-office-date-selector .date-nav-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border-color:#e67e22}.rdv-management{display:flex;flex-direction:column;gap:32px}.slot-creation-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color)}.section-header{margin-bottom:24px;text-align:center;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.section-header h3{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.slot-form{display:flex;flex-direction:column;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:1rem;display:flex;align-items:center;gap:8px}.form-group input{padding:14px 18px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #95678e1a;transform:translateY(-1px)}.form-group input:hover{border-color:#ced4da}.price-info{color:var(--text-secondary);font-size:.85rem;margin-top:4px}.duration-display{padding:14px 18px;background:#f8fafc;border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;font-size:1rem;min-height:24px;display:flex;align-items:center}.quick-slots{padding:24px;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;border:1px solid var(--border-color)}.quick-slots h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 16px;text-align:center}.quick-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.quick-slot-btn{background:#fff;border:2px solid var(--border-color);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:center}.quick-slot-btn:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #95678e33}.form-actions{display:flex;justify-content:center;padding-top:20px;border-top:1px solid var(--border-color)}.btn-lg{padding:16px 32px;font-size:1.1rem;font-weight:600;min-width:200px;display:flex;align-items:center;justify-content:center;gap:12px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.date-selector-section,.slots-section,.appointments-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color)}.creation-mode-toggle{display:flex;gap:8px;margin-top:16px}.mode-btn{padding:8px 16px;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.mode-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.mode-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.batch-options{margin-top:24px;padding:20px;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid var(--border-color);border-radius:12px}.batch-options h4{margin:0 0 20px;color:var(--text-primary);font-size:1.1rem}.batch-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.weekdays-group{grid-column:span 2}.weekdays-selector{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.weekday-btn{padding:8px 12px;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:500;min-width:50px}.weekday-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.weekday-btn.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.weekdays-info{font-size:.8rem;color:var(--text-secondary);font-style:italic}.slots-controls{display:flex;gap:20px;align-items:center;margin-top:16px;flex-wrap:wrap}.view-toggle{display:flex;gap:8px}.view-btn{padding:8px 16px;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.view-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.view-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.slot-filters .filter-select{padding:8px 12px;border:2px solid var(--border-color);border-radius:8px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .3s ease}.slot-filters .filter-select:focus{outline:none;border-color:var(--primary-color)}@media (max-width: 768px){.creation-mode-toggle{flex-direction:column}.batch-grid{grid-template-columns:1fr}.weekdays-group{grid-column:span 1}.slots-controls{flex-direction:column;align-items:stretch}.view-toggle{justify-content:center}}.rdv-management{gap:24px}.slot-creation-section,.date-selector-section,.slots-section,.appointments-section{padding:20px}.form-grid{grid-template-columns:1fr;gap:20px}.section-header h3{font-size:1.4rem}.quick-slots-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.quick-slot-btn{padding:10px 12px;font-size:.85rem}.btn-lg{padding:14px 24px;font-size:1rem;min-width:160px}} @media (max-width: 480px){.section-header h3{font-size:1.3rem}.form-group input,.duration-display{padding:12px 16px}.quick-slots-grid{grid-template-columns:1fr}.btn-lg{width:100%;min-width:unset}}.user-management{display:flex;flex-direction:column;gap:32px}.user-stats-section{background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px #0000000f;border:1px solid var(--border-color);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.stat-icon{font-size:2.5rem;flex-shrink:0}.stat-content{flex:1}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{display:block;font-size:.9rem;color:var(--text-secondary);font-weight:500}.stat-card.total .stat-icon{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-card.users .stat-icon{background:linear-gradient(135deg,#28a745,#20c997);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-card.admins .stat-icon{background:linear-gradient(135deg,#ffc107,#fd7e14);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.user-filters-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000000f;border:1px solid var(--border-color)}.filters-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:var(--text-primary);font-size:.95rem;display:flex;align-items:center;gap:8px}.filter-group input,.filter-group select{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;font-family:inherit}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #95678e1a}.filter-group input:hover,.filter-group select:hover{border-color:#ced4da}.user-list-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 16px #0000000f;border:1px solid var(--border-color)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color);flex-wrap:wrap;gap:16px}.section-header h3{font-size:1.4rem;font-weight:600;color:var(--text-primary);margin:0}.btn-sm{padding:8px 16px;font-size:.85rem}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.empty-icon{font-size:4rem;margin-bottom:20px}.loading-state p,.empty-state h3{color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin:0}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.user-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 16px #00000014;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.user-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--border-color)}.user-card.user:before{background:linear-gradient(135deg,#28a745,#20c997)}.user-card.admin:before{background:linear-gradient(135deg,#ffc107,#fd7e14)}.user-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.user-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:.9rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.user-role{flex-shrink:0}.role-badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.user{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.role-badge.admin{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404}.user-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.detail-item:last-child{border-bottom:none}.detail-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;flex-shrink:0}.detail-value{font-size:.85rem;color:var(--text-primary);font-weight:500;text-align:right;margin-left:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.action-btn{padding:6px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:4px;text-decoration:none;flex:1;justify-content:center;min-width:70px}.action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.role-selector{padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;font-weight:500;background:#fff;cursor:pointer;transition:all .3s ease;flex:1;min-width:80px}.role-selector:hover{border-color:var(--primary-color)}.role-selector:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #95678e1a}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.filters-header h3{margin:0;color:var(--text-primary);font-size:1.2rem}.filter-actions{display:flex;gap:12px;flex-wrap:wrap}.bulk-mode-btn{padding:8px 16px;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.bulk-mode-btn:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.bulk-mode-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.export-btn{padding:8px 16px;border:2px solid #28a745;background:#fff;color:#28a745;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.export-btn:hover:not(:disabled){background:#28a745;color:#fff}.export-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-actions{margin-top:20px;padding:20px;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffeaa7;border-radius:12px}.bulk-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;color:#856404}.clear-selection-btn{padding:6px 12px;border:1px solid #856404;background:#fff;color:#856404;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.clear-selection-btn:hover{background:#856404;color:#fff}.bulk-buttons{display:flex;gap:12px;flex-wrap:wrap}.bulk-btn{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.bulk-btn.role-user{background:#17a2b8;color:#fff}.bulk-btn.role-admin{background:#ffc107;color:#212529}.bulk-btn.delete{background:#dc3545;color:#fff}.bulk-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.list-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.select-all-btn{padding:8px 16px;border:2px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.select-all-btn:hover{background:var(--primary-color);color:#fff}.user-checkbox{position:absolute;top:12px;left:12px;z-index:2}.user-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.user-card.selected{border-color:var(--primary-color);background:linear-gradient(135deg,#e3f2fd,#fff);transform:translateY(-2px);box-shadow:0 8px 16px #007bff33}.action-btn.btn-info{background:#17a2b8;color:#fff;border-color:#17a2b8}.action-btn.btn-info:hover{background:#138496;border-color:#117a8b}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.pagination-btn{padding:10px 20px;border:2px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.pagination-btn:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-color);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{text-align:center}.pagination-info span{display:block;font-weight:600;color:var(--text-primary);margin-bottom:4px}.pagination-info small{color:var(--text-secondary);font-size:.8rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff}.modal-header h3{margin:0;font-size:1.3rem}.modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#fff;padding:4px;border-radius:4px;transition:background .3s ease}.modal-close:hover{background:#fff3}.modal-body{padding:24px;overflow-y:auto;max-height:calc(80vh - 140px)}.user-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.user-detail-card{background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid var(--border-color);border-radius:12px;padding:20px}.user-detail-card h4{margin:0 0 16px;color:var(--text-primary);font-size:1.1rem;border-bottom:2px solid var(--border-color);padding-bottom:8px}.detail-list{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.detail-row .label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.detail-row .value{font-weight:500;color:var(--text-primary);text-align:right;flex:1}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:2px solid var(--border-color)}@media (max-width: 768px){.filters-header{flex-direction:column;align-items:stretch}.filter-actions{justify-content:center}.bulk-info{flex-direction:column;gap:12px;text-align:center}.bulk-buttons{justify-content:center}.pagination{flex-direction:column;gap:12px}.user-detail-grid{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.detail-row .value{text-align:left}}.user-management{gap:24px}.stats-grid,.filters-grid,.user-grid{grid-template-columns:1fr;gap:16px}.section-header{flex-direction:column;align-items:flex-start}.user-card{padding:16px}.user-actions{flex-direction:column;gap:8px}.action-btn,.role-selector{width:100%;min-width:unset}} @media (max-width: 480px){.user-stats-section,.user-filters-section,.user-list-section,.stat-card{padding:16px}.stat-number{font-size:1.8rem}.user-header{gap:12px}.user-avatar{width:40px;height:40px;font-size:1rem}.user-name{font-size:1rem}.user-email{font-size:.85rem}}.backoffice-timeline-content{font-family:Inter,system-ui,-apple-system,sans-serif}.timeline-actions{display:flex;justify-content:flex-end;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.2)}.btn{padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 15px #ff6b6b4d}.btn-outline{background:transparent;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-close{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:.25rem;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#f8f9fa;color:#495057}.alert{padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.alert-error{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;border:1px solid #ef5350}.alert-success{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);color:#2e7d32;border:1px solid #66bb6a}.event-form-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(5px)}.event-form-modal{background:#fff;border-radius:20px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;border-radius:20px 20px 0 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#495057}.event-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid #e9ecef;border-radius:12px;font-size:.9rem;transition:all .3s ease;background:#f8f9fa}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.form-help{display:block;margin-top:.25rem;font-size:.8rem;color:#6c757d;font-style:italic}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.events-list{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.2)}.events-list h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#495057;display:flex;align-items:center;gap:.5rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner span{color:#6c757d;font-weight:500}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.empty-state p{margin:0;opacity:.8}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.event-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:16px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea,#764ba2)}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f;border-color:#667eea}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.event-header h3{margin:0;font-size:1.2rem;font-weight:700;color:#495057;flex:1}.event-actions{display:flex;gap:.5rem;flex-shrink:0;margin-left:1rem}.event-subtitle{margin:0 0 1rem;font-size:1rem;font-weight:500;color:#667eea;font-style:italic}.event-description{margin:0 0 1.5rem;color:#6c757d;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-dates{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.date-range,.main-date{display:flex;gap:.5rem;align-items:center}.date-label{font-weight:600;color:#495057;min-width:80px}.date-range span:last-child,.main-date span:last-child{color:#667eea;font-weight:500}.event-image{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.event-thumbnail{width:80px;height:60px;border-radius:8px;border:2px solid #e9ecef;object-fit:cover;transition:all .3s ease;cursor:pointer;flex-shrink:0}.event-thumbnail:hover{border-color:#667eea;transform:scale(1.05);box-shadow:0 4px 15px #667eea33}@media (max-width: 768px){.event-thumbnail{width:70px;height:50px}.preview-image{width:50px;height:40px}}@media (max-width: 480px){.event-thumbnail{width:60px;height:45px}.preview-image{width:45px;height:35px}}@media (max-width: 768px){.backoffice-timeline{padding:1rem}.backoffice-header{flex-direction:column;gap:1rem;align-items:stretch}.backoffice-header h1{text-align:center;font-size:1.5rem}.event-form-modal{width:95%;margin:1rem}.modal-header,.event-form{padding:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.events-grid{grid-template-columns:1fr;gap:1rem}.event-header{flex-direction:column;gap:1rem}.event-actions{margin-left:0;justify-content:flex-end}}@media (max-width: 480px){.backoffice-timeline{padding:.5rem}.events-list,.event-card{padding:1rem}.date-range,.main-date{flex-direction:column;align-items:flex-start;gap:.25rem}.date-label{min-width:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.event-card{animation:fadeInUp .3s ease-out}.event-card:nth-child(2){animation-delay:.1s}.event-card:nth-child(3){animation-delay:.2s}.event-card:nth-child(4){animation-delay:.3s}.btn:focus,.form-group input:focus,.form-group textarea:focus{outline:2px solid #667eea;outline-offset:2px}*{transition:all .2s ease}.event-form-modal::-webkit-scrollbar{width:8px}.event-form-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.event-form-modal::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.event-form-modal::-webkit-scrollbar-thumb:hover{background:#5a6fd8}.image-upload-container{display:flex;flex-direction:column;gap:1rem}.file-input{padding:.75rem;border:2px dashed #667eea;border-radius:8px;background:#667eea0d;cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:#5a6fd8;background:#667eea1a}.file-input:disabled{opacity:.6;cursor:not-allowed}.upload-loading{color:#667eea;font-size:.9rem;font-style:italic;text-align:center;padding:.5rem}.image-preview{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.preview-image{width:60px;height:45px;object-fit:cover;border-radius:6px;box-shadow:0 2px 8px #0000001a;border:2px solid #e9ecef;transition:all .3s ease;flex-shrink:0}.preview-image:hover{border-color:#667eea;transform:scale(1.02)}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;box-sizing:border-box}.image-modal-content{position:relative;max-width:90%;max-height:90%;background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000080;overflow:hidden}.image-modal img{width:100%;height:auto;max-height:80vh;object-fit:contain}.image-modal-close{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.image-modal-close:hover{background:#000000e6;transform:scale(1.1)}.image-preview .btn{padding:.5rem 1rem;font-size:.8rem}:root{--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--input-bg: rgba(255, 255, 255, .5);--text-primary: #2d3748;--text-secondary: #718096}.auth-page{min-height:100vh;background:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,1) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,1) 0,transparent 50%);background-color:#0d0d0d;display:flex;align-items:center;justify-content:center;padding:1.5rem;font-family:Inter,sans-serif;overflow:hidden;position:relative}.auth-page:before,.auth-page:after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(80px);opacity:.4;animation:floatOrb 20s infinite alternate ease-in-out;z-index:0}.auth-page:before{background:#764ba2;top:-100px;left:-100px}.auth-page:after{background:#667eea;bottom:-100px;right:-100px;animation-delay:-10s}@keyframes floatOrb{0%{transform:translate(0) scale(1)}to{transform:translate(50px,50px) scale(1.1)}}.auth-container{width:100%;max-width:480px;position:relative;z-index:10;perspective:1000px}.signup-container{max-width:850px}.auth-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:3rem;box-shadow:var(--glass-shadow);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease;overflow:hidden}.auth-card:hover{box-shadow:0 12px 40px #1f268740;transform:translateY(-2px)}.signup-card{padding:2rem;max-height:90vh;overflow-y:auto}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-title{font-size:2.25rem;font-weight:800;margin-bottom:.5rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.auth-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.5}.progress-bar{width:100%;height:6px;background:#ffffff4d;border-radius:3px;margin:1.5rem 0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.step-title{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.form-group{margin-bottom:1.5rem;position:relative}.form-label{position:absolute;top:14px;left:16px;font-size:1rem;color:#a0aec0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);background:transparent}.form-input{width:100%;padding:14px 16px;background:var(--input-bg);border:2px solid transparent;border-radius:12px;font-size:1rem;color:var(--text-primary);transition:all .2s ease;outline:none;box-shadow:inset 0 2px 4px #00000005}.input-wrapper .form-input[type=password],.input-wrapper .form-input[type=text]{padding-right:45px}.form-input:focus,.form-input:not(:placeholder-shown){background:#ffffffd9;border-color:#667eea;padding-top:22px;padding-bottom:6px}.form-input:focus~.form-label,.form-input:not(:placeholder-shown)~.form-label{transform:translateY(-10px) scale(.75);top:14px;left:16px;transform-origin:top left;color:#667eea;font-weight:600}.input-wrapper{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#718096;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;z-index:10;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.password-toggle:hover{color:#4a5568;background:#0000000d}.password-toggle svg{width:20px;height:20px}.auth-button{width:100%;padding:1rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;position:relative;overflow:hidden}.auth-button:after{content:"";position:absolute;top:0;left:-50%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skew(-20deg);transition:left .5s}.auth-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #764ba280}.auth-button:hover:after{left:150%;transition:left .7s ease-in-out}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.auth-links{margin-top:1.5rem;text-align:center}.auth-link{color:#667eea;font-weight:600;text-decoration:none;font-size:.9rem;transition:color .2s}.auth-link:hover{color:#5a67d8;text-decoration:underline}.auth-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.06);text-align:center}.auth-footer-text{color:#718096;font-size:.95rem}.auth-footer-link{color:#667eea;font-weight:700;text-decoration:none;margin-left:.25rem}.error-message{background:#fff5f5;border-left:4px solid #fc8181;color:#c53030;padding:.75rem 1rem;border-radius:4px;font-size:.9rem;margin-bottom:1.5rem;display:flex;align-items:center;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.step-indicators{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.step-indicator{width:40px;height:40px;border-radius:50%;background:#ffffff80;display:flex;align-items:center;justify-content:center;font-weight:700;color:#a0aec0;transition:all .3s ease;position:relative}.step-indicator:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%) scaleX(0);width:20px;height:3px;background:#667eea;border-radius:2px;transition:transform .3s ease}.step-indicator.active{background:#fff;color:#667eea;box-shadow:0 4px 10px #00000014;transform:scale(1.1)}.step-indicator.active:after{transform:translate(-50%) scaleX(1)}.step-indicator.completed{background:#667eea;color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.suggestions{margin-top:1rem;padding:1.25rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.suggestions h4{font-size:.875rem;margin-bottom:.75rem;font-weight:600}.suggestion-tags{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-tag{padding:.5rem 1rem;background:#ffffffe6;border:1px solid #bae6fd;border-radius:20px;font-size:.8125rem;color:#0369a1;cursor:pointer;transition:all .2s}.suggestion-tag:hover{background:#0ea5e9;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e94d}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.875rem;text-decoration:none;border:none;cursor:pointer;transition:all .3s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d}.btn-outline{background:#fff;color:#374151;border:2px solid #e5e7eb}.btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.step-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.password-strength{margin-top:.75rem}.strength-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-text{font-size:.8125rem;font-weight:500}.password-feedback{margin-top:.75rem;padding:.75rem;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.password-feedback p{font-size:.8125rem;color:#dc2626;margin-bottom:.5rem;font-weight:500}.password-feedback ul{list-style:none;padding:0;margin:0}.password-feedback li{font-size:.8125rem;color:#b91c1c;padding:.125rem 0}.password-feedback li:before{content:"• ";color:#dc2626}.field-help{font-size:.75rem;color:#6b7280;margin-top:.25rem;display:block;font-style:italic}.field-error{display:flex;align-items:center;gap:.25rem;color:#dc2626;font-size:.8125rem;margin-top:.25rem}.field-success{display:flex;align-items:center;gap:.25rem;color:#059669;font-size:.8125rem;margin-top:.25rem}.char-count{font-size:.75rem;color:#9ca3af;text-align:right;margin-top:.25rem}.terms-section{margin:2rem 0;padding:1.5rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.terms-checkbox{display:flex;align-items:flex-start;gap:.75rem}.terms-checkbox input[type=checkbox]{margin-top:.125rem;accent-color:#667eea}.terms-checkbox label{font-size:.8125rem;color:#374151;line-height:1.5}.terms-link{color:#667eea;text-decoration:none;font-weight:500}.terms-link:hover{text-decoration:underline}@media (max-width: 640px){.form-row{grid-template-columns:1fr;gap:0}.auth-card{padding:2rem}.auth-title{font-size:1.75rem}.step-navigation{flex-direction:column}.step-navigation .btn{width:100%}}.profile-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.profile-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:40px 0;position:relative;overflow:hidden}.profile-header:before{content:"";position:absolute;inset:0;background:#ffffff1a;backdrop-filter:blur(10px)}.profile-header-content{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}.profile-avatar{position:relative}.avatar-image{border-radius:50%;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0003}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;border:4px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}.profile-info{min-width:0}.profile-name{font-size:2.5rem;font-weight:700;margin:0 0 12px;color:#fff}.profile-meta{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.profile-email{background:#fff3;padding:6px 12px;border-radius:20px;font-size:.9rem;backdrop-filter:blur(10px)}.profile-role{background:var(--accent-color);padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:600}.profile-stats{display:flex;gap:24px}.stat-item{text-align:center}.stat-number{display:block;font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:4px}.stat-label{font-size:.85rem;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.profile-actions .btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(10px)}.profile-actions .btn:hover{background:#ffffff4d;transform:translateY(-2px)}.profile-content{padding:40px 0}.profile-grid{display:grid;grid-template-columns:1fr 350px;gap:40px}.profile-main{display:flex;flex-direction:column;gap:32px}.section-header{margin-bottom:24px}.section-header h2{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.section-header p{color:var(--text-secondary);margin:0;font-size:1rem}.edit-profile-section{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 24px #00000014}.profile-form{display:flex;flex-direction:column;gap:24px}.profile-form>div{display:flex;flex-direction:column;gap:8px}.profile-form label{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:4px;text-transform:capitalize}.profile-form input,.profile-form select,.profile-form textarea{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff;color:var(--text-primary)}.profile-form input:focus,.profile-form select:focus,.profile-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a;transform:translateY(-1px)}.profile-form input::placeholder,.profile-form textarea::placeholder{color:var(--text-secondary);opacity:.7;font-style:italic}.profile-form select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.profile-form textarea{resize:vertical;min-height:80px;line-height:1.5}.user-form-container{display:flex;flex-direction:column;gap:20px;width:100%}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:4px;text-transform:capitalize}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff;color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b45131a;transform:translateY(-1px)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.7;font-style:italic}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-group:hover{transform:translateY(-1px)}.form-group:hover label{color:var(--primary-color)}.form-group input[type=email]{background:linear-gradient(135deg,#f8fafc,#fff)}.form-group input[name=phone]{background:linear-gradient(135deg,#f0fdf4,#fff)}.form-group select[name=levellanguage],.form-group select[name=concentration]{background-color:linear-gradient(135deg,#fefce8,#ffffff)}.form-group textarea[name=motivation],.form-group textarea[name=objectives]{background:linear-gradient(135deg,#f0f9ff,#fff);border-left:4px solid var(--primary-color)}.form-actions{display:flex;gap:16px;justify-content:flex-start;padding-top:20px;border-top:1px solid var(--border-color)}.profile-details-section,.appointments-section{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 24px #00000014}.profile-sidebar{display:flex;flex-direction:column;gap:24px}.sidebar-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 16px #0000000f;transition:all .3s ease}.sidebar-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.sidebar-card h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.quick-actions{display:flex;flex-direction:column;gap:12px}.quick-action-btn{display:flex;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;color:var(--text-primary);font-weight:500;transition:all .3s ease}.quick-action-btn:hover{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;transform:translate(4px);box-shadow:0 4px 12px #00000026}.logout-btn{background:linear-gradient(135deg,#fff5f5,#fff)!important;border:1px solid #fee2e2!important;color:#dc2626!important;cursor:pointer}.cart-btn{background:linear-gradient(135deg,#f0f9ff,#fff)!important;border:1px solid #dbeafe!important;color:#2563eb!important;cursor:pointer;font-weight:600}.cart-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;transform:translate(4px);box-shadow:0 4px 12px #2563eb40!important}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important;border-color:#dc2626!important}.admin-card{background:linear-gradient(135deg,#fff8f0,#fff);border:1px solid var(--accent-color)}.admin-links{display:flex;flex-direction:column;gap:12px}.admin-link{display:flex;align-items:center;padding:12px 16px;background:#ffc1071a;border:1px solid rgba(255,193,7,.2);border-radius:8px;text-decoration:none;color:#e67e22;font-weight:500;transition:all .3s ease}.admin-link:hover{background:var(--accent-color);color:#fff;transform:translate(4px);box-shadow:0 4px 12px #e67e224d}.account-info{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.info-value{color:var(--text-primary);font-weight:500}.objectives-text{color:var(--text-secondary);line-height:1.6;font-style:italic;margin:0;padding:16px;background:var(--light-gray);border-radius:8px;border-left:4px solid var(--primary-color)}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:40px}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-icon{font-size:4rem;margin-bottom:20px}.error-container h2{color:var(--text-primary);margin-bottom:12px}.error-container p{color:var(--text-secondary);margin-bottom:24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.profile-grid{grid-template-columns:1fr;gap:24px}.profile-header-content{grid-template-columns:1fr;text-align:center;gap:20px}.profile-meta{justify-content:center}.profile-stats{justify-content:center;flex-wrap:wrap}}@media (max-width: 768px){.profile-page{min-height:100vh}.profile-header,.profile-content{padding:20px 16px}.profile-header-content{gap:16px}.profile-avatar .avatar-image,.profile-avatar .avatar-placeholder{width:80px;height:80px}.profile-name{font-size:1.5rem;margin-bottom:8px}.profile-title{font-size:.9rem}.profile-stats{gap:8px;margin-top:16px}.stat-item{min-width:100px;padding:8px 12px}.stat-number{font-size:1.1rem}.stat-label{font-size:.75rem}.edit-profile-section,.profile-details-section,.appointments-section{padding:16px;margin-bottom:16px}.sidebar-card{padding:16px;margin-bottom:12px}.form-actions{flex-direction:column;gap:12px}.form-actions .btn{width:100%;min-height:48px}.quick-actions,.admin-links{gap:8px}.quick-action-btn,.admin-link{min-height:44px;font-size:14px}.user-form-container{padding:0;gap:16px}.form-group{gap:6px}.form-group label{font-size:14px;font-weight:600;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{font-size:16px!important;padding:12px 16px;border-radius:8px;min-height:48px;box-sizing:border-box}.form-group textarea{min-height:80px;resize:vertical}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #007AFF;outline-offset:2px;border-color:#007aff}.form-group input::placeholder,.form-group textarea::placeholder{color:#999;opacity:1;font-size:15px}}@media (max-width: 480px){.profile-header,.profile-content{padding:16px 12px}.profile-meta{flex-direction:column;align-items:center;gap:12px}.profile-stats{flex-direction:column;gap:8px;width:100%}.stat-item{display:flex;justify-content:space-between;align-items:center;width:100%;min-width:unset;padding:12px 16px}.stat-number{font-size:1rem}.stat-label{font-size:.8rem}.quick-actions,.admin-links{gap:6px}.quick-action-btn,.admin-link{padding:12px 16px;font-size:13px}.profile-name{font-size:1.3rem}.edit-profile-section,.profile-details-section,.appointments-section,.sidebar-card{padding:12px}.section-header h2{font-size:1.2rem}.section-header p{font-size:.85rem}}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:20px}.not-found-content{max-width:600px;animation:fadeInUp .8s ease-out}.not-found-title{font-size:8rem;font-weight:700;margin:0;text-shadow:0 4px 8px rgba(0,0,0,.3);background:linear-gradient(45deg,#ff6b6b,#ffd93d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.not-found-subtitle{font-size:2.5rem;margin:20px 0 10px;font-weight:300}.not-found-message{font-size:1.2rem;margin:30px 0 40px;opacity:.9;line-height:1.6}.not-found-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn-home,.btn-back{padding:12px 30px;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s ease;cursor:pointer;border:none;font-size:1rem}.btn-home{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-home:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99;color:#fff;text-decoration:none}.btn-back{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}.btn-back:hover{transform:translateY(-2px);background:#ffffff4d;border-color:#ffffff80}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.not-found-title{font-size:6rem}.not-found-subtitle{font-size:2rem}.not-found-message{font-size:1rem}.not-found-actions{flex-direction:column;align-items:center}.btn-home,.btn-back{width:200px}}.footer-modern{background:linear-gradient(180deg,#18181b,#0f0f10);color:#e4e4e7;padding:3rem 0 1.5rem;margin-top:5rem;border-top:1px solid rgba(168,85,247,.2)}.footer-container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-section h4{color:#fff;font-size:1.125rem;font-weight:700;font-family:var(--font-display);margin:0;background:linear-gradient(135deg,#a855f7,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-description{font-size:.9375rem;line-height:1.6;color:#a1a1aa;margin:0}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-link{color:#e4e4e7;text-decoration:none;font-size:.9375rem;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;width:fit-content}.footer-link:hover{color:#a855f7;transform:translate(4px)}.footer-info{color:#a1a1aa;font-size:.875rem;margin:.5rem 0 0;font-style:italic}.footer-bottom{text-align:center;padding-top:1.5rem}.footer-bottom p{color:#71717a;font-size:.875rem;margin:0}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#a855f71a;color:#a855f7;text-decoration:none;transition:all .2s ease;font-size:1.25rem}.social-link:hover{background:#a855f7;color:#fff;transform:translateY(-3px);box-shadow:0 4px 12px #a855f74d}@media (max-width: 768px){.footer-modern{padding:2rem 0 1rem;margin-top:3rem}.footer-container{padding:0 1rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-section h4{font-size:1rem}}.page-container{min-height:100vh}.page-container{padding:20px}h1,h2,h3,h4{color:#333}p{color:#444;line-height:1.6}.hero-section p,.rdv-preview-section p,.contact-section p{color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.profile-link-wrapper{position:relative}.profile-link{position:relative;display:inline-flex;align-items:center;gap:6px}.cart-badge{position:absolute;top:-8px;right:-8px;background:#f44;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 2px 4px #ff44444d;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.header-modern{position:sticky;top:0;z-index:1000;width:100%;background:#fff!important;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.header-modern .container{max-width:1400px;margin:0 auto;padding:1rem 2rem}.nav-modern{display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .2s ease;flex-shrink:0}.logo:hover{opacity:.8}.logo-text{font-family:var(--font-display);font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#a855f7,#7e22ce);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.admin-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.6875rem;font-weight:700;border-radius:.375rem;text-transform:uppercase;letter-spacing:.5px}.nav-links{display:flex;align-items:center;gap:.25rem;flex:1;justify-content:center}.nav-link{position:relative;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:500;color:#374151!important;text-decoration:none;border-radius:.5rem;transition:all .2s ease;white-space:nowrap}.nav-link:hover{color:#a855f7!important;background:#a855f70f}.nav-link.active{color:#a855f7!important;background:#a855f71a;font-weight:600}.nav-actions{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.cart-badge{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;background:#ef4444;color:#fff;font-size:.6875rem;font-weight:700;border-radius:9999px;box-shadow:0 2px 4px #ef44444d}.mobile-menu-btn{display:none;padding:.5rem;background:transparent;border:none;color:#18181b;cursor:pointer;border-radius:.5rem;transition:background .2s ease}.mobile-menu-btn:hover{background:#0000000d}.mobile-menu{display:none;flex-direction:column;gap:.25rem;padding:1rem 0 .5rem;margin-top:1rem;border-top:1px solid #e5e7eb;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-link{padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:#374151;text-decoration:none;border-radius:.5rem;transition:all .2s ease;background:transparent;border:none;text-align:left;cursor:pointer;width:100%}.mobile-menu-link:hover{color:#a855f7;background:#a855f70f}.mobile-menu-link.active{color:#a855f7;background:#a855f71a;font-weight:600}.mobile-menu-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width: 1024px){.nav-links{gap:.125rem}.nav-link{padding:.5rem .875rem;font-size:.875rem}}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.mobile-menu-btn,.mobile-menu{display:flex}.logo-text{font-size:1.25rem}.header-modern .container{padding:1rem 1.25rem}}@media (max-width: 480px){.header-modern .container{padding:.875rem 1rem}.logo-text{font-size:1.125rem}}.main-content,.page-container{min-height:calc(100vh - 70px)}
