.admin-sidebar{width:240px;background-color:#0f172a;color:#fff;display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.sidebar-brand{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand h1{font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;color:#94a3b8;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}.nav-link:hover{background-color:#1e293b;color:#fff}.nav-link.active{background-color:#1e40af;color:#fff}.nav-link svg{flex-shrink:0}.sidebar-footer{padding:12px}.sidebar-separator{height:1px;background-color:#ffffff1a;margin-bottom:8px}@media(max-width:768px){.admin-sidebar{position:fixed;left:-240px;z-index:100;transition:left .3s}.admin-sidebar.open{left:0}}.sidebar-section{margin-bottom:1rem}.sidebar-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:.75rem 1.5rem .25rem;font-weight:600;opacity:.7}.admin-sidebar{width:260px;background:linear-gradient(135deg,#1e293b,#0f172a);color:#cbd5e1;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;border-right:1px solid #334155;overflow-y:auto}.sidebar-brand{padding:1.5rem 1.5rem .5rem;border-bottom:1px solid #334155}.sidebar-category{display:flex;flex-direction:column}.sidebar-parent{display:flex;align-items:center;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:background .15s;color:#94a3b8;gap:.75rem}.sidebar-parent-icon{flex-shrink:0}.sidebar-children{margin-left:.75rem;padding-left:.75rem;border-left:1px solid #334155;display:flex;flex-direction:column;gap:2px}.sidebar-child{display:flex;align-items:center;padding:.5rem .75rem;border-radius:6px;gap:.75rem;color:#94a3b8;text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.sidebar-child-icon{flex-shrink:0}.settings-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;color:#94a3b8;text-decoration:none;transition:background .15s,color .15s}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.admin-sidebar{width:260px;background:linear-gradient(180deg,#0f172a,#1e293b);color:#cbd5e1;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;border-right:1px solid #334155;overflow-y:auto}.sidebar-brand{padding:1.5rem 1.5rem .75rem;border-bottom:1px solid #334155}.sidebar-brand h1{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.05em}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column}.sidebar-menu-wrapper{display:flex;flex-direction:column}.sidebar-menu-spacer{height:12px;border-bottom:1px solid #1e293b;margin:6px 0 8px}.sidebar-menu{display:flex;flex-direction:column}.sidebar-parent{display:flex;align-items:center;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s;color:#94a3b8;gap:.75rem}.sidebar-parent:hover{background:#334155;color:#f1f5f9}.sidebar-parent-icon{flex-shrink:0;display:flex;align-items:center}.sidebar-parent-icon svg{width:20px;height:20px}.sidebar-parent-label{flex:1;font-weight:500;font-size:.95rem}.sidebar-parent-chevron{margin-left:auto;display:flex;align-items:center;transition:transform .2s}.sidebar-parent-chevron svg{width:16px;height:16px}.sidebar-children{margin-left:.75rem;padding-left:.75rem;border-left:2px solid #334155;display:flex;flex-direction:column;gap:2px;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.sidebar-child{display:flex;align-items:center;padding:.5rem .75rem;border-radius:6px;gap:.75rem;color:#94a3b8;text-decoration:none;font-size:.9rem;transition:all .15s}.sidebar-child:hover{background:#1e293b;color:#e2e8f0}.sidebar-child.active{background:#3b82f6;color:#fff}.sidebar-child-icon{flex-shrink:0;display:flex;align-items:center}.sidebar-child-icon svg{width:18px;height:18px}.sidebar-child-label{flex:1}.sidebar-footer{padding:1rem .75rem;border-top:1px solid #334155;margin-top:auto}.sidebar-separator{height:1px;background:#334155;margin-bottom:.75rem}.settings-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;color:#94a3b8;text-decoration:none;transition:all .15s}.settings-link:hover{background:#334155;color:#f1f5f9}.settings-icon{display:flex;align-items:center}.settings-icon svg{width:20px;height:20px}@media(max-width:768px){.admin-sidebar{width:100%;height:auto;position:relative;border-right:none}}.admin-topbar{height:60px;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-title{font-size:18px;font-weight:600;color:#0f172a;letter-spacing:-.01em}.admin-profile{display:flex;align-items:center;gap:12px}.admin-avatar{width:36px;height:36px;border-radius:50%;background-color:#1e40af;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.admin-name{font-size:14px;font-weight:500;color:#0f172a}.btn-logout{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:transparent;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.btn-logout:hover{background-color:#f8fafc;border-color:#cbd5e1}@media(max-width:768px){.admin-topbar{padding:0 16px}.admin-name,.btn-logout span{display:none}}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:64px;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-bottom:1px solid #334155}.topbar-left{display:flex;align-items:center}.topbar-title{font-size:18px;font-weight:600;color:#fff;margin:0}.topbar-right{display:flex;align-items:center;gap:16px}.admin-profile{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:30px;cursor:pointer;transition:background .2s}.admin-profile:hover{background:#ffffff1a}.admin-avatar{width:36px;height:36px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.admin-name{font-weight:500;font-size:14px}.btn-logout{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#ef44444d;border-color:#ef444480;color:#fecaca}@media(max-width:640px){.admin-topbar{padding:0 16px}.topbar-title{font-size:15px}.admin-name,.btn-logout span{display:none}}.admin-layout{display:flex;min-height:100vh;width:100%}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0}.admin-content{flex:1;padding:24px;overflow-y:auto}@media(max-width:768px){.admin-content{padding:16px}}.commission-page{max-width:1400px;margin:0 auto;padding:24px;background:#f8fafc;min-height:100vh}.config-section,.services-section,.vip-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.config-section h2,.services-section h2,.vip-section h2{font-size:20px;font-weight:600;margin:0 0 8px;color:#0f172a}.config-section p,.services-section p,.vip-section p{font-size:14px;color:#64748b;margin:0 0 16px}.config-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.config-value{font-size:16px;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border-left:4px solid #6366f1;display:inline-block}.config-value strong{color:#6366f1;font-size:18px}.config-edit{background:#f8fafc;padding:16px;border-radius:8px;border:2px solid #6366f1}.config-edit label{display:block;font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}.config-edit-row{display:flex;gap:12px;align-items:center}.config-edit-row input{flex:0 0 150px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600}.config-edit-row input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.btn-save{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-cancel{background:#f1f5f9;color:#64748b;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e2e8f0}.services-table,.vip-table{width:100%;border-collapse:collapse;margin-top:16px}.services-table thead,.vip-table thead{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.services-table th,.vip-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.services-table td,.vip-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#475569}.services-table tbody tr:hover,.vip-table tbody tr:hover{background:#f8fafc;transition:all .2s}.services-table input{width:100px;padding:8px 12px;border:2px solid #6366f1;border-radius:6px;font-size:14px;font-weight:600}.highlight-yorsil{color:#6366f1;font-weight:700;font-size:15px}.highlight-partenaire{color:#10b981;font-weight:700;font-size:15px}.empty{text-align:center;padding:40px;color:#94a3b8;font-style:italic}.btn-edit,.btn-add,.btn-icon{background:none;border:1px solid #e2e8f0;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;margin:0 4px}.btn-edit{background:#fff;color:#6366f1;border-color:#6366f1}.btn-edit:hover{background:#6366f1;color:#fff}.btn-add{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:10px 20px;font-weight:600;box-shadow:0 4px 12px #6366f14d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.vip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.modal-content{background:#fff;border-radius:16px;padding:28px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s}.modal-content h3{margin:0 0 20px;font-size:22px;font-weight:700;color:#0f172a}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input.readonly{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#6366f1;font-weight:700;cursor:not-allowed;border-color:#cbd5e1}.info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:10px;padding:14px;margin-bottom:18px;font-size:15px;color:#1e40af;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:2px solid #f1f5f9}.modal-actions button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.modal-actions button[type=button]{background:#f1f5f9;color:#475569;border:none}.modal-actions button[type=button]:hover{background:#e2e8f0}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.action-buttons{display:flex;gap:4px;flex-wrap:wrap}.action-buttons .btn-edit{font-size:11px;padding:2px 8px;background:#e0e7ff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.action-buttons .btn-edit:hover{background:#c7d2fe}.editing-indicator{font-size:12px;color:#6b7280;font-style:italic}.services-table input[type=number]{width:100px;padding:4px 8px;border:2px solid #4f46e5;border-radius:4px;font-size:14px}.services-table input[type=number]:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #4f46e533}.modal-header h3{font-size:20px;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0 8px}.modal-close:hover{color:#1a1a2e}.service-info{background:#f8fafc;padding:12px 16px;border-radius:8px;margin-bottom:16px}.service-info p{margin:4px 0;font-size:14px}.text-success{color:#065f46}.text-danger{color:#dc2626;font-weight:600}.invalid-commission{background-color:#fef2f2!important}.invalid-commission:hover{background-color:#fee2e2!important}.warning-icon{display:inline-block;margin-left:8px;color:#dc2626;font-size:16px;cursor:help}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.alert button{background:none;border:none;font-size:20px;cursor:pointer;color:#991b1b}.readonly{background:#f3f4f6;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.modal-actions button{padding:10px 20px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.modal-actions button:hover{background:#f3f4f6}.modal-actions .btn-primary{background:#4f46e5;color:#fff;border:none}.modal-actions .btn-primary:hover{background:#4338ca}.config-info{display:block;font-size:12px;color:#6b7280;margin-top:4px;font-style:italic}.field-note{display:block;font-size:12px;color:#92400e;margin-top:8px;background:#fef3c7;padding:6px 12px;border-radius:4px}.btn-save:disabled{opacity:.6;cursor:not-allowed}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px}.login-container{width:100%;max-width:420px}.login-box{background:#fff;border-radius:16px;padding:40px 32px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.logo-container{display:flex;justify-content:center;margin-bottom:20px}.logo-circle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 4px 12px #4f46e566}.login-header h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.login-header .subtitle{font-size:14px;color:#6b7280;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input{padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;background:#f9fafb;font-family:monospace}.form-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;background:#fff}.form-group input::placeholder{color:#9ca3af;font-family:monospace;font-size:13px}.form-group input:disabled{opacity:.6;cursor:not-allowed}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px}.error-icon{font-size:16px}.login-btn{padding:14px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:10px}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #4f46e54d}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.login-footer{margin-top:24px;text-align:center;padding-top:20px;border-top:1px solid #e5e7eb}.help-text{font-size:13px;color:#6b7280;margin:0}.help-text-small{font-size:12px;color:#9ca3af;margin:4px 0 0}@media(max-width:480px){.login-box{padding:30px 20px}.login-header h1{font-size:20px}.login-btn{font-size:15px;padding:12px}}.password-input{position:relative;display:flex;align-items:center}.password-input input{width:100%;padding-right:50px}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:18px;padding:0;color:#666;display:flex;align-items:center;justify-content:center}.toggle-password:hover{color:#000}.toggle-password:focus{outline:none}.password-toggle-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s}.password-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.password-toggle-btn svg{display:block}.gestion-admins{padding:32px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;color:#1a202c;margin:0 0 8px}.page-subtitle{font-size:14px;color:#718096;margin:0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-primary span{font-size:20px}.alert{padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s}.alert button{background:none;border:none;font-size:24px;cursor:pointer;color:inherit;opacity:.7;padding:0;width:24px;height:24px}.alert-error{background:#fff5f5;border:1px solid #fc8181;color:#c53030}.alert-success{background:#f0fff4;border:1px solid #68d391;color:#2f855a}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.admins-table{width:100%;border-collapse:collapse}.admins-table thead{background:#f7fafc}.admins-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.admins-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.admins-table tbody tr:hover{background-color:#f7fafc}.admins-table td{padding:16px 20px;font-size:14px;color:#2d3748}.admin-name-cell{display:flex;align-items:center;gap:12px}.admin-avatar-small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-super{background:#fef5e7;color:#d68910;border:1px solid #f9e79f}.badge-admin{background:#ebf8ff;color:#2c5282;border:1px solid #90cdf4}.badge-support{background:#f0fff4;color:#2f855a;border:1px solid #9ae6b4}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-active{background:#f0fff4;color:#2f855a;border:1px solid #9ae6b4}.status-inactive{background:#fff5f5;color:#c53030;border:1px solid #fc8181}.date-cell{color:#718096;font-size:13px}.btn-toggle{background:#edf2f7;border:1px solid #cbd5e0;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:16px;transition:all .2s}.btn-toggle:hover{background:#e2e8f0;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:20px;font-weight:700;color:#1a202c;margin:0}.modal-close{background:none;border:none;font-size:32px;color:#a0aec0;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#2d3748;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;font-size:15px;border:2px solid #e2e8f0;border-radius:8px;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid #e2e8f0}.btn-cancel{padding:12px 24px;border:1px solid #cbd5e0;background:#fff;color:#4a5568;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s}.btn-submit:hover{transform:translateY(-2px)}.loading{display:flex;align-items:center;justify-content:center;height:400px;font-size:18px;color:#718096}@media(max-width:1024px){.gestion-admins{padding:20px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.table-container{overflow-x:auto}.admins-table{min-width:800px}}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:45px}.password-toggle-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s;z-index:1}.password-toggle-btn:hover{color:#333}.password-toggle-btn:focus{outline:none}.form-group .password-input-wrapper{margin-top:4px}.modal-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}.modal-alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.modal-alert-success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.modal-alert .alert-icon{font-size:18px;flex-shrink:0}.modal-alert .alert-close{margin-left:auto;background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.6;padding:0 4px}.modal-alert .alert-close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite;margin-right:8px}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.password-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.tariff-vip-container{max-width:1400px;margin:0 auto;padding:32px;background:#f8fafc;min-height:100vh}.tariff-vip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.tariff-vip-header h1{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 8px;letter-spacing:-.02em}.tariff-vip-header p{font-size:14px;color:#64748b;margin:0;font-weight:500}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.btn-secondary{background:#f1f5f9;color:#475569;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e2e8f0}.tariff-vip-table-container{background:#fff;border-radius:16px;box-shadow:0 1px 4px #00000014;overflow:hidden}.tariff-vip-table thead{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.tariff-vip-table th{text-align:left;padding:16px 20px;font-size:13px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.tariff-vip-table td{padding:16px 20px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#475569}.tariff-vip-table tbody tr{transition:all .2s}.tariff-vip-table tbody tr:hover{background:#f8fafc;transform:scale(1.01)}.font-medium{font-weight:600;color:#0f172a}.empty-state{text-align:center;padding:60px 20px;color:#94a3b8;font-size:15px}.btn-icon{background:none;border:none;padding:6px 10px;cursor:pointer;font-size:18px;border-radius:6px;transition:all .2s}.btn-icon:hover{background:#f1f5f9;transform:scale(1.1)}.btn-danger:hover{background:#fee2e2}.loading{display:flex;justify-content:center;align-items:center;height:400px;font-size:16px;color:#64748b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s}@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:24px 28px;border-bottom:2px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.modal-header h2{font-size:22px;font-weight:700;margin:0;color:#0f172a}.modal-close{background:#fff;border:2px solid #e2e8f0;font-size:24px;color:#64748b;cursor:pointer;line-height:1;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:rotate(90deg)}.modal-content form{padding:28px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}.form-group input.readonly{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#6366f1;font-weight:600;cursor:not-allowed;border-color:#cbd5e1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-separator{font-size:14px;font-weight:700;color:#6366f1;margin:32px 0 20px;padding-bottom:12px;border-bottom:2px solid #e0e7ff;display:flex;align-items:center;gap:8px}.form-separator:before{content:"✨";font-size:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:28px;border-top:2px solid #f1f5f9;margin-top:28px}.modal-actions .btn-primary{padding:12px 28px}.modal-actions .btn-secondary{padding:12px 24px}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gains-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.gain-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:16px;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s}.gain-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.gain-yorsil{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.gain-partenaire{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.gain-prix{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.gain-total{border-color:#8b5cf6;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.gain-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.gain-value{font-size:24px;font-weight:700;color:#0f172a;margin-bottom:4px}.gain-percent{font-size:14px;font-weight:600;color:#6366f1}.gain-detail{font-size:12px;color:#64748b;margin-top:4px}.price-cell{font-weight:600;color:#1e40af}.percent-cell{font-weight:600;color:#64748b;background:#f8fafc}.gain-yorsil-cell{color:#6366f1;font-weight:700;font-size:15px}.gain-partenaire-cell{color:#10b981;font-weight:700;font-size:15px}.prix-achat-cell{color:#f59e0b;font-weight:700;font-size:16px}.percent-badge{display:inline-block;margin-left:6px;font-size:12px;color:#64748b;font-weight:500}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background-color:#f8fafc;color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}.gestion-clients{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{font-size:24px;color:#1a1a2e}.page-subtitle{color:#666;font-size:14px;margin-top:5px}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:5px;transition:background .3s}.btn-primary:hover{background:#4338ca}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert button{background:none;border:none;font-size:20px;cursor:pointer}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.clients-table{width:100%;border-collapse:collapse}.clients-table thead{background:#f8fafc}.clients-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.clients-table td{padding:14px 16px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#1e293b}.client-avatar-small{width:32px;height:32px;border-radius:50%;background:#4f46e5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.badge-ttc{background:#dbeafe;color:#1e40af;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-ht{background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-prod{background:#d1fae5;color:#065f46;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-test{background:#f1f5f9;color:#475569;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.api-key-info{display:flex;align-items:center;gap:8px}.key-id{font-family:monospace;font-size:12px;background:#f1f5f9;padding:2px 8px;border-radius:4px}.btn-copy{background:none;border:none;cursor:pointer;font-size:16px;padding:4px}.no-key{color:#94a3b8;font-size:12px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.actions-cell{display:flex;gap:8px}.btn-edit,.btn-toggle,.btn-delete{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background .2s}.btn-edit:hover{background:#e0e7ff}.btn-toggle:hover{background:#fef3c7}.btn-delete:hover{background:#fee2e2}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:16px;color:#666}.modal-content{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header h2{font-size:20px;color:#1a1a2e}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:4px;color:#1e293b}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4f46e5}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.field-note{display:block;font-size:11px;color:#94a3b8;margin-top:4px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.btn-cancel{padding:10px 20px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.btn-cancel:hover{background:#f3f4f6}.btn-submit{padding:10px 24px;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.btn-submit:hover{background:#4338ca}.delete-modal{max-width:450px}.delete-content{padding:10px 0}.delete-content p{margin-bottom:12px;color:#1e293b}.delete-warning{color:#991b1b!important;font-size:13px}.btn-delete-confirm{padding:10px 24px;background:#dc2626;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.btn-delete-confirm:hover{background:#b91c1c}@media(max-width:768px){.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch;gap:16px}.clients-table{font-size:12px}.clients-table th,.clients-table td{padding:8px 10px}}.api-keys-section{background:#f8fafc;padding:16px;border-radius:8px;margin-bottom:16px;border:1px solid #e2e8f0}.api-keys-label{font-weight:600;color:#1e293b;font-size:14px}.btn-generate-keys{background:#8b5cf6;color:#fff;border:none;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:background .3s}.btn-generate-keys:hover{background:#7c3aed}.input-with-action{display:flex;gap:8px;align-items:center}.input-with-action input{flex:1;background:#f1f5f9;font-family:monospace;font-size:13px}.input-with-action input:read-only{cursor:default}.btn-copy-input{background:#e2e8f0;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s;white-space:nowrap}.btn-copy-input:hover{background:#cbd5e1}.key-modal{max-width:550px}.key-management{padding:10px 0}.key-info{background:#f8fafc;padding:12px 16px;border-radius:8px;margin-bottom:16px}.key-info p{margin:4px 0;font-size:14px}.key-details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.key-field{margin-bottom:16px}.key-field:last-child{margin-bottom:0}.key-field label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:4px}.key-value{display:flex;align-items:center;gap:8px;background:#f1f5f9;padding:8px 12px;border-radius:6px}.key-value code{flex:1;font-family:monospace;font-size:13px;color:#1e293b;word-break:break-all}.btn-copy-key:hover{background:#dbeafe}.key-actions{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.btn-regenerate{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .3s;width:100%}.btn-regenerate:hover:not(:disabled){background:#b91c1c}.key-warning{margin-top:8px;font-size:12px;color:#dc2626}.no-key-message p{margin-bottom:12px;color:#475569}.btn-generate{background:#4f46e5;color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .3s}.btn-generate:hover:not(:disabled){background:#4338ca}.btn-key{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background .2s}.btn-key:hover{background:#e0e7ff}.input-with-symbol input{flex:1;padding-right:50px}.input-symbol{position:absolute;right:12px;font-size:13px;color:#94a3b8;font-weight:600}.field-hint{display:block;font-size:12px;color:#94a3b8;margin-top:4px}.credit-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600;background:#e0e7ff;color:#4338ca}.credit-badge.credit-success{background:#d1fae5;color:#065f46}.credit-badge.credit-warning{background:#fef3c7;color:#92400e}.credit-badge.credit-danger{background:#fee2e2;color:#991b1b}.credit-detail{font-weight:400;font-size:11px;color:#6b7280;display:inline-block}.seuil-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600;background:#e0e7ff;color:#4338ca}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.key-id-display{background:#f0f0f0;padding:4px 8px;border-radius:4px;font-size:13px;font-family:Courier New,monospace;color:#333;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-secret-display{background:#f5f5f5;padding:4px 8px;border-radius:4px;font-size:13px;font-family:Courier New,monospace;color:#666}.btn-show-key:hover{background:#bbdefb;transform:scale(1.05)}.key-id{font-size:12px;font-family:Courier New,monospace;color:#555;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.api-key-info{display:flex;align-items:center;gap:4px}.gestion-clients{padding:20px;max-width:1400px;margin:0 auto}.page-header h1{font-size:24px;margin:0;color:#2c3e50}.page-subtitle{color:#7f8c8d;margin:4px 0 0;font-size:14px}.btn-primary{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.btn-primary:hover{background:#2980b9}.alert-error{background:#fee;color:#c0392b;border:1px solid #f5c6cb}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert button{background:none;border:none;font-size:20px;cursor:pointer;color:inherit}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.clients-table{width:100%;border-collapse:collapse;font-size:14px}.clients-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef;white-space:nowrap}.clients-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.clients-table tr:hover{background:#f8f9fa}.client-name-cell{display:flex;align-items:center;gap:10px}.client-avatar-small{width:32px;height:32px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.badge-ttc,.badge-ht{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge-ttc{background:#e8f5e9;color:#2e7d32}.badge-ht{background:#fff3e0;color:#e65100}.badge-test{background:#e3f2fd;color:#0d47a1;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge-prod{background:#fce4ec;color:#c62828;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.credit-badge{padding:4px 8px;border-radius:4px;font-weight:600;font-size:13px;display:inline-block}.credit-success{background:#e8f5e9;color:#2e7d32}.credit-warning{background:#fff3e0;color:#e65100}.credit-danger{background:#ffebee;color:#c62828}.credit-detail{font-weight:400;font-size:11px;color:#666}.seuil-badge{padding:4px 8px;border-radius:4px;background:#f5f5f5;color:#666;font-size:13px}.status-badge{padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-active{background:#e8f5e9;color:#2e7d32}.status-inactive{background:#ffebee;color:#c62828}.date-cell{font-size:12px;color:#666}.actions-cell{display:flex;gap:4px;flex-wrap:wrap}.actions-cell button{width:32px;height:32px;border:none;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-edit{background:#e3f2fd;color:#0d47a1}.btn-edit:hover{background:#bbdefb}.btn-key{background:#fff3e0;color:#e65100}.btn-key:hover{background:#ffe0b2}.btn-credit{background:#e8f5e9;color:#2e7d32}.btn-credit:hover{background:#c8e6c9}.btn-toggle{background:#f3e5f5;color:#6a1b9a}.btn-toggle:hover{background:#e1bee7}.btn-delete{background:#ffebee;color:#c62828}.btn-delete:hover{background:#ffcdd2}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.api-key-cell{display:flex;align-items:center;gap:4px;min-width:120px}.client-id-code{font-size:11px;font-family:Courier New,monospace;background:#f0f4f8;padding:2px 6px;border-radius:3px;color:#2c3e50;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.client-secret-code{font-size:11px;font-family:Courier New,monospace;background:#fef9e7;padding:2px 6px;border-radius:3px;color:#7d6608;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.btn-copy-small{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px;transition:background .2s;opacity:.6}.btn-copy-small:hover{background:#e9ecef;opacity:1}.btn-toggle-secret{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px;transition:background .2s;opacity:.6}.btn-toggle-secret:hover{background:#e9ecef;opacity:1}.no-key-text{color:#999;font-size:12px;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:95%;max-height:90vh;overflow-y:auto;padding:24px}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.modal-close:hover{color:#333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-weight:600;font-size:13px;color:#333}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.form-group textarea{resize:vertical;min-height:60px}.input-with-symbol{position:relative}.input-with-symbol input{padding-right:40px;width:100%}.input-symbol{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#999;font-size:13px}.field-hint{font-size:12px;color:#999}.api-keys-section{background:#f8f9fa;padding:16px;border-radius:6px;margin:16px 0}.api-keys-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.api-keys-label{font-weight:600;font-size:14px}.btn-generate-keys{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.btn-generate-keys:hover{background:#218838}.input-with-action{display:flex;gap:4px}.input-with-action input{flex:1}.btn-copy-input{background:#e9ecef;border:1px solid #ddd;border-radius:4px;padding:0 8px;cursor:pointer}.btn-copy-input:hover{background:#dee2e6}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef}.btn-cancel{background:#e9ecef;color:#333;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-cancel:hover{background:#dee2e6}.btn-submit{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-submit:hover{background:#2980b9}.key-modal .key-field{margin-bottom:16px}.key-modal .key-field label{display:block;font-weight:600;margin-bottom:4px;color:#333}.key-modal .key-value{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:8px 12px;border-radius:6px;border:1px solid #e9ecef}.key-modal .key-value code{flex:1;font-size:14px}.key-id-display{font-family:Courier New,monospace;font-size:14px}.key-secret-display{font-family:Courier New,monospace;font-size:14px;color:#666}.btn-copy-key{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background .2s}.btn-copy-key:hover{background:#e9ecef}.btn-show-key{background:#e3f2fd;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px;transition:all .2s}.btn-show-key:hover{background:#bbdefb}.key-info{background:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:16px}.key-info p{margin:4px 0}.key-info code{background:#e9ecef;padding:2px 6px;border-radius:3px;font-size:12px;font-family:Courier New,monospace}.key-actions{margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef}.key-warning{color:#856404;background:#fff3cd;padding:8px 12px;border-radius:4px;font-size:13px;margin-top:8px}.no-key-message{text-align:center;padding:20px}.no-key-message p{color:#666;margin-bottom:16px}.btn-generate{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn-generate:hover{background:#218838}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.btn-regenerate{background:#f39c12;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn-regenerate:hover{background:#e67e22}.btn-regenerate:disabled{opacity:.6;cursor:not-allowed}.btn-credit-submit{background:#28a745}.btn-credit-submit:hover{background:#218838}.btn-delete-confirm{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-delete-confirm:hover{background:#c82333}.delete-content{padding:16px 0}.delete-warning{color:#856404;background:#fff3cd;padding:8px 12px;border-radius:4px;font-size:13px;margin-top:8px}.credit-info{background:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:16px}.credit-info p{margin:4px 0}@media(max-width:1200px){.clients-table{font-size:12px}.clients-table th,.clients-table td{padding:8px 10px}}@media(max-width:768px){.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.modal-content{padding:16px;width:98%}}.gestion-transferts{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:28px;margin:0}.page-subtitle{color:#6b7280;margin:4px 0 0}.btn-refresh{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.btn-refresh:hover{background:#2563eb}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.alert-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert button{background:transparent;border:none;font-size:20px;cursor:pointer;color:inherit}.filters-bar{display:flex;flex-wrap:wrap;gap:16px;background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:24px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:14px;font-weight:500;color:#374151}.filter-group input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:200px}.filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-clear-filters{background:#e5e7eb;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;margin-left:auto;color:#374151}.btn-clear-filters:hover{background:#d1d5db}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.transferts-table{width:100%;border-collapse:collapse;font-size:14px}.transferts-table thead{background:#f3f4f6}.transferts-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.transferts-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6}.transferts-table tbody tr:hover{background:#f9fafb}.product-id{background:#f3f4f6;padding:2px 8px;border-radius:4px;font-size:12px}.date-cell{white-space:nowrap}.actions-cell button{background:transparent;border:none;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:4px;transition:background .2s}.btn-view:hover{background:#e5e7eb}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-weight:500}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination span{font-weight:500}.loading,.no-data{text-align:center;padding:40px;color:#6b7280}.transferts-table{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.transferts-table thead th{padding:14px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.transferts-table tbody td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid #f1f3f5}.product-id{background:#f1f3f5;padding:4px 10px;border-radius:6px;font-size:12px;color:#495057;font-weight:500}.pagination button:disabled{opacity:.4;cursor:not-allowed}.transferts-table thead th{padding:14px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;text-align:left;white-space:nowrap}.search-container{margin:25px 0 10px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 2px 8px #0000000f}.search-wrapper{display:flex;align-items:center;background:#fff;border-radius:10px;padding:0 15px;box-shadow:0 2px 6px #0000000d;transition:all .3s ease;border:2px solid transparent}.search-wrapper:focus-within{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-1px)}.search-icon{font-size:18px;color:#6c757d;margin-right:12px;-webkit-user-select:none;user-select:none}.search-input{flex:1;padding:14px 0;border:none;outline:none;font-size:15px;color:#333;background:transparent;min-height:50px}.search-input::placeholder{color:#adb5bd;font-weight:400}.search-clear{background:none;border:none;color:#6c757d;font-size:18px;cursor:pointer;padding:5px 8px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.search-clear:hover{background:#f1f3f5;color:#dc3545;transform:scale(1.1)}.search-results-info{margin-top:12px;display:flex;justify-content:flex-end}.results-badge{display:inline-block;padding:6px 16px;background:#007bff;color:#fff;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #007bff40;animation:fadeInUp .3s ease}.table-spacer{height:25px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.transferts-table{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.transferts-table thead th{padding:14px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;text-align:left;white-space:nowrap;color:#fff}.transferts-table tbody td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid #f1f3f5;font-size:14px}@media(max-width:1200px){.transferts-table{font-size:13px}.transferts-table thead th,.transferts-table tbody td{padding:10px 12px}}@media(max-width:768px){.table-container{overflow-x:auto}.search-wrapper{flex-wrap:wrap}.search-input{min-height:40px;font-size:14px}.pagination{flex-wrap:wrap;gap:10px}.pagination button{padding:8px 16px;font-size:13px}}.edit-input{width:80px;padding:6px 10px;border:2px solid #007bff;border-radius:6px;font-size:14px;font-weight:600;color:#495057;outline:none;transition:all .3s ease;background:#fff}.edit-input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #007bff40}.editable-value{cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:inline-block}.editable-value:hover{background:#f1f3f5}.btn-save{background:none;border:none;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .2s ease;background:#d4edda}.btn-save:hover{background:#28a745;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #28a7454d}.btn-cancel{background:none;border:none;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .2s ease;background:#f8d7da}.btn-cancel:hover{background:#dc3545;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #dc35454d}@media(max-width:768px){.table-container{margin:0 -15px;padding:0 15px}.search-wrapper{flex-wrap:wrap}.search-input{min-height:40px;font-size:14px}.pagination{flex-wrap:wrap;gap:10px}.pagination button{padding:8px 16px;font-size:13px}.scroll-indicator{display:flex!important}}.error-message{background:#f8d7da;color:#721c24;padding:12px 20px;border-radius:8px;margin-bottom:15px;border-left:4px solid #dc3545}.success-message{background:#d4edda;color:#155724;padding:12px 20px;border-radius:8px;margin-bottom:15px;border-left:4px solid #28a745}.modal-close{background:none;border:none;font-size:24px;color:#fff;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;opacity:.8}.modal-close:hover{background:#fff3;opacity:1;transform:rotate(90deg)}.modal-body{padding:24px}.modal-info{background:#f8f9fa;border-radius:10px;padding:16px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#6c757d;font-size:13px}.info-value{color:#2c3e50;font-weight:500;font-size:14px}.modal-divider{height:1px;background:linear-gradient(to right,transparent,#dee2e6,transparent);margin:20px 0}.modal-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#2c3e50;font-size:14px}.modal-input{padding:12px 16px;border:2px solid #dee2e6;border-radius:8px;font-size:15px;transition:all .3s ease;outline:none;width:100%;box-sizing:border-box}.modal-input:focus{border-color:#007bff;box-shadow:0 0 0 4px #007bff1a}.modal-input::placeholder{color:#adb5bd}.input-hint{font-size:12px;color:#6c757d;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 24px;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 16px 16px}.btn-modal-cancel{padding:10px 24px;background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:#6c757d;transition:all .2s ease}.btn-modal-cancel:hover{background:#f1f3f5;border-color:#adb5bd}.btn-modal-save{padding:10px 24px;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:#fff;transition:all .2s ease}.btn-modal-save:hover{transform:translateY(-2px);box-shadow:0 4px 15px #28a7454d}.table-wrapper{position:relative;margin:0 -10px}.table-container{overflow-x:auto;overflow-y:visible;padding:0 10px 10px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.table-container::-webkit-scrollbar{height:10px;background:#f1f3f5;border-radius:6px}.table-container::-webkit-scrollbar-track{background:#f1f3f5;border-radius:6px}.table-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:6px;transition:all .3s ease}.table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#0056b3,#003d80)}.table-container{scrollbar-width:thin;scrollbar-color:#007bff #f1f3f5}.scroll-indicator{display:flex;justify-content:center;padding:8px 0 4px;opacity:.7;animation:pulseScroll 2s ease-in-out infinite}.scroll-hint{font-size:12px;color:#6c757d;background:#f8f9fa;padding:4px 16px;border-radius:12px;border:1px dashed #dee2e6}@keyframes pulseScroll{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(5px)}}.transferts-table{width:100%;min-width:1400px;border-collapse:collapse;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.transferts-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.transferts-table thead th{padding:14px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;text-align:left;white-space:nowrap;color:#fff;position:sticky;top:0;z-index:10}.transferts-table tbody td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid #f1f3f5;font-size:14px;white-space:nowrap}.transferts-table tbody tr:hover{background-color:#f8f9fa;transition:background-color .2s ease}.transferts-table tbody tr:nth-child(2n){background-color:#fafbfc}.transferts-table tbody tr:nth-child(2n):hover{background-color:#f1f3f5}.transferts-table tbody td:nth-child(5){font-weight:600;color:#e67e22}.transferts-table tbody td:nth-child(6){font-weight:600;color:#2c3e50}.transferts-table tbody td:nth-child(7){font-weight:600;color:#2980b9}.transferts-table tbody td:nth-child(8){font-weight:600;color:#8e44ad}.transferts-table tbody td:nth-child(9){font-weight:700;color:#27ae60;background:#eafaf1;border-radius:4px}.editable-value{padding:4px 8px;border-radius:4px;display:inline-block}.yoursil-value{font-weight:700;color:#27ae60}.product-id{background:#f1f3f5;padding:4px 10px;border-radius:6px;font-size:12px;color:#495057;font-weight:500;font-family:Courier New,monospace}.actions-cell{display:flex;gap:8px;align-items:center;justify-content:center}.btn-edit{background:none;border:none;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .2s ease;background:#fff3cd}.btn-edit:hover{background:#ffc107;transform:scale(1.1);box-shadow:0 2px 8px #ffc1074d}.btn-view{background:none;border:none;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .2s ease;background:#f8f9fa}.btn-view:hover{background:#007bff;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #007bff4d}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:30px;padding:20px;background:#f8f9fa;border-radius:12px}.pagination button{padding:10px 24px;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;color:#495057}.pagination button:hover:not(:disabled){background:#007bff;color:#fff;border-color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff40}.pagination button:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination span{font-weight:600;color:#495057;font-size:15px;padding:0 10px}@media(max-width:768px){.table-container{margin:0 -15px;padding:0 15px}.search-wrapper{flex-wrap:wrap}.search-input{min-height:40px;font-size:14px}.pagination{flex-wrap:wrap;gap:10px}.pagination button{padding:8px 16px;font-size:13px}.scroll-indicator{display:flex!important}.modal-content{width:95%;margin:10px}.modal-header h2{font-size:17px}.modal-body{padding:16px}.modal-footer{flex-direction:column}.btn-modal-cancel,.btn-modal-save{width:100%;justify-content:center}}@media(min-width:769px){.scroll-indicator{display:none!important}}.btn-bulk-update{padding:10px 20px;background:linear-gradient(135deg,#6f42c1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:0 2px 8px #6f42c14d}.btn-bulk-update:hover{transform:translateY(-2px);box-shadow:0 4px 15px #6f42c166}.excluded-row{background:#fff3cd!important;opacity:.8}.excluded-row:hover{background:#ffe69b!important}.excluded-row td:first-child{position:relative}.excluded-row td:first-child:after{content:"⚠️ EXCLU";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:9px;background:#dc3545;color:#fff;padding:2px 6px;border-radius:4px;font-weight:700}.bulk-modal{max-width:600px}.bulk-header{background:linear-gradient(135deg,#6f42c1,#8b5cf6)!important}.bulk-warning{display:flex;align-items:flex-start;gap:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:10px;padding:16px;margin-bottom:16px}.warning-icon{font-size:24px;flex-shrink:0}.warning-text{font-size:14px;color:#856404;line-height:1.5}.warning-sub{font-size:13px;color:#997404;opacity:.8}.bulk-stats{background:#f8f9fa;border-radius:10px;padding:16px;margin-top:16px}.stat-item{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e9ecef}.stat-item:last-child{border-bottom:none}.stat-label{color:#6c757d;font-size:14px}.stat-value{font-weight:600;color:#2c3e50;font-size:14px}.stat-value.highlight{color:#6f42c1;font-size:16px}.bulk-save{background:linear-gradient(135deg,#6f42c1,#8b5cf6)!important}.bulk-save:hover{box-shadow:0 4px 15px #6f42c166!important}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}@media(max-width:768px){.header-actions{flex-direction:column;width:100%}.btn-bulk-update,.btn-refresh{width:100%;justify-content:center}.bulk-modal{width:95%;margin:10px}.bulk-warning{flex-direction:column;align-items:center;text-align:center}}.col-operator{min-width:100px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-operator .operator-name{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-refresh{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}.btn-refresh:disabled{opacity:.7;cursor:not-allowed}.spinner-icon{display:inline-block;width:18px;height:18px;border:2px solid #dee2e6;border-top-color:#495057;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-refresh .btn-text{display:inline-block}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;margin-top:20px}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:16px;color:#6c757d;font-size:16px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transferts-table th.col-operator,.transferts-table td.col-operator{max-width:150px;min-width:100px}.transferts-table td.col-operator{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transferts-table td.col-operator:hover{position:relative}.transferts-table td.col-operator:hover:after{content:attr(data-full-name);position:absolute;background:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;top:-30px;left:0;box-shadow:0 2px 8px #0003}.modal-content{background:#fff;border-radius:16px;max-width:550px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.form-group select,.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;transition:all .3s ease;outline:none;box-sizing:border-box}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.readonly{background:#e9ecef;color:#495057;cursor:not-allowed}.total-display{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center}.total-display label{color:#6c757d;font-weight:500;margin-bottom:4px}.total-value{font-size:24px;font-weight:700;color:#28a745}.form-separator{border-top:2px dashed #dee2e6;margin:20px 0;padding-top:16px;font-weight:600;color:#495057}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e9ecef}.modal-actions button{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}@media(max-width:768px){.stats-grid,.form-row{grid-template-columns:1fr}.tariff-vip-header{flex-direction:column;gap:16px}.tariff-vip-table-container{overflow-x:auto}.modal-content{width:95%;margin:10px}}.tariff-vip-container{padding:24px;background:#f8f9fa;min-height:100vh}.tariff-vip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.tariff-vip-header h1{margin:0;font-size:24px;color:#2c3e50}.tariff-vip-header .subtitle{margin:4px 0 0;color:#6c757d;font-size:14px}.header-actions{display:flex;gap:12px;align-items:center}.btn-primary{padding:10px 24px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:0 2px 8px #007bff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #007bff66}.btn-refresh{padding:10px 24px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:0 2px 8px #28a7454d}.btn-refresh:hover{transform:translateY(-2px);box-shadow:0 4px 15px #28a74566}.btn-secondary{padding:10px 24px;background:#e9ecef;color:#495057;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.btn-secondary:hover{background:#dee2e6}.btn-icon{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.btn-icon:hover{background:#f1f3f5;transform:scale(1.1)}.btn-danger:hover{background:#f8d7da;color:#dc3545}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-number{font-size:32px;font-weight:700;color:#007bff}.stat-label{font-size:14px;color:#6c757d;margin-top:4px}.tariff-vip-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.tariff-vip-table{width:100%;border-collapse:collapse}.tariff-vip-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.tariff-vip-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.tariff-vip-table td{padding:12px 16px;border-bottom:1px solid #f1f3f5;vertical-align:middle}.tariff-vip-table tbody tr:hover{background:#f8f9fa}.tariff-vip-table tbody tr:nth-child(2n){background:#fafbfc}.tariff-vip-table tbody tr:nth-child(2n):hover{background:#f1f3f5}.empty-state{text-align:center;padding:40px!important;color:#6c757d;font-size:16px}.font-medium{font-weight:500}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-weight:600;font-size:13px}.badge-yorsil{background:#fff3cd;color:#856404}.badge-partenaire{background:#d1ecf1;color:#0c5460}.badge-total{background:#d4edda;color:#155724}.percent-cell{font-weight:600}.date-cell{font-size:12px;color:#6c757d}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px;text-align:center;background:#fff;border-radius:12px;margin:20px}.error-container h2{color:#dc3545;margin-bottom:12px;font-size:24px}.error-container p{color:#6c757d;margin-bottom:20px;max-width:500px}.error-container button{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.error-container button:hover{background:#0056b3;transform:translateY(-2px)}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:18px;color:#6c757d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;max-width:580px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:16px 16px 0 0}.modal-header h2{margin:0;color:#fff;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:28px;color:#fff;cursor:pointer;padding:0 8px;opacity:.8;transition:all .3s ease}.modal-close:hover{opacity:1;transform:rotate(90deg)}.modal-content form{padding:24px}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;color:#2c3e50;font-size:14px;margin-bottom:6px}.form-group select,.form-group input{width:100%;padding:10px 14px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;transition:all .3s ease;outline:none;box-sizing:border-box;background:#fff}.form-group select:focus,.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group select:disabled,.form-group input:disabled{background:#e9ecef;cursor:not-allowed}.form-group select option{padding:8px}.form-hint{display:block;font-size:12px;color:#6c757d;margin-top:4px}.form-divider{border-top:2px dashed #dee2e6;margin:20px 0 18px}.total-display{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;padding:16px 20px;text-align:center;border:2px solid #28a745}.total-display label{color:#6c757d;font-weight:500;margin-bottom:4px;display:block}.total-value{font-size:28px;font-weight:700;color:#28a745}.selection-summary{background:#f8f9fa;border-radius:8px;padding:12px 16px;margin:10px 0 16px;border-left:4px solid #007bff}.summary-item{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}.summary-item:not(:last-child){border-bottom:1px solid #e9ecef}.summary-label{color:#6c757d;font-weight:500}.summary-value{color:#2c3e50;font-weight:600}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef}.modal-actions button{padding:10px 28px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.modal-actions .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #007bff66}.modal-actions .btn-secondary{background:#e9ecef;color:#495057}.modal-actions .btn-secondary:hover{background:#dee2e6}@media(max-width:768px){.stats-grid,.form-row{grid-template-columns:1fr}.tariff-vip-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-direction:column}.header-actions button{width:100%}.tariff-vip-table-container{overflow-x:auto}.modal-content{width:95%;margin:10px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.tariff-vip-container{padding:20px;max-width:1400px;margin:0 auto}.tariff-vip-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:20px 24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.tariff-vip-header h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0}.tariff-vip-header .subtitle{color:#6c757d;font-size:14px;margin:4px 0 0}.header-actions{display:flex;gap:12px}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-refresh{padding:10px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover{background:#e9ecef}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.stat-card{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-number{font-size:28px;font-weight:700;color:#1a1a2e}.stat-label{font-size:13px;color:#6c757d;margin-top:4px}.search-container{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;font-size:18px}.search-input{width:100%;padding:10px 40px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .3s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.search-clear{position:absolute;right:12px;background:none;border:none;font-size:18px;color:#adb5bd;cursor:pointer}.search-clear:hover{color:#495057}.search-results-info{margin-top:8px;display:flex;justify-content:flex-end}.results-badge{padding:4px 12px;background:#e7f5ff;color:#1a73e8;border-radius:20px;font-size:13px;font-weight:600}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tariffs-table{width:100%;border-collapse:collapse;font-size:14px;min-width:1000px}.tariffs-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.tariffs-table th{padding:12px 16px;text-align:left;font-weight:600;color:#495057;font-size:12px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.tariffs-table td{padding:12px 16px;border-bottom:1px solid #f1f3f5;vertical-align:middle}.tariffs-table tbody tr:hover{background:#f8f9fa}.tariffs-table tbody tr:last-child td{border-bottom:none}.id-cell{font-weight:600;color:#1a1a2e}.client-cell .client-name{font-weight:500;color:#1a1a2e}.email-cell{color:#6c757d;font-size:13px}.product-cell .product-name{font-weight:500}.country-badge{display:inline-block;padding:2px 10px;background:#f1f3f5;border-radius:12px;font-size:12px;color:#495057}.commission-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:13px;font-weight:600}.commission-badge.yorsil{background:#f0fff4;color:#2d7a3e}.commission-badge.partner{background:#f0f8ff;color:#0056b3}.commission-badge.total{background:#fff3e0;color:#e65100}.date-cell{font-size:12px;color:#6c757d;white-space:nowrap}.actions-cell{display:flex;gap:6px}.btn-edit,.btn-delete{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.btn-edit{background:#e7f5ff}.btn-edit:hover{background:#d0ebff}.btn-delete{background:#fee2e2}.btn-delete:hover{background:#fecaca}.no-data{text-align:center;padding:40px;color:#6c757d;font-size:16px}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-radius:12px;margin-top:16px;box-shadow:0 1px 3px #0000001a}.pagination-info{font-size:14px;color:#6c757d}.pagination{display:flex;gap:12px;align-items:center}.pagination-btn{padding:6px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#e9ecef}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-page{font-weight:500;color:#495057}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;padding:24px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-size:20px;font-weight:700;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#adb5bd;cursor:pointer}.modal-close:hover{color:#495057}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;color:#495057;margin-bottom:6px;font-size:14px}.form-group select,.form-group input{width:100%;padding:10px 14px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:all .2s}.form-group select:focus,.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group select:disabled,.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-hint{display:block;margin-top:4px;font-size:12px;color:#adb5bd}.form-divider{height:1px;background:#e9ecef;margin:20px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.total-display{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin:16px 0;display:flex;justify-content:space-between;align-items:center}.total-display label{font-weight:600;color:#495057;margin:0}.total-value{font-size:20px;font-weight:700;color:#667eea}.selection-summary{background:#f8f9fa;border-radius:8px;padding:16px;margin:16px 0}.summary-title{margin:0 0 12px;font-size:14px;color:#495057}.summary-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #e9ecef}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:600;color:#495057;min-width:80px}.summary-value{color:#1a1a2e;font-weight:500}.summary-sub{color:#6c757d;font-size:13px}.summary-empty{color:#dc3545;font-weight:500;padding:8px 0}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef}.btn-secondary{padding:10px 20px;background:#f1f3f5;border:none;border-radius:8px;color:#495057;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e9ecef}.loading{text-align:center;padding:60px;font-size:18px;color:#6c757d}.error-container{text-align:center;padding:40px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.error-container h2{color:#dc3545}.error-container button{margin-top:16px;padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.error-container button:hover{background:#5a6fd6}@media(max-width:768px){.tariff-vip-header{flex-direction:column;gap:16px;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.header-actions button{flex:1;justify-content:center}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.pagination-container{flex-direction:column;gap:12px}.modal-content{padding:16px;width:95%}}.gestion-services{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;color:#1a202c;margin:0}.page-subtitle{color:#718096;margin:.5rem 0 0;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary span{font-size:1.2rem}.btn-small{padding:.5rem 1rem;font-size:.85rem}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;font-weight:500}.alert-error{background-color:#fed7d7;color:#c53030;border-left:4px solid #c53030}.alert-success{background-color:#c6f6d5;color:#276749;border-left:4px solid #276749}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 .5rem;color:inherit;opacity:.6}.alert-close:hover{opacity:1}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;overflow-x:auto}.services-table{width:100%;border-collapse:collapse}.services-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.services-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:#2d3748;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.services-table td{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}.services-table tbody tr:hover{background-color:#f7fafc}.service-name-cell{display:flex;align-items:center;gap:.75rem}.service-avatar-small{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0}.service-name{font-weight:500;color:#2d3748}.service-description{max-width:200px;word-wrap:break-word;font-size:.9rem;color:#4a5568}.no-description{color:#a0aec0;font-style:italic}.categorie-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-billetterie{background:#bee3f8;color:#2a69ac}.badge-transport{background:#c6f6d5;color:#276749}.badge-recharge{background:#fefcbf;color:#975a16}.badge-ticketing{background:#e9d8fd;color:#553c9a}.badge-default{background:#e2e8f0;color:#4a5568}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-active{background:#c6f6d5;color:#276749}.status-inactive{background:#fed7d7;color:#c53030}.date-cell{color:#718096;font-size:.85rem}.actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.actions-cell button{padding:.4rem .6rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease;background:transparent}.btn-edit{color:#3182ce}.btn-edit:hover{background:#ebf8ff;transform:scale(1.1)}.btn-toggle{color:#d69e2e}.btn-toggle:hover{background:#fefcbf;transform:scale(1.1)}.btn-delete{color:#e53e3e}.btn-delete:hover{background:#fed7d7;transform:scale(1.1)}.empty-state{text-align:center;padding:4rem 2rem!important}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{color:#718096;font-size:1.1rem;margin-bottom:1.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-modal{max-width:500px}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0;z-index:1}.modal-header h2{margin:0;color:#1a202c}.modal-close{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#a0aec0;padding:0 .5rem;transition:color .2s}.modal-close:hover{color:#4a5568}form{padding:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:#2d3748;margin-bottom:.4rem;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.6rem .8rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.field-note{color:#a0aec0;font-size:.75rem;margin-top:.3rem}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}.btn-cancel{padding:.6rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#f7fafc}.btn-submit{padding:.6rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-delete-confirm{padding:.6rem 1.5rem;background:#e53e3e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.btn-delete-confirm:hover{background:#c53030;transform:translateY(-2px);box-shadow:0 4px 12px #e53e3e66}.delete-content{padding:2rem}.delete-content p{margin:.8rem 0;font-size:1rem;color:#2d3748}.delete-warning{background:#fefcbf;padding:.8rem;border-radius:8px;border-left:4px solid #d69e2e}.delete-danger{background:#fed7d7;padding:.8rem;border-radius:8px;border-left:4px solid #e53e3e;font-weight:500}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#718096}@media(max-width:768px){.gestion-services{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.services-table{font-size:.85rem}.services-table th,.services-table td{padding:.75rem 1rem}.actions-cell{flex-direction:column;gap:.2rem}.modal-content{margin:1rem;max-width:100%}form{padding:1.5rem}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.credit-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#f6d365,#fda085);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600}.btn-credit{background:linear-gradient(135deg,#f6d365,#fda085);color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-credit:hover{transform:scale(1.1);box-shadow:0 2px 8px #fda08566}.credit-modal{max-width:500px}.credit-info{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.credit-info p{margin:5px 0}.input-with-symbol{position:relative;display:flex;align-items:center}.input-with-symbol input{flex:1;padding-right:50px;padding-left:15px;height:45px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.input-with-symbol input:focus{border-color:#f6d365;outline:none}.input-symbol{position:absolute;right:15px;color:#666;font-weight:600;font-size:.9rem}.btn-credit-submit{background:linear-gradient(135deg,#f6d365,#fda085);border:none}.btn-credit-submit:hover:not(:disabled){background:linear-gradient(135deg,#f5c842,#fc8f6e);transform:translateY(-2px);box-shadow:0 4px 12px #fda08566}.btn-credit-submit:disabled{opacity:.7;cursor:not-allowed}.dashboard-ventes{padding:20px;max-width:1400px;margin:0 auto;background:#f5f7fa;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000001a}.dashboard-header h1{margin:0;color:#2c3e50;font-size:28px}.periode-selector{display:flex;align-items:center;gap:10px}.periode-selector label{font-weight:600;color:#555}.periode-selector select{padding:8px 15px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:all .3s}.periode-selector select:hover{border-color:#3498db}.periode-selector select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.kpis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}.kpi-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.kpi-icon{font-size:40px;opacity:.9}.kpi-content{flex:1}.kpi-label{font-size:13px;color:#7f8c8d;text-transform:uppercase;font-weight:600;margin-bottom:5px}.kpi-value{font-size:24px;font-weight:700;color:#2c3e50;margin-bottom:3px}.kpi-detail{font-size:12px;color:#95a5a6}.kpi-ca{border-left:4px solid #27ae60}.kpi-transactions{border-left:4px solid #3498db}.kpi-comm-yorsil{border-left:4px solid #e74c3c}.kpi-comm-client{border-left:4px solid #f39c12}.kpi-ticket{border-left:4px solid #9b59b6}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:20px;margin-bottom:30px}.chart-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.chart-card h2{margin:0 0 20px;color:#2c3e50;font-size:18px;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.simple-line-chart{display:flex;align-items:flex-end;justify-content:space-between;height:200px;gap:4px;padding:10px 0}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative}.bar-fill{width:100%;background:linear-gradient(to top,#3498db,#5dade2);border-radius:4px 4px 0 0;transition:all .3s;min-height:2px}.chart-bar:hover .bar-fill{background:linear-gradient(to top,#2980b9,#3498db)}.bar-label{font-size:11px;color:#7f8c8d;margin-top:5px}.services-list{display:flex;flex-direction:column;gap:15px}.service-item{padding:10px;background:#f8f9fa;border-radius:8px;transition:background .2s}.service-item:hover{background:#ecf0f1}.service-info{display:flex;justify-content:space-between;margin-bottom:8px}.service-name{font-weight:600;color:#2c3e50}.service-percent{font-weight:700;color:#3498db}.service-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.service-bar-fill{height:100%;background:linear-gradient(to right,#3498db,#5dade2);transition:width .3s}.service-stats{display:flex;justify-content:space-between;font-size:13px;color:#7f8c8d}.section-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.section-card h2{margin:0 0 20px;color:#2c3e50;font-size:18px;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.section-header h2{margin:0;border:none;padding:0}.total-badge{background:#3498db;color:#fff;padding:6px 15px;border-radius:20px;font-size:13px;font-weight:600}.filters-panel{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px}.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:8px}.filter-group label{font-size:13px;font-weight:600;color:#555}.filter-group select,.filter-group input{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff;transition:all .3s}.filter-group select:hover,.filter-group input:hover{border-color:#3498db}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filter-actions{display:flex;gap:10px;align-items:end}.btn-reset{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-reset:hover{background:#c0392b}.btn-apply{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-apply:hover{background:#229954}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:#f8f9fa}.data-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;white-space:nowrap}.data-table td{padding:12px;border-bottom:1px solid #ecf0f1}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#f8f9fa}.rank{font-size:20px;text-align:center;width:50px}.client-name{font-weight:600;color:#2c3e50}.client-email{color:#7f8c8d;font-size:13px}.client-email-small{color:#95a5a6;font-size:11px}.amount{font-weight:600;color:#27ae60;text-align:right}.commission{color:#e74c3c}.count{text-align:center;color:#3498db;font-weight:600}.date{color:#7f8c8d;font-size:13px;white-space:nowrap}.ref{font-family:Courier New,monospace;font-size:12px;color:#95a5a6}.client-info{min-width:200px}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding-top:20px;border-top:1px solid #ecf0f1}.pagination button{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.pagination button:hover:not(:disabled){background:#2980b9}.pagination button:disabled{background:#bdc3c7;cursor:not-allowed}.page-info{color:#7f8c8d;font-weight:600}.loading{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:18px}.no-data{text-align:center;padding:40px 20px;color:#95a5a6;font-style:italic}@media(max-width:1200px){.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-ventes{padding:10px}.dashboard-header{flex-direction:column;gap:15px;align-items:flex-start}.kpis-grid{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px}.kpi-value{font-size:20px}}.transactions-table{min-width:1100px}.type-cell{text-align:center}.type-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:12px;font-weight:600;white-space:nowrap}.type-badge.credit{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.type-badge.debit{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.tabs-header{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.tab-button{padding:10px 20px;border:none;border-radius:8px;background:#f1f5f9;color:#475569;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.tab-button:hover{background:#e2e8f0}.tab-button.active{background:#3b82f6;color:#fff}.tab-badge{background:#fff3;padding:2px 8px;border-radius:12px;font-size:12px}.tab-button.active .tab-badge{background:#ffffff4d}.tab-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.type-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.type-badge.debit{background:#fee2e2;color:#b91c1c}.type-badge.credit{background:#d1fae5;color:#065f46}.credit-table th,.credit-table td{padding:10px 12px}.credit-table .client-info{display:flex;flex-direction:column}.credit-table .client-name{font-weight:500;color:#1e293b}.credit-table .client-email-small{font-size:12px;color:#94a3b8}.credit-table .amount{font-weight:600;color:#059669}.credit-table .date{color:#64748b}.credit-table .type-badge.credit{background:#d1fae5;color:#065f46;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.total-badge{background:#e2e8f0;padding:4px 12px;border-radius:12px;font-size:13px;color:#475569}
