*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary-50: #fff5f7;--color-primary-100: #ffe4e9;--color-primary-200: #fecdd6;--color-primary-300: #fda4b8;--color-primary-400: #fb7094;--color-primary-500: #f43f6f;--color-primary-600: #e11d5a;--color-primary-700: #be1249;--color-primary-800: #9f1245;--color-primary-900: #881340;--color-gold-50: #fffbeb;--color-gold-100: #fef3c7;--color-gold-200: #fde68a;--color-gold-300: #fcd34d;--color-gold-400: #fbbf24;--color-gold-500: #d4a574;--color-gold-600: #c9956a;--color-gold-700: #a67c52;--color-purple-50: #faf5ff;--color-purple-100: #f3e8ff;--color-purple-200: #e9d5ff;--color-purple-300: #d8b4fe;--color-purple-400: #c084fc;--color-purple-500: #a855f7;--color-purple-600: #9333ea;--color-cream: #fdfbf7;--color-ivory: #f8f5f0;--color-champagne: #f5efe6;--color-taupe: #e8e0d5;--color-bg-primary: var(--color-cream);--color-bg-secondary: var(--color-ivory);--color-bg-tertiary: var(--color-champagne);--color-bg-card: rgba(255, 255, 255, .95);--color-bg-card-hover: rgba(255, 255, 255, 1);--color-bg-glass: rgba(244, 63, 111, .03);--color-bg-sidebar: linear-gradient(180deg, #fdfbf7 0%, #f5efe6 100%);--color-text-primary: #2d2a26;--color-text-secondary: #5c564e;--color-text-muted: #9a9286;--color-text-accent: #be1249;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-bg: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-bg: rgba(239, 68, 68, .1);--color-info: #8b5cf6;--color-info-light: #ede9fe;--color-info-bg: rgba(139, 92, 246, .1);--color-border: rgba(212, 165, 116, .2);--color-border-hover: rgba(212, 165, 116, .4);--color-border-focus: rgba(244, 63, 111, .5);--shadow-sm: 0 1px 2px rgba(45, 42, 38, .04), 0 1px 3px rgba(212, 165, 116, .08);--shadow-md: 0 4px 6px -1px rgba(45, 42, 38, .06), 0 2px 4px -2px rgba(212, 165, 116, .1);--shadow-lg: 0 10px 15px -3px rgba(45, 42, 38, .08), 0 4px 6px -4px rgba(212, 165, 116, .12);--shadow-xl: 0 20px 25px -5px rgba(45, 42, 38, .1), 0 8px 10px -6px rgba(212, 165, 116, .15);--shadow-2xl: 0 25px 50px -12px rgba(45, 42, 38, .2);--shadow-glow: 0 0 30px rgba(244, 63, 111, .2);--shadow-gold: 0 0 30px rgba(212, 165, 116, .25);--shadow-card: 0 4px 20px rgba(212, 165, 116, .12), 0 1px 3px rgba(45, 42, 38, .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Playfair Display", Georgia, serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 280px;--header-height: 80px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4a574' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse at 20% 0%,rgba(244,63,111,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(212,165,116,.08) 0%,transparent 50%),linear-gradient(180deg,var(--color-cream) 0%,var(--color-ivory) 100%);pointer-events:none;z-index:-1}body:after{content:"";position:fixed;top:50%;right:5%;width:200px;height:200px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d4a574' stroke-width='1' stroke-linecap='round' stroke-linejoin='round' opacity='0.08'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cline x1='20' y1='4' x2='8.12' y2='15.88'/%3E%3Cline x1='14.47' y1='14.48' x2='20' y2='20'/%3E%3Cline x1='8.12' y1='8.12' x2='12' y2='12'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.3;pointer-events:none;z-index:-1}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--color-text-primary);letter-spacing:-.01em}h1,h2{font-family:var(--font-display);font-weight:600}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-500)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-gold-500),var(--color-primary-400));border-radius:var(--radius-full);border:2px solid var(--color-bg-tertiary)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-gold-600),var(--color-primary-500))}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-base)}.page-container{flex:1;padding:var(--space-8);padding-top:calc(var(--header-height) + var(--space-8));max-width:1600px;margin:0 auto;width:100%}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-base)}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-item span,.sidebar.collapsed .sidebar-header:after{opacity:0;visibility:hidden;width:0;overflow:hidden}.sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar.collapsed .sidebar-logo-icon{width:44px;height:44px;font-size:var(--font-size-lg)}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--space-3)}.sidebar.collapsed .nav-item-icon{margin:0}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar.collapsed .sidebar-footer{padding:var(--space-2)}.sidebar.collapsed .sidebar-footer button{justify-content:center}.sidebar-toggle{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);color:var(--color-text-secondary)}.sidebar-toggle:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);transform:translateY(-50%) scale(1.1)}.app-layout.sidebar-collapsed .main-content{margin-left:72px}.app-layout.sidebar-collapsed .header{left:72px}.sidebar:before{content:"";position:absolute;top:0;right:0;width:3px;height:100%;background:linear-gradient(180deg,var(--color-gold-400) 0%,var(--color-primary-400) 50%,var(--color-gold-400) 100%);opacity:.6}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-cream),var(--color-champagne));position:relative}.sidebar-header:after{content:"✂";position:absolute;top:var(--space-4);right:var(--space-4);font-size:1.2rem;opacity:.15;transform:rotate(-45deg)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3)}.sidebar-logo-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-gold-500) 100%);border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:800;color:#fff;box-shadow:var(--shadow-gold);position:relative;overflow:hidden}.sidebar-logo-icon:before{content:"✂";font-size:1.8rem}.sidebar-logo-icon:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);animation:shine 4s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.sidebar-logo-text{display:flex;flex-direction:column}.sidebar-logo-text:before{content:"Coiffeur";font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;background:linear-gradient(135deg,var(--color-primary-600),var(--color-gold-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.sidebar-logo-text:after{content:"PRO";font-size:var(--font-size-xs);font-weight:700;letter-spacing:.3em;color:var(--color-gold-600)}.sidebar-nav{flex:1;padding:var(--space-4);overflow-y:auto}.nav-section{margin-bottom:var(--space-6)}.nav-section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-gold-600);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.nav-section-title:before{content:"";width:16px;height:1px;background:linear-gradient(90deg,var(--color-gold-400),transparent)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-1);text-decoration:none;position:relative}.nav-item:hover{background:var(--color-bg-glass);color:var(--color-primary-600);transform:translate(4px)}.nav-item.active{background:linear-gradient(135deg,#f43f6f1a,#d4a57414);color:var(--color-primary-600);font-weight:600;box-shadow:var(--shadow-sm)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(180deg,var(--color-primary-500),var(--color-gold-500));border-radius:0 var(--radius-full) var(--radius-full) 0}.nav-item-icon{width:20px;height:20px;opacity:.7}.nav-item.active .nav-item-icon{opacity:1}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:#fdfbf7e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);z-index:50;transition:left var(--transition-base)}.header-left{display:flex;align-items:center;gap:var(--space-6)}.header-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:600;background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-search{position:relative;width:320px}.header-search input{width:100%;padding:var(--space-3) var(--space-4);padding-left:var(--space-10);background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.header-search input::placeholder{color:var(--color-text-muted)}.header-search input:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 4px #f43f6f1a}.header-search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:18px;height:18px}.header-right{display:flex;align-items:center;gap:var(--space-4)}.header-icon-btn{width:46px;height:46px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:#fff;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);position:relative;box-shadow:var(--shadow-sm)}.header-icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-primary-600);border-color:var(--color-primary-300);transform:translateY(-2px);box-shadow:var(--shadow-md)}.header-icon-btn .notification-dot{position:absolute;top:10px;right:10px;width:10px;height:10px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-gold-400));border-radius:var(--radius-full);border:2px solid white;box-shadow:0 0 10px var(--color-primary-400)}.header-avatar{width:46px;height:46px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-500),var(--color-gold-500));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:3px solid white;box-shadow:var(--shadow-md)}.header-avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.card{background:var(--color-bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-6);transition:all var(--transition-base);box-shadow:var(--shadow-card);position:relative}.card:before{content:"";position:absolute;top:0;left:20px;right:20px;height:3px;background:linear-gradient(90deg,var(--color-primary-400),var(--color-gold-400),var(--color-primary-400));border-radius:0 0 var(--radius-full) var(--radius-full);opacity:0;transition:opacity var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-xl);transform:translateY(-3px)}.card:hover:before{opacity:1}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.card-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-6);transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-400),var(--color-gold-400));opacity:0;transition:opacity var(--transition-base)}.stat-card:after{content:"✂";position:absolute;bottom:-10px;right:-5px;font-size:5rem;opacity:.03;transform:rotate(-30deg);color:var(--color-gold-500);transition:opacity var(--transition-base)}.stat-card:hover{transform:translateY(-6px);border-color:var(--color-border-hover);box-shadow:var(--shadow-2xl)}.stat-card:hover:before{opacity:1}.stat-card:hover:after{opacity:.06}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);position:relative;z-index:1}.stat-card-icon{width:56px;height:56px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.stat-card-icon.purple{background:linear-gradient(135deg,var(--color-purple-100),var(--color-purple-50));color:var(--color-purple-600)}.stat-card-icon.gold{background:linear-gradient(135deg,var(--color-gold-200),var(--color-gold-100));color:var(--color-gold-700)}.stat-card-icon.green{background:linear-gradient(135deg,var(--color-success-light),#ecfdf5);color:var(--color-success)}.stat-card-icon.blue{background:linear-gradient(135deg,var(--color-info-light),#eff6ff);color:var(--color-info)}.stat-card-icon.rose{background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-50));color:var(--color-primary-600)}.stat-card-trend{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.stat-card-trend.up{color:var(--color-success);background:var(--color-success-bg)}.stat-card-trend.down{color:var(--color-error);background:var(--color-error-bg)}.stat-card-value{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1);position:relative;z-index:1}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:#fff;box-shadow:0 4px 14px #f43f6f59}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-500) 100%);box-shadow:0 6px 20px #f43f6f73;transform:translateY(-2px)}.btn-secondary{background:#fff;color:var(--color-text-primary);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary-300);transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg,var(--color-gold-500) 0%,var(--color-gold-600) 100%);color:#fff;box-shadow:0 4px 14px #d4a57466}.btn-accent:hover:not(:disabled){box-shadow:0 6px 20px #d4a57480;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-glass);color:var(--color-primary-600)}.btn-danger{background:linear-gradient(135deg,var(--color-error),#dc2626);color:#fff;box-shadow:0 4px 14px #ef444459}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #ef444473;transform:translateY(-2px)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-lg)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-full)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 4px #f43f6f1a}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235c564e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:18px;padding-right:var(--space-10)}.form-textarea{min-height:120px;resize:vertical}.form-error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--space-1)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.toggle{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.toggle-switch{position:relative;width:52px;height:28px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;box-shadow:var(--shadow-md);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle input{display:none}.toggle input:checked+.toggle-switch{background:linear-gradient(135deg,var(--color-primary-500),var(--color-gold-500));border-color:var(--color-primary-400)}.toggle input:checked+.toggle-switch:after{transform:translate(24px)}.data-table-wrapper{overflow-x:auto;border-radius:var(--radius-2xl);border:1px solid var(--color-border);background:#fff;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th{text-align:left;padding:var(--space-4) var(--space-5);background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table th:first-child{border-radius:var(--radius-xl) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius-xl) 0 0}.data-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-glass)}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full)}.badge-success{background:var(--color-success-light);color:#047857}.badge-warning{background:var(--color-warning-light);color:#b45309}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-info{background:var(--color-info-light);color:var(--color-purple-600)}.badge-purple{background:var(--color-purple-100);color:var(--color-purple-700)}.badge-gold{background:var(--color-gold-100);color:var(--color-gold-700)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2a2666;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:var(--space-4)}.modal{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-3xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:slideUpModal .3s ease;box-shadow:var(--shadow-2xl);position:relative}.modal:before{content:"";position:absolute;top:0;left:30px;right:30px;height:4px;background:linear-gradient(90deg,var(--color-primary-400),var(--color-gold-400),var(--color-primary-400));border-radius:0 0 var(--radius-full) var(--radius-full)}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--color-border)}.modal-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:var(--color-bg-secondary);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-primary-600)}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:0 0 var(--radius-3xl) var(--radius-3xl)}.tabs{display:flex;gap:var(--space-1);background:var(--color-bg-secondary);padding:var(--space-1);border-radius:var(--radius-full);width:fit-content;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.tab{padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--color-text-secondary)}.tab.active{background:#fff;color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center}.empty-state-icon{width:100px;height:100px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-100),var(--color-gold-100));display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6);color:var(--color-primary-400);font-size:2.5rem}.empty-state-icon:before{content:"✂"}.empty-state-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-primary)}.empty-state-text{color:var(--color-text-muted);margin-bottom:var(--space-6)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:600;background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);margin-top:var(--space-1)}.page-actions{display:flex;align-items:center;gap:var(--space-3)}.grid{display:grid;gap:var(--space-6)}.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)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-container{width:100%;height:320px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-border)}.recharts-text{fill:var(--color-text-muted);font-size:var(--font-size-xs)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .4s ease}.animate-slideIn{animation:slideIn .3s ease}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-accent{color:var(--color-primary-500)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){:root{--sidebar-width: 0px}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);width:280px;box-shadow:var(--shadow-2xl)}.main-content{margin-left:0}.header{left:0;padding:0 var(--space-4)}.header-search{display:none}.page-container{padding:var(--space-4);padding-top:calc(var(--header-height) + var(--space-4))}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.modal{margin:var(--space-4);max-height:calc(100vh - var(--space-8))}}@media (max-width: 480px){.page-title,.stat-card-value{font-size:var(--font-size-2xl)}.btn-lg{padding:var(--space-3) var(--space-6)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-background{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-champagne) 50%,var(--color-primary-50) 100%);z-index:-2}.login-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4a574' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse at 30% 20%,rgba(244,63,111,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(212,165,116,.1) 0%,transparent 50%);z-index:-1}.login-container{width:100%;max-width:440px;padding:var(--space-6)}.login-card{background:var(--color-bg-card);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-2xl),0 0 60px #d4a57426;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-logo{text-align:center;margin-bottom:var(--space-8)}.login-logo-icon{width:80px;height:80px;margin:0 auto var(--space-4);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg),0 0 30px #f43f6f4d}.login-logo-text{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.login-form{margin-bottom:var(--space-6)}.login-form .form-group{margin-bottom:var(--space-5)}.login-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--space-5);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.input-with-icon .form-input{padding-left:calc(var(--space-4) + 24px);padding-right:var(--space-12)}.password-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.password-toggle:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.login-btn{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:600;margin-top:var(--space-2)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-info{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.login-info-section{background:var(--color-bg-secondary);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.login-info-section:last-child{margin-bottom:0}.login-info-section h4{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-primary)}.login-info-section p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.login-info-section code{background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:Consolas,monospace;font-size:var(--font-size-xs);color:var(--color-primary-600)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--color-bg-primary)}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite}.loading-screen p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.mobile-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--color-bg-primary);padding:var(--space-4)}.mobile-loading p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.mobile-espace{padding:var(--space-4);padding-bottom:calc(env(safe-area-inset-bottom,20px) + 80px);min-height:100vh;background:var(--color-bg-primary)}.offline-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;z-index:1000;padding-top:calc(env(safe-area-inset-top,0px) + 8px)}.install-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;z-index:1000;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);box-shadow:0 -4px 20px #00000026}.install-banner-content{flex:1;display:flex;align-items:center;gap:10px;font-weight:500}.install-btn{background:#fff;color:var(--color-primary-600);border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.dismiss-btn{background:transparent;color:#fff;border:none;padding:8px;font-size:18px;cursor:pointer;opacity:.8}.mobile-header{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));margin:-16px -16px 20px;padding:24px 16px;padding-top:calc(env(safe-area-inset-top,20px) + 20px);border-radius:0 0 24px 24px}.mobile-header-content{display:flex;align-items:center;gap:12px}.mobile-avatar{width:52px;height:52px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.mobile-header-text{flex:1;color:#fff;min-width:0}.mobile-header-text h1{font-size:18px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-header-text p{font-size:13px;opacity:.9;margin:4px 0 0}.refresh-btn{width:40px;height:40px;background:#fff3;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}.refresh-btn:active{transform:scale(.95);background:#ffffff4d}.refresh-btn.refreshing svg{animation:spin 1s linear infinite}.logout-btn-mobile{width:40px;height:40px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}.logout-btn-mobile:active{transform:scale(.95);background:#ef444480}.mobile-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#dc2626;padding:12px 16px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:10px;margin-bottom:16px}.mobile-stats-container{margin:0 -16px 20px;padding:0 16px;overflow:hidden}.mobile-stats-scroll{display:flex;gap:12px;overflow-x:auto;padding:4px 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.mobile-stats-scroll::-webkit-scrollbar{display:none}.mobile-stat-card{flex:0 0 140px;background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 12px #0000000f;scroll-snap-align:start}.mobile-stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.mobile-stat-card.gold .mobile-stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.mobile-stat-card.purple .mobile-stat-icon{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.mobile-stat-card.green .mobile-stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.mobile-stat-card.blue .mobile-stat-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.mobile-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary);margin-bottom:4px;white-space:nowrap}.mobile-stat-label{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.mobile-card{background:#fff;border-radius:20px;padding:20px;margin-bottom:16px;box-shadow:0 2px 16px #0000000f}.mobile-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-card-header h3{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0}.mobile-badge{background:linear-gradient(135deg,var(--color-gold-100),var(--color-gold-200));color:var(--color-gold-700);padding:6px 12px;border-radius:20px;font-size:13px;font-weight:700}.mobile-badge-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.mobile-earnings-highlight{background:linear-gradient(135deg,var(--color-gold-50),var(--color-primary-50));border:1px solid rgba(212,165,116,.2)}.earnings-highlight-content{text-align:center;padding:8px 0}.earnings-highlight-label{font-size:13px;color:var(--color-text-muted);margin-bottom:8px}.earnings-highlight-value{font-size:36px;font-weight:800;color:var(--color-gold-600);margin-bottom:8px}.earnings-highlight-details{font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:8px}.earnings-highlight-details .separator{color:var(--color-text-muted)}.mobile-chart-container{height:180px;margin:0 -8px}.mobile-transactions-list{display:flex;flex-direction:column;gap:12px}.mobile-transaction-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--color-bg-secondary);border-radius:12px;gap:12px}.transaction-left{flex:1;min-width:0}.transaction-service{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-details{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:4px}.transaction-details .dot{font-size:8px}.transaction-right{text-align:right;flex-shrink:0}.transaction-amount{font-size:15px;font-weight:700;color:var(--color-gold-600);margin-bottom:4px}.transaction-payment{font-size:11px;padding:3px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;font-weight:500}.transaction-payment.cash{background:var(--color-success-light);color:var(--color-success)}.transaction-payment.card{background:var(--color-info-light);color:var(--color-info)}.show-more-btn{width:100%;padding:14px;margin-top:12px;background:var(--color-bg-secondary);border:none;border-radius:12px;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.show-more-btn:active{background:var(--color-bg-tertiary)}.mobile-empty-state{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.mobile-empty-state svg{margin-bottom:12px;opacity:.4}.mobile-empty-state p{font-size:14px}.mobile-bottom-spacer{height:20px}@media (min-width: 768px){.mobile-espace{max-width:600px;margin:0 auto;padding:24px}.mobile-header{margin:-24px -24px 24px;border-radius:0 0 32px 32px;padding:32px 24px}.mobile-header-text h1{font-size:24px}.mobile-stats-container{margin:0 -24px 24px;padding:0 24px}.mobile-stat-card{flex:1 1 0;min-width:0}.mobile-stats-scroll{overflow-x:visible}}@media (max-width: 360px){.mobile-stat-card{flex:0 0 125px;padding:14px}.mobile-stat-value{font-size:18px}.earnings-highlight-value{font-size:28px}.mobile-header-text h1{font-size:16px}}@supports (padding: max(0px)){.mobile-header{padding-top:max(24px,calc(env(safe-area-inset-top) + 16px))}.mobile-espace{padding-bottom:max(80px,calc(env(safe-area-inset-bottom) + 60px))}}.app-layout.coiffeur-layout{display:block}.app-layout.coiffeur-layout .coiffeur-main{margin-left:0;padding:0;min-height:100vh}.app-layout.coiffeur-layout .sidebar,.app-layout.coiffeur-layout .header{display:none}
