@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary-red: #B91C1C;--primary-red-hover: #991B1B;--primary-red-active: #7F1515;--primary-red-soft: #FEF2F2;--primary-red-tint: #FEE2E2;--primary-red-light: #DC2626;--primary-red-dark: #7F1D1D;--primary-red-darker: var(--primary-red-active);--primary-red-lighter: var(--primary-red-soft);--white: #ffffff;--black: #0B0F19;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--bg-app: #F7F8FA;--bg-card: #FFFFFF;--bg-elevated: #FFFFFF;--bg-subtle: #F8FAFC;--border-color: #E5E7EB;--border-strong: #D1D5DB;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--text-on-primary:#FFFFFF;--success: #15803D;--success-light: #DCFCE7;--success-soft: #F0FDF4;--warning: #B45309;--warning-light: #FEF3C7;--warning-soft: #FFFBEB;--error: #B91C1C;--error-light: #FEE2E2;--error-soft: #FEF2F2;--info: #1D4ED8;--info-light: #DBEAFE;--info-soft: #EFF6FF;--role-admin: var(--primary-red);--role-admin-bg: var(--primary-red-soft);--role-checker: #6D28D9;--role-checker-bg:#F5F3FF;--role-maker: #B45309;--role-maker-bg: #FFFBEB;--role-agent: #1D4ED8;--role-agent-bg: #EFF6FF;--role-partner: #0F766E;--role-partner-bg:#F0FDFA;--role-client: #15803D;--role-client-bg: #F0FDF4;--font-primary: "Inter", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Inter", "Playfair Display", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.55;--leading-relaxed: 1.7;--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .08), 0 4px 8px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 48px rgba(15, 23, 42, .12), 0 8px 16px rgba(15, 23, 42, .06);--shadow-2xl:0 40px 80px rgba(15, 23, 42, .16);--ring-primary: 0 0 0 3px rgba(185, 28, 28, .18);--ring-info: 0 0 0 3px rgba(29, 78, 216, .18);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .32s cubic-bezier(.4, 0, .2, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 264px;--sidebar-width-collapsed: 76px;--header-height: 64px;--content-max-width: 1440px;--z-dropdown: 50;--z-sticky: 80;--z-header: 100;--z-sidebar: 1000;--z-modal: 2000;--z-toast: 3000}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-primary);font-size:var(--text-base);font-weight:400;line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}#root{width:100%;min-height:100vh;isolation:isolate}img,svg,video,canvas{display:block;max-width:100%}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit;letter-spacing:inherit}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--primary-red);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-red-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700;line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-sm)}p{line-height:var(--leading-normal);color:var(--text-secondary)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:none;box-shadow:var(--ring-primary);border-radius:var(--radius-sm)}::selection{background:var(--primary-red);color:var(--white)}*{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--gray-400);background-clip:content-box;border:2px solid transparent}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-page{display:flex;flex-direction:column;gap:20px;width:100%;min-width:0}.admin-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:20px;padding:14px 20px 14px 18px;margin:0!important;background:linear-gradient(135deg,#b91c1c06,#fff 60%);border:1px solid var(--border-color, #e5e7eb);border-left:4px solid var(--primary-red, #B91C1C);border-radius:var(--radius-lg, 12px);box-shadow:0 1px 2px #00000008;min-height:0;position:sticky;top:calc(var(--header-height, 64px) + 12px);z-index:30;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,color .35s ease}.admin-page-header.is-scrolled{background:#ffffffd9;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-color:#00000014;border-left-color:#dc2626;box-shadow:0 12px 32px #0f172a1f,0 4px 10px #0f172a0f,0 0 0 1px #ffffff80 inset}.admin-page-header-content{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;flex:1 1 auto;padding:0;margin:0}.admin-page-header-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.admin-eyebrow{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-red, #B91C1C);line-height:1;padding:6px 10px;background:#b91c1c14;border:1px solid rgba(185,28,28,.18);border-radius:999px;white-space:nowrap;flex-shrink:0}.admin-page-header.is-scrolled .admin-eyebrow{background:#b91c1c1a;border-color:#b91c1c40}.admin-page-header-content h1{margin:0;padding:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2;white-space:nowrap;flex-shrink:0}.admin-sep{color:var(--gray-300, #d1d5db);font-size:16px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.admin-page-header-content p{margin:0;padding:0;font-size:13px;color:var(--text-secondary);font-weight:400;line-height:1.4;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-page-header .btn-primary{padding:10px 18px;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;align-self:center;margin:0;box-shadow:0 4px 12px #b91c1c38,0 1px 2px #b91c1c26;transition:transform .18s ease,box-shadow .18s ease}.admin-page-header .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #b91c1c52,0 2px 4px #b91c1c33}.admin-page-header.is-scrolled .btn-primary{box-shadow:0 6px 16px #b91c1c4d,0 1px 2px #b91c1c26}.admin-btn-icon-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff3;color:var(--white);font-weight:700;font-size:14px;line-height:1;margin-right:6px}@media(max-width:900px){.admin-page-header-content{gap:8px 12px}.admin-page-header-content p{flex-basis:100%;white-space:normal;overflow:visible;text-overflow:clip;font-size:12.5px}.admin-page-header .admin-sep{display:none}}@media(max-width:640px){.admin-page-header{padding:12px 14px 12px 12px;gap:12px;flex-wrap:wrap}.admin-eyebrow{font-size:10px;padding:5px 9px}.admin-page-header-content h1{font-size:17px}.admin-page-header-content p{font-size:12px}.admin-page-header .btn-primary{padding:9px 14px;font-size:12px}}@media(max-width:420px){.admin-page-header{flex-direction:column;align-items:stretch}.admin-page-header .btn-primary{width:100%;justify-content:center}}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0;width:100%}.admin-stat-card{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden;isolation:isolate;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.admin-stat-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent-from),var(--accent-to));opacity:.95}.admin-stat-glow{position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);opacity:.7;z-index:-1;transition:opacity var(--transition-normal),transform var(--transition-normal)}.admin-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}.admin-stat-card:hover .admin-stat-glow{opacity:1;transform:scale(1.1)}.admin-stat-card.tone-primary{--accent-from: var(--primary-red);--accent-to: var(--primary-red-dark);--accent-soft: var(--primary-red-tint);--accent-on: var(--primary-red)}.admin-stat-card.tone-success{--accent-from: #16A34A;--accent-to: #15803D;--accent-soft: #DCFCE7;--accent-on: var(--success)}.admin-stat-card.tone-info{--accent-from: #2563EB;--accent-to: #1D4ED8;--accent-soft: #DBEAFE;--accent-on: var(--info)}.admin-stat-card.tone-warning{--accent-from: #D97706;--accent-to: #B45309;--accent-soft: #FEF3C7;--accent-on: var(--warning)}.admin-stat-card.tone-neutral{--accent-from: var(--gray-500);--accent-to: var(--gray-700);--accent-soft: var(--gray-100);--accent-on: var(--gray-700)}.admin-stat-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;background:var(--accent-soft);color:var(--accent-on);flex-shrink:0;box-shadow:inset 0 0 0 1px #fff9;transition:transform var(--transition-normal)}.admin-stat-card:hover .admin-stat-icon{transform:scale(1.08) rotate(-3deg)}.admin-stat-body{flex:1;min-width:0}.admin-stat-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.admin-stat-value{font-size:32px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.admin-stat-sub{margin-top:6px;font-size:var(--text-xs);color:var(--text-muted);font-weight:500}@media(max-width:768px){.admin-stat-card{padding:16px;gap:12px}.admin-stat-value{font-size:26px}.admin-stat-icon{width:44px;height:44px;font-size:19px}}.admin-filters{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;margin:0;box-shadow:var(--shadow-xs)}.admin-filters-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin-filters-title{display:inline-flex;align-items:center;gap:10px}.admin-filters-title h3{margin:0;font-size:var(--text-md);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.admin-filters-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--primary-red-soft);color:var(--primary-red);font-size:15px}.admin-filter-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;background:var(--primary-red);color:var(--white);border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 6px #b91c1c4d}.admin-reset-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:var(--text-xs);font-weight:600;color:var(--primary-red);background:var(--primary-red-soft);border:1px solid var(--primary-red-tint);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.02em;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.admin-reset-btn:hover{background:var(--primary-red);border-color:var(--primary-red);color:var(--white);transform:translateY(-1px)}.admin-search-row{margin-bottom:12px}.admin-filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.admin-input{position:relative;display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);min-height:44px}.admin-input:hover{border-color:var(--gray-400)}.admin-input:focus-within{border-color:var(--primary-red);box-shadow:var(--ring-primary);background:var(--white)}.admin-input-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:100%;color:var(--text-muted);font-size:15px;flex-shrink:0;pointer-events:none}.admin-input:focus-within .admin-input-icon{color:var(--primary-red)}.admin-input input,.admin-input select{flex:1;height:42px;padding:0 12px 0 0;border:none;background:transparent!important;color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;outline:none;width:100%}.admin-input input::placeholder{color:var(--text-muted)}.admin-input-search{width:100%}.admin-input-clear{width:28px;height:28px;margin-right:6px;border:none;border-radius:50%;background:var(--gray-100);color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.admin-input-clear:hover{background:var(--primary-red);color:var(--white)}.admin-input-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;cursor:pointer}.admin-select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:11px;transition:color var(--transition-fast),transform var(--transition-fast)}.admin-input:focus-within .admin-select-chevron{color:var(--primary-red);transform:translateY(-50%) rotate(180deg)}.admin-input-date input[type=date]{color:var(--text-primary);cursor:pointer}.admin-active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-color)}.admin-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 12px;background:var(--primary-red-soft);color:var(--primary-red);border:1px solid var(--primary-red-tint);border-radius:var(--radius-full);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.admin-chip strong{font-weight:700;color:var(--primary-red-dark)}.admin-chip:hover{background:var(--primary-red);color:var(--white);transform:translateY(-1px)}.admin-chip:hover strong{color:var(--white)}.admin-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#b91c1c26;font-size:9px;font-weight:700}.admin-chip:hover .admin-chip-x{background:#ffffff40}@media(max-width:768px){.admin-filters{padding:16px}.admin-filters-row{grid-template-columns:1fr 1fr}}@media(max-width:480px){.admin-filters-row{grid-template-columns:1fr}}.admin-results-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin:0;flex-wrap:wrap;box-shadow:var(--shadow-xs)}.admin-results-info{font-size:var(--text-sm);color:var(--text-secondary)}.admin-results-info strong{color:var(--primary-red);font-weight:700}.admin-results-info-extra{color:var(--text-muted)}.admin-results-actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-page-size-control{display:inline-flex;align-items:center;gap:8px}.admin-page-size-control label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;margin:0}.admin-page-size-control select{width:auto;min-width:80px;padding:6px 10px;font-size:var(--text-sm)}.admin-id-pill{display:inline-block;padding:2px 8px;background:var(--gray-100);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);font-weight:600}.admin-cell-with-icon{display:inline-flex;align-items:center;gap:10px;min-width:0}.admin-cell-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--primary-red-soft);color:var(--primary-red);font-size:14px;flex-shrink:0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:#ffffff0d;border-radius:50%;animation:float 20s ease-in-out infinite}.login-container:after{content:"🍽️";position:absolute;font-size:400px;opacity:.03;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;padding:40px;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-header{text-align:center;margin-bottom:32px;position:relative}.login-header .logo{width:120px;height:120px;margin:0 auto 16px;display:block;object-fit:contain;animation:pulse 2s ease-in-out infinite}.login-header h1{color:#333;font-size:28px;margin-bottom:8px;font-weight:700}.login-header h2{color:var(--primary-red);font-size:18px;font-weight:500;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:45px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:20px;padding:4px 8px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.password-toggle:hover{opacity:1}.test-credentials{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px dashed #ff9800;border-radius:8px;padding:16px;margin-top:24px;text-align:center}.test-credentials h4{color:#e65100;margin:0 0 12px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.test-credentials p{margin:6px 0;font-size:13px;color:#555}.test-credentials p strong{color:#e65100;font-weight:600}.form-footer{display:flex;justify-content:flex-end}.forgot-password-link{color:var(--primary-red);text-decoration:none;font-size:14px;font-weight:500;transition:color var(--transition-normal)}.forgot-password-link:hover{color:var(--primary-red-darker)}.login-button{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:#fff;border:none;padding:14px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl)}.login-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.login-card{padding:24px}.login-header h1{font-size:24px}.login-header h2{font-size:16px}}.verify-otp-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);padding:20px;position:relative;overflow:hidden}.verify-otp-container:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:#ffffff0d;border-radius:50%;animation:float 20s ease-in-out infinite}.verify-otp-container:after{content:"🔐";position:absolute;font-size:400px;opacity:.03;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none}.verify-otp-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;padding:40px;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.verify-otp-header{text-align:center;margin-bottom:32px;position:relative}.verify-otp-header .logo{width:120px;height:120px;margin:0 auto 16px;display:block;object-fit:contain;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.verify-otp-header h1{color:#333;font-size:28px;margin-bottom:8px;font-weight:700}.verify-otp-header p{color:var(--primary-red);font-size:15px;margin:0;line-height:1.5}.verify-otp-header strong{font-weight:700;color:var(--primary-red-darker)}.verify-otp-form{display:flex;flex-direction:column;gap:20px}.otp-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:24px;font-weight:700;text-align:center;letter-spacing:12px;transition:border-color .3s ease;font-family:monospace}.otp-input:focus{outline:none;border-color:var(--primary-red)}.otp-input:disabled{opacity:.6;cursor:not-allowed}.otp-hint{display:block;margin-top:6px;font-size:13px;color:#555;text-align:center;font-style:italic}.button-group{display:flex;gap:12px}.cancel-button,.verify-button{flex:1;padding:14px;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.cancel-button{background:#fff;color:#333;border:2px solid #e0e0e0}.cancel-button:hover:not(:disabled){background:#f5f5f5}.verify-button{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:#fff}.verify-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #dc26264d}.verify-button:active:not(:disabled){transform:translateY(0)}.verify-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.resend-section{text-align:center;padding-top:20px;border-top:1px solid #e0e0e0;margin-top:20px}.resend-section p{margin:0 0 8px;color:#555;font-size:13px}.resend-button{background:none;border:none;color:var(--primary-red);font-weight:600;cursor:pointer;padding:8px;border-radius:8px;transition:color .3s ease;font-size:14px}.resend-button:hover:not(:disabled){color:var(--primary-red-darker);text-decoration:underline}.resend-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.verify-otp-card{padding:24px}.verify-otp-header h1{font-size:24px}.otp-input{font-size:20px;letter-spacing:8px}}.change-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dc2626,#b91c1c);padding:20px;position:relative;overflow:hidden}.change-password-container:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,20px)}}.change-password-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;padding:50px 40px;position:relative;z-index:1;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.change-password-header{text-align:center;margin-bottom:40px}.change-password-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;box-shadow:0 10px 25px #dc26264d}.change-password-header h1{font-size:28px;font-weight:700;color:#1a202c;margin:0 0 10px}.change-password-header h2{font-size:18px;font-weight:600;color:#dc2626;margin:0 0 15px}.change-password-description{font-size:14px;color:#718096;line-height:1.6;padding:15px 20px;background:#f7fafc;border-radius:10px;border-left:4px solid #dc2626}.change-password-description strong{color:#dc2626;font-weight:700}.change-password-form{margin-top:30px}.form-group{margin-bottom:25px}.form-group label{display:block;font-size:14px;font-weight:600;color:#2d3748;margin-bottom:8px}.password-input-wrapper{position:relative}.password-input-wrapper input{width:100%;padding:14px 50px 14px 14px;font-size:15px;border:2px solid #e2e8f0;border-radius:10px;transition:all .3s ease;background:#f7fafc}.password-input-wrapper input:focus{outline:none;border-color:#dc2626;background:#fff;box-shadow:0 0 0 3px #dc26261a}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:#a0aec0;pointer-events:none;z-index:1}.toggle-password{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:18px;color:#a0aec0;transition:color .2s;padding:5px;z-index:1}.toggle-password:hover{color:#dc2626}.password-hint{font-size:12px;color:#718096;margin-top:6px;display:flex;align-items:center;gap:5px}.password-hint:before{content:"ℹ️";font-size:14px}.change-password-button{width:100%;padding:16px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #dc262666;margin-top:10px}.change-password-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #dc262680}.change-password-button:active:not(:disabled){transform:translateY(0)}.change-password-button:disabled{opacity:.6;cursor:not-allowed}.logout-button{width:100%;padding:14px;margin-top:15px;background:transparent;color:#718096;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.alert-message{padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:10px;animation:slideDown .3s ease-out}.alert-error{background:#fff5f5;border-left:4px solid #f56565;color:#c53030}.alert-error:before{content:"⚠️";font-size:18px}.alert-success{background:#f0fff4;border-left:4px solid #48bb78;color:#2f855a}.alert-success:before{content:"✅";font-size:18px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@media(max-width:768px){.change-password-card{padding:40px 30px}.change-password-header h1{font-size:24px}.change-password-header h2{font-size:16px}}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);padding:20px;position:relative;overflow:hidden}.forgot-password-container:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:#ffffff0d;border-radius:50%;animation:float 20s ease-in-out infinite}.forgot-password-container:after{content:"🍽️";position:absolute;font-size:400px;opacity:.03;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-50px) rotate(120deg)}66%{transform:translate(-20px,30px) rotate(240deg)}}.forgot-password-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;padding:40px;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.forgot-password-header{text-align:center;margin-bottom:32px}.forgot-password-header h1{color:#333;font-size:28px;margin-bottom:12px;font-weight:700}.forgot-password-header p{color:#666;font-size:15px;margin:0}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#333;font-weight:600;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-red)}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:8px;font-size:14px;text-align:center}.success-message{text-align:center;padding:20px 0}.success-icon{width:64px;height:64px;color:#4caf50;margin:0 auto 20px}.success-message h3{color:#333;font-size:24px;margin-bottom:12px}.success-message p{color:#666;font-size:15px;line-height:1.6;margin-bottom:24px}.back-to-login{display:inline-block;color:var(--primary-red);text-decoration:none;font-weight:600;font-size:16px;transition:color var(--transition-normal)}.back-to-login:hover{color:var(--primary-red-darker)}.submit-button{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:#fff;border:none;padding:14px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.form-footer{text-align:center;padding-top:8px}.back-link{color:var(--primary-red);text-decoration:none;font-size:14px;font-weight:500;transition:color var(--transition-normal)}.back-link:hover{color:var(--primary-red-darker)}@media(max-width:480px){.forgot-password-card{padding:24px}.forgot-password-header h1{font-size:24px}.forgot-password-header p{font-size:14px}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:linear-gradient(180deg,#5c0a0a,#7f1515 55%,#5c0a0a);border-right:1px solid rgba(0,0,0,.25);z-index:var(--z-sidebar);display:flex;flex-direction:column;transform:translate(0);transition:width var(--transition-normal),transform var(--transition-normal);box-shadow:4px 0 24px #0000002e;color:#ffffffeb}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px var(--spacing-md) 18px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#0003,#0000);position:relative}.sidebar-logo{width:56px;height:56px;border-radius:14px;object-fit:cover;background:var(--white);border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 14px #00000059;transition:width var(--transition-normal),height var(--transition-normal),border-radius var(--transition-normal)}.sidebar.collapsed .sidebar-logo{width:40px;height:40px;border-radius:10px}.sidebar-header h3{margin:10px 0 0;font-size:var(--text-sm);font-weight:700;color:var(--white);letter-spacing:.02em;text-align:center;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.35)}.sidebar-header p{margin:2px 0 0;font-size:var(--text-xs);color:#ffffffa6}.sidebar.collapsed .sidebar-header h3,.sidebar.collapsed .sidebar-header p{display:none}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-sm) 10px var(--spacing-md);display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;flex-direction:column}.menu-link,.menu-title{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:#ffffffc7;font-size:var(--text-sm);font-weight:500;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background var(--transition-fast),color var(--transition-fast)}.menu-link:hover,.menu-title:hover{background:#ffffff1a;color:var(--white)}.menu-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:18px;flex-shrink:0;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.menu-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-arrow{font-size:10px;color:#ffffff8c;transition:transform var(--transition-fast);flex-shrink:0}.menu-link.active{background:#ffffff29;color:var(--white);font-weight:600;box-shadow:inset 3px 0 0 var(--white),0 2px 8px #00000040}.menu-link.active .menu-icon{background:#ffffff2e;color:var(--white)}.submenu{max-height:0;overflow:hidden;transition:max-height var(--transition-normal);display:flex;flex-direction:column;margin-left:16px;padding-left:12px;border-left:1px solid rgba(255,255,255,.15);margin-top:2px}.submenu.open{max-height:600px;margin-bottom:6px}.submenu-link{display:block;padding:8px 12px;color:#ffffffb3;font-size:var(--text-sm);font-weight:500;text-decoration:none;border-radius:var(--radius-sm);margin-top:2px;position:relative;transition:background var(--transition-fast),color var(--transition-fast)}.submenu-link:before{content:"";position:absolute;left:-13px;top:50%;width:6px;height:6px;border-radius:50%;background:#ffffff4d;transform:translateY(-50%);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.submenu-link:hover{background:#ffffff14;color:var(--white)}.submenu-link:hover:before{background:var(--white)}.submenu-link.active{background:#ffffff24;color:var(--white);font-weight:600}.submenu-link.active:before{background:var(--white);box-shadow:0 0 0 3px #ffffff2e}.sidebar.collapsed .menu-text,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .submenu{display:none}.sidebar.collapsed .menu-link,.sidebar.collapsed .menu-title{justify-content:center;padding:10px 8px}.sidebar.collapsed .menu-icon{width:36px;height:36px;font-size:20px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width);box-shadow:8px 0 32px #00000073}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:var(--sidebar-width)}.sidebar.collapsed .menu-text,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .submenu{display:initial}.sidebar.collapsed .submenu:not(.open){display:none}.sidebar.collapsed .menu-link,.sidebar.collapsed .menu-title{justify-content:flex-start;padding:10px 12px}.sidebar.collapsed .menu-icon{width:28px;height:28px;font-size:18px}}.sidebar-overlay{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:calc(var(--z-sidebar) - 1);animation:fadeIn var(--transition-fast)}@media(min-width:769px){.sidebar-overlay{display:none}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:700;color:#1f2937}.modal-close{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-form{padding:24px}.modal-form .form-group{margin-bottom:20px}.modal-form .form-group:last-of-type{margin-bottom:24px}.modal-form label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.modal-form .password-input-wrapper{position:relative;display:flex;align-items:center}.modal-form input{width:100%;padding:12px 45px 12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .3s ease;background-color:#f9fafb}.modal-form input:focus{outline:none;border-color:var(--primary-red);background-color:#fff;box-shadow:0 0 0 3px #dc26261a}.modal-form input:disabled{opacity:.6;cursor:not-allowed;background-color:#f3f4f6}.modal-form .password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:20px;padding:4px 8px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.modal-form .password-toggle:hover{opacity:1}.modal-form .password-toggle:disabled{opacity:.3;cursor:not-allowed}.alert span{font-size:18px}.alert-error{background-color:#fee2e2;color:#dc2626;border-left:4px solid #dc2626}.alert-success{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.modal-actions .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-primary{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.modal-actions .btn:disabled{opacity:.5;cursor:not-allowed}:root{--primary-red: #dc2626;--primary-red-darker: #b91c1c}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border-color);z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);transition:left var(--transition-normal)}.header.sidebar-collapsed{left:var(--sidebar-width-collapsed)}.header-left{display:flex;align-items:center;gap:12px;min-width:0}.menu-toggle,.collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:16px;transition:all var(--transition-fast)}.menu-toggle:hover,.collapse-toggle:hover{background:var(--gray-100);color:var(--text-primary)}.menu-toggle{display:none}.header-title{font-size:var(--text-md);font-weight:700;color:var(--text-primary);letter-spacing:.02em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.notification-btn{position:relative;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-50);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:18px;transition:all var(--transition-fast)}.notification-btn:hover{background:var(--primary-red-soft);border-color:var(--primary-red-tint);color:var(--primary-red);transform:translateY(-1px)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary-red);color:var(--white);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--white);box-shadow:var(--shadow-sm);animation:scaleIn var(--transition-normal) var(--ease-out-back)}.user-menu{position:relative}.user-btn{display:inline-flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;background:var(--gray-50);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.user-btn:hover{background:var(--primary-red-soft);border-color:var(--primary-red-tint)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-dark) 100%);color:var(--white);font-size:var(--text-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);letter-spacing:.02em;flex-shrink:0}.user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.user-role{font-size:11px;color:var(--text-muted);font-weight:500;margin-top:1px}.dropdown-arrow{font-size:9px;color:var(--text-muted);margin-left:2px;transition:transform var(--transition-fast)}.user-menu:has(.user-dropdown) .dropdown-arrow{transform:rotate(180deg);color:var(--primary-red)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:6px;z-index:var(--z-dropdown);display:flex;flex-direction:column;gap:2px;animation:scaleIn var(--transition-normal) var(--ease-out-back);transform-origin:top right}.dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.dropdown-item:hover{background:var(--gray-50)}.dropdown-item.logout{color:var(--primary-red)}.dropdown-item.logout:hover{background:var(--primary-red-soft);color:var(--primary-red-hover)}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 6px;border:none}@media(max-width:768px){.header{left:0;padding:0 var(--spacing-md)}.header.sidebar-collapsed{left:0}.menu-toggle{display:inline-flex}.collapse-toggle{display:none}.header-title{font-size:var(--text-sm)}.user-info{display:none}.user-btn{padding:4px}}.main-layout{min-height:100vh;background:var(--bg-app);color:var(--text-primary);position:relative}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));padding:var(--spacing-xl);transition:margin-left var(--transition-normal);max-width:100%;position:relative}.main-content.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}.main-content>*{animation:fadeIn var(--transition-slow)}@media(max-width:1280px){.main-content{padding:var(--spacing-lg)}}@media(max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0;padding:var(--spacing-md)}}.dashboard{padding:var(--spacing-lg)}.dashboard-header{margin-bottom:var(--spacing-xl)}.dashboard-header h1{font-size:var(--text-3xl);color:var(--gray-900);margin-bottom:var(--spacing-xs)}.dashboard-header p{color:var(--gray-600);font-size:var(--text-base)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stat-icon{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--gray-100)}.stat-card.success .stat-icon{background:var(--success-light)}.stat-card.warning .stat-icon{background:var(--warning-light)}.stat-card.info .stat-icon{background:var(--info-light)}.stat-card.primary .stat-icon{background:var(--primary-red-lighter)}.stat-title{font-size:var(--text-sm);color:var(--gray-600);margin:0 0 var(--spacing-xs) 0}.stat-change{font-size:var(--text-sm);color:var(--success);font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dashboard-card.full-width{grid-column:1 / -1}.card-title{font-size:var(--text-lg);color:var(--gray-900);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--gray-500)}.empty-state p{margin:var(--spacing-sm) 0}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border-left:3px solid var(--primary-red);transition:all .3s ease}.activity-item:hover{background:var(--gray-100);border-left-color:var(--primary-orange)}.activity-icon{font-size:1.5em;flex-shrink:0;min-width:32px;text-align:center}.activity-content{flex:1}.activity-item p{margin:0 0 var(--spacing-xs) 0;color:var(--gray-700);font-weight:500}.activity-time{font-size:var(--text-sm);color:var(--gray-500)}.points-vente-section{margin-bottom:var(--spacing-xl)}.section-title{font-size:var(--text-2xl);color:var(--gray-900);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.points-vente-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg)}.point-vente-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.point-vente-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.point-vente-header{padding:var(--spacing-lg);background:linear-gradient(135deg,var(--primary-red-lighter),var(--primary-red-light));border-bottom:3px solid var(--primary-red)}.point-vente-header h3{margin:0;font-size:var(--text-lg);color:var(--gray-900);font-weight:700}.point-vente-stats{padding:var(--spacing-lg);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.pv-stat{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.pv-stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.pv-stat-icon.success{background:var(--success-light)}.pv-stat-icon.warning{background:var(--warning-light)}.pv-stat-icon.info{background:var(--info-light)}.pv-stat-icon.primary{background:var(--primary-red-lighter)}.pv-stat-content{display:flex;flex-direction:column;gap:2px;flex:1}.pv-stat-label{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;font-weight:600}.pv-stat-value{font-size:var(--text-base);font-weight:700;color:var(--gray-900)}.pv-stat-change{font-size:var(--text-xs);font-weight:600}.pv-stat-change.positive{color:var(--success)}.pv-stat-change.negative{color:var(--error)}.commandes-section{margin-bottom:var(--spacing-xl)}.commandes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg)}.commandes-point-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.commandes-header{padding:var(--spacing-lg);background:linear-gradient(135deg,var(--warning-light),#fef3cd);border-bottom:3px solid var(--warning);display:flex;justify-content:space-between;align-items:center}.commandes-header h3{margin:0;font-size:var(--text-lg);color:var(--gray-900);font-weight:700}.commandes-count{background:var(--warning);color:var(--white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700}.commandes-list{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.commande-item{padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border-left:3px solid var(--warning);transition:all var(--transition-fast)}.commande-item:hover{background:var(--white);box-shadow:var(--shadow-sm);transform:translate(4px)}.commande-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.commande-numero{font-weight:700;color:var(--primary-red);font-size:var(--text-sm)}.commande-statut{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.commande-statut.warning{background:var(--warning-light);color:var(--warning)}.commande-statut.info{background:var(--info-light);color:var(--info)}.commande-statut.success{background:var(--success-light);color:var(--success)}.commande-info{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.commande-client{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--gray-700)}.commande-client .icon{font-size:14px}.commande-details{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--gray-600)}.commande-montant{font-weight:700;color:var(--primary-red)}.commande-date{font-size:var(--text-xs);color:var(--gray-500);text-align:right}@media(max-width:768px){.stats-grid,.dashboard-grid,.points-vente-grid,.point-vente-stats,.commandes-grid{grid-template-columns:1fr}}.pv-stat-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;border-radius:8px;background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;padding:12px}.pv-stat-clickable .pv-stat-label,.pv-stat-clickable .pv-stat-value,.pv-stat-clickable .pv-stat-change{color:#fff!important}.pv-stat-clickable .pv-stat-icon{background:#ffffff2e;color:#fff}.pv-stat-clickable:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 4px 14px #5c0a0a59}.pv-stat-clickable:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.caisse-modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.caisse-modal{background:#fff;width:100%;max-width:980px;max-height:92vh;border-radius:16px;box-shadow:0 25px 60px #00000059;display:flex;flex-direction:column;overflow:hidden}.caisse-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff}.caisse-modal-header h2{margin:0;font-size:1.25rem;color:#fff}.caisse-modal-subtitle{margin:4px 0 0;font-size:.95rem;color:#fff;font-weight:600;letter-spacing:.3px}.caisse-modal-close{background:#fff3;border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1rem;cursor:pointer;transition:background .15s}.caisse-modal-close:hover{background:#ffffff59}.caisse-modal-toolbar{padding:14px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.caisse-modal-toolbar label{display:inline-flex;flex-direction:column;gap:4px;font-size:.85rem;color:#374151;font-weight:500}.caisse-modal-toolbar input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.caisse-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;border-bottom:1px solid #e5e7eb;padding-bottom:10px}.caisse-tab{padding:8px 14px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:500;color:#374151;transition:all .15s}.caisse-tab:hover{background:#f3f4f6}.caisse-tab.active{background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;border-color:#5c0a0a;box-shadow:0 2px 6px #5c0a0a59}.caisse-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.caisse-filters input[type=number],.caisse-filters select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;min-width:130px}.caisse-apply-btn{padding:9px 18px;background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:filter .15s}.caisse-apply-btn:hover{filter:brightness(1.08)}.caisse-period-banner{padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;margin-bottom:16px;font-size:.95rem}.caisse-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.caisse-modal-loading,.caisse-modal-empty{text-align:center;padding:40px 0;color:#6b7280}.caisse-modal-error{background:#fef2f2;color:#b91c1c;padding:12px 16px;border-radius:8px;border:1px solid #fecaca}.caisse-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.caisse-summary-card{padding:16px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;gap:6px}.caisse-summary-card .cs-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.caisse-summary-card .cs-value{font-size:1.2rem;font-weight:700;color:#111827}.caisse-summary-card.neutral{background:#f9fafb}.caisse-summary-card.success{background:#f0fdf4;border-color:#bbf7d0}.caisse-summary-card.success .cs-value{color:#15803d}.caisse-summary-card.danger{background:#fef2f2;border-color:#fecaca}.caisse-summary-card.danger .cs-value{color:#b91c1c}.caisse-summary-card.primary{background:#eff6ff;border-color:#bfdbfe}.caisse-summary-card.primary .cs-value{color:#1d4ed8}.caisse-balance-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:14px 18px;border-radius:12px;margin-bottom:24px}.caisse-balance-bar strong{font-size:1.1rem}.caisse-section{margin-bottom:24px}.caisse-section h3{margin:0 0 12px;font-size:1rem;color:#111827}.caisse-empty-line{color:#6b7280;font-style:italic;margin:0;padding:12px;background:#f9fafb;border-radius:8px}.caisse-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.caisse-table{width:100%;border-collapse:collapse;font-size:.9rem}.caisse-table th,.caisse-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f3f4f6}.caisse-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.8rem;text-transform:uppercase;letter-spacing:.4px}.caisse-table tbody tr:hover{background:#fafafa}.caisse-table .ta-right{text-align:right;font-variant-numeric:tabular-nums}.caisse-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#e5e7eb;color:#374151}.caisse-badge-approved,.caisse-badge-paid{background:#dcfce7;color:#15803d}.caisse-badge-pending{background:#fef3c7;color:#92400e}.caisse-badge-rejected{background:#fee2e2;color:#b91c1c}.caisse-modal-footer{padding:14px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end}.caisse-modal-footer .btn-secondary{padding:9px 18px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;color:#374151;transition:background .15s}.caisse-modal-footer .btn-secondary:hover{background:#f3f4f6}@media(max-width:640px){.caisse-modal-header{flex-direction:column;gap:12px}.caisse-modal-body{padding:14px}.caisse-summary-grid{grid-template-columns:1fr 1fr}}.pv-section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid #f1f5f9}.pv-section-title{margin:0;font-size:1.4rem;color:#0f172a;font-weight:700}.pv-section-sub{margin:4px 0 0;color:#64748b;font-size:.9rem}.pv-section-count{background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.85rem;letter-spacing:.3px;box-shadow:0 2px 8px #5c0a0a40}.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}.pv-card{position:relative;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pv-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#5c0a0a,#7f1515 55%,#5c0a0a)}.pv-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #5c0a0a1f;border-color:#fecaca}.pv-card-top{display:flex;align-items:flex-start;gap:12px}.pv-avatar{width:48px;height:48px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;box-shadow:0 4px 10px #5c0a0a40}.pv-card-info{flex:1;min-width:0}.pv-card-name{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-card-meta{display:flex;flex-direction:column;gap:2px;margin-top:4px}.pv-meta-item{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-status{padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}.pv-status-active{background:#dcfce7;color:#15803d}.pv-status-created{background:#fef3c7;color:#92400e}.pv-status-suspended,.pv-status-deactivated,.pv-status-inactive{background:#fee2e2;color:#b91c1c}.pv-balance-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:14px;background:linear-gradient(135deg,#5c0a0a,#7f1515 55%,#5c0a0a);color:#fff;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 12px #5c0a0a40}.pv-balance-cta:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 18px #5c0a0a59}.pv-balance-cta:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.pv-balance-left{display:flex;align-items:center;gap:12px;min-width:0}.pv-balance-icon{width:40px;height:40px;border-radius:10px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.pv-balance-text{display:flex;flex-direction:column;min-width:0}.pv-balance-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:#ffffffd9;font-weight:600}.pv-balance-value{font-size:1.15rem;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-balance-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.pv-balance-change{background:#ffffff2e;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff}.pv-balance-arrow{font-size:1.2rem;font-weight:700;color:#fff;transition:transform .15s ease}.pv-balance-cta:hover .pv-balance-arrow{transform:translate(3px)}.pv-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pv-mini{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.pv-mini-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.pv-mini-warning .pv-mini-icon{background:#fef3c7}.pv-mini-info .pv-mini-icon{background:#dbeafe}.pv-mini-primary .pv-mini-icon{background:#fee2e2}.pv-mini-text{display:flex;flex-direction:column;min-width:0}.pv-mini-label{font-size:.68rem;color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.pv-mini-value{font-size:.95rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.pv-mini-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.pv-mini-clickable:hover{transform:translateY(-2px);background:#fff;border-color:#7f1515;box-shadow:0 4px 12px #5c0a0a26}.pv-mini-clickable:focus-visible{outline:2px solid #7F1515;outline-offset:2px}.pv-type-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.pv-type-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-weight:700}.pv-type-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:700;background:#e2e8f0;color:#334155;letter-spacing:.2px}.pv-type-central{background:#ede9fe;color:#6d28d9}.pv-type-regional{background:#dbeafe;color:#1d4ed8}.pv-type-internal{background:#dcfce7;color:#15803d}.pv-type-external{background:#fef3c7;color:#92400e}.pv-type-unknown{background:#f1f5f9;color:#64748b;font-style:italic}@media(max-width:640px){.pv-grid{grid-template-columns:1fr}.pv-mini-grid{grid-template-columns:1fr 1fr}}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.75rem;z-index:9999;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}.toast-error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}.toast-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}.toast-info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{flex:1;font-weight:500}.toast-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1;transition:opacity .2s}.toast-close:hover{opacity:1}.providers-container{padding:2rem;max-width:100%;margin:0 auto;background:#f9fafb;min-height:100vh}.page-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;position:sticky;top:70px;z-index:90}.header-actions{display:flex;gap:1rem;align-items:center}.view-toggle{display:flex;gap:.5rem;background:#f3f4f6;padding:.25rem;border-radius:10px}.toggle-btn{padding:.625rem 1.25rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;color:#6b7280;transition:all .3s ease}.toggle-btn:hover{color:#2563eb}.toggle-btn.active{background:#fff;color:#2563eb;box-shadow:0 2px 4px #0000001a}.btn-primary{padding:.875rem 1.75rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 12px #2563eb4d}.filters-section{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem}.search-input{flex:1;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-select{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;cursor:pointer;min-width:200px;transition:all .3s ease}.filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.providers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.provider-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.provider-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2563eb,#7c3aed)}.provider-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #0000001f}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.provider-avatar{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#1e40af}.provider-info h3{margin:0 0 .25rem;font-size:1.125rem;color:#1f2937}.provider-category{margin:0;color:#6b7280;font-size:.875rem}.card-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.info-row .balance{color:#059669;font-size:1rem}.info-row .address{color:#1f2937;font-size:.8125rem;line-height:1.4;text-align:right;display:flex;flex-direction:column;align-items:flex-end}.info-row .address div{margin-bottom:.125rem}.status-badge{padding:.375rem .875rem;border-radius:24px;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:.375rem}.status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.card-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-view:hover{border-color:#3b82f6;background:#eff6ff}.btn-address:hover{border-color:#10b981;background:#ecfdf5}.btn-invoice:hover{border-color:#8b5cf6;background:#f5f3ff}.btn-delete:hover{border-color:#ef4444;background:#fef2f2}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.providers-table{width:100%;border-collapse:collapse}.providers-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.providers-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;text-transform:uppercase;letter-spacing:.05em}.providers-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.providers-table tbody tr:hover{background:#f9fafb}.providers-table td{padding:1rem 1.5rem;color:#1f2937;font-size:.9375rem}.provider-cell{display:flex;align-items:center;gap:1rem}.provider-avatar-small{width:45px;height:45px;border-radius:10px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#1e40af}.provider-name{font-weight:600;color:#1f2937}.provider-id{font-size:.8125rem;color:#9ca3af}.contact-info div{font-size:.875rem;color:#6b7280}.address-info{font-size:.8125rem;color:#6b7280;line-height:1.4}.address-info div{margin-bottom:.25rem}.balance-cell{font-weight:700;color:#059669}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#fff;border-radius:12px;padding:3rem;text-align:center}.empty-state p{margin:0 0 2rem;color:#6b7280;max-width:400px}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d}.modal-content h3{margin:0 0 1rem;font-size:1.5rem;color:#1f2937}.modal-content p{margin:0 0 1rem;color:#6b7280}.modal-note{font-size:.875rem;color:#9ca3af;font-style:italic}.add-provider-container{padding:2rem;max-width:1200px;margin:0 auto;background:#f9fafb;min-height:100vh}.header-content h1{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{margin:0;color:#6b7280;font-size:.9375rem;text-align:center}.provider-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.section-header h2{margin:0;font-size:1.5rem;color:#1f2937;display:flex;align-items:center;gap:.5rem}.toggle-switch{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:50px;height:26px;background:#e5e7eb;border-radius:26px;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.toggle-label{font-size:.9375rem;font-weight:600;color:#374151}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.form-group label{font-size:.9375rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.25rem}.required{color:#ef4444;font-weight:700}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number],.form-group select{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .3s ease;background:#fff;color:#000!important}.form-group input:disabled,.form-group select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.field-hint{font-size:.8125rem;color:#9ca3af;font-style:italic}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.checkbox-label span{font-size:.9375rem;font-weight:600;color:#374151}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.btn-cancel{padding:.875rem 2rem;border:2px solid #e5e7eb;background:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6b7280}.btn-cancel:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{padding:.875rem 2rem;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2563eb4d;display:flex;align-items:center;gap:.5rem}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.add-provider-container{padding:1rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;justify-content:center}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.modifier-fournisseur{padding:2rem;max-width:900px;margin:0 auto}.page-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #667eea33}.header-content{text-align:center;color:#fff}.btn-back{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;margin-bottom:.75rem}.btn-back:hover{background:#ffffff4d;transform:translate(-4px)}.header-content h1{font-size:1.5rem;margin:.5rem 0 .25rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.header-content h1 span{font-size:1.75rem}.header-content p{font-size:.875rem;opacity:.9;margin:0}.form-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.provider-form{max-width:100%;margin:0 auto}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{font-size:1.25rem;color:#1f2937;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.9375rem}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email],.form-group input[type=number],.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .3s ease;background:#f9fafb;color:#000!important}.form-group select option{color:#000!important;background:#fff;padding:.5rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.help-text{display:block;font-size:.8125rem;color:#6b7280;margin-top:.375rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.toggle-label{display:flex;align-items:center;gap:1rem;cursor:pointer;position:relative}.toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{width:52px;height:28px;background:#d1d5db;border-radius:28px;position:relative;transition:all .3s ease;flex-shrink:0}.toggle-slider:before{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-label input:checked+.toggle-slider{background:linear-gradient(135deg,#10b981,#059669)}.toggle-label input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-text{font-size:.9375rem;font-weight:600;color:#374151}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2.5rem;padding-top:2rem;border-top:1px solid #e5e7eb}.btn-cancel,.btn-submit{padding:.875rem 2rem;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover:not(:disabled){background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:#6b7280;font-size:1rem}.addresses-container{padding:2rem;max-width:1400px;margin:0 auto;background:#f9fafb;min-height:100vh}.page-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.back-btn{background:transparent;border:none;color:#6b7280;font-size:.9375rem;cursor:pointer;padding:.5rem 0;margin-bottom:.5rem;transition:color .3s ease}.back-btn:hover{color:#2563eb}.header-content h1{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-content h1 span{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.header-content p{margin:0;color:#6b7280;font-size:.9375rem}.addresses-list{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.addresses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.address-card{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .3s ease}.address-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a}.default-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.address-street{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.address-street2{font-size:.9375rem;color:#6b7280;margin:0 0 1rem}.address-location{font-size:.875rem;color:#6b7280;display:flex;flex-wrap:wrap;gap:.25rem}.address-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #f3f4f6}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:3rem}.empty-state h3{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem}.empty-state p{margin:0 0 2rem;color:#6b7280}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}.form-modal{max-width:800px}.modal-content h3{margin:0 0 1.5rem;font-size:1.5rem;color:#1f2937}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.form-group label{font-size:.9375rem;font-weight:600;color:#374151}.required{color:#ef4444}.form-group input,.form-group select{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group select:disabled{background:#f3f4f6;cursor:not-allowed}.checkbox-group{display:flex;align-items:center;padding-top:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.btn-primary{padding:.875rem 1.75rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2563eb4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.btn-secondary{flex:1;padding:.875rem;border:2px solid #e5e7eb;background:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{border-color:#2563eb;color:#2563eb}.btn-submit{flex:1;padding:.875rem;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.btn-danger{flex:1;padding:.875rem;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn-icon{width:40px;height:40px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:1.125rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{transform:scale(1.1)}.btn-edit:hover{border-color:#f59e0b;background:#fffbeb}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:50px;height:50px;border:4px solid #f3f4f6;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.custom-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .2s ease-out}.custom-dialog-box{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:500px;width:90%;box-shadow:var(--shadow-xl);text-align:center;animation:slideUp .3s ease-out}.dialog-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto var(--spacing-lg)}.dialog-icon.success{background:var(--success-light)}.dialog-icon.error{background:var(--error-light)}.dialog-icon.warning{background:var(--warning-light)}.dialog-icon.question{background:var(--info-light)}.dialog-icon.info{background:var(--gray-200)}.dialog-title{font-size:var(--text-xl);color:var(--gray-900);margin:0 0 var(--spacing-md) 0;font-weight:700}.dialog-message{font-size:var(--text-base);color:var(--gray-700);margin:0 0 var(--spacing-xl) 0;line-height:1.6}.dialog-actions{display:flex;gap:var(--spacing-md);justify-content:center}.dialog-btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-width:120px}.btn-confirm{color:var(--white)}.btn-confirm.success{background:var(--success)}.btn-confirm.success:hover{background:#1b5e20}.btn-confirm.error{background:var(--error)}.btn-confirm.error:hover{background:#c62828}.btn-confirm.warning{background:var(--warning)}.btn-confirm.warning:hover{background:#f57c00}.btn-confirm.question,.btn-confirm.info{background:var(--primary-red)}.btn-confirm.question:hover,.btn-confirm.info:hover{background:var(--primary-red-darker)}.dialog-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.custom-dialog-form{max-width:600px;text-align:left;padding:var(--spacing-xl)}.custom-dialog-form .dialog-title{text-align:center;border-bottom:2px solid var(--border-color, #e0e0e0);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-xl)}.dialog-content{max-height:70vh;overflow-y:auto;padding:0 var(--spacing-sm)}.dialog-content .form-group{margin-bottom:var(--spacing-lg)}.dialog-content .form-group label{display:block;font-weight:600;color:var(--text-primary, #333);margin-bottom:var(--spacing-sm);font-size:.95rem}.dialog-content .form-group input,.dialog-content .form-group select,.dialog-content .form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #ddd);border-radius:var(--border-radius, 4px);font-size:1rem;transition:border-color .3s ease}.dialog-content .form-group input:focus,.dialog-content .form-group select:focus,.dialog-content .form-group textarea:focus{outline:none;border-color:var(--primary-red, #8B1A1A);box-shadow:0 0 0 3px #8b1a1a1a}.dialog-content .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color, #e0e0e0)}.dialog-content .modal-actions .btn{padding:.75rem 1.5rem;border-radius:var(--border-radius, 4px);font-weight:500;cursor:pointer;transition:all .3s ease;border:none;font-size:.95rem}.dialog-content .modal-actions .btn-outline{background:#fff;color:var(--text-primary, #333);border:1px solid var(--border-color, #ddd)}.dialog-content .modal-actions .btn-outline:hover{background:var(--background-light, #f5f5f5)}.dialog-content .modal-actions .btn-primary{background:var(--primary-red, #8B1A1A);color:#fff}.dialog-content .modal-actions .btn-primary:hover{opacity:.9}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.breadcrumb a{color:var(--primary-red);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.provider-meta{display:flex;align-items:center;gap:1rem;margin-top:.5rem;font-size:.9rem;color:var(--text-secondary)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-header h3{margin:0;color:var(--primary-red)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.info-item p{margin:0;color:var(--text-primary);font-size:1rem}.balance-display{text-align:center;padding:2rem}.balance-display h2{font-size:3rem;margin:0 0 .5rem;font-weight:700}.balance-display h2.positive{color:var(--success-color)}.balance-display h2.negative{color:var(--danger-color)}.balance-display p{color:var(--text-secondary);font-size:.9rem}.positive{color:var(--success-color);font-weight:600}.negative{color:var(--danger-color);font-weight:600}.addresses-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.address-card{padding:1.5rem;background:var(--background-light);border:1px solid var(--border-color);border-radius:var(--border-radius);position:relative}.address-card .badge{position:absolute;top:1rem;right:1rem}.address-card p{margin:.5rem 0;color:var(--text-primary)}.address-card .btn{margin-top:1rem}.address-actions{display:flex;gap:.5rem;margin-top:1rem}.address-actions .btn.danger{background:var(--danger-color);color:#fff}.address-actions .btn.danger:hover{background:#d32f2f}.performance-content{display:flex;flex-direction:column;gap:2rem}.quality-section{background:var(--background-light);padding:1.5rem;border-radius:var(--border-radius)}.quality-section h4{margin:0 0 1rem;color:var(--text-primary)}.quality-bar{height:20px;background:var(--border-color);border-radius:10px;overflow:hidden}.quality-fill{height:100%;border-radius:10px;transition:width .5s ease}.quality-value{text-align:center;margin-top:.5rem;font-weight:600;font-size:1.25rem}.monthly-stats h4{margin:0 0 1rem;color:var(--text-primary)}.balance{font-weight:600;padding:.25rem .5rem;border-radius:4px}.balance.positive{color:var(--success-color);background:#4caf501a}.balance.negative{color:var(--danger-color);background:#f443361a}@media(max-width:768px){.tabs{gap:.25rem}.tab{padding:.5rem 1rem;font-size:.85rem}.info-grid,.addresses-list{grid-template-columns:1fr}.balance-display h2{font-size:2rem}}.invoice-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-light);border-radius:var(--border-radius)}.detail-row.full{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-row .label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.detail-row .value{color:var(--text-primary);font-size:1rem}.detail-row .value.amount{font-size:1.5rem;font-weight:700;color:var(--primary-red)}.detail-row .notes{margin:0;padding:.5rem;background:#fff;border:1px solid var(--border-color);border-radius:4px;width:100%;color:var(--text-primary)}.table-link{color:var(--primary-red);text-decoration:none;font-weight:500}.btn-danger{background:var(--danger-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:.95rem;font-weight:500;transition:opacity .3s ease}.btn-danger:hover{opacity:.9}.badge.secondary{background:var(--text-secondary);color:#fff}.procurement-details{background:var(--background-light);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;margin:1rem 0}.procurement-details h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.items-table{width:100%;border-collapse:collapse;font-size:.9rem}.items-table thead{background:#fff;border-bottom:2px solid var(--border-color)}.items-table th,.items-table td{padding:.5rem;text-align:left}.items-table tfoot{border-top:2px solid var(--border-color);background:#fff}.items-table tfoot td{padding:.75rem .5rem;font-weight:600;color:var(--primary-red)}.procurement-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem;background:var(--background-light);border-radius:var(--border-radius);margin:1rem 0}.procurement-loading .spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-red);border-radius:50%;animation:spin 1s linear infinite}.procurement-loading p{margin:0;color:var(--text-secondary);font-size:.95rem}.empty-items{padding:2rem;text-align:center;color:var(--text-secondary);background:#fff;border-radius:8px}.empty-items p{margin:0;font-size:.95rem}.procurement-items-section{background:var(--background-light);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin:1rem 0}.procurement-items-section h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem;font-weight:600}.add-item-form{background:#fff;padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.form-row{display:flex;gap:1rem;align-items:flex-end}.form-row .form-group{flex:1;margin:0}.form-row .form-group.flex-2{flex:2}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.items-list{margin-top:1rem}.items-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border-radius:var(--border-radius);overflow:hidden}.items-table thead{background:var(--background-light);border-bottom:2px solid var(--border-color)}.items-table th,.items-table td{padding:.75rem;text-align:left}.items-table th{font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase}.items-table tbody tr{border-bottom:1px solid var(--border-color)}.items-table tbody tr:last-child{border-bottom:none}.items-table tbody tr:hover{background:var(--background-light)}.items-table tbody td{color:var(--text-primary)}.items-table tbody td small{color:var(--text-secondary);font-size:.85rem}.items-table tfoot{border-top:2px solid var(--border-color);background:var(--background-light);font-weight:600}.items-table tfoot td{padding:1rem .75rem;color:var(--primary-red);font-size:1.1rem}.items-table th:nth-child(2),.items-table td:nth-child(2){text-align:center;width:80px}.items-table th:nth-child(3),.items-table td:nth-child(3),.items-table th:nth-child(4),.items-table td:nth-child(4){text-align:right;width:120px}.items-table th:nth-child(5),.items-table td:nth-child(5){width:60px;text-align:center}.procurement-details-view{display:flex;flex-direction:column;gap:1rem}.procurement-details-view .detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-light);border-radius:var(--border-radius)}.procurement-details-view .detail-row.full{flex-direction:column;align-items:flex-start;gap:.5rem}.procurement-details-view .label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.procurement-details-view .value{color:var(--text-primary);font-size:1rem}.procurement-details-view .notes{margin:0;padding:.5rem;background:#fff;border:1px solid var(--border-color);border-radius:4px;width:100%;color:var(--text-primary)}.items-title{margin:1.5rem 0 1rem;color:var(--text-primary);font-size:1rem;font-weight:600}.btn-success{background:var(--success-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:.95rem;font-weight:500;transition:opacity .3s ease}.btn-success:hover{opacity:.9}.btn-success:disabled{opacity:.5;cursor:not-allowed}.modal-actions .btn-success{margin-left:auto}.btn-icon.success{color:var(--success-color)}.btn-icon.success:hover{background:var(--success-color);color:#fff}.tabs-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:0}.tab-btn{padding:.65rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.tab-btn:hover{color:var(--primary-red)}.tab-btn.active{color:var(--primary-red);border-bottom-color:var(--primary-red);font-weight:600}.summary-tab-container{display:flex;flex-direction:column;gap:1.5rem}.summary-selector{padding:1.5rem}.summary-selector h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.summary-form-row{display:flex;gap:1rem;align-items:center}.summary-form-row .filter-select{flex:1}.pos-summary-content{display:flex;flex-direction:column;gap:1.5rem}.modal-subtitle{color:var(--text-secondary);font-size:.95rem;margin:-.5rem 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.btn-secondary{background:var(--background-light);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-size:.95rem;font-weight:500;transition:background .2s ease}.btn-secondary:hover{background:var(--border-color)}.tabs{display:flex;gap:.5rem;margin:1.5rem 0;border-bottom:2px solid var(--border-color);overflow-x:auto}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:500;white-space:nowrap;transition:all .3s ease}.tab:hover{color:var(--primary-red);background:var(--background-light)}.tab.active{color:var(--primary-red);border-bottom-color:var(--primary-red)}.tab-content{animation:fadeIn .3s ease}.alert{padding:1rem 1.5rem;border-radius:var(--border-radius);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.report-summary{display:flex;justify-content:space-around;padding:1.5rem;background:var(--background-light);border-radius:var(--border-radius);margin-top:1.5rem;gap:2rem}.summary-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.summary-item .label{font-size:.9rem;color:var(--text-secondary);text-align:center}.summary-item .value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.summary-item .value.success{color:var(--success-color)}.summary-item .value.danger{color:var(--danger-color)}.rank{font-size:1.2rem;font-weight:700}.progress-bar{position:relative;width:150px;height:24px;background:var(--background-light);border-radius:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success-color),var(--primary-red));transition:width .3s ease}.progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85rem;font-weight:600;color:var(--text-primary)}.aging-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.aging-card{padding:1.5rem;background:var(--background-light);border:2px solid var(--border-color);border-radius:var(--border-radius);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.aging-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #0000001a}.aging-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.aging-value{font-size:1.8rem;font-weight:700;margin:.5rem 0}.aging-value.success{color:var(--success-color)}.aging-value.warning{color:#ff9800}.aging-value.danger{color:var(--danger-color)}.aging-count{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.danger{color:var(--danger-color);font-weight:600}.success{color:var(--success-color);font-weight:600}.empty-state.success{color:var(--success-color)}.empty-state .empty-icon.success{font-size:4rem}@media(max-width:768px){.tabs{gap:.25rem}.tab{padding:.5rem 1rem;font-size:.85rem}.report-summary{flex-direction:column;gap:1rem}.summary-item .value{font-size:1.2rem}.aging-summary{grid-template-columns:1fr}.progress-bar{width:100%}}.cdocs-modal{max-width:980px;width:95%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.cdocs-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--gray-200, #e5e7eb);background:linear-gradient(135deg,#fef2f2,#fff)}.cdocs-title{margin:0 0 4px;font-size:1.25rem;color:var(--gray-900, #111827)}.cdocs-subtitle{margin:0;font-size:.9rem;color:var(--gray-600, #4b5563)}.cdocs-close{width:36px;height:36px;border:none;background:var(--gray-100, #f3f4f6);border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.cdocs-close:hover{background:#fee2e2;color:#b91c1c}.cdocs-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.cdocs-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:var(--gray-600, #4b5563)}.cdocs-error{padding:12px 16px;background:#fee2e2;color:#991b1b;border-radius:8px;margin-bottom:16px}.cdocs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.cdocs-card{border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;background:var(--white, #fff);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.cdocs-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.cdocs-card-empty{opacity:.6}.cdocs-card-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--gray-50, #f9fafb);border-bottom:1px solid var(--gray-200, #e5e7eb)}.cdocs-icon{font-size:1.2rem}.cdocs-label{font-weight:600;font-size:.9rem;color:var(--gray-800, #1f2937)}.cdocs-card-body{position:relative;aspect-ratio:4 / 3;background:var(--gray-100, #f3f4f6)}.cdocs-thumb-btn{padding:0;border:none;background:transparent;width:100%;height:100%;cursor:zoom-in;display:block}.cdocs-thumb{width:100%;height:100%;object-fit:cover;display:block}.cdocs-thumb-fallback,.cdocs-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--gray-500, #6b7280);font-size:.9rem}.cdocs-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--gray-200, #e5e7eb);flex-shrink:0}.cdocs-lightbox{position:fixed;inset:0;background:#000000eb;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.cdocs-lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 40px #00000080}.cdocs-lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:none;background:#ffffff26;color:#fff;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.cdocs-lightbox-close:hover{background:#ffffff4d}@media(max-width:640px){.cdocs-grid{grid-template-columns:1fr 1fr}.cdocs-header,.cdocs-body{padding:16px}}.form{max-width:900px}.form-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--gray-200)}.form-section:last-of-type{border-bottom:none}.section-title{font-size:var(--text-xl);color:var(--gray-900);margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-red)}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-lg)}.file-upload{border:2px dashed var(--gray-300);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.file-upload:hover{border-color:var(--primary-red);background:var(--gray-50)}.file-upload input[type=file]{display:none}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-error{background:var(--error-light);color:var(--error)}.badge-info{background:var(--info-light);color:var(--info)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;justify-content:center}}.loading-text{text-align:center;padding:40px 20px;color:var(--gray-600);font-size:1rem}.validation-list{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.validation-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:var(--white)}.validation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.client-info{display:flex;gap:var(--spacing-lg)}.client-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--gray-200)}.client-info h3{margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.client-info p{margin:var(--spacing-xs) 0;color:var(--gray-600);font-size:var(--text-sm)}.validation-documents{margin-bottom:var(--spacing-lg)}.validation-documents h4{margin-bottom:var(--spacing-md);color:var(--gray-700)}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.document-item{text-align:center;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.document-item span{font-size:32px;display:block;margin-bottom:var(--spacing-sm)}.document-item p{margin:0;font-size:var(--text-sm);color:var(--gray-700)}.validation-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.recap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.recap-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-lg);transition:transform var(--transition-fast)}.recap-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.recap-card.total{grid-column:span 2;background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white)}.recap-icon{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius-lg)}.recap-card.total .recap-icon{background:#fff3}.recap-content{flex:1;display:flex;flex-direction:column}.recap-label{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--spacing-xs)}.recap-card.total .recap-label{color:#ffffffe6}.recap-value{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900)}.recap-card.total .recap-value{color:var(--white)}.recap-info{font-size:var(--text-sm);color:#fffc;margin-top:var(--spacing-xs)}.stats-mini{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.stat-mini-card{background:var(--white);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:200px}.stat-mini-label{font-size:var(--text-sm);color:var(--gray-600)}.stat-mini-value{font-size:var(--text-xl);font-weight:700;color:var(--primary-red)}@media(max-width:768px){.recap-card.total{grid-column:span 1}.document-grid{grid-template-columns:repeat(2,1fr)}.validation-actions{flex-direction:column}.validation-actions .btn{width:100%}}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.client-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.client-card:hover{box-shadow:0 10px 30px #0000001a;border-color:var(--primary)}.card-header{padding:var(--spacing-lg);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.card-header h3{margin:0;font-size:var(--text-lg);flex:1}.card-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.card-body{padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--gray-100)}.info-row:last-child{border-bottom:none}.info-row label{font-weight:600;color:var(--gray-700);font-size:var(--text-sm)}.info-row span{color:var(--gray-900);font-size:var(--text-sm)}.info-row .balance{font-weight:700;color:#10b981;font-size:var(--text-md)}.name-cell,.name-info{display:flex;align-items:center;gap:var(--spacing-md)}.client-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm)}.client-name{font-weight:600;color:var(--gray-900)}.balance-cell{display:flex;align-items:center;gap:var(--spacing-xs);justify-content:flex-end}.balance-value{font-weight:700;color:#10b981;font-size:var(--text-md)}.balance-currency{color:var(--gray-600);font-size:var(--text-sm)}.status-badge,.type-badge{padding:4px 12px;border-radius:20px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.status-badge{background-color:#e0f2fe;color:#0369a1}.type-badge{background-color:#f3e8ff;color:#7c3aed}.view-toggle{display:flex;gap:var(--spacing-xs);background:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.view-btn{padding:6px 12px;border:none;background:transparent;cursor:pointer;border-radius:4px;font-size:var(--text-lg);transition:all .2s ease;color:var(--gray-600)}.view-btn:hover{color:var(--gray-900);background:var(--gray-200)}.view-btn.active{background:#fff;color:var(--primary);box-shadow:0 2px 4px #0000001a}.header-stats{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.stat-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--gray-200);display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:150px}.stat-label{color:var(--gray-600);font-size:var(--text-sm);font-weight:500}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--primary)}@media(max-width:768px){.clients-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start}.card-badges{width:100%;justify-content:flex-start}.page-header{flex-direction:column}.header-stats{flex-direction:row;flex-wrap:wrap;margin-top:var(--spacing-md)}.stat-card{flex:1;min-width:120px}}.approvals-section{margin-bottom:var(--spacing-xl);border-left:4px solid #F59E0B}.approvals-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.approvals-header h2{margin:0;color:var(--gray-900);font-size:var(--text-xl)}.approvals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.approval-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:linear-gradient(135deg,#fef9e7,#fef3c7);border:1px solid #F59E0B;border-radius:var(--radius-lg);transition:all .3s ease}.approval-item:hover{box-shadow:0 8px 20px #f59e0b33;transform:translateY(-2px)}.approval-info{display:flex;gap:var(--spacing-lg);flex:1;align-items:flex-start}.approval-photo{width:60px;height:60px;position:relative;flex-shrink:0}.approval-photo .client-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--gray-200)}.approval-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg);flex-shrink:0}.client-photo-wrapper{width:40px;height:40px;position:relative}.client-photo-small{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--gray-200)}.client-avatar-small{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.client-photo-table{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--gray-200);margin-right:12px}.client-header-info{display:flex;align-items:center;gap:12px}.card-header-centered{display:flex;flex-direction:column;align-items:center;padding:24px 16px 16px;border-bottom:1px solid var(--gray-200);background:linear-gradient(to bottom,var(--gray-50) 0%,var(--white) 100%)}.client-photo-wrapper-large{width:80px;height:80px;position:relative;margin-bottom:12px}.client-photo-large{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--gray-300);box-shadow:0 2px 8px #0000001a}.client-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;border:3px solid var(--gray-300);box-shadow:0 2px 8px #0000001a}.client-full-name{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--gray-900);text-align:center}.card-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.documents-grid-simple{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.document-card-simple{border:1px solid var(--gray-200);border-radius:8px;overflow:hidden;background:var(--white)}.document-preview-simple{width:100%;height:180px;position:relative;overflow:hidden}.preview-image-simple{width:100%;height:100%;object-fit:cover}.document-missing-simple{width:100%;height:180px;display:flex;align-items:center;justify-content:center;background:var(--gray-50)}.document-missing-simple .missing-text{margin:0;color:var(--gray-500);font-size:14px}.image-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-500)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:var(--gray-600);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-item p{margin:0;color:var(--gray-900);font-size:14px}.section{margin-bottom:24px}.section h3{margin:0 0 16px;color:var(--gray-800);font-size:16px;font-weight:700;border-bottom:2px solid var(--gray-200);padding-bottom:8px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--gray-200)}.btn-cancel,.btn-success,.btn-danger{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:var(--gray-100);color:var(--gray-700)}.btn-cancel:hover{background:var(--gray-200)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-success:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.approval-details{flex:1}.approval-details h4{margin:0 0 var(--spacing-xs) 0;color:var(--gray-900);font-weight:700}.approval-meta{display:flex;gap:var(--spacing-lg);margin:var(--spacing-xs) 0;font-size:var(--text-sm);color:var(--gray-600)}.approval-meta span{display:flex;align-items:center;gap:4px}.approval-type{margin:var(--spacing-sm) 0 0 0;font-size:var(--text-sm);color:var(--gray-700)}.approval-actions{display:flex;gap:var(--spacing-md);flex-shrink:0}.approval-actions .btn{padding:8px 16px;font-size:var(--text-sm);white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header h2{margin:0;font-size:var(--text-xl)}.modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);transition:all .2s ease}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:var(--spacing-xl)}.modal-subtitle{margin:0 0 var(--spacing-lg) 0;color:var(--gray-700);font-size:var(--text-md)}.activation-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:600;color:var(--gray-900);font-size:var(--text-sm)}.form-input{padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background:var(--gray-100);cursor:not-allowed}.form-group small{color:var(--gray-600);font-size:var(--text-xs)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.form-actions .btn{flex:1}.btn{padding:10px 16px;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;gap:6px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-secondary{background:var(--gray-200);color:var(--gray-900)}.btn-secondary:hover:not(:disabled){background:var(--gray-300)}.btn-success{background:#10b981;color:#fff;padding:8px 12px}.btn-danger{background:#ef4444;color:#fff;padding:8px 12px}.btn-danger:hover:not(:disabled){background:#dc2626}.error-message{padding:var(--spacing-md);background:#fee2e2;border:1px solid #FCA5A5;border-radius:var(--radius-md);color:#dc2626;font-size:var(--text-sm);margin-bottom:var(--spacing-md)}@media(max-width:768px){.approval-item{flex-direction:column;align-items:flex-start}.approval-actions{width:100%;margin-top:var(--spacing-md)}.approval-actions .btn{flex:1}.modal-content{width:95%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.page-filters{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md)}.page-filters .search-input{flex:1;min-width:240px;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background-color:var(--white);color:var(--gray-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.page-filters .search-input::placeholder{color:var(--gray-500)}.page-filters .search-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.page-filters .filter-select{padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background-color:var(--white);color:var(--gray-900);cursor:pointer;min-width:180px;transition:border-color var(--transition-fast)}.page-filters .filter-select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.page-filters .view-toggle{display:flex;gap:4px;border:1px solid var(--gray-300);border-radius:var(--radius-md);overflow:hidden;background:var(--white)}.page-filters .view-toggle .view-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--white);color:var(--gray-700);border:none;cursor:pointer;font-size:1.1rem;transition:all var(--transition-fast)}.page-filters .view-toggle .view-btn:hover{background:var(--gray-100)}.page-filters .view-toggle .view-btn.active{background:var(--primary, #3b82f6);color:var(--white)}.cd-modal{max-width:760px;width:92%;padding:0;overflow:hidden;background:#fff}.cd-hero{position:relative;padding:22px 28px;background:linear-gradient(135deg,#4a0d0d,#8b1a1a,#5a1010);color:#fff;display:flex;align-items:center;gap:18px}.cd-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.12) 0%,transparent 45%);pointer-events:none}.cd-avatar{flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:#ffffff29;border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff;box-shadow:inset 0 1px #ffffff40;z-index:1}.cd-hero-info{flex:1 1 auto;min-width:0;z-index:1}.cd-hero-name{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.cd-hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cd-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:#ffffff26;border:1px solid rgba(255,255,255,.28);color:#fff}.cd-chip-id{background:#00000047}.cd-chip-status-active{background:#10b981f2;border-color:transparent}.cd-chip-status-inactive{background:#ef4444f2;border-color:transparent}.cd-chip-type-partner{background:#3b82f6f2;border-color:transparent}.cd-chip-type-ordinary{background:#8b5cf6f2;border-color:transparent}.cd-hero-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;background:#ffffff2e;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}.cd-hero-close:hover{background:#ffffff52;transform:rotate(90deg)}.cd-body{padding:20px 24px 22px;background:#f9fafb;max-height:70vh;overflow-y:auto}.cd-balances{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.cd-balance-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;transition:all .2s}.cd-balance-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.cd-balance-label{font-size:.66rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#6b7280;display:flex;align-items:center;gap:5px}.cd-balance-value{font-size:1.05rem;font-weight:800;color:#111827;font-variant-numeric:tabular-nums;word-break:break-word}.cd-balance-card.cd-balance-current{border-left:3px solid #10b981}.cd-balance-card.cd-balance-current.negative{border-left-color:#ef4444}.cd-balance-card.cd-balance-current .cd-balance-value{color:#059669}.cd-balance-card.cd-balance-current.negative .cd-balance-value{color:#dc2626}.cd-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 18px 16px;margin-bottom:12px}.cd-section-title{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#111827;padding-bottom:10px;border-bottom:1px solid #f3f4f6}.cd-section-title-icon{display:inline-flex;width:26px;height:26px;border-radius:8px;align-items:center;justify-content:center;background:linear-gradient(135deg,#fee2e2,#fecaca);font-size:.85rem}.cd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.cd-field{display:flex;flex-direction:column;gap:3px;min-width:0}.cd-field-label{font-size:.66rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#6b7280}.cd-field-value{font-size:.88rem;font-weight:600;color:#111827;word-break:break-word}.cd-field-value.mono{font-family:Courier New,monospace;letter-spacing:.5px}.cd-field-value .muted{color:#9ca3af;font-weight:500}.cd-field-full{grid-column:1 / -1}.cd-card-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.cd-card-status-valid{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.cd-card-status-pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.cd-card-status-revoked,.cd-card-status-expired{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.cd-heirs{display:flex;flex-direction:column;gap:10px}.cd-heir-card{background:linear-gradient(135deg,#fafafa,#f3f4f6);border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px}.cd-heir-title{font-size:.66rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#b91c1c;margin-bottom:8px}.cd-footer{padding:14px 24px;background:#fff;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}@media(max-width:640px){.cd-balances,.cd-grid{grid-template-columns:1fr}.cd-hero{flex-direction:column;align-items:flex-start;text-align:left}.cd-hero-name{white-space:normal}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.image-cropper-container{display:flex;flex-direction:column;gap:1.5rem}.instructions{background:#f0f9ff;border-left:4px solid #3b82f6;padding:1rem;border-radius:6px}.instructions p{margin:0;color:#1e40af;font-weight:600;font-size:.95rem}.instructions .hint{margin-top:.5rem;font-weight:400;font-size:.85rem;color:#3b82f6}.aspect-control{margin-bottom:1rem}.aspect-control label{display:block;margin-bottom:.75rem;font-weight:600;color:#333;font-size:1rem}.aspect-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.aspect-btn{padding:.75rem;background:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;font-size:.9rem;color:#374151}.aspect-btn:hover{border-color:#3b82f6;background:#f0f9ff;color:#3b82f6}.aspect-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.cropper-wrapper{position:relative;min-height:400px;max-height:600px;background:#f5f5f5;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:1rem}.cropper-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.btn-save{background:#10b981;color:#fff}.btn-save:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.validation-inscriptions{padding:var(--spacing-lg);max-width:1600px;margin:0 auto}.page-header{margin-bottom:var(--spacing-xl)}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-md)}.stat-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:32px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:400px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.loading-state p{color:var(--gray-600);font-size:var(--text-base)}.error-state{padding:var(--spacing-xl);background:var(--error-light);border:1px solid var(--error);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);text-align:center}.error-state p{color:var(--error);margin-bottom:var(--spacing-md);font-weight:500}.btn-retry{padding:var(--spacing-sm) var(--spacing-md);background:var(--error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .2s ease}.btn-retry:hover{background:#c41c3b;transform:translateY(-2px);box-shadow:0 4px 8px #e91e634d}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--gray-900);margin:0}.filters-bar{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.inscriptions-list{display:grid;gap:var(--spacing-lg)}.inscription-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:2px solid var(--gray-200);transition:all var(--transition-fast)}.inscription-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.inscription-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.client-photo{position:relative;flex-shrink:0;width:80px;height:80px}.client-avatar{width:80px;height:80px;min-width:80px;min-height:80px;border-radius:var(--radius-full);object-fit:cover;object-position:center;display:block;border:3px solid var(--primary);box-shadow:var(--shadow-md)}.client-avatar-fallback{width:80px;height:80px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-light),var(--primary));display:flex;align-items:center;justify-content:center;font-size:32px;border:3px solid var(--primary);color:var(--white);box-shadow:var(--shadow-md)}.client-info{flex:1}.client-info h3{font-size:var(--text-xl);color:var(--gray-900);margin:0 0 var(--spacing-xs) 0}.client-info p{color:var(--gray-600);margin:var(--spacing-xs) 0;font-size:var(--text-sm)}.client-info .phone{font-weight:600}.statut-badge{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm)}.badge.warning{background:var(--warning-light);color:var(--warning)}.badge.success{background:var(--success-light);color:var(--success)}.badge.error{background:var(--error-light);color:var(--error)}.inscription-details{margin-bottom:var(--spacing-lg)}.detail-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.detail-row .label{font-weight:600;color:var(--gray-700);min-width:150px}.detail-row .value{color:var(--gray-900)}.documents-status{margin-bottom:var(--spacing-lg)}.documents-status h4{font-size:var(--text-base);color:var(--gray-900);margin-bottom:var(--spacing-md)}.docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.doc-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm)}.doc-item.present{background:var(--success-light);color:var(--success)}.doc-item.missing{background:var(--error-light);color:var(--error)}.required-badge{margin-left:auto;font-size:var(--text-xs);font-weight:600;background:var(--error);color:var(--white);padding:2px 6px;border-radius:var(--radius-sm)}.warning-banner{background:var(--warning-light);color:var(--warning);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;text-align:center}.inscription-actions{display:flex;gap:var(--spacing-sm)}.btn-view{flex:1;padding:var(--spacing-md);background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-view:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg);overflow-y:auto}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-content.large{max-width:1200px}.modal-content.small{max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:2px solid var(--gray-200);position:sticky;top:0;background:var(--white);z-index:10}.section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--gray-200)}.section:last-child{border-bottom:none}.section h3{font-size:var(--text-lg);color:var(--gray-900);margin-bottom:var(--spacing-lg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.info-item{padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.info-item.full-width{grid-column:1 / -1}.info-item label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--gray-600);margin-bottom:var(--spacing-xs);text-transform:uppercase}.info-item p{font-size:var(--text-base);color:var(--gray-900);margin:0;font-weight:600}.documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.document-card{border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);background:var(--gray-50)}.document-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.document-header h4{font-size:var(--text-sm);color:var(--gray-900);margin:0}.required-tag{font-size:var(--text-xs);background:var(--primary-red);color:var(--white);padding:2px 8px;border-radius:var(--radius-full);font-weight:600}.document-preview{text-align:center}.pdf-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.pdf-icon{font-size:64px;margin-bottom:var(--spacing-sm)}.pdf-label{color:var(--gray-600);margin-bottom:var(--spacing-md);font-weight:500}.btn-view-pdf{background:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:background .2s}.btn-view-pdf:hover{background:var(--primary-dark)}.image-error{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--error-light);border:2px dashed var(--error);border-radius:var(--radius-md);color:var(--error);font-weight:600;margin-bottom:var(--spacing-sm)}.preview-image{width:100%;max-height:300px;min-height:200px;object-fit:contain;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);background:var(--gray-50);border:1px solid var(--gray-300);cursor:pointer;transition:transform .2s}.preview-image:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.document-actions-small{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.btn-replace,.btn-crop,.btn-view-full{flex:1;min-width:100px;padding:var(--spacing-sm);background:var(--info-light);color:var(--info);border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:var(--text-xs);transition:all .2s}.btn-replace:hover,.btn-crop:hover,.btn-view-full:hover{background:var(--info);color:var(--white);transform:translateY(-1px)}.btn-crop{background:var(--warning-light);color:var(--warning)}.btn-crop:hover{background:var(--warning);color:var(--white)}.btn-view-full{background:var(--success-light);color:var(--success)}.btn-view-full:hover{background:var(--success);color:var(--white)}.document-missing{text-align:center;padding:var(--spacing-lg)}.missing-text{color:var(--error);font-weight:600;margin-bottom:var(--spacing-md)}.missing-actions{display:flex;gap:var(--spacing-xs)}.btn-upload,.btn-request{flex:1;padding:var(--spacing-sm);border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:var(--text-xs)}.btn-upload{background:var(--primary-red);color:var(--white)}.btn-upload:hover{background:var(--primary-red-darker)}.btn-request{background:var(--warning-light);color:var(--warning)}.btn-request:hover{background:var(--warning);color:var(--white)}.commentaire-input{width:100%;padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical}.commentaire-input:focus{outline:none;border-color:var(--primary-red)}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:2px solid var(--gray-200);position:sticky;bottom:0;background:var(--white)}.btn-cancel,.btn-reject,.btn-approve,.btn-submit{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base)}.btn-reject{background:var(--error);color:var(--white)}.btn-reject:hover:not(:disabled){background:#c62828;transform:translateY(-2px)}.btn-approve{background:var(--success);color:var(--white);margin-left:auto}.btn-approve:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px)}.btn-submit{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white);flex:1}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-reject:disabled,.btn-approve:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.upload-section{padding:var(--spacing-xl);text-align:center}.upload-instruction{color:var(--gray-700);margin-bottom:var(--spacing-lg)}.file-input{width:100%;padding:var(--spacing-md);border:2px dashed var(--gray-300);border-radius:var(--radius-md);cursor:pointer}.file-selected{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--success-light);color:var(--success);border-radius:var(--radius-md);font-weight:600}.reject-warning{text-align:center;padding:var(--spacing-lg);background:var(--error-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.warning-icon{font-size:48px;margin-bottom:var(--spacing-md)}.reject-warning p{color:var(--error);margin:var(--spacing-xs) 0;font-weight:600}.warning-text{margin-top:var(--spacing-md);font-size:var(--text-base)}.reject-textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--error);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical;transition:border-color var(--transition-fast)}.reject-textarea:focus{outline:none;border-color:var(--error);box-shadow:0 0 0 3px #f443361a}.reject-textarea::placeholder{color:var(--gray-400)}.empty-state{text-align:center;padding:var(--spacing-xl);background:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-300)}.empty-state{background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;color:var(--gray-500);font-size:var(--text-lg)}.alert-error{background-color:#fee;border-left-color:var(--error, #dc3545);color:#c33}.modal-content.extra-large{width:95%;max-width:1400px;max-height:95vh}.modal-content.extra-large .modal-body{padding:var(--spacing-xl)}.modal-content.large .modal-body{min-height:400px}@media(max-width:768px){.stats-cards,.info-grid,.documents-grid{grid-template-columns:1fr}.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}.modal-footer{flex-wrap:wrap}.btn-approve{margin-left:0;width:100%}}.commandes-client-page{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#f0f0f0);padding:20px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-spinner{font-size:48px;animation:spin 1s linear infinite}.error-icon{font-size:48px}.btn-retry{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.page-header{background:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 2px 8px #00000014}.page-header h1{margin:0 0 8px;font-size:28px;color:#1f2937}.page-header .subtitle{margin:0;color:#6b7280;font-size:14px}.search-section{margin-bottom:20px}.search-input-container{display:flex;align-items:center;background:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 2px 8px #00000014;gap:12px}.search-icon{font-size:18px;color:#9ca3af}.search-input{flex:1;border:none;outline:none;font-size:15px;color:#1f2937}.search-input::placeholder{color:#9ca3af}.clear-search{background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.clients-grid{display:grid;gap:12px}.client-card{display:flex;align-items:center;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s ease;gap:16px}.client-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.client-avatar{font-size:32px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7ff,#f3e8ff);border-radius:12px;overflow:hidden;position:relative;flex-shrink:0}.client-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.client-avatar-fallback{width:100%;height:100%;align-items:center;justify-content:center}.client-details{flex:1}.client-name{margin:0 0 4px;font-size:16px;font-weight:600;color:#1f2937}.client-contact{margin:0 0 2px;font-size:13px;color:#6b7280}.client-phone{margin:0;font-size:13px;color:#9ca3af}.client-balance .balance{font-size:14px;font-weight:700;color:#059669}.client-balance .balance.negative{color:#dc2626}.client-arrow{font-size:20px;color:#9ca3af}.no-results{text-align:center;padding:40px;color:#6b7280}.client-details-container .page-header{display:flex;align-items:center;gap:20px}.btn-back{padding:10px 16px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:2px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.client-header-info{flex:1}.client-header-info h1{margin:0 0 8px}.client-meta{display:flex;gap:20px;font-size:14px;color:#6b7280}.client-meta .balance{font-weight:600;color:#059669}.client-meta .balance.negative{color:#dc2626}.tabs-container{display:flex;gap:8px;margin-bottom:20px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 2px 8px #00000014}.tab-btn{flex:1;padding:14px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#f3f4f6}.tab-btn.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.loading-inline{text-align:center;padding:30px;color:#6b7280;font-size:14px}.empty-state{text-align:center;padding:50px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state p{margin:0;color:#6b7280;font-size:16px}.orders-list{display:grid;gap:16px}.order-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .2s ease;overflow:hidden}.order-card.expanded{box-shadow:0 4px 16px #0000001f;border:2px solid #3b82f6}.order-header{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb;cursor:pointer}.order-header .order-id{flex:1}.order-header .status-badge{flex-shrink:0}.order-header:hover{background:#f9fafb;margin:-10px -10px 12px;padding:10px 10px 12px;border-radius:8px 8px 0 0}.expand-icon{font-size:12px;color:#6b7280;transition:transform .2s ease}.order-id{font-size:16px;font-weight:700;color:#1f2937}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.order-body{display:flex;justify-content:space-between;align-items:flex-start}.order-info{display:flex;gap:20px;font-size:13px;color:#6b7280}.order-totals{text-align:right}.order-subtotal,.order-shipping{font-size:12px;color:#6b7280;margin-bottom:4px}.subtotal-label,.shipping-label{margin-right:8px}.order-total{text-align:right}.total-label{display:block;font-size:12px;color:#9ca3af;margin-bottom:2px}.total-amount{font-size:18px;font-weight:700;color:#1f2937}.order-items-section{margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb}.order-items-preview{display:flex;flex-wrap:wrap;gap:8px}.item-preview{background:#f3f4f6;padding:4px 10px;border-radius:6px;font-size:12px;color:#4b5563}.more-items{background:#e0e7ff;color:#4f46e5;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.order-items-full{margin-top:8px;background:#fafafa;border-radius:8px;padding:12px}.items-grid{display:flex;flex-direction:column;gap:0}.items-grid-header,.items-grid-row{display:grid;grid-template-columns:1fr 80px 120px 120px;gap:12px;align-items:center;padding:10px 12px}.items-grid-header{background:#e5e7eb;border-radius:6px;font-weight:600;font-size:12px;color:#374151;text-transform:uppercase}.items-grid-row{background:#fff;border-bottom:1px solid #f3f4f6;font-size:14px}.items-grid-row:last-child{border-bottom:none}.items-grid-row:hover{background:#f9fafb}.col-article{text-align:left;font-weight:500;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-qty{text-align:center;font-weight:600;color:#4b5563}.col-price{text-align:right;color:#4b5563}.col-total{text-align:right;font-weight:700;color:#1f2937}@media(max-width:600px){.items-grid-header,.items-grid-row{grid-template-columns:1fr 50px 90px 90px;gap:8px;padding:8px 10px;font-size:12px}.items-grid-header{font-size:10px}}.ledger-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.ledger-table{width:100%;border-collapse:collapse;min-width:700px}.ledger-table th{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:14px 16px;text-align:left;font-size:13px;font-weight:600;text-transform:uppercase}.ledger-table td{padding:14px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;color:#374151}.ledger-table tr:last-child td{border-bottom:none}.ledger-table tr:nth-child(2n){background:#f9fafb}.ledger-table .debit{color:#dc2626;font-weight:600}.ledger-table .credit{color:#059669;font-weight:600}.ledger-table .balance{font-weight:700;color:#1f2937}.ledger-table .balance.negative{color:#dc2626}.ledger-table .entry-type{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;display:inline-block;white-space:nowrap}.ledger-table .entry-type.debit{background:#fee2e2;color:#991b1b}.ledger-table .entry-type.credit{background:#d1fae5;color:#065f46}.ledger-table .amount.debit{color:#dc2626;font-weight:700}.ledger-table .amount.credit{color:#059669;font-weight:700}.ledger-table .reference{font-family:Courier New,monospace;font-size:12px;color:#6b7280}.reference-link{background:none;border:none;padding:4px 8px;font-family:Courier New,monospace;font-size:12px;color:#3b82f6;cursor:pointer;text-decoration:none;border-radius:4px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.reference-link:hover{background:#eff6ff;color:#1d4ed8;text-decoration:underline}.reference-link:active{background:#dbeafe}.ledger-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{padding:6px 16px;border:1px solid #d1d5db;background:#fff;border-radius:20px;font-size:13px;cursor:pointer;color:#374151;transition:all .2s ease;font-weight:500}.filter-btn:hover{border-color:#6366f1;color:#6366f1}.filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.ledger-total-row{background:#f0f0ff!important;border-top:2px solid #6366f1}.ledger-total-row .total-footer-label{font-weight:700;color:#1f2937;text-align:right;padding-right:16px}.ledger-total-row .total-footer-amount{font-weight:800;font-size:15px}@media(max-width:768px){.page-header h1{font-size:22px}.client-details-container .page-header{flex-direction:column;align-items:flex-start;gap:12px}.client-meta{flex-direction:column;gap:8px}.tabs-container{flex-direction:column}.order-body{flex-direction:column;align-items:flex-start;gap:12px}.order-total{text-align:left}.ledger-table-container{overflow-x:auto}.ledger-table{min-width:600px}}@media(max-width:480px){.commandes-client-page{padding:12px}.page-header{padding:16px}.client-card{padding:12px}.client-avatar{width:40px;height:40px;font-size:24px}}.client-balance-card{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:12px 20px;background:linear-gradient(135deg,#fff,#f5f7fa);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000000d;min-width:180px}.client-balance-card .balance-label{font-size:.85rem;color:#64748b;font-weight:500}.client-balance-card .balance-value{font-size:1.5rem;font-weight:700;line-height:1.1}.client-balance-card .balance-value.positive{color:#059669}.client-balance-card .balance-value.negative{color:#dc2626}@media(max-width:640px){.client-balance-card{margin-left:0;width:100%;align-items:flex-start}}.clients-list-container .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.total-balance-card{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:14px 22px;background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #0000000d;min-width:280px}.total-balance-card .balance-label{font-size:.85rem;color:#64748b;font-weight:500}.total-balance-card .balance-value{font-size:1.6rem;font-weight:700;line-height:1.1}.total-balance-card .balance-value.positive{color:#059669}.total-balance-card .balance-value.negative{color:#dc2626}.total-balance-card .balance-meta{font-size:.8rem;color:#94a3b8}.balance-breakdown{width:100%;margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.balance-breakdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.balance-breakdown-item.positive{border-left:3px solid #059669;background:#f0fdf4}.balance-breakdown-item.negative{border-left:3px solid #dc2626;background:#fef2f2}.balance-breakdown-item .bb-icon{font-size:1.2rem;flex-shrink:0}.balance-breakdown-item .bb-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.balance-breakdown-item .bb-label{font-size:.75rem;color:#64748b;font-weight:500}.balance-breakdown-item .bb-value{font-size:1rem;font-weight:700;white-space:nowrap}.balance-breakdown-item .bb-value.positive{color:#059669}.balance-breakdown-item .bb-value.negative{color:#dc2626}@media(max-width:640px){.total-balance-card{align-items:flex-start;width:100%}.balance-breakdown{grid-template-columns:1fr}}.badge{display:inline-block;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;white-space:nowrap;text-align:center;transition:all .3s ease}.badge-cashier{background-color:#ffe5e5;color:#c44;border:1px solid #FF9999}.badge-storekeeper{background-color:#e0f7f6;color:#2c8b8a;border:1px solid #99E8E6}.badge-manager{background-color:#fffacc;color:#e0b600;border:1px solid #FFE680}.badge-admin{background-color:#e8f5e9;color:#43a047;border:1px solid #81C784}.badge-agent{background-color:#e3f2fd;color:#1565c0;border:1px solid #64B5F6}.badge-default{background-color:#f5f5f5;color:#666;border:1px solid #DDD}.badge-active{background-color:#e8f5e9;color:#2e7d32;border:1px solid #81C784}.badge-inactive{background-color:#ffebee;color:#c62828;border:1px solid #EF5350}.badge-sm{padding:2px 8px;font-size:11px}.badge-lg{padding:6px 16px;font-size:13px}.badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.badge-with-icon{display:inline-flex;align-items:center;gap:6px}.badge-with-icon .badge-icon{font-size:14px}.badge-active:before{content:"";display:inline-block;width:8px;height:8px;background-color:#4caf50;border-radius:50%;margin-right:4px;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #4caf50b3}70%{box-shadow:0 0 0 6px #4caf5000}to{box-shadow:0 0 #4caf5000}}.badge-pos{background-color:#f3e5f5;color:#6a1b9a;border:1px solid #CE93D8;display:inline-flex;align-items:center;gap:4px}.badge-pos.active{background-color:#e8f5e9;color:#2e7d32;border:1px solid #81C784}.badge-pos.inactive{background-color:#ffebee;color:#c62828;border:1px solid #EF5350}.badge-pos-none{background-color:#fff3e0;color:#e65100;border:1px solid #FFCC80;display:inline-flex;align-items:center;gap:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-in}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:450px;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}.modal-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:12px;border-radius:12px 12px 0 0}.modal-success .modal-header{background:#e8f5e9}.modal-error .modal-header{background:#ffebee}.modal-warning .modal-header{background:#fff3e0}.modal-info .modal-header{background:#e3f2fd}.modal-icon{font-size:28px}.modal-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.modal-body{padding:25px 20px}.modal-body p{margin:0;color:#666;font-size:15px;line-height:1.6}.modal-footer{padding:15px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.btn-modal-close{padding:10px 24px;background:#1e88e5;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s}.btn-modal-close:hover{background:#1565c0}@media(max-width:480px){.modal-content{width:95%;margin:20px}}.cartes-magnetiques{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.cm-tabs{display:flex;gap:4px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:6px;box-shadow:0 1px 2px #0000000a;overflow-x:auto;scrollbar-width:none}.cm-tabs::-webkit-scrollbar{display:none}.cm-tab{flex:1;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:none;background:transparent;color:var(--gray-700, #374151);font-size:.95rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .18s ease;position:relative;white-space:nowrap}.cm-tab:hover:not(.cm-tab-active){background:#fef2f2;color:#b91c1c}.cm-tab-active{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 12px #dc262647}.cm-tab-active:hover{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.cm-tab-icon{font-size:1.05rem;display:inline-flex}.cm-tab-label{letter-spacing:.2px}.cm-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#fff;color:#dc2626;font-size:.75rem;font-weight:800;line-height:1;box-shadow:0 1px 2px #0000001a}.cm-tab:not(.cm-tab-active) .cm-tab-badge{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}@media(max-width:720px){.cm-tab{min-width:140px;padding:10px 12px;font-size:.85rem}.cm-tab-label{font-size:.85rem}}.cm-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.cm-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.cm-section-header h2{margin:0;color:var(--gray-900);font-size:1.15rem}.cm-section-actions{display:flex;gap:var(--spacing-sm);align-items:center}.cm-select{padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--white);color:#111827;font-size:.9rem;font-weight:600;cursor:pointer}.cm-select option{color:#111827;background:#fff}.cm-helper{margin:0;color:var(--gray-600);font-size:.9rem}.cm-inline-form{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.cm-inline-form input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.95rem}.cm-inline-form input:focus{outline:none;border-color:var(--primary, #2563eb)}.cm-create-price{background:var(--gray-50, #f9fafb);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.cm-create-price label{font-weight:600;color:var(--gray-700);font-size:.9rem}.cm-warning{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.9rem}.cm-fallback{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid #fcd34d;display:flex;flex-direction:column;gap:var(--spacing-sm)}.cm-fallback label{font-weight:600;font-size:.85rem}.cm-table-wrap{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.cm-table{width:100%;border-collapse:collapse;font-size:.9rem}.cm-table thead{background:var(--gray-50, #f9fafb)}.cm-table th{text-align:left;padding:12px 14px;font-weight:600;color:var(--gray-700);border-bottom:1px solid var(--gray-200);white-space:nowrap}.cm-table td{padding:12px 14px;border-bottom:1px solid var(--gray-100);color:var(--gray-800);vertical-align:middle}.cm-table tbody tr:hover{background:var(--gray-50, #f9fafb)}.cm-table .mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--gray-600)}.cm-reason{max-width:320px;white-space:normal}.cm-date{white-space:nowrap;color:var(--gray-600);font-size:.85rem}.cm-muted{color:var(--gray-400)}.cm-client-cell{display:flex;flex-direction:column;gap:2px;min-width:140px}.cm-client-name{font-weight:600;color:#111827}.cm-client-phone{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;letter-spacing:.2px}.cm-client-phone:before{content:"📞";font-size:.7rem}.cm-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#111827}.cm-badge-pending{background:#fef3c7;color:#92400e!important;border:1px solid #fcd34d}.cm-badge-approved{background:#d1fae5;color:#065f46!important;border:1px solid #6ee7b7}.cm-badge-rejected{background:#fee2e2;color:#991b1b!important;border:1px solid #fca5a5}.cm-badge-cancelled{background:#e5e7eb;color:#1f2937!important;border:1px solid #d1d5db}.cm-edit-input{width:140px;padding:6px 10px;border:1px solid var(--primary, #2563eb);border-radius:var(--radius-sm, 6px);font-size:.9rem}.cm-actions-inline{display:flex;gap:6px}.btn-sm{padding:6px 12px!important;font-size:.85rem!important}.btn-success{background:#10b981;color:#fff;border:none}.btn-success:hover:not(:disabled){background:#059669}.btn-success:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:#dc2626;color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-md);cursor:pointer;font-weight:600}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--gray-500);background:var(--gray-50, #f9fafb);border-radius:var(--radius-md);border:1px dashed var(--gray-300)}.cm-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb);flex-wrap:wrap}.cm-pagination .cm-page-info{font-size:.875rem;color:var(--gray-600, #4b5563)}.cm-modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.cm-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 50px #00000040;overflow:hidden;animation:cmFadeIn .18s ease-out}@keyframes cmFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200, #e5e7eb)}.cm-modal-header h3{margin:0;font-size:1.05rem;color:var(--gray-900, #111827)}.cm-modal-close{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--gray-500, #6b7280);padding:0 .25rem}.cm-modal-close:hover{color:var(--gray-900, #111827)}.cm-modal-body{padding:1.5rem;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f9fafb,#fef2f2)}.cm-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;border-top:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb)}.visa-card{position:relative;padding:22px 26px 18px;border-radius:16px;background:radial-gradient(circle at 85% -20%,rgba(255,255,255,.18) 0%,transparent 45%),radial-gradient(circle at -10% 110%,rgba(255,255,255,.1) 0%,transparent 45%),linear-gradient(135deg,#4a0d0d,#7a1717 35%,#8b1a1a 60%,#5a1010);border:1px solid rgba(255,255,255,.14);width:100%;max-width:400px;min-height:240px;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 40px #4a0d0d6b,0 2px 4px #0000002e,inset 0 1px #ffffff2e,inset 0 0 0 1px #ffffff0a;color:#fff;overflow:hidden}.visa-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 1px,transparent 7px),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) 1px,transparent 1px,transparent 11px);mix-blend-mode:overlay;pointer-events:none;z-index:1}.visa-card:after{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.06) 40%,transparent 70%);pointer-events:none;z-index:1}.visa-card-company{display:flex;align-items:center;gap:10px;position:relative;z-index:2;max-width:calc(100% - 90px);min-width:0}.visa-company-logo{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,.25);background:#fffffff2;padding:2px;flex-shrink:0}.visa-company-info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.visa-company-name{font-size:.68rem;font-weight:800;color:#fff;letter-spacing:.3px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}.visa-company-address{font-size:.55rem;color:#fff;letter-spacing:.2px;line-height:1.2;white-space:nowrap}.visa-company-contact{font-size:.52rem;color:#fff;letter-spacing:.1px;line-height:1.2;display:block;white-space:nowrap}.visa-company-label{color:#ffffffd9;font-weight:600}.visa-card-chip{width:38px;height:28px;border-radius:5px;background:linear-gradient(135deg,#f4d27a,#c89c3a,#a07820);border:1px solid rgba(0,0,0,.2);position:relative;margin-top:6px;box-shadow:inset 0 1px #fff6,0 1px 2px #00000040;z-index:2}.visa-card-chip:before,.visa-card-chip:after{content:"";position:absolute;left:4px;right:4px;height:1px;background:#00000059}.visa-card-chip:before{top:8px;box-shadow:0 6px #00000059}.visa-card-chip:after{bottom:8px}.visa-card-qr{position:absolute;top:32px;right:22px;padding:0;background:transparent;border-radius:0;border:none;box-shadow:none;z-index:3}.visa-card-number{font-size:1.15rem;font-weight:700;font-family:Courier New,monospace;letter-spacing:3px;color:#fff;margin:4px 0 2px;text-shadow:0 1px 2px rgba(0,0,0,.4);position:relative;z-index:2}.visa-card-bottom{display:flex;gap:20px;position:relative;z-index:2;align-items:flex-start;justify-content:space-between}.visa-card-bottom--ordinary{align-items:center;justify-content:center;min-height:72px;padding-top:16px}.visa-card-bottom--partner{align-items:center;justify-content:center;min-height:72px;padding-top:16px;flex-wrap:wrap}.visa-card-holder,.visa-card-company-name{display:flex;flex-direction:column;gap:2px;min-width:0}.visa-card-holder{flex:1 1 auto;min-width:0;max-width:60%}.visa-card-bottom--partner .visa-card-holder{flex:1 1 100%;max-width:100%;width:100%;align-items:center;justify-content:center;text-align:center;margin-bottom:4px}.visa-card-bottom--partner .visa-card-holder .visa-value{font-size:1.05rem;font-weight:800;letter-spacing:.9px;text-transform:uppercase;text-align:center;-webkit-line-clamp:2;line-clamp:2;line-height:1.2}.visa-card-bottom--partner .visa-card-company-name{flex:1 1 100%;max-width:100%;width:100%;align-items:flex-end;text-align:right}.visa-card-holder--ordinary{max-width:100%;width:100%;align-items:center;justify-content:center;text-align:center}.visa-card-company-name{flex:0 0 auto;text-align:right;align-items:flex-end;max-width:40%}.visa-label{font-size:.55rem;font-weight:600;color:#ffffffa6;letter-spacing:1.5px;text-transform:uppercase}.visa-value{font-size:.78rem;font-weight:600;color:#fff;white-space:normal;word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;text-shadow:0 1px 1px rgba(0,0,0,.35)}.visa-card-holder .visa-value{white-space:normal;word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;line-height:1.15}.visa-card-holder--ordinary .visa-value{font-size:1rem;font-weight:800;letter-spacing:.9px;text-transform:uppercase;text-align:center;-webkit-line-clamp:3;line-clamp:3;line-height:1.2}.visa-card-footer{display:flex;align-items:flex-end;margin-top:auto;padding-top:8px;padding-bottom:18px;padding-right:100px;border-top:1px solid rgba(255,255,255,.15);position:relative;z-index:2}.visa-card-phone{display:flex;flex-direction:column;gap:2px}.visa-card-brand{position:absolute;bottom:10px;right:22px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;z-index:3;text-shadow:0 1px 2px rgba(0,0,0,.35)}.visa-card-brand-prefix{display:none}.visa-card-brand-name{font-size:.7rem;font-weight:900;font-style:italic;letter-spacing:.6px;color:#fff;text-transform:uppercase;line-height:1}.cm-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.2px;white-space:nowrap;border:1px solid transparent}.cm-type-partner{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#f59e0b}.cm-type-ordinary{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.cm-table tbody tr.cm-row-partner_client>td:first-child{border-left:3px solid #f59e0b}.cm-table tbody tr.cm-row-ordinary>td:first-child{border-left:3px solid #94a3b8}.visa-card.visa-card--partner{background:linear-gradient(115deg,transparent 0%,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%,transparent 100%),radial-gradient(ellipse at 95% -20%,rgba(255,255,255,.45) 0%,rgba(255,255,255,.1) 35%,transparent 60%),radial-gradient(ellipse 90% 55% at -30% 140%,#ffffff8c,#ffffff2e 28%,#fff0 50%),radial-gradient(circle at 110% 110%,rgba(0,0,0,.35) 0%,transparent 45%),linear-gradient(135deg,#2a0606,#5a0f0f 35%,#8b1a1a 65%,#b91c1c);border:1px solid rgba(255,255,255,.28);color:#fff;box-shadow:0 22px 48px #3a08088c,0 4px 10px #00000040,inset 0 1px #ffffff73,inset 0 -1px #00000040,inset 0 0 0 1px #ffffff14}.visa-card.visa-card--partner:before{background:linear-gradient(120deg,transparent 0%,transparent 70%,rgba(255,255,255,.18) 78%,transparent 86%),radial-gradient(ellipse 90% 40% at 50% -10%,rgba(255,255,255,.2) 0%,transparent 60%);mix-blend-mode:screen;opacity:.9}.visa-card.visa-card--partner:after{background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 18%,transparent 38%);top:-40px;right:auto;left:-40px;width:200px;height:200px}.visa-card.visa-card--ordinary{background:linear-gradient(105deg,transparent 0%,transparent 42%,rgba(255,255,255,.22) 52%,transparent 64%,transparent 100%),radial-gradient(ellipse at 100% -10%,rgba(255,255,255,.35) 0%,rgba(255,255,255,.08) 35%,transparent 60%),radial-gradient(circle at 0% 100%,rgba(255,255,255,.18) 0%,transparent 35%),radial-gradient(circle at 110% 110%,rgba(0,0,0,.3) 0%,transparent 50%),linear-gradient(135deg,#4a0d0d,#8b1a1a,#c81e1e 70%,#e02424);border:1px solid rgba(255,255,255,.25);color:#fff;box-shadow:0 22px 48px #4a0d0d8c,0 4px 10px #00000040,inset 0 1px #fff6,inset 0 -1px #00000040,inset 0 0 0 1px #ffffff14}.visa-card.visa-card--ordinary:before{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.06) 0%,rgba(255,255,255,.06) 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,rgba(255,255,255,.05) 0%,rgba(255,255,255,.05) 1px,transparent 1.5px),repeating-linear-gradient(60deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 1px,transparent 18px),repeating-linear-gradient(-60deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 22px),linear-gradient(120deg,transparent 0%,transparent 72%,rgba(255,255,255,.16) 80%,transparent 88%);background-size:22px 22px,22px 22px,auto,auto,auto;mix-blend-mode:screen;opacity:.9}.visa-card.visa-card--ordinary:after{background:radial-gradient(circle at 22% 25%,rgba(255,255,255,.5) 0%,rgba(255,255,255,.15) 20%,transparent 40%);top:-40px;right:auto;left:-40px;width:200px;height:200px}.visa-card.visa-card--partner .visa-company-name,.visa-card.visa-card--partner .visa-card-number,.visa-card.visa-card--partner .visa-value{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.visa-card.visa-card--partner .visa-company-address,.visa-card.visa-card--partner .visa-label{color:#ffffffb8}.visa-card.visa-card--partner .visa-card-brand{text-shadow:0 1px 2px rgba(0,0,0,.35)}.visa-card.visa-card--partner .visa-card-brand-prefix{color:#ffffffc7}.visa-card.visa-card--partner .visa-card-brand-name{color:#fff}.visa-card.visa-card--partner .visa-card-footer{border-top-color:#ffffff2e}.visa-card.visa-card--ordinary .visa-company-address,.visa-card.visa-card--ordinary .visa-label{color:#ffebebc7}.visa-card.visa-card--ordinary .visa-card-brand-prefix{color:#ffebebd1}.visa-card.visa-card--ordinary .visa-card-brand-name{color:#fff}.visa-card.visa-card--ordinary .visa-card-footer{border-top-color:#ffffff2e}.cm-ob{background:var(--white, #ffffff);border:1px solid var(--gray-200, #e5e7eb);border-radius:16px;padding:28px;box-shadow:0 2px 6px #0000000a}.cm-ob-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--gray-200, #e5e7eb)}.cm-ob-icon{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:14px;color:#fff;box-shadow:0 6px 18px #dc26264d}.cm-ob-title{margin:0 0 6px;font-size:1.35rem;font-weight:700;color:var(--gray-900, #111827)}.cm-ob-subtitle{margin:0;font-size:.9rem;color:var(--gray-600, #4b5563);line-height:1.5;max-width:720px}.cm-ob-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:1024px){.cm-ob-grid{grid-template-columns:1fr}}.cm-ob-card{background:#f9fafb;border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:14px}.cm-ob-step{display:flex;align-items:center;gap:10px;margin-bottom:4px}.cm-ob-step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #dc26264d}.cm-ob-step-label{font-weight:700;font-size:.95rem;color:var(--gray-800, #1f2937);text-transform:uppercase;letter-spacing:.04em}.cm-ob-search-wrap{position:relative;display:flex;align-items:center;background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;transition:all .2s ease}.cm-ob-search-wrap:focus-within{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.cm-ob-search-icon{padding:0 12px;color:var(--gray-400, #9ca3af);font-size:1rem}.cm-ob-search-input{flex:1;border:none!important;background:transparent!important;padding:12px 0!important;font-size:.95rem;color:#000!important;outline:none;min-width:0}.cm-ob-refresh-btn{background:transparent;border:none;padding:0 12px;font-size:1.1rem;cursor:pointer;color:var(--gray-500, #6b7280);height:100%;border-left:1px solid var(--gray-200, #e5e7eb);transition:color .15s}.cm-ob-refresh-btn:hover:not(:disabled){color:#dc2626}.cm-ob-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.cm-ob-list-info{font-size:.8rem;color:var(--gray-500, #6b7280)}.cm-ob-list-info strong{color:var(--gray-800, #1f2937)}.cm-ob-client-list{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.cm-ob-client-list::-webkit-scrollbar{width:6px}.cm-ob-client-list::-webkit-scrollbar-track{background:transparent}.cm-ob-client-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.cm-ob-client-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease}.cm-ob-client-row:hover{border-color:#fca5a5;background:#fef2f2}.cm-ob-client-row--selected{border-color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2);box-shadow:0 2px 8px #dc26261f}.cm-ob-avatar{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;letter-spacing:.04em;overflow:hidden;position:relative}.cm-ob-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.cm-ob-avatar-fallback{width:100%;height:100%;align-items:center;justify-content:center}.cm-ob-client-row--selected .cm-ob-avatar{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.cm-ob-client-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cm-ob-client-name{font-weight:600;color:var(--gray-900, #111827);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-ob-client-sub{font-size:.78rem;color:var(--gray-600, #4b5563)}.cm-ob-client-meta{display:flex;gap:10px;font-size:.72rem;color:var(--gray-500, #6b7280);margin-top:2px}.cm-ob-client-id{font-weight:700;color:#b91c1c}.cm-ob-client-check{font-size:1.2rem;color:#16a34a;font-weight:800}.cm-ob-list-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;background:#fff;border:2px dashed var(--gray-200, #e5e7eb);border-radius:10px;color:var(--gray-500, #6b7280);font-size:.9rem}.cm-ob-list-state--empty span:first-child{font-size:2rem}.cm-ob-spinner{width:28px;height:28px;border:3px solid #fecaca;border-top-color:#dc2626;border-radius:50%;animation:cm-ob-spin .8s linear infinite}.cm-ob-spinner--sm{width:16px;height:16px;border-width:2px}@keyframes cm-ob-spin{to{transform:rotate(360deg)}}.cm-ob-selected-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:10px}.cm-ob-selected-banner--empty{background:#fffbeb;border-color:#fde68a;color:#92400e;font-size:.85rem;justify-content:flex-start}.cm-ob-selected-label{font-size:.75rem;color:#991b1b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.cm-ob-selected-id{font-size:1.1rem;color:#b91c1c;font-weight:800}.cm-ob-amount-label{font-size:.85rem;font-weight:600;color:var(--gray-700, #374151);margin-top:6px}.cm-ob-amount-wrap{position:relative;display:flex;align-items:center;background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;transition:all .2s ease}.cm-ob-amount-wrap:focus-within{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.cm-ob-amount-input{flex:1;border:none!important;background:transparent!important;padding:14px 16px!important;font-size:1.25rem!important;font-weight:700!important;color:#000!important;outline:none;min-width:0;text-align:right;-moz-appearance:textfield}.cm-ob-amount-input::-webkit-outer-spin-button,.cm-ob-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cm-ob-amount-currency{padding:0 16px;font-weight:700;color:var(--gray-500, #6b7280);font-size:.9rem;letter-spacing:.05em}.cm-ob-amount-preview{text-align:right;font-size:.85rem;color:var(--gray-500, #6b7280);font-style:italic}.cm-ob-quick-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.cm-ob-quick-btn{padding:8px 12px;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:8px;font-size:.82rem;font-weight:600;color:var(--gray-700, #374151);cursor:pointer;transition:all .15s ease}.cm-ob-quick-btn:hover{border-color:#dc2626;background:#fef2f2;color:#b91c1c}.cm-ob-submit-btn{margin-top:6px;padding:14px 20px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 12px #dc26264d;transition:all .2s ease}.cm-ob-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #dc262666}.cm-ob-submit-btn:active:not(:disabled){transform:translateY(0)}.cm-ob-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.cm-ob-result{margin-top:12px;padding:16px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px}.cm-ob-result-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:.95rem;color:var(--gray-900, #111827)}.cm-ob-result-badge{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cm-ob-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.cm-ob-result-cell{background:#fff;border:1px solid var(--gray-200, #e5e7eb);padding:10px 12px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.cm-ob-result-cell--primary{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.cm-ob-result-label{font-size:.7rem;font-weight:600;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.05em}.cm-ob-result-cell--primary .cm-ob-result-label{color:#991b1b}.cm-ob-result-value{font-size:1rem;font-weight:700;color:var(--gray-900, #111827)}.cm-ob-result-cell--primary .cm-ob-result-value{color:#b91c1c}.ventes-header{background:linear-gradient(135deg,var(--primary-red, #dc2626) 0%,#c92a2a 100%);padding:2rem;color:#fff;box-shadow:0 4px 20px #dc26264d}.summary-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;border:1px solid rgba(255,255,255,.4);color:#1f2937;transition:all .3s ease}.summary-card:hover{background:#fff;transform:translateY(-3px)}.summary-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#f3f4f6;color:#1f2937}.summary-content{display:flex;flex-direction:column;gap:.25rem;color:#1f2937}.summary-label{font-size:.875rem;color:#4b5563;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-value{font-size:1.75rem;font-weight:700;line-height:1;color:#111827}.summary-unit{font-size:.875rem;color:#6b7280}.ventes-filters{background:#fff;padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}.search-bar{flex:1 1 240px;min-width:180px;position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9ca3af;pointer-events:none}.search-bar input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background-color:#fff!important;color:#1f2937!important;transition:all .3s ease}.search-bar input:focus{outline:none;border-color:var(--primary-red, #dc2626);box-shadow:0 0 0 3px #dc26261a}.filters-group{display:contents}.date-input,.select-filter{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background-color:#fff!important;color:#1f2937!important;transition:all .3s ease;min-width:0;flex:1 1 0;width:100%}.date-input:focus,.select-filter:focus{outline:none;border-color:var(--primary-red, #dc2626);box-shadow:0 0 0 3px #dc26261a}.table-container{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 20px #00000014;overflow-x:auto}.ventes-table thead{background:linear-gradient(135deg,var(--primary-red, #dc2626) 0%,#c92a2a 100%);color:#fff}.ventes-table th{padding:1.25rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.5px;white-space:nowrap}.ventes-table tbody tr:hover{background:#f9fafb}.ventes-table td{padding:1.25rem;font-size:.95rem;color:#1f2937}.vente-id{font-weight:600;color:var(--primary-red, #dc2626);font-family:Courier New,monospace}.pos-cell{white-space:nowrap}.pos-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#eef2ff;color:#4338ca;border-radius:8px;font-size:.85rem;font-weight:500}.articles-cell{text-align:center;font-weight:600;color:var(--primary-red, #dc2626)}.paiement-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;white-space:nowrap;color:#374151}.statut-badge.default{background:#e5e7eb;color:#374151}.btn-action.cancel:hover{background:#fee2e2;border-color:#dc2626;transform:scale(1.1)}.btn-empty{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,var(--primary-red, #dc2626) 0%,#c92a2a 100%);color:#fff;text-decoration:none;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-modal-body textarea{border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:.88rem;resize:vertical;outline:none;font-family:inherit;width:100%;box-sizing:border-box;background-color:#fff;color:#1f2937}@media(max-width:768px){.ventes-filters{flex-direction:column;align-items:stretch}.search-bar,.date-input,.select-filter{flex:1 1 100%;width:100%}}.details-container{padding:0;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.details-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem 2rem;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;box-shadow:0 4px 20px #667eea4d}.details-header-tabs{display:flex;gap:6px;flex:1;justify-content:center}.details-tab-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 18px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.details-tab-btn:hover{background:#ffffff45}.details-tab-btn.active{background:#ffffffe6;color:#764ba2;font-weight:700;border-color:transparent}.btn-back{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:1rem}.btn-back:hover{background:#ffffff4d;transform:translate(-5px)}.header-actions{display:flex;gap:1rem}.btn-print{background:#fff;color:#667eea;padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:1rem}.btn-print:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.btn-cancel-sale{background:#fee2e2;color:#991b1b;padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:1rem}.btn-cancel-sale:hover{background:#fecaca;transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}.dv-cancel-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.dv-cancel-modal{background:#fff;border-radius:14px;width:min(460px,92vw);box-shadow:0 20px 60px #00000040;overflow:hidden}.dv-cancel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e5e7eb}.dv-cancel-header h3{margin:0;font-size:1rem;font-weight:700}.dv-cancel-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:#6b7280;padding:4px}.dv-cancel-body{padding:18px 22px;display:flex;flex-direction:column;gap:10px}.dv-cancel-body p{margin:0;color:#6b7280;font-size:.9rem}.dv-cancel-label{font-size:.8rem;font-weight:600;color:#6b7280}.dv-cancel-textarea{resize:vertical;padding:10px;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:inherit;min-height:72px;background:#f9fafb}.dv-cancel-textarea:focus{outline:none;border-color:#6366f1}.dv-cancel-error{color:#ef4444;font-size:.82rem;margin:0;padding:8px 12px;background:#fee2e2;border-radius:6px}.dv-cancel-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #e5e7eb}.dv-btn-secondary{padding:9px 18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;font-size:.875rem}.dv-btn-danger{padding:9px 18px;border:none;border-radius:8px;background:#ef4444;color:#fff;cursor:pointer;font-weight:700;font-size:.875rem;transition:background .15s}.dv-btn-danger:hover:not(:disabled){background:#dc2626}.dv-btn-danger:disabled{opacity:.6;cursor:not-allowed}.details-content{flex:1;padding:2rem;overflow-y:auto}.details-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;overflow:hidden;max-width:1200px;margin:0 auto}.card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;display:flex;justify-content:space-between;align-items:center}.card-header h1{margin:0;font-size:2rem;font-weight:700;font-family:Courier New,monospace}.date-info{margin:.5rem 0 0;opacity:.9;font-size:1.1rem}.header-badges{display:flex;gap:1rem;align-items:center}.statut-badge{padding:.625rem 1.25rem;border-radius:10px;font-size:.95rem;font-weight:600}.type-badge{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff3;border-radius:10px;font-size:.95rem;font-weight:500;border:1px solid rgba(255,255,255,.3)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:2rem;border-bottom:1px solid #e5e7eb}.info-section h3{color:#374151;font-size:1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.info-content{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;padding:.75rem;background:#f9fafb;border-radius:8px}.info-row .label{color:#6b7280;font-weight:500}.info-row .value{color:#1f2937;font-weight:600}.articles-section{padding:2rem;border-bottom:1px solid #e5e7eb}.articles-section h3{color:#374151;font-size:1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.table-container{overflow-x:auto;border-radius:10px;border:1px solid #e5e7eb}.articles-table{width:100%;border-collapse:collapse}.articles-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.articles-table th{padding:1rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.5px}.articles-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .2s ease}.articles-table tbody tr:hover{background:#f9fafb}.articles-table td{padding:1rem}.article-name{font-weight:600;color:#374151}.article-qty{text-align:center;color:#667eea;font-weight:600}.article-price{text-align:right;color:#6b7280}.article-total{text-align:right;color:#059669;font-weight:700}.payment-section{padding:2rem;border-bottom:1px solid #e5e7eb}.payment-section h3{color:#374151;font-size:1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.payment-details{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start}.payment-method{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:10px;min-width:150px}.payment-icon{font-size:3rem}.payment-label{font-weight:600;color:#374151;text-align:center}.payment-totals{display:flex;flex-direction:column;gap:.75rem}.total-row{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-radius:8px;font-size:1rem}.total-row.grand-total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;font-weight:700;padding:1.25rem 1.5rem;margin:.5rem 0}.remise{color:#dc2626;font-weight:600}.monnaie{color:#059669;font-weight:600}.notes-section{padding:2rem}.notes-section h3{color:#374151;font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.notes-section p{color:#6b7280;font-style:italic;background:#f9fafb;padding:1rem;border-radius:8px;border-left:4px solid #667eea}@media(max-width:768px){.info-grid,.payment-details{grid-template-columns:1fr}.card-header{flex-direction:column;gap:1rem;text-align:center}.header-badges{flex-direction:column}}.details-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:#6b7280}.details-loading .loading-spinner{font-size:3rem}.details-loading p{font-size:1.1rem}.caisse-container{padding:var(--spacing-xl);max-width:1600px;margin:0 auto}.caisse-hero{position:relative;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.18) 0%,transparent 50%),linear-gradient(135deg,var(--primary-red, #c11226) 0%,var(--primary-red-darker, #8a0d1e) 100%);color:#fff;padding:28px 32px;border-radius:18px;margin-bottom:20px;box-shadow:0 12px 30px -10px #c1122673;display:grid;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:24px}.hero-eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;opacity:.85;font-weight:600;margin-bottom:4px}.hero-title{margin:0 0 10px;font-size:1.85rem;font-weight:800;letter-spacing:-.4px}.hero-pos{display:flex;align-items:center;gap:8px;font-size:.95rem}.hero-pos strong{font-weight:700}.pos-meta{opacity:.78;font-weight:500}.pos-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px #34d39940}.pos-skeleton{display:inline-block;height:14px;width:180px;background:#ffffff40;border-radius:6px;animation:pulse 1.4s ease-in-out infinite}.hero-kpi{background:#ffffff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;min-width:0}.hero-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:600}.hero-kpi-value{font-size:1.55rem;font-weight:800;letter-spacing:-.4px}.hero-kpi-sub{font-size:.82rem;opacity:.85}.hero-actions{display:flex;flex-direction:column;gap:8px}.btn-export,.btn-refresh{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;border:1px solid rgba(255,255,255,.3);transition:all .18s;white-space:nowrap}.btn-export{background:#fff;color:var(--primary-red, #c11226);border-color:#fff}.btn-export:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px -4px #00000040}.btn-refresh{background:#ffffff1f;color:#fff}.btn-refresh:hover:not(:disabled){background:#fff3}.btn-export:disabled,.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-ico{font-size:1rem}.caisse-toolbar{background:#fff;border-radius:14px;padding:16px 20px;margin-bottom:20px;box-shadow:0 2px 10px -4px #00000014;border:1px solid #eef0f3;position:sticky;top:12px;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.toolbar-row+.toolbar-row{margin-top:12px;padding-top:12px;border-top:1px dashed #eef0f3}.toolbar-period:empty{display:none}.toolbar-period:has(*){display:flex}.toolbar-field{display:flex;flex-direction:column;gap:6px;min-width:180px;flex:1}.toolbar-field label{font-size:.7rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px}.toolbar-field select,.toolbar-field input{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafbfc;font-size:.92rem;color:#111827;transition:all .15s}.toolbar-field select:focus,.toolbar-field input:focus{outline:none;border-color:var(--primary-red, #c11226);background:#fff;box-shadow:0 0 0 3px #c112261f}.view-segment{display:inline-flex;background:#f3f4f6;border-radius:12px;padding:4px;gap:2px;flex-wrap:wrap}.seg-btn{border:none;background:transparent;padding:9px 14px;border-radius:9px;font-weight:600;font-size:.85rem;color:#4b5563;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .18s}.seg-btn:hover{color:#111827}.seg-btn.active{background:#fff;color:var(--primary-red, #c11226);box-shadow:0 2px 6px -2px #00000026}.seg-ico{font-size:.95rem}.caisse-error{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;padding:14px 18px;border-radius:12px;margin-bottom:16px;font-weight:600;border-left:4px solid #dc2626}.error-ico{font-size:1.2rem}.caisse-empty{background:#fff;border-radius:14px;padding:60px 20px;text-align:center;color:#9ca3af;border:1px dashed #e5e7eb}.empty-ico{font-size:3rem;opacity:.5;margin-bottom:12px}.caisse-period-label{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;padding:10px 16px;border-radius:10px;font-weight:700;font-size:.92rem;margin-bottom:18px;border-left:4px solid #2563eb}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:22px}.stat-card{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 2px 10px -4px #0000000f;border:1px solid #f1f3f5;border-left:4px solid var(--accent, #6b7280);display:flex;gap:14px;align-items:center;transition:transform .18s,box-shadow .18s;min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px -8px #0000001f}.stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:#f3f4f6;flex-shrink:0}.stat-body{display:flex;flex-direction:column;min-width:0}.stat-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;font-weight:600;margin-bottom:2px}.stat-value{font-size:1.15rem;font-weight:800;color:#111827;letter-spacing:-.3px}.stat-trend{font-size:.78rem;margin-top:4px}.caisse-section{background:#fff;border-radius:14px;padding:20px 22px;margin-bottom:18px;box-shadow:0 2px 10px -4px #0000000f;border:1px solid #f1f3f5}.caisse-section h3{margin:0 0 14px;font-size:1rem;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #f1f3f5}.caisse-section .empty{color:#9ca3af;font-style:italic;margin:12px 0;text-align:center;padding:20px}.caisse-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.caisse-table th,.caisse-table td{padding:11px 14px;text-align:left;border-bottom:1px solid #f1f3f5}.caisse-table th{background:#fafbfc;font-weight:700;color:#6b7280;font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;position:sticky;top:0}.caisse-table th:first-child{border-top-left-radius:10px}.caisse-table th:last-child{border-top-right-radius:10px}.caisse-table tbody tr{transition:background .15s}.caisse-table tbody tr:hover{background:#f9fafb}.caisse-table tbody tr:last-child td{border-bottom:none}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.3px}.status-draft{background:#f3f4f6;color:#4b5563}.status-approved{background:#d1fae5;color:#047857}.status-rejected{background:#fee2e2;color:#b91c1c}.status-paid{background:#dbeafe;color:#1d4ed8}.caisse-formula{background:linear-gradient(135deg,#fefce8,#fef9c3);padding:14px 18px;border-radius:12px;color:#854d0e;font-size:.88rem;border-left:4px solid #eab308;margin-top:4px}.caisse-skeleton .stat-card.skeleton{border-left-color:#e5e7eb;display:block;padding:18px}.sk-line{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:6px;margin:6px 0}.sk-line-sm{height:10px;width:50%}.sk-line-md{height:14px;width:60%}.sk-line-lg{height:22px;width:80%}.sk-row{height:36px;background:linear-gradient(90deg,#f3f4f6 25%,#ecedef,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px;margin-top:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:900px){.caisse-container{padding:16px}.caisse-hero{grid-template-columns:1fr;padding:22px}.hero-actions{flex-direction:row}.hero-title{font-size:1.4rem}.stat-icon{width:38px;height:38px;font-size:1.1rem}.stat-value{font-size:1.02rem}}.caisse-section{margin-top:24px}.caisse-section .section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.caisse-section .section-header h3{margin:0;font-size:1rem;font-weight:700;color:#111827;display:inline-flex;align-items:center;gap:8px}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.72rem;font-weight:700}.section-total{font-size:.85rem;font-weight:800;color:#047857;background:#ecfdf5;padding:5px 12px;border-radius:8px;border:1px solid #a7f3d0}.section-total.neg{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e5e7eb;background:#fff}.table-wrap .caisse-table{margin:0;border:0;border-radius:0;box-shadow:none}.amount-pos{color:#047857;font-weight:700}.amount-neg{color:#b91c1c;font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;color:#374151}.table-footnote{margin:8px 2px 0;font-size:.78rem;color:#6b7280;font-style:italic}.attente-container{padding:var(--spacing-xl)}.attente-header{background:linear-gradient(135deg,#f39c12,#e67e22);color:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-lg)}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);gap:var(--spacing-lg)}.attente-header h1{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-3xl);display:flex;align-items:center;gap:var(--spacing-md)}.attente-header p{margin:0;opacity:.9;font-size:var(--text-base)}.header-stats{display:flex;gap:var(--spacing-md)}.stat-badge{background:#fff3;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.stat-badge.total{background:#2ecc714d;border-color:#2ecc7180}.stat-number{display:block;font-size:var(--text-2xl);font-weight:700;line-height:1.2}.stat-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-top:var(--spacing-xs)}.header-filters{display:flex;gap:var(--spacing-md);align-items:center}.btn-refresh{background:#fff3;border:2px solid rgba(255,255,255,.3);color:var(--white);width:44px;height:44px;border-radius:var(--radius-md);font-size:1.2rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn-refresh:hover{background:#ffffff4d;transform:rotate(90deg)}.search-box{flex:1;position:relative;display:flex;align-items:center;background:var(--white);border-radius:var(--radius-md);overflow:hidden}.search-icon{position:absolute;left:var(--spacing-md);font-size:var(--text-lg);color:var(--gray-500)}.search-box input{flex:1;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) calc(var(--spacing-md) * 3);border:none;font-size:var(--text-base);color:var(--gray-800);background:transparent}.search-box input:focus{outline:none}.search-box input::placeholder{color:var(--gray-400)}.filter-select{padding:var(--spacing-sm) var(--spacing-lg);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);background:#fff3;color:var(--white);font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--text-base)}.filter-select option{background:var(--white);color:var(--gray-800)}.attente-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--spacing-lg)}.attente-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-fast);border-left:4px solid var(--gray-300)}.attente-card.recent{border-left-color:#3498db}.attente-card.warning{border-left-color:#f39c12}.attente-card.urgent{border-left-color:#e74c3c;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:var(--shadow-md)}50%{box-shadow:0 0 20px #e74c3c66}}.attente-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-header{background:var(--gray-50);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.card-id{display:flex;flex-direction:column;gap:var(--spacing-xs)}.id-badge{font-family:Courier New,monospace;font-weight:700;color:var(--gray-800);font-size:var(--text-base)}.delai-badge{display:inline-block;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;width:fit-content}.delai-badge.recent{background:#d1ecf1;color:#0c5460}.delai-badge.warning{background:#fff3cd;color:#856404}.delai-badge.urgent{background:#f8d7da;color:#721c24}.card-point-vente{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:600;color:var(--gray-700);background:var(--white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--text-sm)}.card-body{padding:var(--spacing-lg)}.info-row{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.info-icon{font-size:var(--text-xl);flex-shrink:0;opacity:.8}.info-content{flex:1;display:flex;flex-direction:column;gap:2px}.info-value{font-size:var(--text-base);color:var(--gray-800);font-weight:500}.motif-section{display:flex;gap:var(--spacing-md);background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-md) 0;border-left:3px solid #3498db}.motif-icon{font-size:var(--text-xl);flex-shrink:0}.motif-content{flex:1}.motif-label{display:block;font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:var(--spacing-xs)}.motif-text{margin:0;font-size:var(--text-sm);color:var(--gray-700);line-height:1.5;font-style:italic}.montant-section{background:linear-gradient(135deg,#27ae60,#229954);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md)}.montant-label{font-size:var(--text-sm);color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.montant-value{font-size:var(--text-xl);color:var(--white);font-weight:700}.card-footer{padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;gap:var(--spacing-md)}.btn-finaliser,.btn-annuler{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:var(--text-base)}.btn-finaliser{background:#27ae60;color:var(--white)}.btn-finaliser:hover{background:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.btn-annuler{background:var(--white);color:#e74c3c;border:2px solid #e74c3c}.btn-annuler:hover{background:#e74c3c;color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.empty-state-attente{grid-column:1 / -1;padding:var(--spacing-3xl);text-align:center;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.empty-state-attente .empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state-attente h3{color:var(--gray-600);margin-bottom:var(--spacing-sm);font-size:var(--text-xl)}.empty-state-attente p{color:var(--gray-500);font-size:var(--text-base)}@media(max-width:1200px){.attente-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.attente-container{padding:var(--spacing-md)}.attente-header{padding:var(--spacing-lg)}.header-top{flex-direction:column;gap:var(--spacing-md)}.header-stats{width:100%;justify-content:space-between}.stat-badge{flex:1}.header-filters{flex-direction:column;gap:var(--spacing-sm)}.filter-select{width:100%}.attente-grid{grid-template-columns:1fr}.card-footer{flex-direction:column}.btn-finaliser,.btn-annuler{width:100%}}.orders-list{display:flex;flex-direction:column;gap:14px;margin-top:20px}.order-actions-row{display:flex;gap:10px;padding:12px 18px;background:#f9fafb;border-top:1px solid #e5e7eb;flex-wrap:wrap}.btn-view-order{padding:8px 16px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .15s}.btn-view-order:hover{background:#f3f4f6;border-color:#3b82f6;color:#2563eb}.order-actions-row .btn-finaliser,.order-actions-row .btn-annuler{padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.order-actions-row .btn-finaliser{background:linear-gradient(135deg,#10b981,#059669);color:#fff;margin-left:auto}.order-actions-row .btn-finaliser:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.order-actions-row .btn-annuler{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.order-actions-row .btn-annuler:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc262659}.order-actions-row button:disabled{opacity:.55;cursor:not-allowed}.retours-container{padding:24px;max-width:1600px;margin:0 auto;min-height:100vh}.retours-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:3px solid #dc2626}.retours-header h1{font-size:1.8rem;font-weight:700;color:#1f2937;margin:0 0 4px}.retours-subtitle{color:#6b7280;margin:0;font-size:.95rem}.btn-refresh-top{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #dc26264d;transition:all .2s}.btn-refresh-top:hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.client-selector-bar{display:flex;gap:14px;flex-wrap:wrap;background:#fff;padding:14px 16px;border-radius:10px;border:1px solid #e5e7eb;border-left:4px solid #dc2626;box-shadow:0 1px 3px #0000000a;margin-bottom:20px}.selector-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}.selector-label{font-size:.78rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.client-select,.date-input{padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff;font-size:.92rem;color:#111827;transition:border-color .15s,box-shadow .15s}.client-select:focus,.date-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.client-select:disabled,.date-input:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.7}.reason-cell{max-width:220px;color:#6b7280;font-size:.85rem;font-style:italic}.retours-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #6b7280;border-radius:10px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px #0000000d;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card.stat-pending{border-left-color:#f59e0b}.stat-card.stat-approved{border-left-color:#10b981}.stat-card.stat-rejected{border-left-color:#dc2626}.stat-card.stat-amount{border-left-color:#3b82f6}.stat-icon{font-size:2rem;line-height:1}.stat-value{font-size:1.6rem;font-weight:700;color:#111827;line-height:1.1}.stat-label{font-size:.85rem;color:#6b7280;margin-top:2px}.retours-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-box{flex:1;min-width:280px;position:relative}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af}.search-box input{width:100%;padding:11px 14px 11px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff;transition:border-color .15s,box-shadow .15s}.search-box input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.filter-select{padding:11px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:.95rem;cursor:pointer;min-width:180px}.filter-select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.retours-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb;overflow-x:auto}.retours-table{width:100%;border-collapse:collapse;min-width:900px}.retours-table thead{background:linear-gradient(135deg,#dc2626,#b91c1c)}.retours-table thead th{color:#fff;padding:14px 12px;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.retours-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s}.retours-table tbody tr:hover{background:#fef2f2}.retours-table tbody td{padding:12px;color:#374151;font-size:.9rem;vertical-align:middle}.code-badge{background:#fef2f2;color:#dc2626;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.82rem;font-family:ui-monospace,monospace}.order-badge{background:#eff6ff;color:#2563eb;padding:4px 8px;border-radius:6px;font-weight:600;font-size:.82rem;font-family:ui-monospace,monospace}.amount-cell{font-weight:700;color:#111827;white-space:nowrap}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-pending,.status-created{background:#fef3c7;color:#92400e}.status-approved,.status-accepted,.status-processed,.status-completed{background:#d1fae5;color:#065f46}.status-rejected,.status-refused{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:6px}.btn-icon{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.btn-icon:hover:not(:disabled){transform:translateY(-1px)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-view:hover{background:#eff6ff;border-color:#3b82f6}.btn-approve:hover{background:#d1fae5;border-color:#10b981}.btn-reject:hover{background:#fee2e2;border-color:#dc2626}.retours-empty{background:#fff;border-radius:12px;padding:60px 20px;text-align:center;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a}.empty-icon{font-size:3.5rem;margin-bottom:12px}.retours-empty h3{color:#374151;margin:0 0 6px}.retours-empty p{color:#6b7280;margin:0 0 16px}.btn-primary{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-weight:600;cursor:pointer}.retour-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.retour-modal{background:#fff;border-radius:14px;width:100%;max-width:860px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040}.modal-header{padding:18px 24px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modal-header .status-badge{background:#fff3;color:#fff}.btn-close{background:#ffffff26;border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.btn-close:hover{background:#ffffff4d}.modal-body{padding:22px 24px;overflow-y:auto;flex:1}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}.info-block{background:#f9fafb;padding:12px 14px;border-radius:8px;border-left:3px solid #dc2626;display:flex;flex-direction:column;gap:4px}.info-label{font-size:.75rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.info-value{font-size:.95rem;color:#111827;font-weight:600}.info-value.amount{color:#dc2626;font-size:1.1rem}.reason-block{background:#fef9c3;border-left:4px solid #f59e0b;padding:12px 16px;border-radius:8px;margin-bottom:16px}.reason-block.rejection{background:#fee2e2;border-left-color:#dc2626}.reason-text{margin:6px 0 0;color:#374151;line-height:1.5}.items-section{margin-top:18px}.items-section h3{color:#1f2937;font-size:1rem;margin:0 0 10px}.items-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.items-table thead{background:#f3f4f6}.items-table th{padding:10px;text-align:left;font-size:.82rem;font-weight:600;color:#374151;text-transform:uppercase}.items-table td{padding:10px;border-top:1px solid #f3f4f6;font-size:.9rem;color:#374151}.modal-footer{padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.btn-approve-lg,.btn-reject-lg,.btn-secondary{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:.92rem;transition:all .15s}.btn-approve-lg{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-approve-lg:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.btn-reject-lg{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.btn-reject-lg:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc262659}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-approve-lg:disabled,.btn-reject-lg:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.retours-container{padding:14px}.retours-header{flex-direction:column;align-items:stretch}.retours-header h1{font-size:1.4rem}.info-grid{grid-template-columns:1fr}}.stock-container{padding:var(--spacing-xl)}.stock-header{background:linear-gradient(135deg,#16a085,#1abc9c);color:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-lg)}.stock-header h1{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-3xl);display:flex;align-items:center;gap:var(--spacing-md)}.stock-header p{margin:0 0 var(--spacing-lg) 0;opacity:.9}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.stat-card-stock{background:#ffffff26;padding:var(--spacing-lg);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.stat-icon-stock{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#fff3}.stat-content-stock{flex:1;display:flex;flex-direction:column}.stat-label-stock{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-bottom:2px}.stat-value-stock{font-size:var(--text-2xl);font-weight:700;line-height:1.2}.stat-unit-stock{font-size:var(--text-xs);opacity:.8}.stock-filters{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.search-bar-stock{position:relative;margin-bottom:var(--spacing-md)}.search-icon-stock{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);font-size:var(--text-lg);color:var(--gray-500)}.search-bar-stock input{width:100%;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) calc(var(--spacing-md) * 3);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-base);transition:all var(--transition-fast)}.search-bar-stock input:focus{outline:none;border-color:#16a085;box-shadow:0 0 0 3px #16a0851a}.filters-group-stock{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.select-filter-stock{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-base);transition:all var(--transition-fast);background:var(--white)}.select-filter-stock:focus{outline:none;border-color:#16a085;box-shadow:0 0 0 3px #16a0851a}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--spacing-lg)}.produit-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-fast);border-left:4px solid var(--gray-300)}.produit-card.rupture{border-left-color:#e74c3c}.produit-card.critique{border-left-color:#f39c12}.produit-card.normal{border-left-color:#27ae60}.produit-card.surplus{border-left-color:#3498db}.produit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.produit-header{background:var(--gray-50);padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.produit-info{flex:1}.produit-nom{margin:0 0 var(--spacing-xs) 0;font-size:var(--text-base);font-weight:700;color:var(--gray-800)}.produit-ref{font-family:Courier New,monospace;font-size:var(--text-xs);color:var(--gray-600);background:var(--white);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.produit-statut-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.3px}.produit-statut-badge.danger{background:#f8d7da;color:#721c24}.produit-statut-badge.warning{background:#fff3cd;color:#856404}.produit-statut-badge.success{background:#d4edda;color:#155724}.produit-statut-badge.info{background:#d1ecf1;color:#0c5460}.produit-body{padding:var(--spacing-lg)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:2px}.info-label{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-value{font-size:var(--text-sm);color:var(--gray-800);font-weight:500}.stock-niveau{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.stock-info-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.stock-label{font-size:var(--text-sm);color:var(--gray-600);font-weight:600}.stock-value-current{font-size:var(--text-lg);font-weight:700;color:var(--gray-800)}.stock-progress-bar{height:12px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.stock-progress-fill{height:100%;transition:all .3s ease;border-radius:var(--radius-full)}.stock-progress-fill.rupture{background:#e74c3c}.stock-progress-fill.critique{background:#f39c12}.stock-progress-fill.normal{background:#27ae60}.stock-progress-fill.surplus{background:#3498db}.stock-limits{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--gray-500)}.prix-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.prix-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.prix-label{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.prix-value{font-size:var(--text-base);font-weight:700}.prix-value.achat{color:#e67e22}.prix-value.vente{color:#27ae60}.valeur-stock{background:linear-gradient(135deg,#3498db,#2980b9);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;color:var(--white)}.valeur-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.valeur-montant{font-size:var(--text-xl);font-weight:700}.produit-actions{padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;gap:var(--spacing-md)}.btn-stock-action{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--text-sm)}.btn-stock-action.add{background:#27ae60;color:var(--white)}.btn-stock-action.add:hover{background:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.btn-stock-action.adjust{background:var(--white);color:#3498db;border:2px solid #3498db}.btn-stock-action.adjust:hover{background:#3498db;color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.empty-state-stock{grid-column:1 / -1;padding:var(--spacing-3xl);text-align:center;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.empty-state-stock .empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state-stock h3{color:var(--gray-600);margin-bottom:var(--spacing-sm);font-size:var(--text-xl)}.empty-state-stock p{color:var(--gray-500);font-size:var(--text-base)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stock-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.stock-container{padding:var(--spacing-md)}.stock-header{padding:var(--spacing-lg)}.stats-grid,.filters-group-stock,.stock-grid,.info-grid{grid-template-columns:1fr}.produit-actions{flex-direction:column}}.warehouses-container{padding:2rem;max-width:100%;margin:0 auto;background:#f9fafb;min-height:100vh}.warehouses-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.page-header{position:sticky;top:70px;z-index:90;background:#f9fafb;padding:1.5rem 2rem;margin:0 -2rem 2rem;border-bottom:2px solid #e5e7eb;box-shadow:0 4px 6px -1px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:2rem;background:#fff;padding:1.5rem 2.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;width:100%}.header-content>div:first-child{flex:1}.header-actions{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.view-toggle{display:flex;gap:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.25rem}.toggle-btn{padding:.625rem 1.25rem;border:none;border-radius:8px;background:transparent;color:#6b7280;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.toggle-btn:hover{color:#2563eb;background:#f3f4f6}.toggle-btn.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 8px #2563eb4d}.header-content p{color:#6b7280;margin:.5rem 0 0;text-align:center}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500;color:#374151}.table-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden;border:1px solid #e5e7eb}.warehouses-table{width:100%;border-collapse:collapse}.warehouses-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.warehouses-table th{padding:1.25rem 1.5rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;text-transform:uppercase;letter-spacing:.05em}.warehouses-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.warehouses-table tbody tr:hover{background:#f9fafb}.warehouses-table tbody tr:last-child{border-bottom:none}.warehouses-table td{padding:1.25rem 1.5rem;color:#1f2937;font-size:.9375rem;vertical-align:middle}.warehouse-name{display:flex;align-items:center;gap:.75rem}.warehouse-icon-small{font-size:1.75rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.name-text{font-weight:600;color:#111827;font-size:1rem}.location-text{color:#6b7280;font-size:.9375rem}.text-muted{color:#9ca3af;font-style:italic}.date-text{color:#6b7280;font-size:.9375rem}.actions-column{width:150px;text-align:center}.actions-cell{text-align:center}.warehouses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.warehouse-card{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid transparent;background-clip:padding-box;border-radius:16px;padding:1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden}.warehouse-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:2px;background:linear-gradient(135deg,#e5e7eb,#d1d5db);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:0}.warehouse-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.warehouse-card:hover:before{background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8)}.warehouse-header{display:flex;justify-content:space-between;align-items:ce2rem;padding:1.75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;position:relative;z-index:1}.warehouse-icon{font-size:4.5rem;filter:drop-shadow(0 4px 6px rgba(37,99,235,.3));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.warehouse-card h3{font-size:1.125rem;font-weight:700;color:#111827;margin:0 0 .75rem;line-height:1.4}.warehouse-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#fefce8,#fef3c7);border-radius:10px;border-left:3px solid #f59e0b;position:relative;z-index:1}.info-item{display:flex;align-items:center;gap:.5rem;color:#78350f;font-size:.875rem;font-weight:500;line-height:1.5}.info-icon{font-size:1.125rem;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.warehouse-meta{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin-bottom:1rem;font-size:.8125rem;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border-radius:10px;border-left:3px solid #9333ea;position:relative;z-index:1}.meta-label{color:#581c87;font-weight:600;display:flex;align-items:center;gap:.5rem}.meta-label:before{content:"📅";font-size:1rem}.meta-value{color:#3b0764;font-weight:700;background:#fff;padding:.375rem .75rem;border-radius:8px;font-size:.8125rem;box-shadow:0 2px 4px #0000001a}.warehouse-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;margin-top:1rem;border-top:2px solid #e5e7eb;position:relative;z-index:1}.status-badge{padding:.375rem .875rem;border-radius:24px;font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:.375rem;text-transform:uppercase;letter-spacing:.025em}.status-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;box-shadow:0 2px 4px #05966926}.status-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 4px #dc262626}.warehouse-description{color:#6b7280;font-size:.95rem;margin-bottom:1rem;line-height:1.5}.warehouse-info{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.5rem;padding-top:1.25rem;border-top:1px solid #e5e7eb}.info-item{display:flex;align-items:center;gap:.625rem;color:#6b7280;font-size:.9375rem;line-height:1.5}.info-icon{font-size:1.25rem;opacity:.8}.warehouse-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid #e5e7eb}.btn-action{padding:.625rem 1.25rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500}.btn-edit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #2563eb33}.btn-edit:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-edit .btn-icon{font-size:1.1rem}.btn-edit .btn-text{font-weight:500}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@media(max-width:768px){.warehouses-container{padding:1rem}.header-content h1{font-size:1.5rem}.warehouses-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.search-box{min-width:100%}}.rapports-container{padding:2rem;max-width:100%;margin:0 auto;background:#f9fafb;min-height:100vh}.report-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.report-tabs{display:flex;gap:1rem;margin-bottom:2rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap}.tab-btn{flex:1;min-width:200px;padding:1rem 1.5rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#6b7280;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn span{font-size:1.5rem}.tab-btn:hover{border-color:#2563eb;color:#2563eb;background:#f0f9ff;transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb4d}.report-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.summary-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;padding:2rem;display:flex;align-items:center;gap:1.5rem;border-left:5px solid #3b82f6;box-shadow:0 4px 6px #0000000d;transition:transform .3s ease}.summary-card:hover{transform:translateY(-5px)}.summary-card.alert{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left-color:#f59e0b}.card-icon{font-size:3.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.card-content h3{margin:0 0 .5rem;font-size:.875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.card-value{margin:0;font-size:2rem;font-weight:700;color:#1f2937}.report-table{width:100%;border-collapse:collapse}.report-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.report-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;text-transform:uppercase;letter-spacing:.05em}.report-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.report-table tbody tr:hover{background:#f9fafb}.report-table td{padding:1rem 1.5rem;color:#1f2937;font-size:.9375rem}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.total-value-card{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:16px;padding:2rem;text-align:center;margin-bottom:2rem;border-left:5px solid #10b981}.total-value-card h3{margin:0 0 1rem;font-size:1.25rem;color:#065f46}.total-amount{margin:0;font-size:3rem;font-weight:700;color:#064e3b}.status-badge{padding:.375rem .875rem;border-radius:24px;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:.375rem;text-transform:uppercase;letter-spacing:.025em}.status-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.status-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.inventaire-container{padding:2rem;max-width:1600px;margin:0 auto}.inventaire-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-content h1{font-size:2rem;color:#1f2937;display:flex;align-items:center;gap:.75rem;margin:0}.header-content h1 span{font-size:2.5rem}.header-content p{color:#6b7280;margin:.5rem 0 0}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{font-weight:500;color:#374151;font-size:.95rem}.filter-group select{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.search-box{flex:1;min-width:300px;position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem}.search-box input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;color:#1f2937}.inventory-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.inventory-table{width:100%;border-collapse:collapse}.inventory-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.inventory-table th{padding:1rem;text-align:left;font-weight:600;color:#374151;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.inventory-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s}.inventory-table tbody tr:hover{background:#f9fafb}.inventory-table td{padding:1rem;color:#4b5563}.article-info strong{color:#1f2937;font-size:1rem}.quantity-info{display:flex;flex-direction:column;gap:.25rem}.quantity-info strong{color:#1f2937;font-size:1.1rem}.stock-range{font-size:.85rem;color:#6b7280}.status-badge{padding:.35rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.status-success{background:#d1fae5;color:#065f46}.status-warning{background:#fef3c7;color:#92400e}.status-danger{background:#fee2e2;color:#991b1b}.status-info{background:#dbeafe;color:#1e40af}.table-actions{display:flex;gap:.5rem}.btn-action{padding:.5rem .75rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe;transform:scale(1.05)}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca;transform:scale(1.05)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px}.pagination-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#2563eb;color:#2563eb}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#6b7280;font-size:.95rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;border:2px dashed #d1d5db}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:#374151;margin-bottom:.5rem}.empty-state p{color:#6b7280}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;line-height:1}.modal-close:hover{color:#1f2937}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:#1f2937}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input.error,.form-group select.error{border-color:#dc2626}.error-text{display:block;color:#dc2626;font-size:.875rem;margin-top:.25rem}@media(max-width:1024px){.inventory-table-wrapper{overflow-x:auto}.inventory-table{min-width:1000px}}@media(max-width:768px){.inventaire-container{padding:1rem}.header-content h1{font-size:1.5rem}.filters-section{flex-direction:column}.filter-group,.search-box{min-width:100%}.form-row{grid-template-columns:1fr}}.operations-stock-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;color:var(--text-primary);margin:0 0 .5rem}.page-header p{color:var(--text-secondary);margin:0}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.action-btn{background:#fff;border:2px solid transparent;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0000001a;color:#111827}.action-btn:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.action-btn.increase{border-color:#10b981}.action-btn.increase:hover{background:#ecfdf5}.action-btn.decrease{border-color:#ef4444}.action-btn.decrease:hover{background:#fef2f2}.action-btn.reserve{border-color:#f59e0b}.action-btn.reserve:hover{background:#fffbeb}.action-btn.release{border-color:#6366f1}.action-btn.release:hover{background:#eef2ff}.action-icon{font-size:2.5rem;flex-shrink:0}.action-title{font-size:1.125rem;font-weight:700;color:#111827;margin-bottom:.25rem}.action-desc{font-size:.875rem;color:#4b5563}.content-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #0000001a;margin-bottom:2rem}.content-card h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-primary)}.content-card h3{margin:1.5rem 0 1rem;font-size:1.25rem;color:var(--text-primary)}.check-stock-form{display:flex;gap:1rem;align-items:flex-end;margin-bottom:2rem}.check-stock-form .form-group{flex:1}.stock-levels-table{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.stock-levels-table table{width:100%;border-collapse:collapse}.stock-levels-table th{background:var(--primary-light);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary)}.stock-levels-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.qty-available{color:#10b981;font-weight:700;font-size:1.125rem}.qty-reserved{color:#f59e0b;font-weight:600}.qty-total{font-weight:700;font-size:1.125rem}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-badge.available{background:#d1fae5;color:#065f46}.status-badge.unavailable{background:#fee2e2;color:#991b1b}.operation-form{display:flex;flex-direction:column;gap:1.5rem}.operation-header{text-align:center;padding:1rem;background:var(--primary-light);border-radius:12px}.operation-icon{font-size:3rem;display:block;margin-bottom:.5rem}.operation-desc{color:var(--text-secondary);margin:0;font-size:.9375rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit}.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 var(--primary-light)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.btn-primary{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #dc26264d}.btn-primary:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.operations-stock-page{padding:1rem}.quick-actions{grid-template-columns:1fr}.check-stock-form{flex-direction:column;align-items:stretch}.stock-levels-table{overflow-x:auto}}.horaires-acces{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.btn-add{padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white);border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.info-banner{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid var(--info);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex;gap:var(--spacing-md)}.info-icon{font-size:32px}.info-banner h3{font-size:var(--text-lg);color:var(--gray-900);margin:0 0 var(--spacing-xs) 0}.info-banner p{color:var(--gray-700);margin:0;font-size:var(--text-sm)}.horaires-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-lg)}.horaire-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:2px solid var(--gray-200);transition:all var(--transition-fast)}.horaire-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.horaire-card.inactive{opacity:.6;background:var(--gray-50)}.horaire-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.role-badge{background:var(--primary-red);color:var(--white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm)}.switch{position:relative;display:inline-block;width:50px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--gray-400);transition:var(--transition-fast);border-radius:34px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%}input:checked+.slider{background-color:var(--success)}input:checked+.slider:before{transform:translate(24px)}.horaire-time{margin-bottom:var(--spacing-lg)}.time-range{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.time-icon{font-size:24px}.time-duration{color:var(--gray-600);font-size:var(--text-sm)}.horaire-jours{margin-bottom:var(--spacing-lg)}.jours-label{font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-sm);font-size:var(--text-sm)}.jours-list{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.jour-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.jour-badge.active{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.jour-badge.inactive{background:var(--gray-200);color:var(--gray-500)}.horaire-actions{display:flex;gap:var(--spacing-sm)}.btn-edit,.btn-delete{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-edit{background:var(--info-light);color:var(--info)}.btn-edit:hover{background:var(--info);color:var(--white)}.btn-delete{background:var(--error-light);color:var(--error)}.btn-delete:hover{background:var(--error);color:var(--white)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-content{background:var(--white);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-close:hover{background:var(--gray-200);color:var(--gray-900)}.modal-form{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-sm)}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-red)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.jours-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.jour-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.jour-checkbox:hover{background:var(--gray-50)}.jour-checkbox input:checked~.jour-label{font-weight:700;color:var(--primary-red)}.jour-checkbox input:checked{accent-color:var(--primary-red)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:600}.checkbox-label input{width:auto;accent-color:var(--primary-red);cursor:pointer}.modal-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:2px solid var(--gray-200)}.btn-cancel,.btn-submit{flex:1;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel{background:var(--gray-200);color:var(--gray-700)}.btn-submit{background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white)}.empty-state p{color:var(--gray-500);margin:var(--spacing-sm) 0}.text-muted{font-size:var(--text-sm);color:var(--gray-400)}@media(max-width:768px){.page-header{flex-direction:column;gap:var(--spacing-md)}.btn-add{width:100%}.horaires-grid,.form-row,.jours-selector{grid-template-columns:1fr}.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}}.points-vente-page{padding:var(--spacing-lg);max-width:1600px;margin:0 auto}.btn-add{padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white);border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);text-decoration:none;display:inline-block}.btn-add:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-md);transition:transform var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:28px}.stat-icon.primary{background:var(--primary-red-lighter)}.stat-icon.success{background:var(--success-light)}.stat-icon.error{background:var(--error-light)}.stat-icon.warning{background:var(--warning-light)}.stat-icon.info{background:var(--info-light)}.stat-info{flex:1}.stat-label{font-size:var(--text-sm);color:var(--gray-600);margin:0 0 var(--spacing-xs) 0}.stat-value{font-size:var(--text-xl);font-weight:700;color:var(--gray-900);margin:0}.filters-section{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.filter-group{display:flex;align-items:center;gap:var(--spacing-md)}.filter-group label{font-weight:600;color:var(--gray-700)}.filter-group select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base)}.points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:var(--spacing-lg)}.point-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:2px solid var(--gray-200);transition:all var(--transition-fast)}.point-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.point-card.ouvert{border-left:4px solid var(--success)}.point-card.ferme{border-left:4px solid var(--error);opacity:.8}.point-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.point-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.point-title h3{font-size:var(--text-xl);color:var(--gray-900);margin:0}.statut-badge.ouvert{background:var(--success-light);color:var(--success)}.statut-badge.ferme{background:var(--error-light);color:var(--error)}.caisse-indicator{margin-top:var(--spacing-sm)}.caisse-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--warning-light);color:var(--warning);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}.point-info{margin-bottom:var(--spacing-lg)}.info-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);color:var(--gray-700)}.info-row .icon{font-size:var(--text-lg)}.point-stats{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.stat-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-item .stat-label{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase;font-weight:600}.stat-item .stat-value{font-size:var(--text-lg);font-weight:700;color:var(--primary-red)}.point-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.btn-action{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-300);background:var(--white);color:var(--gray-700);border-radius:var(--radius-md);font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-sm)}.btn-action:hover{background:var(--gray-50);border-color:var(--primary-red);color:var(--primary-red)}.btn-action.view{border-color:var(--info);color:var(--info)}.btn-action.view:hover{background:var(--info-light)}.btn-action.edit{border-color:var(--warning);color:var(--warning)}.btn-action.edit:hover{background:var(--warning-light)}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--spacing-xl);background:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-300)}.empty-state p{color:var(--gray-500);font-size:var(--text-lg)}.loading-state{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;color:var(--gray-600);font-size:var(--text-lg)}.empty-state{background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;color:var(--gray-500);font-size:var(--text-lg);grid-column:1 / -1}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid;margin-bottom:var(--spacing-lg)}.alert-error{background-color:#fee;border-left-color:var(--primary-red);color:#c33}.alert-warning{background-color:#ffeaa7;border-left-color:#f1c40f;color:#7d6608}.alert-success{background-color:#d4edda;border-left-color:#28a745;color:#155724}.points-table-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.points-table{width:100%;border-collapse:collapse;font-size:14px}.points-table thead{background:linear-gradient(to right,var(--gray-100),var(--gray-50));border-bottom:2px solid var(--gray-200)}.points-table thead th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:700;color:var(--gray-700);white-space:nowrap}.points-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background-color var(--transition-fast)}.points-table tbody tr:hover{background-color:var(--gray-50)}.points-table tbody td{padding:var(--spacing-md) var(--spacing-lg);color:var(--gray-700)}.points-table tbody td.bold{font-weight:600;color:var(--gray-900)}.points-table tbody td.right{text-align:right;font-weight:600;color:var(--primary-red)}.points-table tbody td.center{text-align:center}.points-table tbody tr.row-ouvert{background-color:#f0fdf4}.points-table tbody tr.row-ferme{background-color:#fef2f2;opacity:.8}.points-table .statut-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:600}.points-table .statut-badge.ouvert{background:#dcfce7;color:#166534}.points-table .statut-badge.ferme{background:#fee2e2;color:#991b1b}.points-table .actions-cell{text-align:center}.btn-action-small{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--gray-100);color:var(--gray-700);text-decoration:none;font-size:16px;transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent}.btn-action-small:hover{background:var(--primary-red);color:var(--white);transform:scale(1.1)}@media(max-width:768px){.page-header{flex-direction:column;gap:var(--spacing-md)}.btn-add{width:100%;text-align:center}.stats-overview,.points-grid,.point-actions{grid-template-columns:1fr}.points-table-container{overflow-x:auto}.points-table{font-size:12px}.points-table thead th,.points-table tbody td{padding:var(--spacing-sm) var(--spacing-md)}.btn-action-small{width:28px;height:28px;font-size:14px}}.assigner-roles-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.assigner-roles-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;overflow:hidden}.ar-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.ar-title{margin:0 0 4px;font-size:18px;font-weight:700;color:#1a1a1a}.ar-subtitle{margin:0;font-size:13px;color:#888}.ar-close{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;line-height:1}.ar-close:hover{background:#f0f0f0;color:#333}.ar-body{padding:16px 24px;flex:1;overflow-y:auto}.ar-error{background:#fff5f5;border:1px solid #fca5a5;color:#e53935;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.ar-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:#888}.ar-spinner{width:30px;height:30px;border:3px solid #e3f2fd;border-top-color:#1e88e5;border-radius:50%;animation:ar-spin .7s linear infinite}@keyframes ar-spin{to{transform:rotate(360deg)}}.ar-empty{text-align:center;padding:30px;color:#999;font-size:14px}.ar-hint{margin:0 0 14px;font-size:13px;color:#666}.ar-roles-list{display:flex;flex-direction:column;gap:8px}.ar-role-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #e8e8e8;border-radius:10px;cursor:pointer;transition:all .18s;background:#fff}.ar-role-row:hover{border-color:#90caf9;background:#f5f9ff}.ar-role-row.selected{border-color:#1e88e5;background:linear-gradient(135deg,#e3f2fd,#f0f7ff)}.ar-role-row input[type=checkbox]{width:17px;height:17px;accent-color:#1e88e5;cursor:pointer;flex-shrink:0}.ar-role-icon{font-size:22px;flex-shrink:0}.ar-role-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ar-role-name{font-size:14px;font-weight:700;color:#1a1a1a}.ar-role-desc{font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar-check{font-size:16px;flex-shrink:0}.ar-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f0f0f0}.ar-btn-cancel{padding:10px 20px;background:#f5f5f5;color:#555;border:1px solid #ddd;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.ar-btn-cancel:hover{background:#ebebeb}.ar-btn-save{padding:10px 22px;background:#1e88e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.ar-btn-save:hover:not(:disabled){background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 12px #1e88e54d}.ar-btn-save:disabled{opacity:.6;cursor:not-allowed}.ajouter-pos{padding:var(--spacing-xl)}.page-header{margin-bottom:var(--spacing-2xl)}.header-content{display:flex;align-items:center;gap:var(--spacing-lg)}.back-button{background:#fff;border:2px solid var(--gray-300);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.back-button:hover{background:var(--gray-100);border-color:var(--gray-400)}.page-header h1{margin:0;font-size:var(--text-2xl);color:var(--gray-900);font-weight:700}.page-header p{margin:var(--spacing-xs) 0 0;color:var(--gray-600);font-size:var(--text-base)}.form-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);max-width:900px}.pos-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.alert-error{background:#fef2f2;border:2px solid #dc2626;color:#991b1b}.alert-success{background:#f0fdf4;border:2px solid #16a34a;color:#166534}.form-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-section h3{margin:0;font-size:var(--text-lg);color:var(--gray-800);font-weight:700;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-200)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:600;color:var(--gray-700);font-size:var(--text-sm)}.required{color:#dc2626}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:all var(--transition-fast);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--gray-100);cursor:not-allowed}.field-hint{font-size:var(--text-sm);color:var(--gray-600);font-style:italic}.field-hint-info{display:block;margin-top:4px;color:var(--primary-600, #2563eb);background:var(--primary-50, #eff6ff);border:1px solid var(--primary-200, #bfdbfe);border-radius:var(--radius-sm, 4px);padding:4px 8px;font-style:normal;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:2px solid var(--gray-200)}.btn-cancel,.btn-submit{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel{background:#fff;border:2px solid var(--gray-300);color:var(--gray-700)}.btn-cancel:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.btn-submit{background:linear-gradient(135deg,#3b82f6,#1e40af);border:none;color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.info-box{background:#e3f2fd;border:2px solid #2196f3;border-radius:8px;padding:16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.info-box p{margin:0;color:#1565c0;font-size:14px;line-height:1.5}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}@media(max-width:768px){.ajouter-pos,.form-container{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.pos-stepper{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto var(--spacing-2xl);max-width:480px}.pos-stepper-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;transition:opacity .2s}.pos-stepper-step.done,.pos-stepper-step.active{opacity:1}.step-num{width:32px;height:32px;border-radius:50%;background:var(--gray-300);color:var(--gray-700);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm);transition:background .2s,color .2s}.pos-stepper-step.done .step-num{background:var(--success-500, #22c55e);color:#fff}.pos-stepper-step.active .step-num{background:var(--primary-600, #2563eb);color:#fff}.step-label{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--gray-600);white-space:nowrap}.step-connector{flex:1;height:2px;background:var(--gray-300);min-width:40px;margin-bottom:16px}.pos-roles-step{display:flex;flex-direction:column;gap:var(--spacing-lg)}.roles-step-desc{color:var(--gray-600);font-size:var(--text-sm);line-height:1.6}.details-pos{padding:20px;max-width:1200px;margin:0 auto}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.error-container h2{color:#d32f2f;margin-bottom:10px}.error-container button{margin-top:20px;padding:10px 20px;background:#1e88e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-container button:hover{background:#1565c0}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.btn-edit-pos{padding:10px 20px;background:#1e88e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-edit-pos:hover{background:#1565c0;transform:translateY(-1px);box-shadow:0 4px 8px #1e88e54d}.header-info{display:flex;align-items:center;gap:15px}.header-info h1{margin:0;font-size:28px;color:#333}.status-badge{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:5px}.addresses-section{padding:24px}.addresses-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.btn-add-address{padding:10px 20px;background:#1e88e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-add-address:hover{background:#1565c0;transform:translateY(-1px)}.addresses-list{display:grid;gap:16px;margin-top:24px}.address-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s}.address-card:hover{border-color:#1e88e5;box-shadow:0 4px 12px #1e88e526}.address-info{flex:1}.default-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:12px}.address-street{font-size:16px;font-weight:600;color:#333;margin:0 0 8px}.address-street2{font-size:14px;color:#666;margin:0 0 12px}.address-country,.address-region,.address-city{font-size:13px;color:#555;margin:6px 0}.address-actions{display:flex;gap:8px}.address-actions button{padding:8px 16px;border:2px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.address-actions button:hover{border-color:#1e88e5;background:#e3f2fd;color:#1565c0}.address-form-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.address-form-content{background:#fff;border-radius:12px;padding:32px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.address-form-content h4{margin:0 0 24px;font-size:20px;color:#333}.address-form-content .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.address-form-content .form-group{display:flex;flex-direction:column}.address-form-content .form-group label{font-size:13px;font-weight:500;color:#555;margin-bottom:6px}.address-form-content .form-group input,.address-form-content .form-group select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:all .2s}.address-form-content .form-group input:focus,.address-form-content .form-group select:focus{outline:none;border-color:#1e88e5}.address-form-content .checkbox-group{display:flex;align-items:center;grid-column:1 / -1}.address-form-content .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0}.address-form-content .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.address-form-content .form-actions button{padding:10px 24px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.address-form-content .form-actions button[type=button]{background:#f5f5f5;color:#666}.address-form-content .form-actions button[type=button]:hover{background:#e0e0e0}.address-form-content .form-actions .btn-primary{background:#1e88e5;color:#fff}.address-form-content .form-actions .btn-primary:hover{background:#1565c0}.status-created{background:#fff3e0;color:#e65100}.tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:30px}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#666;transition:all .3s;position:relative;top:2px}.tab:hover{color:#1e88e5;background:#f5f9fc}.tab.active{color:#1e88e5;border-bottom-color:#1e88e5}.tab-content{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-card{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 4px #0000000d}.info-card h3{margin:0 0 20px;color:#333;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-size:13px;color:#666;font-weight:500}.info-value{font-size:16px;color:#333;font-weight:600}.users-section{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 4px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-header h3{margin:0;color:#333;font-size:18px}.btn-add-user{padding:10px 20px;background:#1e88e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .3s}.btn-add-user:hover{background:#1565c0}.user-form-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.user-form-content{background:#fff;padding:30px;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto}.user-form-content h4{margin:0 0 25px;color:#333;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:25px}.form-group label{font-size:14px;color:#555;font-weight:500}.form-group input,.form-group select{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.checkbox-group{flex-direction:row;align-items:center;grid-column:span 2}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e0e0e0}.form-actions button{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.form-actions button[type=button]{background:#f5f5f5;color:#666}.form-actions button[type=button]:hover{background:#e0e0e0}.form-actions .btn-primary{background:#1e88e5;color:#fff}.form-actions .btn-primary:hover{background:#1565c0}.users-list{display:flex;flex-direction:column;gap:15px}.user-card{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.user-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.user-info{display:flex;align-items:center;gap:15px;flex:1}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.user-info h4{margin:0;color:#333;font-size:16px}.user-username,.user-phone{margin:5px 0 0;font-size:13px;color:#666}.user-details{display:flex;gap:10px;align-items:center}.role-badge{padding:5px 12px;border-radius:15px;font-size:12px;font-weight:500}.role-manager{background:#e3f2fd;color:#1976d2}.role-cashier{background:#fff3e0;color:#e65100}.role-storekeeper{background:#f3e5f5;color:#7b1fa2}.btn-edit-user{padding:8px 16px;background:#fff;border:1px solid #1e88e5;color:#1e88e5;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s}.btn-edit-user:hover{background:#1e88e5;color:#fff}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{margin-bottom:20px;font-size:16px}.empty-state button{padding:12px 24px;background:#1e88e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .3s}.empty-state button:hover{background:#1565c0}@media(max-width:768px){.details-pos{padding:15px}.header-info{flex-direction:column;align-items:flex-start;gap:10px}.header-info h1{font-size:22px}.form-grid{grid-template-columns:1fr}.checkbox-group{grid-column:span 1}.section-header,.user-card{flex-direction:column;gap:15px;align-items:flex-start}.user-details{width:100%;justify-content:flex-start}.btn-edit-user{width:100%}}.utilisateurs-pos-container{min-height:100vh;background:linear-gradient(135deg,#f9f9f9,#f0f0f0);padding:0}.page-header{background:#fff;padding:25px 40px;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.page-header h1{margin:0 0 8px;font-size:28px;color:#333;font-weight:700}.pos-info{margin:0;font-size:15px;color:#666}.header-actions{display:flex;gap:12px}.btn-back{padding:12px 24px;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:8px;font-size:15px;font-weight:500;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #6b728033}.btn-back:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-1px);box-shadow:0 4px 8px #6b72804d}.btn-add{padding:12px 24px;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:8px;font-size:15px;font-weight:500;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #dc262633}.btn-add:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.alert{margin:20px 40px;padding:16px 20px;border-radius:8px;font-size:14px}.alert-error{background:#fee;border-left:4px solid #dc2626;color:#991b1b}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px}.spinner{width:50px;height:50px;border:4px solid #e0e0e0;border-top:4px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{margin-top:20px;color:#666;font-size:16px}.users-grid{padding:30px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.user-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:1px solid #e5e7eb}.user-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.user-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.user-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0}.user-title{flex:1;min-width:0}.user-title h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.username{margin:0;font-size:14px;color:#6b7280;font-weight:500}.role-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap}.user-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.detail-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#4b5563}.detail-item .icon{font-size:16px;width:20px;text-align:center}.status-active{color:#059669;font-weight:600}.status-inactive{color:#dc2626;font-weight:600}.user-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px;border-top:1px solid #f3f4f6}.btn-roles{grid-column:1 / -1;background:#ede9fe;color:#7c3aed}.btn-roles:hover{background:#ddd6fe;transform:translateY(-1px)}.btn-edit,.btn-roles,.btn-delete{padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit{background:#f3f4f6;color:#374151}.btn-edit:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-delete{background:#fee;color:#dc2626}.btn-delete:hover{background:#fecaca;transform:translateY(-1px)}.empty-state{text-align:center;padding:80px 20px}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-state h2{margin:0 0 12px;font-size:24px;color:#374151}.empty-state p{margin:0;font-size:16px;color:#6b7280}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;color:#1f2937;font-weight:700}.modal-close{width:40px;height:40px;border:none;background:#f3f4f6;border-radius:50%;font-size:24px;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e5e7eb;color:#374151}.modal-body{padding:30px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group select{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-group input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-group small{font-size:12px;color:#6b7280}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{font-size:15px;color:#374151}.modal-footer{padding:20px 30px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.btn-cancel{padding:12px 24px;background:#f3f4f6;border:none;border-radius:8px;font-size:15px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e5e7eb}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:8px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #dc262633}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.users-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 24px}.header-actions{width:100%;justify-content:space-between}.users-grid{padding:20px 16px;grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}.modal-body{padding:20px}}@media(max-width:480px){.page-header{padding:16px}.page-header h1{font-size:22px}.btn-back,.btn-add{padding:10px 16px;font-size:14px}.user-card{padding:20px}.user-header{flex-wrap:wrap}.role-badge{width:100%;text-align:center}.modal-header{padding:20px}.modal-header h2{font-size:20px}.modal-footer{padding:16px 20px;flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.user-rbac-roles{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px 0}.user-rbac-roles .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.75rem;background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}.user-rbac-roles .badge-rbac{background:#ede9fe;color:#5b21b6}.fermeture-caisse-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.page-header h1{font-size:var(--text-3xl);color:var(--gray-900);margin-bottom:var(--spacing-xs)}.page-header p{color:var(--gray-600)}.btn-cancel{padding:var(--spacing-md) var(--spacing-xl);background:var(--gray-200);color:var(--gray-700);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{background:var(--gray-300)}.caisses-list{display:grid;gap:var(--spacing-lg)}.caisse-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--gray-300)}.caisse-card.ouverte{border-left-color:var(--success)}.caisse-card.en_attente_validation{border-left-color:var(--warning)}.caisse-card.validee{border-left-color:var(--info)}.caisse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.caisse-header h3{font-size:var(--text-xl);color:var(--gray-900);margin:0 0 var(--spacing-xs) 0}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--gray-100);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--gray-700)}.statut-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}.statut-badge.success{background:var(--success-light);color:var(--success)}.statut-badge.warning{background:var(--warning-light);color:var(--warning)}.statut-badge.info{background:var(--info-light);color:var(--info)}.caisse-details{display:grid;gap:var(--spacing-lg)}.detail-section{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md)}.detail-section h4{font-size:var(--text-base);color:var(--gray-900);margin:0 0 var(--spacing-md) 0;font-weight:700}.detail-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.detail-row .label{color:var(--gray-600);font-weight:600}.detail-row .value{color:var(--gray-900);font-weight:700}.paiements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.paiement-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--white);border-radius:var(--radius-sm)}.paiement-item .icon{font-size:var(--text-xl)}.paiement-item .label{flex:1;font-size:var(--text-sm);color:var(--gray-600)}.paiement-item .value{font-weight:700;color:var(--gray-900)}.total-row{display:flex;justify-content:space-between;padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-md);border:2px solid var(--primary-red)}.total-row .label{font-weight:700;color:var(--gray-900);font-size:var(--text-lg)}.total-row .value{font-weight:700;color:var(--primary-red);font-size:var(--text-lg)}.note-ecart{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--warning-light);border-radius:var(--radius-sm);border-left:4px solid var(--warning)}.caisse-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:2px solid var(--gray-200)}.btn-validate{width:100%;padding:var(--spacing-md);background:linear-gradient(135deg,var(--success) 0%,#1b5e20 100%);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base)}.btn-validate:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:2px solid var(--gray-200)}.modal-header h2{font-size:var(--text-xl);color:var(--gray-900);margin:0}.modal-close{background:none;border:none;font-size:32px;color:var(--gray-600);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background:var(--gray-200)}.modal-body{padding:var(--spacing-lg)}.validation-info{text-align:center;padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.validation-info h3{margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.validation-info p{margin:0;color:var(--gray-600)}.form-section{display:grid;gap:var(--spacing-lg)}.recap-solde{padding:var(--spacing-md);background:var(--info-light);border-radius:var(--radius-md);border-left:4px solid var(--info)}.recap-item{display:flex;justify-content:space-between;align-items:center}.recap-item .label{font-weight:600;color:var(--gray-700)}.recap-item .value{font-weight:700;font-size:var(--text-xl);color:var(--info)}.form-group label{font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-sm)}.input-field{padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:700;transition:border-color var(--transition-fast)}.input-field:focus{outline:none;border-color:var(--primary-red)}.textarea-field{padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical}.textarea-field:focus{outline:none;border-color:var(--primary-red)}.ecart-display{padding:var(--spacing-lg);border-radius:var(--radius-md);text-align:center}.ecart-display.ok{background:var(--success-light)}.ecart-display.warning{background:var(--warning-light)}.ecart-display h4{margin:0 0 var(--spacing-sm) 0;color:var(--gray-900)}.ecart-value{font-size:var(--text-2xl);font-weight:700}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:2px solid var(--gray-200)}.btn-submit{flex:1;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--primary-red) 0%,var(--primary-red-darker) 100%);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(max-width:768px){.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0}.paiements-grid{grid-template-columns:1fr}}.ventes-container{padding:0;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.ventes-header{background:linear-gradient(135deg,var(--primary-red) 0%,#c92a2a 100%);padding:2rem;color:#fff;box-shadow:0 4px 20px #dc26264d}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.ventes-header h1{margin:0;font-size:2rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.ventes-header h1 span{font-size:2.5rem;animation:bounce 2s infinite}.ventes-header p{margin:.5rem 0 0;opacity:.9;font-size:1.1rem}.btn-add-vente{background:#fff;color:var(--primary-red);padding:.875rem 1.75rem;border-radius:12px;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-add-vente:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00000026;background:#f8f9ff}.header-actions-row{display:flex;align-items:center;gap:.75rem}.btn-refresh{background:#fff3;border:2px solid rgba(255,255,255,.4);color:#fff;width:44px;height:44px;border-radius:10px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-refresh:hover:not(:disabled){background:#ffffff59}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.summary-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;color:#fff}.summary-card .summary-label,.summary-card .summary-value,.summary-card .summary-unit{color:#fff}.summary-card:hover{background:#ffffff40;transform:translateY(-3px)}.summary-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#fff3}.summary-content{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.875rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.75rem;font-weight:700;line-height:1}.summary-unit{font-size:.875rem;opacity:.8}.ventes-filters{background:#fff;padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;flex-wrap:wrap}.search-bar{flex:1;min-width:250px;position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9ca3af}.search-bar input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease}.search-bar input:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px #dc26261a}.date-input,.select-filter{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background:#fff;transition:all .3s ease;min-width:150px}.date-input:focus,.select-filter:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px #dc26261a}.ventes-table-section{flex:1;padding:2rem;overflow-y:auto}.table-container{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 20px #00000014}.ventes-table{width:100%;border-collapse:collapse}.ventes-table thead{background:linear-gradient(135deg,var(--primary-red) 0%,#c92a2a 100%);color:#fff}.ventes-table th{padding:1.25rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.5px}.ventes-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .2s ease}.ventes-table tbody tr:hover{background:#f9fafb;transform:scale(1.005)}.ventes-table td{padding:1.25rem;font-size:.95rem}.vente-id{font-weight:600;color:var(--primary-red);font-family:Courier New,monospace}.date-cell{display:flex;flex-direction:column;gap:.25rem}.date-cell .date{font-weight:600;color:#374151}.date-cell .heure{font-size:.875rem;color:#6b7280}.client-cell{font-weight:500;color:#1f2937}.type-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;border-radius:8px;font-size:.875rem;font-weight:500}.articles-cell{text-align:center;font-weight:600;color:var(--primary-red)}.montant-cell{font-weight:700;color:#059669;white-space:nowrap}.paiement-badge{display:flex;align-items:center;gap:.3rem;font-size:.85rem;white-space:nowrap}.statut-badge{display:inline-block;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600}.statut-badge.success{background:#d1fae5;color:#065f46}.statut-badge.warning{background:#fef3c7;color:#92400e}.statut-badge.danger{background:#fee2e2;color:#991b1b}.vendeur-cell{color:#6b7280;font-size:.875rem}.actions-cell{display:flex;gap:.5rem}.btn-action{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;font-size:1.125rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-action.view{background:#dbeafe}.btn-action.view:hover{background:#3b82f6;transform:scale(1.1)}.btn-action.print{background:#e5e7eb}.btn-action.print:hover{background:#6b7280;transform:scale(1.1)}.empty-state-ventes{text-align:center;padding:4rem 2rem;background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014}.empty-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.5}.empty-state-ventes h3{color:#374151;margin-bottom:.75rem;font-size:1.5rem}.empty-state-ventes p{color:#6b7280;margin-bottom:2rem}.btn-empty{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,var(--primary-red) 0%,#c92a2a 100%);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;transition:all .3s ease}.btn-empty:hover{transform:translateY(-2px);box-shadow:0 6px 25px #dc26264d}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.btn-action.cancel{background:#fff0f0;border:1px solid #fca5a5;color:#dc2626}.btn-action.cancel:hover{background:#fee2e2;border-color:#dc2626}.cancel-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.cancel-modal{background:#fff;border-radius:14px;width:100%;max-width:440px;box-shadow:0 20px 60px #0003;overflow:hidden}.cancel-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.cancel-modal-header h3{margin:0;font-size:1rem;font-weight:700;color:#1f2937}.cancel-modal-close{border:none;background:none;font-size:1.1rem;cursor:pointer;color:#6b7280;padding:4px}.cancel-modal-close:hover{color:#111}.cancel-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.cancel-modal-body p{margin:0;font-size:.9rem;color:#374151}.cancel-modal-body label{font-size:.8rem;font-weight:600;color:#6b7280}.cancel-modal-body textarea{border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:.88rem;resize:vertical;outline:none;font-family:inherit;width:100%;box-sizing:border-box}.cancel-modal-body textarea:focus{border-color:#dc2626}.cancel-modal-error{color:#dc2626;font-size:.82rem;margin:0}.cancel-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e5e7eb}.btn-secondary{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:.88rem;color:#374151}.btn-secondary:hover{background:#f3f4f6}.btn-danger{border:none;background:#dc2626;color:#fff;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:.88rem;font-weight:600}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.pin-validation-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pin-validation-modal{background:#fff;border-radius:20px;width:90%;max-width:450px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.pin-validation-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:2.5rem 2rem 2rem;text-align:center;color:#fff;position:relative}.pin-icon{font-size:3.5rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pin-validation-header h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.pin-subtitle{margin:0;font-size:.95rem;opacity:.95;font-weight:400}.pin-close-btn{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background var(--transition-fast)}.pin-close-btn:hover{background:#fff3}.pin-validation-body{padding:2.5rem 2rem 2rem}.pin-error{background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #fc8181;border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{font-size:1.5rem;flex-shrink:0}.pin-error span:last-child{color:#c53030;font-weight:500;font-size:.95rem}.pin-input-container{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.pin-digit-input{width:4rem;height:4.5rem;font-size:2rem;font-weight:700;text-align:center;border:3px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#2d3748;transition:all .3s ease;outline:none;font-family:Courier New,monospace;caret-color:#667eea}.pin-digit-input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea33;transform:translateY(-2px)}.pin-digit-input:disabled{opacity:.6;cursor:not-allowed}.pin-digit-input:not(:placeholder-shown){animation:digitPop .2s ease-out}@keyframes digitPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.pin-actions{display:flex;gap:1rem;margin-top:2rem}.btn-cancel,.btn-validate{flex:1;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.btn-cancel{background:#fff;color:#4a5568;border:2px solid #e2e8f0}.btn-cancel:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-validate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.btn-validate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-validate:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-cancel:active:not(:disabled),.btn-validate:active:not(:disabled){transform:translateY(0)}@media(max-width:500px){.pin-validation-modal{width:95%;margin:1rem}.pin-validation-header{padding:2rem 1.5rem 1.5rem}.pin-icon{font-size:3rem}.pin-validation-header h3{font-size:1.3rem}.pin-subtitle{font-size:.9rem}.pin-validation-body{padding:2rem 1.5rem}.pin-input-container{gap:.75rem}.pin-digit-input{width:3.5rem;height:4rem;font-size:1.75rem}.pin-actions{flex-direction:column}.btn-cancel,.btn-validate{width:100%}}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-validate:disabled:before{content:"";position:absolute;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loading .8s linear infinite;left:calc(50% - 10px);top:calc(50% - 10px)}.caisse-container{display:flex;flex-direction:column;height:100%;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.caisse-header{background:linear-gradient(135deg,var(--primary-red, #dc2626) 0%,#b91c1c 100%);padding:1.5rem 2rem;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;box-shadow:0 4px 20px #dc26264d}.caisse-header-left h1{margin:0;font-size:1.8rem;font-weight:700}.caisse-header-left p{margin:.25rem 0 0;opacity:.9;font-size:.95rem;text-transform:capitalize}.caisse-header-right{display:flex;align-items:center;gap:.75rem}.session-badge{display:flex;flex-direction:column;align-items:flex-end;padding:.5rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem}.session-badge.open{background:#22c55e40;border:1.5px solid rgba(34,197,94,.6)}.session-badge.closed{background:#ffffff26;border:1.5px solid rgba(255,255,255,.4)}.session-time{font-size:.75rem;font-weight:400;opacity:.85}.btn-ouvrir-caisse{background:#22c55e33;border:2px solid rgba(34,197,94,.7);color:#fff;padding:.6rem 1.2rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.btn-ouvrir-caisse:hover{background:#22c55e66}.btn-ouvrir-caisse-sm{background:var(--primary-red, #dc2626);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;margin-top:.75rem;transition:opacity .2s}.btn-ouvrir-caisse-sm:hover{opacity:.85}.btn-refresh-caisse{background:#fff3;border:1.5px solid rgba(255,255,255,.4);color:#fff;width:40px;height:40px;border-radius:8px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-refresh-caisse:hover{background:#ffffff59}.btn-refresh-rapports{display:inline-flex;align-items:center;gap:8px;padding:.55rem 1.1rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;letter-spacing:.2px;cursor:pointer;box-shadow:0 4px 12px #dc262640;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease;white-space:nowrap}.btn-refresh-rapports:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #dc262659}.btn-refresh-rapports:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #dc262640}.btn-refresh-rapports:disabled{opacity:.7;cursor:not-allowed}.btn-refresh-icon{display:inline-block;font-size:1.15rem;line-height:1}.btn-refresh-icon.spinning{animation:refresh-spin .9s linear infinite}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.caisse-tabs{display:flex;gap:0;background:#fff;border-bottom:2px solid #e5e7eb;overflow-x:auto;scrollbar-width:none}.caisse-tabs::-webkit-scrollbar{display:none}.caisse-tab{padding:1rem 1.5rem;border:none;background:transparent;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;margin-bottom:-2px}.caisse-tab:hover{color:#dc2626;background:#fef2f2}.caisse-tab.active{color:#dc2626;border-bottom-color:#dc2626;font-weight:700;background:#fef2f2}.caisse-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.caisse-loading,.caisse-empty{text-align:center;padding:3rem;color:#6b7280;display:flex;flex-direction:column;align-items:center;gap:.75rem}.caisse-empty span{font-size:3rem}.caisse-empty p{font-size:1.1rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.4rem;font-size:.9rem}.form-group label .required{color:#dc2626}.caisse-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.caisse-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.caisse-select{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background:#fff;cursor:pointer;box-sizing:border-box}.caisse-select:focus{outline:none;border-color:#dc2626}.caisse-textarea{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;resize:vertical;font-family:inherit;box-sizing:border-box}.caisse-textarea:focus{outline:none;border-color:#dc2626}.mt-8{margin-top:.5rem}.field-warning{color:#d97706;font-size:.82rem;margin-top:.3rem}.badge-statut{display:inline-block;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.badge-statut.completed{background:#d1fae5;color:#065f46}.badge-statut.partial{background:#fef3c7;color:#92400e}.badge-statut.cancelled{background:#fee2e2;color:#991b1b}.badge-statut.pending{background:#fef3c7;color:#92400e}.badge-statut.approved{background:#d1fae5;color:#065f46}.badge-statut.rejected{background:#fee2e2;color:#991b1b}.badge-pending{display:inline-block;padding:.3rem .75rem;border-radius:20px;background:#fef3c7;color:#92400e;font-size:.8rem;font-weight:600}.danger{color:#dc2626!important}.success{color:#16a34a!important}.table-container{overflow-x:auto;border-radius:12px;box-shadow:0 1px 10px #00000012}.caisse-table{width:100%;border-collapse:collapse;background:#fff}.caisse-table th{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:.75rem 1rem;text-align:left;font-size:.85rem;font-weight:600;white-space:nowrap}.caisse-table td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.9rem}.caisse-table tr:last-child td{border-bottom:none}.caisse-table tr:hover td{background:#fef2f2}.vt-id{color:#6b7280;font-size:.8rem}.vt-montant{font-weight:700;color:#16a34a}.solde-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.solde-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 15px #00000012;border-left:5px solid #e5e7eb;transition:transform .2s}.solde-card:hover{transform:translateY(-2px)}.solde-card.main{border-left-color:#dc2626}.solde-card.especes{border-left-color:#16a34a}.solde-card.mobile{border-left-color:#7c3aed}.solde-card.carte{border-left-color:#2563eb}.solde-card.cheque{border-left-color:#d97706}.solde-card-icon{font-size:2rem}.solde-card-body{display:flex;flex-direction:column;gap:.2rem}.solde-label{font-size:.82rem;color:#6b7280;font-weight:500}.solde-amount{font-size:1.3rem;font-weight:800;color:#111827}.solde-sub{font-size:.78rem;color:#9ca3af}.solde-ventes-recentes{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 15px #00000012}.solde-ventes-recentes h3{margin:0 0 1rem;font-size:1rem;color:#374151}.fermeture-form,.fermeture-rapport{background:#fff;border-radius:16px;padding:2rem;max-width:600px;box-shadow:0 2px 15px #00000012}.fermeture-form h2,.fermeture-rapport h2{margin:0 0 .25rem;color:#111827}.fermeture-subtitle,.transfert-subtitle{color:#6b7280;font-size:.9rem;margin:0 0 1.5rem}.fermeture-recap{background:#f9fafb;border-radius:10px;padding:1rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.recap-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem;color:#374151}.recap-val{font-weight:700}.manquant-info{padding:.875rem 1rem;border-radius:10px;font-size:.95rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.manquant-info.danger{background:#fef2f2;color:#dc2626;border:1.5px solid #fca5a5}.manquant-info.success,.manquant-info.neutral{background:#f0fdf4;color:#16a34a;border:1.5px solid #86efac}.fermeture-actions{margin-top:1.5rem}.btn-fermer-caisse{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s;width:100%}.btn-fermer-caisse:hover:not(:disabled){opacity:.9}.btn-fermer-caisse:disabled{opacity:.5;cursor:not-allowed}.fermeture-rapport{display:flex;flex-direction:column;gap:1rem}.rapport-header{text-align:center;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.rapport-icon{font-size:3rem;display:block;margin-bottom:.5rem}.rapport-grid{display:flex;flex-direction:column;gap:.5rem}.rapport-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid #f3f4f6;font-size:.92rem}.rapport-row:last-child{border-bottom:none}.rapport-val{font-weight:700}.rapport-row.manquant .rapport-val{color:#dc2626}.rapport-row.excedent .rapport-val{color:#16a34a}.fermeture-success{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center;box-shadow:0 2px 15px #00000012;max-width:500px}.success-icon{font-size:4rem;display:block;margin-bottom:1rem}.fermeture-success h2{color:#16a34a;margin:0 0 .5rem}.fermeture-success p{color:#6b7280}.alert-success{background:#d1fae5;color:#065f46;border:1.5px solid #6ee7b7;border-radius:10px;padding:.875rem 1.25rem;margin-bottom:1.5rem;font-weight:600}.transfert-info-card{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.transfert-info-card h3{margin:0;font-size:.9rem;opacity:.9}.transfert-solde{font-size:1.6rem;font-weight:800;margin:0}.transfert-form{background:#fff;border-radius:16px;padding:2rem;max-width:600px;box-shadow:0 2px 15px #00000012}.transfert-form h2{margin:0 0 .25rem;color:#111827}.transfert-recap-box{background:#f9fafb;border-radius:10px;padding:1rem;margin:1.5rem 0;border:1px solid #e5e7eb}.manquant-row{color:#dc2626}.btn-envoyer-transfert{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s;width:100%}.btn-envoyer-transfert:hover:not(:disabled){opacity:.9}.btn-envoyer-transfert:disabled{opacity:.5;cursor:not-allowed}.tab-approbations h2,.tab-historique h2{margin:0 0 1.25rem;color:#111827;font-size:1.3rem}.approbations-list{display:flex;flex-direction:column;gap:1rem}.approbation-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 15px #00000012;border-left:5px solid #f59e0b}.approbation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.approbation-caissier-block{display:flex;align-items:flex-start;gap:.75rem}.approbation-caissier-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;flex-shrink:0}.approbation-caissier-info{display:flex;flex-direction:column;gap:.15rem}.approbation-caissier{font-weight:700;color:#111827;font-size:1rem}.approbation-caissier-sub{color:#6b7280;font-size:.8rem}.approbation-date{color:#9ca3af;font-size:.78rem;font-style:italic}.approbation-details{margin-bottom:1rem;border-top:1px solid #f3f4f6;padding-top:.75rem}.approbation-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem;color:#374151;border-bottom:1px dashed #f3f4f6}.approbation-row:last-child{border-bottom:none}.approbation-row.manquant{color:#dc2626;font-weight:600}.approbation-actions{display:flex;gap:.75rem}.btn-approuver{flex:1;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:10px;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-approuver:hover{opacity:.9}.btn-rejeter{flex:1;background:#fff;color:#dc2626;border:2px solid #dc2626;padding:.7rem 1.2rem;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s}.btn-rejeter:hover{background:#fef2f2}.reject-form{display:flex;flex-direction:column;gap:.75rem}.reject-actions{display:flex;gap:.75rem}.btn-confirm-reject{flex:1;background:#dc2626;color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;cursor:pointer}.btn-cancel-reject{flex:1;background:#f3f4f6;color:#374151;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;cursor:pointer}.compte-badge-preview{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:.6rem .875rem;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.badge-type{padding:.25rem .6rem;border-radius:20px;font-size:.78rem;font-weight:700}.badge-type-banque{background:#dbeafe;color:#1d4ed8}.badge-type-interne{background:#f3e8ff;color:#6d28d9}.compte-nom{font-weight:600;color:#111827;font-size:.9rem}.compte-numero{color:#6b7280;font-size:.82rem}.compte-desc{color:#9ca3af;font-size:.78rem;font-style:italic}.gestion-comptes{margin-top:2rem;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 15px #00000012}.gestion-comptes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f3f4f6}.gestion-comptes-header h3{margin:0;color:#111827;font-size:1rem}.btn-add-compte{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-add-compte:hover{opacity:.85}.add-compte-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.add-compte-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.comptes-list{display:flex;flex-direction:column;gap:.5rem}.compte-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.compte-info{flex:1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-delete-compte{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;opacity:.6;transition:opacity .2s;flex-shrink:0}.btn-delete-compte:hover{opacity:1}@media(max-width:768px){.caisse-header{flex-direction:column;align-items:flex-start}.caisse-content{padding:1rem}.solde-cards{grid-template-columns:1fr 1fr}.caisse-table{font-size:.8rem}.caisse-table th,.caisse-table td{padding:.5rem}.transfert-info-card{flex-direction:column;align-items:flex-start;gap:.5rem}.transfert-solde{font-size:1.3rem}.add-compte-grid{grid-template-columns:1fr}}@media(max-width:480px){.solde-cards{grid-template-columns:1fr}}.tab-rapports{display:flex;flex-direction:column;gap:20px}.rapports-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:#f8f9fa;border-radius:10px}.rapports-period-selector{display:flex;gap:6px;background:#fff;border-radius:8px;padding:4px;border:1px solid #e2e8f0}.period-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;color:#64748b;transition:all .2s}.period-btn:hover{background:#f1f5f9;color:#0d6efd}.period-btn.active{background:#0d6efd;color:#fff}.rapports-month-selector{display:flex;gap:8px}.rapports-month-selector select,.rapports-month-selector input{padding:8px 12px;border:1px solid #d0d7de;border-radius:8px;font-size:14px}.rapports-month-selector input{width:90px}.rapports-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.rapports-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000a}.rapports-section h3{margin:0 0 12px;font-size:16px;font-weight:700;color:#1e293b}.rapports-section h4{margin:16px 0 8px;font-size:14px;font-weight:700;color:#334155}.rapports-subsection{margin-top:16px}.rapports-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.rapport-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.rapport-card.balance-main{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.rapport-card.balance-cash{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.rapport-card.balance-pos{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;color:#fff}.rapport-card.balance-exp{background:linear-gradient(135deg,#ef4444,#b91c1c);border:none;color:#fff}.rapport-card-icon{font-size:28px;flex-shrink:0}.rapport-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.rapport-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.rapport-card-value{font-size:18px;font-weight:800;word-break:break-all}.rapport-card-value.negative{color:inherit}.rapport-card-sub{font-size:11px;opacity:.85}.rapports-period-info{margin-top:10px;font-size:12px;color:#64748b;font-style:italic}.caisse-table .vt-montant.negative{color:#b91c1c}.utilisateurs-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header-content h1{margin:0 0 5px;font-size:28px;color:#333}.header-content p{margin:0;color:#666;font-size:15px}.btn-add-user{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:linear-gradient(135deg,var(--primary-red, #8B1A1A) 0%,#b91c1c 100%);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;box-shadow:0 4px 12px #8b1a1a40;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap}.btn-add-user__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff3;font-size:18px;line-height:1;font-weight:700}.btn-add-user:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 8px 20px #8b1a1a59}.btn-add-user:active{transform:translateY(0)}.user-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px}.tab-button{display:flex;align-items:center;gap:15px;padding:20px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s;text-align:left}.tab-button:hover{border-color:#1e88e5;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tab-button.active{border-color:#1e88e5;background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 4px 12px #1e88e533}.tab-icon{font-size:32px;flex-shrink:0}.tab-content{display:flex;flex-direction:column;gap:4px}.tab-title{font-size:16px;font-weight:700;color:#333}.tab-desc{font-size:13px;color:#666}.pos-selector{background:#fff;border-radius:12px;padding:20px;margin-bottom:25px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:15px}.pos-selector label{font-weight:600;color:#333;font-size:15px}.pos-select{flex:1;max-width:400px;padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;cursor:pointer;transition:border-color .3s}.pos-select:hover{border-color:#1e88e5}.pos-select:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 3px #1e88e51a}.filters-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:25px;box-shadow:0 2px 8px #00000014}.filters-section h3{margin:0 0 15px;font-size:16px;color:#333}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;color:#666;font-weight:500}.filter-group input,.filter-group select{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#1e88e5}.filter-actions{display:flex;align-items:flex-end}.btn-reset{padding:10px 16px;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-reset:hover{background:#e0e0e0}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #1e88e5;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}.results-header{margin-bottom:15px}.results-header p{margin:0;color:#666;font-size:14px;font-weight:500}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state h3{margin:0 0 10px;color:#666;font-size:20px}.empty-state p{margin:0 0 20px;color:#999;font-size:15px}.btn-secondary{padding:10px 20px;background:#1e88e5;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-secondary:hover{background:#1565c0}.users-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.users-table table{width:100%;border-collapse:collapse}.users-table thead{background:#f5f5f5}.users-table th{padding:12px 15px;text-align:left;font-size:13px;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.users-table td{padding:12px 15px;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0}.users-table tbody tr:hover{background:#f9f9f9}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-info strong{display:block;font-size:14px;color:#333}.user-info small{display:block;font-size:12px;color:#999}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.role-admin{background:#fce4ec;color:#c2185b}.role-checker{background:#e8f5e9;color:#2e7d32}.role-maker{background:#e3f2fd;color:#1976d2}.role-user{background:#f3e5f5;color:#7b1fa2}.role-partner{background:#fff3e0;color:#e65100}.role-rh{background:#e0f2f1;color:#00796b}.role-finance{background:#fff9c4;color:#f57f17}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-active{background:#e8f5e9;color:#2e7d32}.status-suspended{background:#fff9c4;color:#f57f17}.status-banned{background:#ffebee;color:#c62828}.status-inactive{background:#e0e0e0;color:#616161}.status-deleted{background:#fafafa;color:#9e9e9e}.btn-action{padding:6px 12px;background:#1e88e5;color:#fff;border:none;border-radius:5px;font-size:13px;cursor:pointer;transition:background .3s}.btn-action:hover{background:#1565c0}.btn-action-secondary{background:#17a2b8}.btn-action-secondary:hover{background:#138496}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}.pagination button{padding:8px 16px;background:#1e88e5;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.pagination button:hover:not(:disabled){background:#1565c0}.pagination button:disabled{background:#ccc;cursor:not-allowed}.pagination span{font-size:14px;color:#666;font-weight:500}@media(max-width:1024px){.users-table{overflow-x:auto}.users-table table{min-width:1000px}}@media(max-width:768px){.utilisateurs-page{padding:15px}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.btn-add-user{width:100%}.filters-grid{grid-template-columns:1fr}}.utilisateurs-pos-global-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:16px;flex-wrap:wrap}.utilisateurs-pos-global-page .btn-add-user{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:linear-gradient(135deg,var(--primary-red, #8B1A1A) 0%,#b91c1c 100%);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:.2px;cursor:pointer;box-shadow:0 4px 12px #8b1a1a40;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap}.utilisateurs-pos-global-page .btn-add-user__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff3;font-size:18px;line-height:1;font-weight:700}.utilisateurs-pos-global-page .btn-add-user:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 8px 20px #8b1a1a59}.utilisateurs-pos-global-page .btn-add-user:active{transform:translateY(0)}.page-header h1{margin:0;font-size:2rem;color:var(--text-primary)}.page-header p{margin:.5rem 0 0;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:10px}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:#000;line-height:1}.stat-label{font-size:.875rem;color:#000;margin-top:.25rem}.filters-section{background:linear-gradient(135deg,#f5f2f2,#f9f7f7);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #dc26264d;position:relative;overflow:hidden}.filters-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);pointer-events:none}.filters-grid{display:flex;gap:2rem;position:relative;z-index:1;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.75rem;flex:1;min-width:220px}.filter-group label{font-weight:700;color:#fff;font-size:1rem}.filter-group input,.filter-group select{padding:.875rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:12px;font-size:.9375rem;background:#fffffff2;color:#00050e;font-weight:500;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#fff;background:#fff;box-shadow:0 6px 20px #00000026,0 0 0 4px #ffffff4d;transform:translateY(-2px)}.filter-group input::placeholder{color:#9ca3af;font-weight:400}.filter-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:20px;padding-right:2.5rem}.filter-group select:hover{background-color:#fff;border-color:#fff9}.content-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--primary-light)}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap}.data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr:hover{background:var(--hover-bg)}.user-name{font-weight:600;color:#000}.pos-link{color:var(--primary-color);text-decoration:none;font-weight:500}.pos-link:hover{text-decoration:underline}.badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.8125rem;font-weight:600;white-space:nowrap}.badge-cashier{background:#dbeafe;color:#1e40af}.badge-storekeeper{background:#f3e8ff;color:#6b21a8}.badge-manager{background:#fef3c7;color:#92400e}.badge-default{background:#f3f4f6;color:#374151}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.8125rem;font-weight:600}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.contact-info{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--text-secondary)}.schedule{font-size:.875rem;color:var(--text-secondary)}.text-muted{color:var(--text-muted);font-style:italic}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;border-radius:6px;transition:background .2s}.btn-icon:hover{background:var(--hover-bg)}.btn-icon.roles:hover{background:#ede9fe}.user-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9375rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.info-message{padding:.75rem;background:#dbeafe;border-left:4px solid #3b82f6;border-radius:6px;font-size:.875rem;color:#1e40af}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.delete-confirmation{text-align:center}.delete-confirmation p{margin-bottom:1rem;font-size:1rem}.delete-confirmation strong{color:var(--danger-color)}.warning-text{color:var(--danger-color);font-weight:600}.btn-primary{padding:.75rem 1.5rem;background:#dc2626;color:#fff!important;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #dc26264d}.btn-primary:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.btn-secondary{padding:.75rem 1.5rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e5e7eb}.btn-danger{padding:.75rem 1.5rem;background:var(--danger-color);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#dc2626}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.125rem}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}@media(max-width:768px){.utilisateurs-pos-global-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.utilisateurs-pos-global-page .btn-add-user{width:100%;justify-content:center}.stats-grid,.filters-grid,.form-row{grid-template-columns:1fr}.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.75rem}}.ajouter-utilisateur-page{padding:20px;max-width:1000px;margin:0 auto}.page-header{margin-bottom:30px}.back-button{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:background .2s;margin-bottom:10px;display:inline-flex;align-items:center;gap:5px}.back-button:hover{background:#f5f5f5}.page-header h1{margin:10px 0 8px;font-size:28px;color:#333}.page-header p{margin:0;color:#666;font-size:15px}.form-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.alert-error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.user-form{display:flex;flex-direction:column;gap:30px}.form-section{border:1px solid #e0e0e0;border-radius:8px;padding:20px;background:#fafafa}.form-section h3{margin:0 0 15px;font-size:18px;color:#333;display:flex;align-items:center;gap:8px}.section-description{margin:0 0 15px;color:#666;font-size:14px}.form-group label{font-size:14px;color:#555;font-weight:600}.form-group input,.form-group select{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1e88e5}.form-group small{font-size:12px;color:#999}.checkbox-group{flex-direction:row;align-items:center;margin-top:10px}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.hours-preview{padding:15px;background:#e3f2fd;border-left:4px solid #1e88e5;border-radius:6px;display:flex;align-items:center;gap:10px;margin-top:15px}.hours-preview strong{color:#333;font-size:14px}.time-range{color:#1e88e5;font-weight:600;font-size:16px;font-family:monospace}.info-banner{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1e88e5;padding:15px 20px;border-radius:8px;margin-bottom:25px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 4px #0000000d}.banner-icon{font-size:28px;line-height:1}.section-note{color:#666;font-size:14px;margin:-10px 0 15px;font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-cancel,.btn-submit{padding:12px 28px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:#1e88e5;color:#fff}.btn-submit:hover:not(:disabled){background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 12px #1e88e54d}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.ajouter-utilisateur-page{padding:15px}.form-container{padding:20px}.page-header h1{font-size:24px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.details-utilisateur-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.95rem;color:#555;cursor:pointer;transition:all .2s}.user-details-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.details-section{padding:2rem;border-bottom:1px solid #eee}.details-section:last-of-type{border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0;font-size:1.25rem;color:#2c3e50}.btn-edit{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-edit:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px #4a90e24d}.details-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:#2c3e50}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.85rem;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;color:#2c3e50;font-weight:500}.details-actions{display:flex;justify-content:space-between;align-items:center;padding:2rem;background:#f8f9fa;gap:1rem}.actions-left,.actions-right{display:flex;gap:1rem}.btn-primary,.btn-secondary,.btn-danger,.btn-info{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary:hover{background:#f5f5f5;border-color:#4a90e2;color:#4a90e2}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496;transform:translateY(-2px);box-shadow:0 4px 12px #17a2b866}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-danger:disabled,.btn-secondary:disabled,.btn-info:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d;animation:slideUp .3s}.modal-content h2{margin:0 0 1rem;font-size:1.5rem;color:#dc3545}.modal-content p{margin:.5rem 0;color:#555;line-height:1.6}.warning-text{color:#dc3545!important;font-weight:600;background:#fff5f5;padding:1rem;border-radius:8px;border-left:4px solid #dc3545;margin:1rem 0!important}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}@media(max-width:768px){.details-utilisateur-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.details-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.details-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.adresses-utilisateur-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-header>div{display:flex;flex-direction:column;gap:.5rem}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.9rem;color:#555;cursor:pointer;transition:all .2s;width:fit-content}.btn-back:hover{background:#f5f5f5;border-color:#4a90e2;color:#4a90e2}.address-form-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;margin-bottom:2rem}.address-form-container h2{margin:0 0 1.5rem;font-size:1.25rem;color:#2c3e50}.address-form .form-group{margin-bottom:1.5rem}.address-form .form-group label{display:block;font-size:.9rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.address-form .form-group input,.address-form .form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:all .2s}.address-form .form-group input:focus,.address-form .form-group select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.address-form .form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.checkbox-group label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.checkbox-group span{font-size:.95rem;color:#555}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.addresses-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.addresses-list h2{margin:0 0 1.5rem;font-size:1.25rem;color:#2c3e50}.empty-state{text-align:center;padding:3rem 1rem;color:#7f8c8d}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.addresses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.address-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;position:relative;transition:all .3s}.address-card:hover{border-color:#4a90e2;box-shadow:0 4px 12px #4a90e226}.address-card.default{border-color:#28a745;background:#f0f9f4}.default-badge{position:absolute;top:1rem;right:1rem;background:#28a745;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.address-content{margin-bottom:1rem}.address-content .street{margin:0 0 .5rem;font-size:1rem;color:#2c3e50;font-weight:500}.address-location{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.location-item{font-size:.9rem;color:#7f8c8d;display:flex;align-items:center;gap:.5rem}.address-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.btn-edit{padding:.5rem 1rem;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-edit:hover{background:#357abd;transform:translateY(-1px)}@media(max-width:768px){.adresses-utilisateur-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.addresses-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}.address-actions{flex-direction:column}.btn-edit{width:100%;justify-content:center}}.mon-profil-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0;font-size:1.75rem;color:#1a1a1a}.profile-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.profile-section{padding:2rem;border-bottom:1px solid #eee}.profile-section:last-child{border-bottom:none}.profile-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:#2c3e50}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.profile-item{display:flex;flex-direction:column;gap:.5rem}.profile-label{font-size:.85rem;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:1rem;color:#2c3e50;font-weight:500}.role-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.9rem;font-weight:600}.status-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-suspended{background:#fff3cd;color:#856404}.status-badge.status-banned{background:#f8d7da;color:#721c24}.status-badge.status-inactive{background:#e2e3e5;color:#383d41}.profile-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.profile-form .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-form .form-group label{font-size:.9rem;font-weight:600;color:#2c3e50}.profile-form .form-group input,.profile-form .form-group select{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:all .2s}.profile-form .form-group input:focus,.profile-form .form-group select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-help{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.section-header-with-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header-with-toggle h2{margin:0}.toggle-switch{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{position:relative;width:50px;height:26px;background:#ccc;border-radius:34px;transition:.3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:#4a90e2}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{font-size:.9rem;color:#555;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:2rem;background:#f8f9fa;margin:0 -2rem -2rem}.btn-primary,.btn-secondary{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#fff;color:#555;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#4a90e2;color:#4a90e2}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.alert-error{background:#fff5f5;color:#dc3545;border-left:4px solid #dc3545}.alert-success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state p{font-size:1.1rem;color:#e74c3c;margin-bottom:1rem}@media(max-width:768px){.mon-profil-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.profile-grid,.profile-form .form-row{grid-template-columns:1fr}.section-header-with-toggle{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.pays-container{padding:2rem;max-width:1400px;margin:0 auto}.pays-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.pays-header h1{font-size:1.75rem;color:#1a1a1a;margin:0}.pays-form-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.pays-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input[type=text]{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .2s}.form-group input[type=text]:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group input[type=text]:disabled{background-color:#f5f5f5;cursor:not-allowed}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{color:#333;font-weight:500}.pays-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.pays-list h2{font-size:1.25rem;color:#333;margin:0 0 1.5rem}.pays-table{width:100%;border-collapse:collapse}.pays-table thead{background:#f8f9fa}.pays-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;font-size:.9rem}.pays-table td{padding:1rem;border-bottom:1px solid #dee2e6;color:#555;font-size:.95rem}.pays-table tbody tr:hover{background:#f8f9fa}.country-code{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:4px;font-weight:600;font-family:monospace;font-size:.9rem}.status-badge{display:inline-block;padding:.35rem .85rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.pays-container{padding:1rem}.pays-header{flex-direction:column;gap:1rem;align-items:stretch}.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.pays-table{min-width:600px}}.regions-container{padding:2rem;max-width:1400px;margin:0 auto}.regions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.regions-header h1{font-size:1.75rem;color:#1a1a1a;margin:0}.regions-form-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.regions-form{display:flex;flex-direction:column;gap:1.5rem}.btn-icon{background:none;border:none;font-size:1.2rem;padding:.25rem .5rem;cursor:pointer;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.regions-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-weight:500;color:#555;font-size:.9rem}.filter-select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;min-width:250px}.regions-table{width:100%;border-collapse:collapse}.regions-table thead{background:#f8f9fa}.regions-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;font-size:.9rem}.regions-table td{padding:1rem;border-bottom:1px solid #dee2e6;color:#555;font-size:.95rem}.regions-table tbody tr:hover{background:#f8f9fa}.country-info{display:flex;align-items:center;gap:.5rem}.country-code{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .5rem;border-radius:4px;font-weight:600;font-family:monospace;font-size:.85rem}.country-name{color:#666;font-size:.9rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.badge-info{background:#e3f2fd;color:#1976d2}@media(max-width:768px){.regions-container{padding:1rem}.regions-header{flex-direction:column;gap:1rem;align-items:stretch}.form-row{grid-template-columns:1fr}.list-header,.filter-group{flex-direction:column;align-items:stretch}.filter-select{width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.regions-table{min-width:600px}.country-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.villes-container{padding:2rem;max-width:1400px;margin:0 auto}.villes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.villes-header h1{font-size:1.75rem;color:#1a1a1a;margin:0}.villes-form-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.villes-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input[type=text],.form-group select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group select{cursor:pointer;background-color:#fff}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.help-text{color:#999;font-size:.85rem;margin-top:.25rem;font-style:italic}.villes-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filters-group{display:flex;gap:1rem;flex-wrap:wrap}.filter-item{display:flex;align-items:center;gap:.5rem}.filter-item label{font-weight:500;color:#555;font-size:.9rem;white-space:nowrap}.filter-select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;min-width:200px}.filter-select:focus{outline:none;border-color:#2196f3}.filter-select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.empty-message{text-align:center;color:#666;padding:2rem;font-style:italic}.villes-table{width:100%;border-collapse:collapse}.villes-table thead{background:#f8f9fa}.villes-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;font-size:.9rem}.villes-table td{padding:1rem;border-bottom:1px solid #dee2e6;color:#555;font-size:.95rem}.villes-table tbody tr:hover{background:#f8f9fa}.location-info{display:flex;align-items:center;gap:.5rem}.location-code{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .5rem;border-radius:4px;font-weight:600;font-family:monospace;font-size:.85rem}.location-code.secondary{background:#fff3e0;color:#e65100}.location-name{color:#666;font-size:.9rem}.loading{text-align:center;padding:3rem;color:#666;font-size:1.1rem}@media(max-width:968px){.villes-container{padding:1rem}.villes-header{flex-direction:column;gap:1rem;align-items:stretch}.form-row{grid-template-columns:1fr}.list-header{flex-direction:column;align-items:stretch}.filters-group{flex-direction:column}.filter-item{flex-direction:column;align-items:stretch}.filter-select{width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.villes-table{min-width:600px}.location-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.categories-page{display:flex;flex-direction:column;gap:20px;width:100%;min-width:0}.categories-page>.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:20px;padding:14px 20px 14px 18px;margin:0!important;background:linear-gradient(135deg,#b91c1c06,#fff 60%);border:1px solid var(--border-color, #e5e7eb);border-left:4px solid var(--primary-red, #B91C1C);border-radius:var(--radius-lg, 12px);box-shadow:0 1px 2px #00000008;min-height:0;position:sticky;top:calc(var(--header-height, 64px) + 12px);z-index:30;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,color .35s ease,transform .35s ease}.categories-page>.page-header.is-scrolled{background:#ffffffd9;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-color:#00000014;border-left-color:#dc2626;box-shadow:0 12px 32px #0f172a1f,0 4px 10px #0f172a0f,0 0 0 1px #ffffff80 inset;transform:translateY(0)}.categories-page>.page-header.is-scrolled .page-eyebrow{background:#b91c1c1a;border-color:#b91c1c40}.categories-page>.page-header.is-scrolled .header-content h1{color:var(--text-primary)}.categories-page>.page-header.is-scrolled .header-content p{color:var(--text-secondary)}.categories-page>.page-header.is-scrolled .page-sep{color:var(--gray-300, #d1d5db)}.categories-page>.page-header.is-scrolled .btn-primary{box-shadow:0 6px 16px #b91c1c4d,0 1px 2px #b91c1c26}.categories-page>.page-header .header-content{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;flex:1 1 auto;padding:0;margin:0}.categories-page>.page-header .page-eyebrow{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-red);line-height:1;padding:6px 10px;background:#b91c1c14;border:1px solid rgba(185,28,28,.18);border-radius:999px;white-space:nowrap;flex-shrink:0}.categories-page>.page-header .header-content h1{margin:0;padding:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2;white-space:nowrap;flex-shrink:0}.categories-page>.page-header .page-sep{color:var(--gray-300, #d1d5db);font-size:16px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.categories-page>.page-header .header-content p{margin:0;padding:0;font-size:13px;color:var(--text-secondary);font-weight:400;line-height:1.4;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.categories-page>.page-header .btn-primary{padding:10px 18px;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;align-self:center;margin:0;box-shadow:0 4px 12px #b91c1c38,0 1px 2px #b91c1c26;transition:transform .18s ease,box-shadow .18s ease}.categories-page>.page-header .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #b91c1c52,0 2px 4px #b91c1c33}@media(max-width:900px){.categories-page>.page-header .header-content{gap:8px 12px}.categories-page>.page-header .header-content p{flex-basis:100%;white-space:normal;overflow:visible;text-overflow:clip;font-size:12.5px}.categories-page>.page-header .page-sep{display:none}}@media(max-width:640px){.categories-page>.page-header{padding:12px 14px 12px 12px;gap:12px;flex-wrap:wrap}.categories-page>.page-header .page-eyebrow{font-size:10px;padding:5px 9px}.categories-page>.page-header .header-content h1{font-size:17px}.categories-page>.page-header .header-content p{font-size:12px}.categories-page>.page-header .btn-primary{padding:9px 14px;font-size:12px;width:100%;justify-content:center}.categories-page>.page-header .btn-primary .btn-icon-plus{width:16px;height:16px;font-size:12px}}@media(max-width:420px){.categories-page>.page-header{flex-direction:column;align-items:stretch}.categories-page>.page-header .btn-primary{justify-content:center}}.btn-icon-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff3;color:var(--white);font-weight:700;font-size:14px;line-height:1}.stat-icon-success{background:var(--success-light)!important;color:var(--success)!important}.stat-icon-info{background:var(--info-light)!important;color:var(--info)!important}.stat-icon-warning{background:var(--warning-light)!important;color:var(--warning)!important}.pro-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0;width:100%}.pro-stat-card{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden;isolation:isolate;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.pro-stat-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent-from),var(--accent-to));opacity:.95}.pro-stat-glow{position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);opacity:.7;z-index:-1;transition:opacity var(--transition-normal),transform var(--transition-normal)}.pro-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}.pro-stat-card:hover .pro-stat-glow{opacity:1;transform:scale(1.1)}.pro-stat-card.tone-primary{--accent-from: var(--primary-red);--accent-to: var(--primary-red-dark);--accent-soft: var(--primary-red-tint);--accent-on: var(--primary-red)}.pro-stat-card.tone-success{--accent-from: #16A34A;--accent-to: #15803D;--accent-soft: #DCFCE7;--accent-on: var(--success)}.pro-stat-card.tone-info{--accent-from: #2563EB;--accent-to: #1D4ED8;--accent-soft: #DBEAFE;--accent-on: var(--info)}.pro-stat-card.tone-warning{--accent-from: #D97706;--accent-to: #B45309;--accent-soft: #FEF3C7;--accent-on: var(--warning)}.pro-stat-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;background:var(--accent-soft);color:var(--accent-on);flex-shrink:0;box-shadow:inset 0 0 0 1px #fff9;transition:transform var(--transition-normal)}.pro-stat-card:hover .pro-stat-icon{transform:scale(1.08) rotate(-3deg)}.pro-stat-body{flex:1;min-width:0}.pro-stat-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.pro-stat-value{font-size:32px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--text-primary) 0%,var(--gray-700) 100%);-webkit-background-clip:text;background-clip:text}.pro-stat-sub{margin-top:6px;font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.pro-filters{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:20px;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-xs)}.pro-filters-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.pro-filters-title{display:inline-flex;align-items:center;gap:10px}.pro-filters-title h3{margin:0;font-size:var(--text-md);font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.pro-filters-title-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--primary-red-soft);color:var(--primary-red);font-size:15px}.pro-filter-badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;background:var(--primary-red);color:var(--white);border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 6px #b91c1c4d;animation:scaleIn var(--transition-normal) var(--ease-out-back)}.pro-reset-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:var(--text-xs);font-weight:600;color:var(--primary-red);background:var(--primary-red-soft);border:1px solid var(--primary-red-tint);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.02em;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.pro-reset-btn:hover{background:var(--primary-red);border-color:var(--primary-red);color:var(--white);transform:translateY(-1px)}.pro-reset-btn span{font-size:14px;line-height:1}.pro-search-row{margin-bottom:12px}.pro-filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.pro-input{position:relative;display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);min-height:44px}.pro-input:hover{border-color:var(--gray-400)}.pro-input:focus-within{border-color:var(--primary-red);box-shadow:var(--ring-primary);background:var(--white)}.pro-input-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:100%;color:var(--text-muted);font-size:15px;flex-shrink:0;pointer-events:none}.pro-input:focus-within .pro-input-icon{color:var(--primary-red)}.pro-input input,.pro-input select{flex:1;height:42px;padding:0 12px 0 0;border:none;background:transparent!important;color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;outline:none;width:100%}.pro-input input::placeholder{color:var(--text-muted)}.pro-input-search{width:100%}.pro-input-clear{width:28px;height:28px;margin-right:6px;border:none;border-radius:50%;background:var(--gray-100);color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pro-input-clear:hover{background:var(--primary-red);color:var(--white)}.pro-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;cursor:pointer}.pro-select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:11px;transition:color var(--transition-fast),transform var(--transition-fast)}.pro-input:focus-within .pro-select-chevron{color:var(--primary-red);transform:translateY(-50%) rotate(180deg)}.pro-date input[type=date]{color:var(--text-primary);cursor:pointer}.pro-date input[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer;filter:invert(.3)}.pro-active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-color)}.pro-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 12px;background:var(--primary-red-soft);color:var(--primary-red);border:1px solid var(--primary-red-tint);border-radius:var(--radius-full);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);animation:scaleIn .18s ease-out}.pro-chip strong{font-weight:700;color:var(--primary-red-dark)}.pro-chip:hover{background:var(--primary-red);color:var(--white);transform:translateY(-1px)}.pro-chip:hover strong{color:var(--white)}.pro-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#b91c1c26;font-size:9px;font-weight:700;transition:background var(--transition-fast)}.pro-chip:hover .pro-chip-x{background:#ffffff40}@media(max-width:768px){.pro-stat-card{padding:16px;gap:12px}.pro-stat-value{font-size:26px}.pro-stat-icon{width:44px;height:44px;font-size:19px}.pro-filters{padding:16px}.pro-filters-row{grid-template-columns:1fr 1fr}}@media(max-width:480px){.pro-filters-row{grid-template-columns:1fr}}.filters-section .filters-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.filters-section .filters-header h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;background:var(--primary-red);color:var(--white);border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}.filter-search{grid-column:span 2}@media(max-width:768px){.filter-search{grid-column:span 1}}.results-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);flex-wrap:wrap;box-shadow:var(--shadow-xs)}.results-info{font-size:var(--text-sm);color:var(--text-secondary)}.results-info strong{color:var(--primary-red);font-weight:700}.results-info-extra{color:var(--text-muted)}.page-size-control{display:inline-flex;align-items:center;gap:8px}.page-size-control label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;margin:0}.page-size-control select{width:auto;min-width:80px;padding:6px 10px;font-size:var(--text-sm)}.categories-table .cat-id{display:inline-block;padding:2px 8px;background:var(--gray-100);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);font-weight:600}.categories-table .cat-name{display:inline-flex;align-items:center;gap:10px;min-width:0}.categories-table .cat-name-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary-red-soft);font-size:16px;flex-shrink:0}.categories-table .cat-name strong{color:var(--text-primary);font-weight:600}.categories-table .products-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:3px 10px;background:var(--gray-100);color:var(--text-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.categories-table .cat-date{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.table-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;width:100%}@media(max-width:768px){.results-bar{flex-direction:column;align-items:stretch}.page-size-control{justify-content:space-between}.categories-table .cat-name-icon{display:none}}@media(max-width:480px){.categories-table thead{display:none}.categories-table,.categories-table tbody,.categories-table tr,.categories-table td{display:block;width:100%}.categories-table tr{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px;padding:12px 14px}.categories-table td{border:none!important;padding:6px 0!important;display:flex;align-items:center;justify-content:space-between;gap:12px}.categories-table td:before{content:attr(data-label);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}}.catalogue-container{padding:var(--spacing-lg)}.catalogue-header{margin-bottom:var(--spacing-xl)}.catalogue-header .header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap}.catalogue-header h1{font-size:var(--text-2xl);color:var(--gray-900);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.catalogue-header p{color:var(--gray-600);margin:var(--spacing-xs) 0 0;font-size:var(--text-sm)}.header-actions{display:flex;gap:var(--spacing-md);align-items:center}.catalogue-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);display:flex;align-items:center;gap:var(--spacing-md)}.stat-card .stat-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--gray-100)}.stat-card .stat-info .stat-label{display:block;font-size:var(--text-sm);color:var(--gray-600)}.stat-card .stat-info .stat-value{display:block;font-size:var(--text-2xl);font-weight:700;color:var(--gray-900)}.catalogue-toolbar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:250px;position:relative}.search-box input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 40px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast)}.search-box input:focus{outline:none;border-color:var(--primary-red)}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%)}.filter-select{padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);min-width:180px;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--primary-red)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary-red);color:var(--white)}.btn-primary:hover{background:var(--primary-red-dark)}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.btn-success{background:var(--success);color:var(--white)}.btn-success:hover{background:#1b5e20}.btn-danger{background:var(--error);color:var(--white)}.btn-danger:hover{background:#b71c1c}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-xs)}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--gray-300);background:var(--white);cursor:pointer;transition:all var(--transition-fast);font-size:1rem}.btn-icon:hover{background:var(--gray-100)}.catalogue-table-wrapper{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow-x:auto}.catalogue-table{width:100%;border-collapse:collapse}.catalogue-table th{background:var(--gray-50);padding:var(--spacing-md);text-align:left;font-size:var(--text-sm);font-weight:700;color:var(--gray-700);border-bottom:2px solid var(--gray-200);white-space:nowrap}.catalogue-table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-100);font-size:var(--text-sm);color:var(--gray-800);vertical-align:middle}.catalogue-table tr:hover{background:var(--gray-50)}.catalogue-table tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:var(--spacing-xs)}.table-image{width:50px;height:50px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--gray-200)}.table-image-placeholder{width:50px;height:50px;border-radius:var(--radius-md);background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--gray-400);border:1px dashed var(--gray-300)}.status-active{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--success-light);color:var(--success)}.status-inactive{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--error-light);color:var(--error)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{background:var(--white);border-radius:var(--radius-xl);width:95%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content.modal-lg{max-width:800px}.modal-content>form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);flex-shrink:0}.modal-header h2{font-size:var(--text-xl);color:var(--gray-900);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.modal-close{width:32px;height:32px;border:none;background:var(--gray-100);border-radius:var(--radius-full);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--error-light);color:var(--error)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:1px solid var(--gray-200);flex-shrink:0;background:var(--white)}.modal-form .form-group{margin-bottom:var(--spacing-lg)}.modal-form .form-group label{display:block;font-weight:600;color:var(--gray-700);font-size:var(--text-sm);margin-bottom:var(--spacing-xs)}.modal-form .form-group input,.modal-form .form-group select,.modal-form .form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast);box-sizing:border-box}.modal-form .form-group input:focus,.modal-form .form-group select:focus,.modal-form .form-group textarea:focus{outline:none;border-color:var(--primary-red)}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.prices-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.prices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.prices-header h3{font-size:var(--text-lg);color:var(--gray-900);margin:0}.btn-sm{padding:6px 12px;font-size:var(--text-sm)}.price-row{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.price-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.qualification-select{flex:1;max-width:200px;padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--white)}.qualification-input{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--white)}.qualification-input:focus{outline:none;border-color:var(--primary-red)}.btn-remove-price{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.btn-remove-price:hover{background:var(--error-light)}.price-margin-info{background:var(--white);padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--gray-700);margin-top:var(--spacing-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--text-sm)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.image-upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--gray-50);position:relative}.image-upload-zone:hover{border-color:var(--primary-red);background:var(--primary-red-lighter)}.image-upload-zone input[type=file]{display:none}.image-upload-zone .upload-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.image-upload-zone .upload-text{color:var(--gray-600);font-size:var(--text-sm)}.image-upload-zone .upload-hint{color:var(--gray-400);font-size:var(--text-xs);margin-top:var(--spacing-xs)}.image-preview{position:relative;display:inline-block}.image-preview img{max-width:200px;max-height:200px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--gray-200)}.image-preview .remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--error);color:var(--white);border:2px solid var(--white);font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) 0;gap:var(--spacing-md)}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary-red);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:var(--spacing-xl) * 2;color:var(--gray-500)}.empty-state .empty-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.empty-state p{font-size:var(--text-base)}.price{font-weight:700;color:var(--primary-red)}.prices-list{display:flex;flex-direction:column;gap:4px}.price-item{display:flex;align-items:center;gap:6px;font-size:.85rem}.price-qualification{font-weight:500;color:var(--gray-600);font-size:.75rem;text-transform:capitalize}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.product-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden;transition:all var(--transition-fast)}.product-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.product-card-image{width:100%;height:180px;object-fit:cover;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--gray-300)}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-card-body{padding:var(--spacing-md)}.product-card-body h3{font-size:var(--text-base);color:var(--gray-900);margin:0 0 var(--spacing-xs)}.product-card-body .card-category{font-size:var(--text-xs);color:var(--gray-500);margin-bottom:var(--spacing-sm)}.product-card-body .card-details{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--gray-600)}.product-card-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-top:1px solid var(--gray-100)}.view-toggle{display:flex;border:1px solid var(--gray-300);border-radius:var(--radius-md);overflow:hidden}.view-toggle button{padding:var(--spacing-sm) var(--spacing-md);border:none;background:var(--white);cursor:pointer;font-size:1rem;transition:all var(--transition-fast)}.view-toggle button.active{background:var(--primary-red);color:var(--white)}.view-toggle button:not(:last-child){border-right:1px solid var(--gray-300)}@media(max-width:768px){.catalogue-header .header-content,.catalogue-toolbar{flex-direction:column}.search-box{min-width:100%}.modal-form .form-row{grid-template-columns:1fr}.catalogue-stats{grid-template-columns:1fr 1fr}.products-grid{grid-template-columns:1fr}}.gestion-roles-page{padding:24px;max-width:1300px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.header-content h1{margin:0 0 4px;font-size:26px;color:#1a1a1a}.header-content p{margin:0;color:#666;font-size:14px}.btn-primary{padding:10px 22px;background:var(--primary-red);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-red-dark);transform:translateY(-1px);box-shadow:0 4px 12px #8b1a1a4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#ebebeb}.btn-danger{padding:10px 22px;background:#e53935;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#c62828}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.rbac-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #e8e8e8;padding-bottom:0}.rbac-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;background:transparent;font-size:15px;font-weight:500;color:#666;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;border-radius:6px 6px 0 0}.rbac-tab:hover{color:var(--primary-red);background:#fff5f5}.rbac-tab.active{color:var(--primary-red);border-bottom-color:var(--primary-red);font-weight:700}.tab-icon{font-size:18px}.tab-badge{background:var(--primary-red-lighter);color:var(--primary-red);border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700}.tab-content{padding-top:8px}.rbac-loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px;color:#666;gap:16px}.spinner{width:36px;height:36px;border:4px solid var(--primary-red-lighter);border-top-color:var(--primary-red);border-radius:50%;animation:spin .8s linear infinite}.rbac-error{text-align:center;padding:40px;background:#fff5f5;border:1px solid #fca5a5;border-radius:12px;color:#e53935}.rbac-empty{text-align:center;padding:60px 20px;color:#999}.rbac-empty .empty-icon{font-size:56px;margin-bottom:16px}.rbac-empty h3{margin:0 0 8px;font-size:18px;color:#555}.rbac-empty p{margin:0 0 20px;font-size:14px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.role-card{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:20px;transition:all .2s;box-shadow:0 2px 6px #0000000a}.role-card:hover{border-color:#ffcdd2;box-shadow:0 6px 20px #8b1a1a1f;transform:translateY(-2px)}.role-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.role-icon{font-size:32px;flex-shrink:0}.role-info{flex:1;min-width:0}.role-name{margin:0 0 4px;font-size:16px;font-weight:700;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-desc{margin:0;font-size:13px;color:#777;line-height:1.4}.role-perms-count{font-size:12px;color:var(--primary-red);background:var(--primary-red-lighter);border-radius:20px;padding:3px 10px;display:inline-block;margin-bottom:12px}.role-card-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-action{flex:1;min-width:80px;padding:8px 10px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-perms{background:#e8f5e9;color:#388e3c}.btn-perms:hover{background:#c8e6c9}.btn-edit{background:#fff3e0;color:#f57c00}.btn-edit:hover{background:#ffe0b2}.btn-delete{flex:0 0 40px;min-width:40px;background:#ffeaea;color:#e53935}.btn-delete:hover{background:#ffcdd2}.permissions-container{display:flex;flex-direction:column;gap:20px}.perms-module{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.module-title{display:flex;align-items:center;gap:10px;margin:0;padding:14px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:15px;color:#333}.module-dot{width:10px;height:10px;background:var(--primary-red);border-radius:50%;flex-shrink:0}.module-count{margin-left:auto;background:var(--primary-red-lighter);color:var(--primary-red);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.perms-list{padding:12px 20px;display:flex;flex-direction:column;gap:8px}.perm-item{display:flex;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.perm-item:last-child{border-bottom:none}.perm-name{font-size:14px;font-weight:600;color:#333;min-width:160px}.perm-desc{font-size:13px;color:#888}.rbac-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.rbac-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.modal-header h2{margin:0;font-size:18px;color:#1a1a1a}.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#999;padding:4px 8px;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-form{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#444}.form-group input,.form-group textarea{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;resize:vertical;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px #1e88e51a}.form-error{background:#fff5f5;border:1px solid #fca5a5;color:#e53935;border-radius:8px;padding:10px 14px;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid #f0f0f0}.perm-overlay{position:fixed;inset:0;background:#0a14288c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;animation:perm-fade-in .18s ease}@keyframes perm-fade-in{0%{opacity:0}to{opacity:1}}.perm-dialog{background:#fff;border-radius:18px;width:100%;max-width:860px;height:88vh;max-height:720px;display:flex;flex-direction:column;box-shadow:0 32px 80px #00000047,0 0 0 1px #0000000f;animation:perm-slide-up .22s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes perm-slide-up{0%{transform:translateY(24px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.perm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 16px;border-bottom:1px solid #ebebeb;background:linear-gradient(135deg,#fff5f5,snow);flex-shrink:0}.perm-dialog-title{display:flex;align-items:center;gap:12px}.perm-title-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-red),var(--primary-red-dark));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.perm-title-main{margin:0 0 1px;font-size:16px;font-weight:700;color:#0d1117}.perm-title-sub{margin:0;font-size:13px;color:#64748b}.perm-dialog-meta{display:flex;align-items:center;gap:14px}.perm-counter{display:flex;align-items:baseline;gap:4px;background:var(--primary-red);color:#fff;border-radius:20px;padding:5px 13px}.perm-counter-num{font-size:16px;font-weight:800;line-height:1}.perm-counter-label{font-size:11px;opacity:.85}.perm-close-btn{width:34px;height:34px;border-radius:8px;border:1px solid #e0e0e0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .15s}.perm-close-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#e53935}.perm-searchbar{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid #ebebeb;background:#fafafa;flex-shrink:0}.perm-search-icon{color:#9ca3af;flex-shrink:0}.perm-search-input{flex:1;border:none;background:transparent;font-size:14px;color:#0d1117;outline:none}.perm-search-input::placeholder{color:#adb5bd}.perm-search-clear{display:flex;align-items:center;gap:5px;padding:5px 10px;border:none;background:var(--primary-red-lighter);border-radius:20px;cursor:pointer;color:var(--primary-red);font-size:12px;font-weight:500;flex-shrink:0;transition:all .15s;white-space:nowrap}.perm-search-clear:hover{background:var(--primary-red);color:#fff}.perm-error-bar{padding:10px 18px;background:#fff0f0;border-bottom:1px solid #fca5a5;color:#dc2626;font-size:13px;flex-shrink:0}.perm-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#94a3b8}.perm-spinner{width:34px;height:34px;border:3px solid #e2e8f0;border-top-color:var(--primary-red);border-radius:50%;animation:perm-spin .7s linear infinite}@keyframes perm-spin{to{transform:rotate(360deg)}}.perm-empty,.perm-no-results{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px;padding:40px}.perm-body{flex:1;display:flex;overflow:hidden}.perm-sidebar{width:188px;min-width:188px;border-right:1px solid #ebebeb;overflow-y:auto;padding:10px 8px;display:flex;flex-direction:column;gap:2px;background:#f8fafc}.perm-sidebar::-webkit-scrollbar{width:4px}.perm-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.perm-mod-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .13s;text-align:left;gap:6px}.perm-mod-btn:hover{background:#fff5f5}.perm-mod-btn--active{background:var(--primary-red-lighter)!important}.perm-mod-btn--active .perm-mod-name{color:var(--primary-red);font-weight:700}.perm-mod-name{font-size:12.5px;font-weight:500;color:#374151;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-mod-counts{display:flex;gap:4px;align-items:center}.perm-mod-badge{border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.5}.perm-mod-badge--sel{background:var(--primary-red);color:#fff}.perm-mod-badge--tot{background:#e2e8f0;color:#64748b}.perm-panel{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px}.perm-panel::-webkit-scrollbar{width:5px}.perm-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.perm-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1.5px solid #f1f5f9}.perm-group-title{display:flex;align-items:center;gap:8px}.perm-group-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-red);flex-shrink:0}.perm-group-name{font-size:13px;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.04em}.perm-group-count{font-size:11px;color:#94a3b8;font-weight:500;background:#f1f5f9;border-radius:8px;padding:1px 7px}.perm-toggle-all{font-size:11px;font-weight:600;padding:3px 10px;border-radius:6px;border:1px solid #ffcdd2;background:#fff5f5;color:var(--primary-red);cursor:pointer;transition:all .13s}.perm-toggle-all:hover{background:var(--primary-red-lighter)}.perm-toggle-all--desel{border-color:#fecaca;background:#fff5f5;color:#dc2626}.perm-toggle-all--desel:hover{background:#fee2e2}.perm-chips{display:flex;flex-wrap:wrap;gap:7px}.perm-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 9px;border-radius:20px;border:1.5px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.perm-chip:hover{border-color:#93c5fd;background:#fff5f5;color:var(--primary-red);transform:translateY(-1px)}.perm-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;flex-shrink:0}.perm-chip-label{letter-spacing:.01em}.perm-chip-check{flex-shrink:0;stroke:currentColor}.perm-chip--on{background:var(--primary-red);border-color:var(--primary-red-dark);color:#fff;box-shadow:0 2px 8px #8b1a1a59}.perm-chip--on:hover{background:var(--primary-red-dark);border-color:var(--primary-red-darker);color:#fff;transform:translateY(-1px)}.perm-chip--on .perm-chip-dot{opacity:.7}.perm-chip--read{--chip-accent: #e57373}.perm-chip--create{--chip-accent: #22c55e}.perm-chip--update{--chip-accent: #f59e0b}.perm-chip--delete{--chip-accent: #ef4444}.perm-chip--cancel{--chip-accent: #f97316}.perm-chip--approve{--chip-accent: #10b981}.perm-chip--reject{--chip-accent: #f43f5e}.perm-chip--pay{--chip-accent: #8b5cf6}.perm-chip--view{--chip-accent: #6366f1}.perm-chip--manage{--chip-accent: #c62828}.perm-chip--admin{--chip-accent: #dc2626}.perm-chip--read:not(.perm-chip--on){border-color:#ffcdd2;color:#8b1a1a;background:#fff5f5}.perm-chip--create:not(.perm-chip--on){border-color:#bbf7d0;color:#15803d;background:#f0fdf4}.perm-chip--update:not(.perm-chip--on){border-color:#fde68a;color:#b45309;background:#fffbeb}.perm-chip--delete:not(.perm-chip--on){border-color:#fecaca;color:#b91c1c;background:#fff5f5}.perm-chip--cancel:not(.perm-chip--on){border-color:#fed7aa;color:#c2410c;background:#fff7ed}.perm-chip--approve:not(.perm-chip--on){border-color:#a7f3d0;color:#065f46;background:#ecfdf5}.perm-chip--reject:not(.perm-chip--on){border-color:#fecdd3;color:#be123c;background:#fff1f2}.perm-chip--pay:not(.perm-chip--on){border-color:#ddd6fe;color:#6d28d9;background:#f5f3ff}.perm-chip--admin:not(.perm-chip--on){border-color:#fca5a5;color:#dc2626;background:#fff5f5}.perm-dialog-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid #ebebeb;background:#fafbfc;flex-shrink:0}.perm-footer-info{font-size:13px;color:#64748b}.perm-footer-sel{display:inline-flex;align-items:center;gap:6px;background:var(--primary-red-lighter);color:var(--primary-red);border-radius:20px;padding:4px 12px;font-weight:600;font-size:12px}.perm-footer-actions{display:flex;gap:10px}.perm-btn-cancel{padding:9px 20px;border:1px solid #e2e8f0;background:#fff;border-radius:9px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.perm-btn-cancel:hover{background:#f9fafb;border-color:#cbd5e1}.perm-btn-save{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;background:linear-gradient(135deg,var(--primary-red),var(--primary-red-dark));color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px #8b1a1a4d}.perm-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #8b1a1a66}.perm-btn-save:disabled{opacity:.55;cursor:not-allowed}.perm-btn-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:perm-spin .7s linear infinite;display:inline-block}.delete-modal-body{padding:20px 24px;font-size:15px;color:#444;line-height:1.6}.delete-modal-body strong{color:#1a1a1a}.rbac-toast{position:fixed;bottom:28px;right:28px;padding:14px 22px;border-radius:10px;font-size:14px;font-weight:600;z-index:2000;box-shadow:0 8px 24px #00000026;animation:slideUp .3s ease}.rbac-toast.success{background:#388e3c;color:#fff}.rbac-toast.error{background:#e53935;color:#fff}.companies-container{padding:2rem;max-width:1400px;margin:0 auto}.companies-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.companies-header h1{font-size:1.75rem;color:#1a1a1a;margin:0}.companies-form-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.form-header h2{font-size:1.25rem;color:#333;margin:0}.btn-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close:hover{background:#f0f0f0;color:#333}.companies-form{display:flex;flex-direction:column;gap:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=url],.form-group input[type=date],.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group small{color:#666;font-size:.85rem;margin-top:.25rem}.form-group textarea{resize:vertical;min-height:80px}.btn-primary{background:#2196f3;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background .2s;font-size:.95rem}.btn-primary:hover{background:#1976d2}.btn-secondary{background:#fff;color:#666;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-secondary:hover{background:#f5f5f5;border-color:#999}.btn-icon{background:none;border:none;font-size:1.1rem;padding:.25rem .5rem;cursor:pointer;transition:transform .2s,opacity .2s;opacity:.7}.btn-icon:hover{transform:scale(1.15);opacity:1}.btn-icon.edit:hover{color:#2196f3}.btn-icon.delete:hover{color:#dc3545}.companies-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.list-header h2{font-size:1.25rem;color:#333;margin:0}.search-box input{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;width:250px;transition:border-color .2s}.search-box input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.companies-table{width:100%;border-collapse:collapse;font-size:.9rem;color:#1f2937}.companies-table th,.companies-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee;color:#1f2937}.companies-table tbody tr{background:#fff}.companies-table tbody tr:hover{background:#f9fafb}.companies-table th{background:#f8f9fa;font-weight:600;color:#111827;white-space:nowrap}.companies-table tbody tr:hover{background:#f8f9fa}.company-id{color:#666;font-family:monospace;font-size:.85rem}.company-info{display:flex;flex-direction:column;gap:.25rem}.company-info strong{color:#1a1a1a}.company-address{color:#666;font-size:.85rem}.registration-number{font-family:monospace;background:#f0f0f0;padding:.2rem .5rem;border-radius:3px;font-size:.85rem}.email-link{color:#2196f3;text-decoration:none}.email-link:hover{text-decoration:underline}.actions-cell{white-space:nowrap}.empty-message{text-align:center;color:#666;padding:2rem;font-size:.95rem}.loading{text-align:center;padding:3rem;color:#666;font-size:1rem}@media(max-width:768px){.companies-container{padding:1rem}.companies-header{flex-direction:column;align-items:stretch;gap:1rem}.form-row{grid-template-columns:1fr}.list-header{flex-direction:column;align-items:stretch}.search-box input{width:100%}.companies-table{font-size:.85rem}.companies-table th,.companies-table td{padding:.5rem}}.companies-table,.companies-table th,.companies-table td,.companies-table a,.companies-table strong,.companies-table small,.companies-table span{color:#1f2937}.companies-table .company-info strong{color:#111827;font-weight:600}.companies-table .company-address{color:#6b7280}.companies-table .email-link{color:#2563eb}.companies-table .email-link:hover{text-decoration:underline}.companies-table .company-id{color:#6b7280;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:var(--card-bg, #fff);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-icon.success{background:linear-gradient(135deg,#22c55e,#16a34a)}.stat-icon.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-icon.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-info h3{font-size:24px;font-weight:700;color:var(--text-primary, #1f2937);margin:0}.stat-info p{font-size:13px;color:var(--text-secondary, #6b7280);margin:4px 0 0}.table-link{color:var(--primary-color, #6366f1);text-decoration:none;font-weight:500}.table-link:hover{text-decoration:underline}.action-buttons{display:flex;gap:8px;align-items:center}.btn-icon{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-secondary, #f3f4f6);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease;text-decoration:none}.btn-icon:hover{background:var(--primary-light, #e0e7ff);transform:scale(1.1)}.btn-icon.danger:hover{background:#fee2e2}.employee-detail-header{display:flex;align-items:flex-start;gap:24px;margin-bottom:32px;padding:24px;background:var(--card-bg, #fff);border-radius:16px;box-shadow:0 2px 8px #00000014}.employee-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;flex-shrink:0}.employee-info{flex:1}.employee-info h1{margin:0 0 8px;font-size:28px;color:var(--text-primary, #1f2937)}.employee-info .employee-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.employee-meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary, #6b7280)}.employee-actions{display:flex;gap:12px}.tabs-container{margin-bottom:24px}.tabs-header{display:flex;gap:4px;background:var(--bg-secondary, #f3f4f6);padding:4px;border-radius:12px;margin-bottom:24px}.tab-btn{padding:12px 24px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary, #6b7280);transition:all .2s ease;display:flex;align-items:center;gap:8px}.tab-btn:hover{background:#6366f11a;color:var(--primary-color, #6366f1)}.tab-btn.active{background:var(--card-bg, #fff);color:var(--primary-color, #6366f1);box-shadow:0 2px 4px #00000014}.tab-content{background:var(--card-bg, #fff);border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;font-size:18px;color:var(--text-primary, #1f2937)}.contract-card{background:var(--bg-secondary, #f9fafb);border-radius:12px;padding:16px;margin-bottom:12px;border-left:4px solid var(--primary-color, #6366f1)}.contract-card.inactive{border-left-color:#9ca3af;opacity:.7}.contract-card .contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.contract-card .contract-title{font-weight:600;font-size:16px;color:var(--text-primary, #1f2937)}.contract-card .contract-details{display:flex;flex-wrap:wrap;gap:16px}.contract-detail-item{display:flex;flex-direction:column;gap:2px}.contract-detail-item .label{font-size:12px;color:var(--text-secondary, #6b7280)}.contract-detail-item .value{font-size:14px;font-weight:500;color:var(--text-primary, #1f2937)}.attendance-item{display:flex;align-items:center;padding:12px 16px;background:var(--bg-secondary, #f9fafb);border-radius:10px;margin-bottom:8px}.attendance-date{font-weight:600;min-width:120px;color:var(--text-primary, #1f2937)}.attendance-times{display:flex;gap:24px;flex:1}.attendance-time{display:flex;align-items:center;gap:6px;font-size:14px}.attendance-time .icon{font-size:16px}.attendance-time.in{color:#22c55e}.attendance-time.out{color:#ef4444}.leave-item{display:flex;align-items:center;padding:16px;background:var(--bg-secondary, #f9fafb);border-radius:12px;margin-bottom:12px;gap:16px}.leave-dates{flex:1}.leave-dates .period{font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:4px}.leave-dates .reason{font-size:13px;color:var(--text-secondary, #6b7280)}.leave-status{display:flex;align-items:center;gap:8px}.salary-card{background:var(--bg-secondary, #f9fafb);border-radius:12px;padding:16px;margin-bottom:12px}.salary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.salary-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.salary-item{display:flex;flex-direction:column;gap:4px}.salary-item .label{font-size:12px;color:var(--text-secondary, #6b7280)}.salary-item .value{font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.salary-item .value.positive{color:#22c55e}.salary-item .value.negative{color:#ef4444}.salary-item .value.total{color:var(--primary-color, #6366f1)}.form-container{max-width:800px;margin:0 auto}.form-card{background:var(--card-bg, #fff);border-radius:16px;padding:32px;box-shadow:0 2px 8px #00000014}.form-title{font-size:24px;margin-bottom:24px;color:var(--text-primary, #1f2937);display:flex;align-items:center;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:span 2}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary, #1f2937)}.form-group label .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1px solid var(--border-color, #e5e7eb);border-radius:10px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color, #e5e7eb)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg, #fff);border-radius:16px;padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:20px;color:var(--text-primary, #1f2937)}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-secondary, #f3f4f6);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#fee2e2;color:#ef4444}.modal-body{margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.employee-detail-header{flex-direction:column;align-items:center;text-align:center}.employee-info .employee-meta{justify-content:center}.tabs-header{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}}.notif-tabs{display:inline-flex;gap:4px;margin-bottom:var(--spacing-xl);background:#fff;padding:6px;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:0 1px 2px #0000000a}.notif-tab{padding:10px 22px;border:none;border-radius:var(--radius-md);background:transparent;font-size:var(--text-sm);font-weight:600;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm);letter-spacing:.2px}.notif-tab:hover{color:var(--primary-red);background:#fff5f5}.notif-tab.active{background:linear-gradient(135deg,var(--primary-red) 0%,#a51d1d 100%);color:#fff;box-shadow:0 2px 8px #8b1a1a40}.notif-tab.active:hover{color:#fff;background:linear-gradient(135deg,var(--primary-red) 0%,#a51d1d 100%)}.notif-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) 0;gap:var(--spacing-md);color:var(--gray-500)}.notif-loading .spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--primary-red);border-radius:50%;animation:spin .8s linear infinite}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:var(--spacing-md);color:var(--gray-500)}.notif-empty .empty-icon{font-size:3rem}.content-preview{font-size:var(--text-xs);color:var(--gray-600);line-height:1.4}.var-highlight{background:var(--warning-light);color:var(--warning);padding:1px 5px;border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-xs);font-family:monospace}.id-badge{display:inline-block;background:var(--gray-100);color:var(--gray-600);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;font-family:monospace}.send-container{max-width:800px}.send-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.send-section{background:#fff;border-radius:var(--radius-lg);padding:28px;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;border:1px solid var(--gray-200);border-top:3px solid var(--primary-red);transition:box-shadow .2s ease}.send-section:hover{box-shadow:0 4px 12px #0000000f,0 2px 4px #0000000a}.send-section h3{font-size:var(--text-lg);color:#111827;margin:0 0 var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.2px}.send-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:24px var(--spacing-md);background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.mode-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.mode-btn:hover{background:#fff;border-color:var(--primary-red);transform:translateY(-1px);box-shadow:0 4px 12px #8b1a1a14}.mode-btn.active{background:linear-gradient(180deg,#fff5f5,#fff);border-color:var(--primary-red);box-shadow:0 4px 16px #8b1a1a1f}.mode-btn.active:before{transform:scaleX(1)}.mode-btn .mode-icon{font-size:1.8rem}.mode-btn .mode-label{font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}.mode-btn.active .mode-label{color:var(--primary-red)}.custom-notif-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.custom-notif-form textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.custom-notif-form code{background:var(--gray-100);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--primary-red)}.section-hint{font-size:var(--text-sm);color:var(--gray-500);margin:0 0 var(--spacing-md)}.full-width{width:100%}.template-preview-card{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--gray-300)}.preview-label{font-size:var(--text-xs);color:var(--gray-500);text-transform:uppercase;font-weight:700;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.preview-title{font-size:var(--text-base);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.preview-content{font-size:var(--text-sm);color:var(--gray-700);line-height:1.5;white-space:pre-wrap}.vars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}.auto-vars-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md)}.auto-vars-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.auto-var-tag{display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#166534;font-size:var(--text-xs);font-weight:600;padding:4px 10px;border-radius:var(--radius-full);border:1px solid #bbf7d0}.recipient-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.recipient-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:18px var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#fff}.recipient-option:hover{border-color:var(--primary-red);background:#fff5f5;transform:translateY(-1px)}.recipient-option.active{border-color:var(--primary-red);background:linear-gradient(135deg,#fff5f5,#fff);box-shadow:0 2px 8px #8b1a1a1a}.recipient-option input[type=radio]{display:none}.option-icon{font-size:1.3rem}.option-label{font-weight:600;font-size:var(--text-sm);color:var(--gray-800)}.selected-count{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--success-light);color:var(--success);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--spacing-md)}.all-recipients-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);font-size:var(--text-sm);color:#1e40af;margin-bottom:var(--spacing-md)}.all-recipients-info .info-icon{font-size:1.1rem}.all-recipients-info strong{font-weight:700;color:#1e3a8a}.source-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px}.source-user{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.source-client{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.user-card.read-only{cursor:default;padding-left:var(--spacing-md)}.user-card.read-only:hover{background:var(--white);border-left-color:var(--gray-200)}.users-list{max-height:350px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-md);display:flex;flex-direction:column}.user-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--gray-100)}.user-card:last-child{border-bottom:none}.user-card:hover{background:var(--gray-50)}.user-card.selected{background:var(--success-light)}.user-check{font-size:1.1rem;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-weight:600;font-size:var(--text-sm);color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-detail{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-hint{text-align:center;padding:var(--spacing-md);font-size:var(--text-sm);color:var(--gray-500)}.recipients-toolbar{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md)}.recipients-toolbar .search-box{flex:1}.user-name-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.client-type-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.client-type-badge.type-partner{background:#dbeafe;color:#1e40af}.client-type-badge.type-ordinary{background:var(--gray-100);color:var(--gray-600)}.client-type-badge.type-counter{background:#fef3c7;color:#92400e}.client-status-badge.inactive{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--error-light);color:var(--error)}.btn-clear-selection{background:none;border:none;color:var(--error);font-size:var(--text-xs);font-weight:600;cursor:pointer;margin-left:var(--spacing-sm);padding:2px 6px;border-radius:var(--radius-sm)}.btn-clear-selection:hover{background:var(--error-light)}.send-actions{display:flex;justify-content:flex-end}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--text-base)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast);resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px #8b1a1a1a}.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--text-xs);color:var(--gray-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.recipient-options,.vars-grid{grid-template-columns:1fr}.notif-tabs{width:100%}.notif-tab{flex:1;justify-content:center}}.send-section h3{position:relative}.template-preview-card{background:#fff;border:1px solid var(--gray-200);border-left:4px solid var(--primary-red);box-shadow:0 1px 3px #0000000a}.preview-label{color:var(--primary-red)}.preview-title{color:#111827;font-weight:700}.preview-content{color:#374151}.recipient-option .option-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fef2f2;color:var(--primary-red);font-size:1.1rem;flex-shrink:0}.recipient-option.active .option-icon{background:var(--primary-red);color:#fff}.recipient-option .option-label{color:#111827;font-weight:600}.mode-btn .mode-icon{font-size:2rem;display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;background:#fef2f2;color:var(--primary-red);border-radius:50%;transition:all .2s ease}.mode-btn.active .mode-icon{background:var(--primary-red);color:#fff;transform:scale(1.05)}.mode-btn .mode-label{color:#111827;font-weight:600}.send-actions .btn-primary,.send-actions .btn.btn-lg{background:linear-gradient(135deg,var(--primary-red) 0%,#a51d1d 100%);color:#fff;border:none;font-weight:700;letter-spacing:.3px;box-shadow:0 4px 12px #8b1a1a40;transition:all .2s ease}.send-actions .btn-primary:hover:not(:disabled),.send-actions .btn.btn-lg:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #8b1a1a59}.send-actions .btn:disabled{opacity:.6;cursor:not-allowed}.users-list::-webkit-scrollbar{width:8px}.users-list::-webkit-scrollbar-track{background:var(--gray-50)}.users-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.users-list::-webkit-scrollbar-thumb:hover{background:var(--primary-red)}.user-card.selected{background:#fff5f5;border-left:3px solid var(--primary-red);padding-left:calc(var(--spacing-md) - 3px)}.user-check{color:var(--primary-red)}.selected-count{background:#fff5f5;color:var(--primary-red);border:1px solid #fecaca}.auto-vars-info{background:#fff;border:1px solid var(--gray-200);border-left:3px solid #16a34a}.all-recipients-info{background:#fff;border:1px solid var(--gray-200);border-left:3px solid var(--primary-red);color:#111827}.all-recipients-info strong{color:var(--primary-red)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.custom-notif-form input:focus,.custom-notif-form textarea:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px #8b1a1a1f}.id-badge,.var-highlight{background:#fef2f2;color:var(--primary-red);border:1px solid #fecaca}.partner-companies-container{padding:1.5rem;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-primary, #f5f7fa)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.page-header .header-content h1{font-size:1.75rem;color:var(--text-primary, #1a1a2e);margin:0 0 .25rem}.page-header .header-content p{color:var(--text-secondary, #666);margin:0}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000f}.stat-icon{font-size:2rem}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1a1a2e)}.stat-label{font-size:.85rem;color:var(--text-secondary, #666)}.search-bar{margin-bottom:1.5rem}.search-bar input{width:100%;padding:.875rem 1.25rem;border:1px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .2s ease;background:#fff}.search-bar input:focus{outline:none;border-color:var(--primary-color, #4361ee);box-shadow:0 0 0 3px #4361ee1a}.error-alert{background:#f8d7da;color:#721c24;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.error-alert button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#721c24}.loading-state{display:flex;flex-direction:column;align-items:center;padding:3rem;color:#666}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--primary-color, #4361ee);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem;color:#666;background:#fff;border-radius:12px}.empty-icon{font-size:3rem;margin-bottom:1rem;display:block}.companies-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.companies-table table{width:100%;border-collapse:collapse}.companies-table th,.companies-table td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.companies-table th{background:#f8f9fa;font-weight:600;color:var(--text-primary, #1a1a2e);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.companies-table tr:last-child td{border-bottom:none}.companies-table tr.inactive{opacity:.6;background:#fafafa}.company-name{display:flex;flex-direction:column;gap:.25rem}.company-name strong{color:var(--text-primary, #1a1a2e)}.company-name small{color:#888;font-size:.8rem}.company-contact{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#666}.card-amount{font-weight:600;color:#28a745}.status-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-badge:hover{transform:scale(1.05)}.action-buttons{display:flex;gap:.5rem}.btn-icon{background:none;border:1px solid #e0e0e0;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.btn-icon:hover{background:#f0f0f0}.btn-icon.danger:hover{background:#f8d7da;border-color:#dc3545}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-primary{background:var(--primary-color, #4361ee);color:#fff}.btn-primary:hover{background:#3651d4}.btn-secondary{background:#e9ecef;color:#495057}.btn-secondary:hover{background:#dde0e3}.btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.form-modal{max-width:500px}.form-modal>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem 1.5rem}.clients-modal{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary, #1a1a2e)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;line-height:1}.close-btn:hover{color:#333}.modal-body,form{padding:1.5rem}.form-modal>form{padding:1.25rem 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary, #1a1a2e)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number]{width:100%;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color, #4361ee);box-shadow:0 0 0 3px #4361ee1a}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:0}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 0 0;border-top:1px solid #e0e0e0;margin-top:1rem;position:sticky;bottom:0;background:#fff;z-index:2}.clients-list{display:flex;flex-direction:column;gap:.75rem}.client-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:10px}.client-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color, #4361ee),#7048e8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;flex-shrink:0}.client-item .client-info{flex:1;min-width:0}.client-item .client-info h4{margin:0 0 .25rem;font-size:.95rem;color:var(--text-primary, #1a1a2e)}.client-item .client-info p{margin:0;font-size:.85rem;color:#666}.client-balance{font-weight:600;color:#28a745;white-space:nowrap}@media(max-width:768px){.partner-companies-container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-row{grid-template-columns:repeat(3,1fr)}.stat-card{flex-direction:column;text-align:center;padding:1rem}.companies-table{overflow-x:auto}.companies-table table{min-width:700px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;justify-content:center}}.idtypes-page{padding:1.5rem}.idtypes-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.idtypes-page .page-header h1{margin:0;font-size:1.5rem;color:var(--text-primary, #1a1a2e)}.idtypes-page .page-subtitle{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.idtypes-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.idtypes-page .search-box{position:relative;flex:1;max-width:360px}.idtypes-page .search-box input{width:100%;padding:.6rem .75rem .6rem 2.25rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;outline:none}.idtypes-page .search-box input:focus{border-color:var(--primary-color, #4f46e5)}.idtypes-page .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af}.idtypes-page .results-count{color:#6b7280;font-size:.9rem}.idtypes-page .card-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.idtypes-page table{width:100%;border-collapse:collapse}.idtypes-page thead{background:#f9fafb}.idtypes-page th,.idtypes-page td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #f0f0f0}.idtypes-page th{font-weight:600;font-size:.85rem;color:#4b5563;text-transform:uppercase;letter-spacing:.5px}.idtypes-page tbody tr:hover{background:#fafbfc}.idtypes-page .loading,.idtypes-page .empty-state{background:#fff;border-radius:12px;padding:3rem;text-align:center;color:#6b7280}.idtypes-page .modal-overlay,.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.idtypes-page .modal-content,.modal-content.form-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.idtypes-page .modal-header,.modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0}.idtypes-page .modal-header h2{margin:0;font-size:1.15rem}.idtypes-page .close-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;line-height:1}.idtypes-page form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto}.idtypes-page .form-group{margin-bottom:1rem}.idtypes-page .form-group label{display:block;margin-bottom:.4rem;font-weight:500;color:#374151;font-size:.92rem}.idtypes-page .form-group input{width:100%;padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;outline:none}.idtypes-page .form-group input:focus{border-color:var(--primary-color, #4f46e5)}.idtypes-page .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e0e0e0;margin-top:1rem;position:sticky;bottom:0;background:#fff}.taxes-container{padding:2rem;max-width:1400px;margin:0 auto}.taxes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.taxes-header h1{font-size:1.75rem;color:#111827;margin:0 0 .25rem}.taxes-subtitle{margin:0;color:#6b7280;font-size:.95rem}.taxes-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #8B1A1A;border-radius:8px;padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0000000a;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.stat-card.stat-active{border-left-color:#16a34a}.stat-card.stat-inactive{border-left-color:#9ca3af}.stat-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fef2f2;flex-shrink:0}.stat-card.stat-active .stat-icon{background:#f0fdf4}.stat-card.stat-inactive .stat-icon{background:#f3f4f6}.stat-value{font-size:1.75rem;font-weight:700;color:#111827;line-height:1}.stat-label{font-size:.85rem;color:#6b7280;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.taxes-form-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000000a;border:1px solid #e5e7eb;border-top:3px solid #8B1A1A}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.form-header h2{font-size:1.25rem;color:#111827;margin:0}.btn-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-close:hover{background:#fef2f2;color:#8b1a1a}.taxes-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.9rem}.required{color:#dc3545;margin-left:2px}.form-group input[type=text],.form-group input[type=number],.form-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:all .2s;background:#fff;color:#111827}.form-group input:focus,.form-group select:focus{outline:none;border-color:#8b1a1a;box-shadow:0 0 0 3px #8b1a1a1f}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#8B1A1A}.checkbox-label span{color:#111827;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.btn-primary{background:linear-gradient(135deg,#8b1a1a,#a51d1d);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem;box-shadow:0 2px 6px #8b1a1a40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b1a1a59}.btn-secondary{background:#fff;color:#6b7280;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-icon{background:none;border:1px solid transparent;font-size:1rem;padding:.4rem .6rem;cursor:pointer;border-radius:6px;transition:all .2s}.btn-icon:hover{background:#f9fafb;border-color:#e5e7eb}.btn-edit:hover,.btn-delete:hover{background:#fef2f2;border-color:#fecaca}.taxes-list{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000a;border:1px solid #e5e7eb}.list-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.list-header h2{font-size:1.25rem;color:#111827;margin:0}.list-toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.search-box{position:relative;min-width:260px}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.9rem}.search-box input{width:100%;padding:.55rem .75rem .55rem 2.25rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;color:#111827;transition:all .2s}.search-box input:focus{outline:none;border-color:#8b1a1a;box-shadow:0 0 0 3px #8b1a1a1f}.filter-select{padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;color:#111827;cursor:pointer}.filter-select:focus{outline:none;border-color:#8b1a1a;box-shadow:0 0 0 3px #8b1a1a1f}.empty-message{text-align:center;color:#6b7280;padding:3rem 1rem;font-style:italic}.table-container{overflow-x:auto}.taxes-table{width:100%;border-collapse:collapse}.taxes-table thead{background:#f9fafb}.taxes-table th{padding:.9rem 1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.taxes-table td{padding:.9rem 1rem;border-bottom:1px solid #f0f0f0;color:#111827;font-size:.95rem}.taxes-table tbody tr{transition:background .15s}.taxes-table tbody tr:hover{background:#fafafa}.id-badge{display:inline-block;background:#fef2f2;color:#8b1a1a;padding:.2rem .6rem;border-radius:12px;font-weight:600;font-family:monospace;font-size:.8rem;border:1px solid #fecaca}.rate-badge{display:inline-block;background:#8b1a1a;color:#fff;padding:.25rem .75rem;border-radius:6px;font-weight:700;font-size:.9rem;min-width:60px;text-align:center}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-badge.type-sale{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.type-badge.type-purchase{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.type-badge.type-service{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.type-badge.type-other{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.status-toggle{display:inline-block;padding:.3rem .85rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:all .2s}.status-toggle.active{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-toggle.active:hover{background:#bbf7d0}.status-toggle.inactive{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.status-toggle.inactive:hover{background:#e5e7eb}.actions{display:flex;gap:.35rem}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}@media(max-width:768px){.taxes-container{padding:1rem}.taxes-header{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}.list-header,.list-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:0}.taxes-table{min-width:600px}}.adm-dep-page{padding:24px;max-width:1400px;margin:0 auto}.adm-dep-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.adm-dep-header h1{margin:0 0 4px;font-size:1.6rem;color:#222}.adm-dep-subtitle{margin:0;color:#666;font-size:.9rem}.adm-dep-header-actions{display:flex;gap:8px;flex-wrap:wrap}.adm-dep-btn:disabled{opacity:.5;cursor:not-allowed}.adm-dep-btn{padding:8px 14px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.adm-dep-btn-secondary{background:#f1f3f5;color:#333;border:1px solid #e0e0e0}.adm-dep-btn-secondary:hover{background:#e9ecef}.adm-dep-pos-selector{background:#fff;padding:16px;border-radius:10px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.adm-dep-pos-selector label{font-weight:600;color:#444;font-size:.9rem}.adm-dep-pos-selector select{flex:1;min-width:240px;padding:8px 10px;border:1px solid #dcdfe3;border-radius:6px;font-size:.9rem;background:#fff}.adm-dep-pos-info{display:flex;align-items:center;gap:10px}.adm-dep-pos-chip{padding:4px 10px;border-radius:14px;font-size:.8rem;font-weight:600;background:#eef2ff;color:#3949ab}.adm-dep-pos-central{background:#e3f2fd;color:#1565c0}.adm-dep-pos-regional{background:#ede7f6;color:#5e35b1}.adm-dep-pos-internal{background:#e8f5e9;color:#2e7d32}.adm-dep-pos-external{background:#fff3e0;color:#ef6c00}.adm-dep-pos-meta{font-size:.85rem;color:#666}.adm-dep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.adm-dep-stat-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000f;display:flex;align-items:center;gap:12px;border-top:3px solid #95a5a6}.adm-dep-stat-card.total{border-top-color:#e74c3c}.adm-dep-stat-icon{font-size:1.8rem}.adm-dep-stat-info{display:flex;flex-direction:column}.adm-dep-stat-value{font-size:1.1rem;font-weight:700;color:#222}.adm-dep-stat-label{font-size:.78rem;color:#777}.adm-dep-filters{background:#fff;padding:12px;border-radius:10px;box-shadow:0 1px 3px #0000000f;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:16px;overflow-x:auto}.adm-dep-filters select,.adm-dep-filters input{flex:1 1 0;min-width:140px;padding:8px 10px;border:1px solid #dcdfe3;border-radius:6px;font-size:.88rem;background:#fff}.adm-dep-filters .adm-dep-btn-clear{flex:0 0 auto;white-space:nowrap}.adm-dep-btn-clear{padding:8px 12px;background:#fef2f2;color:#c0392b;border:1px solid #fbd5d5;border-radius:6px;cursor:pointer;font-size:.85rem}.adm-dep-btn-clear:hover{background:#fee2e2}.adm-dep-content{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.adm-dep-table-wrap{overflow-x:auto}.adm-dep-table{width:100%;border-collapse:collapse}.adm-dep-table th,.adm-dep-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:.9rem;vertical-align:top}.adm-dep-table th{background:#fafbfc;color:#555;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.4px}.adm-dep-table tbody tr:hover{background:#fafafa}.adm-dep-ref{font-family:Monaco,Menlo,monospace;color:#555;font-size:.82rem}.adm-dep-cat-badge,.adm-dep-status-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap}.adm-dep-desc{max-width:280px}.adm-dep-approver-line{margin-top:4px;font-size:.75rem;color:#666}.adm-dep-approver-line strong{color:#222}.adm-dep-approver-phone{margin-top:2px;font-size:.75rem;color:#777}.adm-dep-pos-cell,.adm-dep-user-cell{font-size:.85rem;line-height:1.3}.adm-dep-pos-name,.adm-dep-user-name{font-weight:600;color:#222}.adm-dep-pos-type,.adm-dep-user-handle{font-size:.74rem;color:#888;margin-top:2px}.adm-dep-amount{font-weight:700;color:#e74c3c;white-space:nowrap}.adm-dep-loading,.adm-dep-empty,.adm-dep-error{padding:40px 20px;text-align:center;color:#666}.adm-dep-error{background:#fef2f2;color:#c0392b}.adm-dep-error button{margin-left:10px;padding:4px 10px;border:1px solid #c0392b;background:#fff;color:#c0392b;border-radius:4px;cursor:pointer}.adm-dep-empty-icon{font-size:2.4rem;display:block;margin-bottom:10px}.adm-dep-spinner{width:36px;height:36px;border:3px solid #f0f0f0;border-top-color:#3498db;border-radius:50%;animation:adm-dep-spin .8s linear infinite;margin:0 auto 10px}@keyframes adm-dep-spin{to{transform:rotate(360deg)}}.print-only{display:none}.adm-dep-print-header h2{margin:0 0 6px;font-size:1.3rem}.adm-dep-print-header p{margin:0;font-size:.9rem;color:#444}@media print{body *{visibility:hidden}.adm-dep-page,.adm-dep-page *{visibility:visible}.adm-dep-page{position:absolute;top:0;left:0;width:100%;padding:12mm;max-width:none}.no-print{display:none!important}.print-only{display:block!important;margin-bottom:12px}.adm-dep-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.adm-dep-stat-card{box-shadow:none;border:1px solid #ddd}.adm-dep-content{box-shadow:none}.adm-dep-table th{background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.adm-dep-cat-badge,.adm-dep-status-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.adm-dep-table tbody tr{page-break-inside:avoid}}.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-success,.btn-warning,.btn-ghost,.btn-outline,.btn-cancel,.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:var(--text-sm);font-weight:600;line-height:1.2;letter-spacing:.01em;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary,.btn-submit{background:var(--primary-red);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover,.btn-submit:hover{background:var(--primary-red-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active,.btn-submit:active{background:var(--primary-red-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary,.btn-cancel{background:var(--white);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover,.btn-cancel:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-danger{background:var(--error);color:var(--white);box-shadow:var(--shadow-sm)}.btn-danger:hover{background:#991b1b;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:var(--success);color:var(--white);box-shadow:var(--shadow-sm)}.btn-success:hover{background:#166534;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning{background:var(--warning);color:var(--white);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--gray-100);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--primary-red);border-color:var(--primary-red)}.btn-outline:hover{background:var(--primary-red-soft)}.btn-sm{padding:7px 12px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:13px 24px;font-size:var(--text-md);border-radius:var(--radius-lg)}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);border:1px solid transparent;cursor:pointer;font-size:16px;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--gray-100);color:var(--text-primary)}.btn-icon.danger:hover{background:var(--error-light);color:var(--error)}.btn-icon.roles:hover{background:var(--info-light);color:var(--info)}.card,.content-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-xs);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--primary-red),var(--primary-red-dark));opacity:0;transition:opacity var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-card:hover:before{opacity:1}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--primary-red-soft);color:var(--primary-red);flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px;font-weight:500}.main-content .page-header,.main-content .admin-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:20px;padding:14px 20px 14px 18px;margin:0 0 20px;background:linear-gradient(135deg,#b91c1c06,#fff 60%);border:1px solid var(--border-color);border-left:4px solid var(--primary-red);border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;position:sticky;top:calc(var(--header-height, 64px) + 12px);z-index:30;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;min-height:auto;width:auto;max-width:none}.main-content .page-header.is-scrolled,.main-content .admin-page-header.is-scrolled{background:#ffffffd9;border-color:#0000000f;border-left-color:var(--primary-red);box-shadow:0 10px 30px -10px #0f172a2e,0 4px 12px -6px #0f172a1f;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px)}.main-content .page-header .header-content{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;flex:1 1 auto;padding:0;margin:0;background:transparent;border:0;box-shadow:none}.main-content .page-header h1,.main-content .page-header .header-content h1{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0;padding:0;line-height:1.2;white-space:nowrap;flex-shrink:0;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:initial;text-shadow:none}.main-content .page-header p,.main-content .page-header .header-content p,.main-content .page-header .subtitle{margin:0;padding:0;color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.4;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;text-transform:none}.main-content .page-header .btn-primary,.main-content .page-header .btn-secondary{align-self:center;flex-shrink:0;margin:0;white-space:nowrap}@media(max-width:900px){.main-content .page-header .header-content p{flex-basis:100%;white-space:normal;overflow:visible;text-overflow:clip}}@media(max-width:640px){.main-content .page-header,.main-content .admin-page-header{padding:12px 14px 12px 12px;flex-wrap:wrap}.main-content .page-header h1,.main-content .page-header .header-content h1{font-size:17px}.main-content .page-header p,.main-content .page-header .header-content p{font-size:12px}}@media(max-width:420px){.main-content .page-header,.main-content .admin-page-header{flex-direction:column;align-items:stretch}.main-content .page-header .btn-primary,.main-content .page-header .btn-secondary{width:100%;justify-content:center}}.data-table,.users-table table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--text-sm)}.data-table thead,.users-table thead{background:var(--gray-50)}.data-table th,.users-table th{padding:14px 18px;text-align:left;font-weight:600;font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td,.users-table td{padding:14px 18px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:last-child td,.users-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr,.users-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover,.users-table tbody tr:hover{background:var(--gray-50)}.table-responsive,.users-table{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;background:var(--bg-card);box-shadow:var(--shadow-xs)}.badge,.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1.4;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}.badge-success,.status-badge.active,.status-active{background:var(--success-light);color:var(--success);border-color:#15803d26}.badge-warning,.status-badge.warning,.status-suspended{background:var(--warning-light);color:var(--warning);border-color:#b4530926}.badge-error,.badge-danger,.status-badge.inactive,.status-inactive,.status-banned,.status-deleted{background:var(--error-light);color:var(--error);border-color:#b91c1c26}.badge-info,.status-badge.info{background:var(--info-light);color:var(--info);border-color:#1d4ed826}.badge-default,.badge-rbac{background:var(--gray-100);color:var(--text-secondary);border-color:var(--border-color)}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.role-badge.role-rbac{background:#f5f3ff;color:#6d28d9;border:1px solid #DDD6FE}.form-group label,.filter-group label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select,.filter-group input,.filter-group select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],input[type=time],input[type=date],input[type=datetime-local],textarea,select{width:100%;padding:10px 14px;font-size:var(--text-sm);font-family:inherit;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primary-red);cursor:pointer}.form-group input:hover,.form-group textarea:hover,.form-group select:hover,.filter-group input:hover,.filter-group select:hover{border-color:var(--gray-400)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.filter-group input:focus,.filter-group select:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-red);box-shadow:var(--ring-primary);background:var(--white)}.form-group input::placeholder,.filter-group input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--gray-100);color:var(--text-muted);cursor:not-allowed}.form-group small,.form-group .hint{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--text-muted)}.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.filters-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-xs)}.filters-section h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600;margin-bottom:var(--spacing-md)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.filter-group{display:flex;flex-direction:column}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn var(--transition-normal)}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:640px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:scaleIn var(--transition-normal) var(--ease-out-back)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:var(--radius-md);font-size:22px;color:var(--text-secondary);background:transparent;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--gray-100);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-footer,.modal-actions{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--gray-50);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding:var(--spacing-md)}.pagination button{padding:8px 16px;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){background:var(--primary-red-soft);border-color:var(--primary-red);color:var(--primary-red)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.pagination span{font-size:var(--text-sm);color:var(--text-secondary);padding:0 var(--spacing-sm);font-weight:500}.alert{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:10px;font-size:var(--text-sm);font-weight:500;border:1px solid transparent;animation:slideDown var(--transition-normal)}.alert-success{background:var(--success-soft);color:var(--success);border-color:#15803d2e}.alert-error,.alert-danger{background:var(--error-soft);color:var(--error);border-color:#b91c1c2e}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:#b453092e}.alert-info{background:var(--info-soft);color:var(--info);border-color:#1d4ed82e}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-secondary)}.empty-state h2,.empty-state h3{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.empty-icon{font-size:42px;margin-bottom:var(--spacing-sm);opacity:.7}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);color:var(--text-secondary)}.spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--primary-red);border-radius:50%;animation:spin .8s linear infinite}.page-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.search-input{flex:1;min-width:240px}.filter-select{min-width:170px;cursor:pointer}.view-toggle{display:flex;gap:4px;border:1px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.view-toggle .view-btn{padding:8px 14px;background:var(--bg-card);color:var(--text-secondary);border:none;cursor:pointer;font-size:var(--text-md);transition:all var(--transition-fast)}.view-toggle .view-btn:hover{background:var(--gray-100);color:var(--text-primary)}.view-toggle .view-btn.active{background:var(--primary-red);color:var(--white)}.search-section{margin-bottom:var(--spacing-md)}.search-input-container{position:relative;display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-container:focus-within{border-color:var(--primary-red);box-shadow:var(--ring-primary)}.search-input-container .search-icon{font-size:var(--text-md);color:var(--text-muted);margin-right:8px}.search-input-container .search-input{flex:1;border:none;box-shadow:none;padding:10px 4px;background:transparent!important}.search-input-container .search-input:focus{outline:none;box-shadow:none}.search-input-container .clear-search{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.search-input-container .clear-search:hover{background:var(--gray-100);color:var(--text-primary)}.page-filters .results-count{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;padding:6px 12px;background:var(--gray-100);border-radius:var(--radius-full);white-space:nowrap}.roles-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.roles-cell .text-muted{color:var(--text-muted);font-size:var(--text-sm)}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-danger{color:var(--error)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.bg-card{background:var(--bg-card)}.bg-app{background:var(--bg-app)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.divider{height:1px;background:var(--border-color);margin:var(--spacing-md) 0;border:none}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.page-header{flex-direction:column;align-items:stretch}.stats-grid,.filters-grid{grid-template-columns:1fr}.modal-content{max-width:100%;border-radius:var(--radius-lg)}.modal-footer,.modal-actions{flex-direction:column-reverse}.modal-footer .btn,.modal-actions .btn,.modal-footer button,.modal-actions button{width:100%}.data-table,.users-table table{font-size:var(--text-xs)}.data-table th,.data-table td,.users-table th,.users-table td{padding:10px 12px}}
