*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-secondary);min-height:100vh}#root{min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;line-height:1.6}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.app-layout{display:flex;min-height:100vh}.main-content{margin-left:var(--sidebar-width);width:calc(100vw - var(--sidebar-width));min-height:100vh;background-color:var(--color-bg-secondary);padding:var(--spacing-xl);transition:margin-left var(--transition-base);box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.main-content{margin-left:0;width:100vw;padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + 3rem)}}@media (max-width: 600px){.main-content{margin-left:0;width:100vw;padding:var(--spacing-sm);padding-top:calc(var(--spacing-sm) + 3rem)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade-in{animation:fadeIn var(--transition-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.content-container{width:100%;max-width:var(--content-max-width);margin:0 auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-light);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:var(--color-text-light)}.btn-warning{background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-warning-dark) 100%);color:var(--color-text-light)}.btn-danger{background:var(--color-error);color:var(--color-text-light)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-textarea{min-height:100px;resize:vertical}.form-error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.card-body{margin-bottom:var(--spacing-lg)}.card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);padding:var(--spacing-lg);animation:fadeIn var(--transition-base)}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl);position:relative;z-index:var(--z-index-modal);animation:fadeIn var(--transition-base)}.modal-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.modal-body{margin-bottom:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.table-container{background:var(--color-bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.table thead{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-accent) 100%);color:var(--color-text-light)}.table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.table tbody tr:hover{background:var(--color-bg-tertiary)}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);text-transform:capitalize}.badge-primary{background:var(--color-primary);color:var(--color-text-light)}.badge-success{background:var(--color-success);color:var(--color-text-light)}.badge-warning{background:var(--color-warning);color:var(--color-text-light)}.badge-danger{background:var(--color-error);color:var(--color-text-light)}.badge-info{background:var(--color-info);color:var(--color-text-light)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl)}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.empty-state{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.empty-state-text{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}:root{--color-primary: #2563eb;--color-primary-dark: #1e40af;--color-primary-light: #3b82f6;--color-secondary: #667eea;--color-secondary-dark: #5a67d8;--color-accent: #764ba2;--color-success: #10b981;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-dark: #dc2626;--color-info: #3b82f6;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-text-light: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-hover: #e2e8f0;--color-bg-dark: #1e293b;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-dark: #cbd5e1;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--sidebar-width: 140px;--sidebar-width-mobile: 80px;--container-max-width: 2000px;--content-max-width: 1700px;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}@media (prefers-color-scheme: dark){:root{--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-bg-primary: #1e293b;--color-bg-secondary: #0f172a;--color-bg-tertiary: #1e293b;--color-border: #334155}}.page-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-xl);min-height:calc(100vh - 2 * var(--spacing-xl))}.page-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.page-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);gap:var(--spacing-md);flex-wrap:wrap}.page-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.filter-select{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);cursor:pointer;transition:border-color var(--transition-fast)}.filter-select:focus{outline:none;border-color:var(--color-primary)}.page-message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.page-message-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.page-message-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.page-message button{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:inherit;opacity:.7;transition:opacity var(--transition-fast)}.page-message button:hover{opacity:1}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.field-group label{margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.field-group input,.field-group select,.field-group textarea{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.actions-cell{display:flex;gap:var(--spacing-sm);align-items:center;justify-content:center}.icon-button{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-lg);transition:transform var(--transition-fast);border-radius:var(--radius-sm)}.icon-button:hover{transform:scale(1.1);background:var(--color-bg-tertiary)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize;border:none;cursor:pointer;transition:opacity var(--transition-fast)}.status-badge:disabled{cursor:not-allowed;opacity:.8}.status-badge.créé{background:#dbeafe;color:#1e40af}.status-badge.en\ cours{background:#fef3c7;color:#92400e}.status-badge.terminé,.status-badge.payé{background:#d1fae5;color:#065f46}.status-badge.annulée,.status-badge.annulé{background:#fee2e2;color:#991b1b}.status-badge.confirmé{background:#d1fae5;color:#065f46}@media (max-width: 768px){.page-container{padding:var(--spacing-md)}.page-title{font-size:var(--font-size-2xl)}.page-actions{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}}:root{--primary: #2563eb;--primary-dark: #1e40af;--bg-gradient: linear-gradient(135deg, #e0e7ff 0%, #f0f4ff 100%);--card-bg: #fff;--input-bg: #f3f6fa;--input-border: #d1d5db;--input-focus: #2563eb33;--radius: 16px;--shadow: 0 4px 24px rgba(30,64,175,.08);--font: "Poppins", "Inter", Arial, sans-serif}body,#root{height:100vh;margin:0;padding:0}.auth-container{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient)}.auth-card{background:var(--card-bg);padding:2.5rem 2.5rem 2rem;border-radius:16px;box-shadow:var(--shadow);width:100%;max-width:1200px;display:flex;flex-direction:column;gap:1.2rem;align-items:center;margin:2rem auto}.auth-title{font-size:2rem;font-weight:700;color:var(--primary-dark);margin-bottom:.5rem}.auth-form{width:100%;display:grid;grid-template-columns:1fr;gap:1.1rem 1.2rem}@media (min-width: 768px){.auth-form{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.auth-form{grid-template-columns:1fr 1fr 1fr}}.auth-form .auth-error,.auth-form .auth-success,.auth-form .auth-link,.auth-form .btn{grid-column:1 / -1}.auth-form.login-form{display:flex;flex-direction:column;gap:1.1rem}.input-group{display:flex;flex-direction:column;gap:.2rem}.input-label{font-weight:500;margin-bottom:.2rem;color:#222}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--primary-dark);font-size:1.1rem}.input-field{padding:.7rem 1rem .7rem 2.5rem;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;background:var(--input-bg);outline:none;transition:border .2s,box-shadow .2s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus)}.btn{width:100%;display:block;margin:0 auto;background:var(--primary);color:#fff;border:none;padding:.9rem 1.2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;box-shadow:0 2px 8px #2563eb22}.btn:hover{background:var(--primary-dark)}.auth-error{color:#b00020;background:#ffeaea;padding:.5rem 1rem;border-radius:8px;margin-bottom:.5rem;font-size:.98rem;text-align:center}.auth-success{color:#0a7d0a;background:#eaffea;padding:.5rem 1rem;border-radius:8px;margin-bottom:.5rem;font-size:.98rem;text-align:center}.auth-link{text-align:center;margin-top:.5rem;font-size:1rem}.auth-link a{color:var(--primary-dark);text-decoration:underline;font-weight:500}.auth-logo{width:60px;height:60px;margin-bottom:.5rem;border-radius:12px;object-fit:cover;box-shadow:0 2px 8px #2563eb22}@media (max-width: 600px){.auth-card{padding:1.2rem .7rem 1rem;max-width:98vw;border-radius:4px}.auth-title{font-size:1.5rem}}.hamburger-menu{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;background:#fff;border:none;border-radius:8px;padding:.5rem;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:background .2s}.hamburger-menu:hover{background:#f5f5f5}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}.sidebar{position:fixed!important;top:0!important;left:0!important;height:100vh!important;width:var(--sidebar-width, 140px)!important;background:#fff;box-shadow:2px 0 12px #2563eb11;display:flex!important;flex-direction:column!important;align-items:center;justify-content:space-between;z-index:1000!important;padding:1.5rem 0 1rem;margin:0!important;overflow-y:auto;overflow-x:hidden;transition:transform .3s ease-in-out}.sidebar-nav{display:flex;flex-direction:column;gap:2.2rem;width:100%;align-items:center}.sidebar-item{display:flex;flex-direction:column;align-items:center;color:#2563eb;font-size:1.1rem;cursor:pointer;transition:color .2s}.sidebar-item:hover{color:#1e40af}.sidebar-icon{font-size:1.4rem;margin-bottom:.2rem}.sidebar-label{font-size:.95rem;text-align:center}.sidebar-logout{background:#e53935;color:#fff;border:none;border-radius:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;margin-top:-1rem;font-size:1.4rem;cursor:pointer;transition:background .2s}.sidebar-logout:hover{background:#b71c1c}@media (max-width: 768px){.hamburger-menu,.sidebar-overlay{display:block}.sidebar{width:250px!important;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-label{font-size:.9rem}.sidebar-icon{font-size:1.3rem}.sidebar-logout{width:36px;height:36px;font-size:1.2rem}}@media (max-width: 600px){.sidebar{width:220px!important}}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--secondary-color: #64748b;--accent-color: #f59e0b;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #06b6d4;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-accent: #f1f5f9;--bg-dark: #0f172a;--border-color: #e2e8f0;--border-accent: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-info: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}.dashboard-container{max-width:1400px;width:100%;margin:0 auto;padding:2rem;min-height:100vh;box-sizing:border-box;overflow-x:hidden}.dashboard-header{background:var(--bg-primary);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);margin-bottom:2rem;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.dashboard-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.header-content h1{margin:0 0 1rem;font-size:2.8rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.header-content p{margin:0 0 2rem;font-size:1.3rem;color:var(--text-secondary);font-weight:500;text-align:center}.header-actions{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;box-sizing:border-box}.search-box{position:relative;min-width:300px;max-width:100%;width:100%;box-sizing:border-box}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.1rem}.search-box input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;background:var(--bg-secondary);transition:all .3s ease}.search-box input:focus{outline:none;border-color:var(--primary-color);background:var(--bg-primary);box-shadow:0 0 0 3px #2563eb1a}.filter-select{padding:1rem 1.5rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .3s ease;box-sizing:border-box;max-width:100%;width:100%}.filter-select:focus{outline:none;border-color:var(--primary-color);background:var(--bg-primary)}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--gradient-success);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-sizing:border-box;white-space:nowrap;flex-shrink:0}.refresh-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.refresh-button svg{font-size:1.1rem}.tabs-navigation{display:flex;gap:.5rem;margin-bottom:2rem;background:var(--bg-primary);padding:.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow-x:auto;width:100%;box-sizing:border-box}.tab-button{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-width:fit-content}.tab-button:hover{background:var(--bg-accent);color:var(--text-primary);transform:translateY(-2px)}.tab-button.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.tab-button svg{font-size:1.2rem;transition:transform .3s ease}.tab-button:hover svg,.tab-button.active svg{transform:scale(1.1)}.tab-content{min-height:600px}.overview-tab{animation:fadeInUp .6s ease-out}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s ease}.stat-card.clients:before{background:var(--gradient-primary)}.stat-card.devis:before{background:var(--gradient-warning)}.stat-card.factures:before{background:var(--gradient-success)}.stat-card.finances:before{background:var(--gradient-danger)}.stat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.stat-card:hover:before{height:6px}.stat-icon{width:70px;height:70px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:2rem;color:#fff;transition:all .3s ease}.stat-card.clients .stat-icon{background:var(--gradient-primary)}.stat-card.devis .stat-icon{background:var(--gradient-warning)}.stat-card.factures .stat-icon{background:var(--gradient-success)}.stat-card.finances .stat-icon{background:var(--gradient-danger)}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-content h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:2.8rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;line-height:1}.stat-label{font-size:.95rem;color:var(--text-muted);font-weight:500}.performance-section{background:var(--bg-primary);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);margin-bottom:3rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-accent)}.section-header h2{margin:0;font-size:1.6rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.section-header h2 svg{color:var(--primary-color)}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.performance-card{text-align:center;padding:2rem 1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .3s ease}.performance-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);background:var(--bg-primary)}.performance-card h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.performance-value{font-size:2rem;font-weight:800;color:var(--text-primary)}.performance-value.positive{color:var(--success-color)}.performance-value.negative{color:var(--danger-color)}.quick-actions{background:var(--bg-primary);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.action-button{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1rem;font-weight:600;color:var(--text-primary);text-decoration:none}.action-button:hover{background:var(--bg-accent);border-color:var(--primary-color);transform:translateY(-6px);box-shadow:var(--shadow-lg)}.action-button svg{font-size:2.5rem;color:var(--primary-color);transition:all .3s ease}.action-button:hover svg{transform:scale(1.1) rotate(5deg)}.data-section{background:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);margin-bottom:2rem}.add-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.add-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.data-table{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:1.5rem}.data-table table{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden}.data-table th{background:var(--bg-accent);color:var(--text-primary);padding:1.2rem 1rem;text-align:left;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-accent)}.data-table td{padding:1.2rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-weight:500}.data-table tr:hover{background:var(--bg-accent);transition:background-color .2s ease}.data-table tr:last-child td{border-bottom:none}.count-badge{background:var(--gradient-primary);color:#fff;padding:.4rem .8rem;border-radius:25px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:25px;color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.status-badge.success{background:var(--gradient-success)}.status-badge.warning{background:var(--gradient-warning)}.status-badge.danger{background:var(--gradient-danger)}.status-badge.info{background:var(--gradient-info)}.status-badge.secondary{background:var(--gradient-primary)}.type-badge{padding:.3rem .8rem;border-radius:15px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.type-badge.fixe{background:var(--gradient-warning);color:#fff}.type-badge.variable{background:var(--gradient-danger);color:#fff}.action-buttons{display:flex;gap:.5rem;justify-content:center}.action-btn{width:36px;height:36px;border:none;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:.9rem}.action-btn.view{background:var(--gradient-info);color:#fff}.action-btn.edit{background:var(--gradient-warning);color:#fff}.action-btn.delete{background:var(--gradient-danger);color:#fff}.action-btn.download{background:var(--gradient-success);color:#fff}.action-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.depenses-section{margin-bottom:2rem}.depenses-section h3{margin:0 0 1rem;font-size:1.3rem;font-weight:600;color:var(--text-primary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-secondary)}.loading-spinner{width:60px;height:60px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.dashboard-error{color:var(--danger-color);font-weight:600}.retry-button{margin-top:1.5rem;padding:1rem 2rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.overview-tab,.clients-tab,.devis-tab,.factures-tab,.depenses-tab{animation:fadeInUp .6s ease-out}@media (max-width: 1200px){.dashboard-container{max-width:100%;padding:1.5rem}}@media (max-width: 1024px){.dashboard-container{padding:1.5rem;max-width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.tabs-navigation{flex-wrap:wrap;gap:.25rem}.header-actions{flex-direction:column;align-items:stretch;gap:1rem}.search-box{min-width:auto;width:100%}.filter-select{width:100%}.refresh-button{width:100%;justify-content:center}}@media (max-width: 768px){.dashboard-container{padding:1rem;max-width:100%}.dashboard-header{padding:1.5rem 1rem}.header-content h1{font-size:2rem;line-height:1.2}.header-content p{font-size:1rem;margin-bottom:1.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.5rem}.stat-icon{width:60px;height:60px;font-size:1.5rem}.stat-number{font-size:2rem}.stat-content h3{font-size:1rem}.performance-grid{grid-template-columns:1fr;gap:1rem}.performance-card{padding:1.5rem 1rem}.performance-value{font-size:1.5rem}.actions-grid{grid-template-columns:1fr;gap:1rem}.action-button{padding:2rem 1rem;flex-direction:row;justify-content:center}.action-button svg{font-size:2rem}.data-section{padding:1.5rem}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.section-header h2{font-size:1.4rem;justify-content:center}.add-button{width:100%;justify-content:center}.data-table{font-size:.9rem;margin-top:1rem}.data-table th,.data-table td{padding:.75rem .5rem;font-size:.85rem}.action-buttons{flex-direction:column;gap:.25rem}.action-btn{width:32px;height:32px;font-size:.8rem}}@media (max-width: 480px){.dashboard-container{padding:.75rem;max-width:100%}.dashboard-header{padding:1rem .75rem;border-radius:var(--radius-lg)}.header-content h1{font-size:1.6rem;margin-bottom:.75rem}.header-content p{font-size:.9rem;margin-bottom:1rem}.tabs-navigation{padding:.25rem;gap:.25rem;margin-bottom:1rem}.tab-button{padding:.75rem .5rem;font-size:.85rem;min-width:auto;flex:1}.tab-button svg{font-size:1rem}.stat-card{padding:1rem;margin-bottom:.5rem}.stat-icon{width:50px;height:50px;font-size:1.25rem;margin-bottom:1rem}.stat-number{font-size:1.75rem}.stat-content h3{font-size:.9rem;margin-bottom:.75rem}.stat-label{font-size:.85rem}.performance-section{padding:1.5rem;margin-bottom:2rem}.performance-card{padding:1.5rem 1rem}.performance-card h4{font-size:1rem}.performance-value{font-size:1.25rem}.quick-actions{padding:1.5rem}.action-button{padding:1.5rem 1rem;font-size:.9rem}.action-button svg{font-size:1.75rem}.data-section{padding:1rem;margin-bottom:1.5rem}.data-table{font-size:.8rem;border-radius:var(--radius-sm)}.data-table th,.data-table td{padding:.5rem .25rem;font-size:.8rem}.data-table th{font-size:.75rem;padding:.75rem .25rem}.count-badge,.status-badge,.type-badge{font-size:.7rem;padding:.25rem .5rem}.action-buttons{flex-direction:column;gap:.25rem}.action-btn{width:28px;height:28px;font-size:.75rem}.depenses-section h3{font-size:1.1rem;margin-bottom:.75rem}.search-box input{padding:.75rem .75rem .75rem 2.5rem;font-size:.9rem}.search-icon{font-size:1rem;left:.75rem}.filter-select,.refresh-button{padding:.75rem 1rem;font-size:.9rem}}@media (max-width: 360px){.dashboard-container{padding:.5rem}.dashboard-header{padding:.75rem .5rem}.header-content h1{font-size:1.4rem}.header-content p{font-size:.8rem}.tab-button{padding:.5rem .25rem;font-size:.8rem}.stat-card{padding:.75rem}.stat-icon{width:45px;height:45px;font-size:1.1rem}.stat-number{font-size:1.5rem}.data-section{padding:.75rem}.data-table th,.data-table td{padding:.4rem .2rem;font-size:.75rem}.action-btn{width:26px;height:26px;font-size:.7rem}}.stat-card,.performance-card,.data-section,.quick-actions{will-change:transform;backface-visibility:hidden}.data-table::-webkit-scrollbar{height:8px}.data-table::-webkit-scrollbar-track{background:var(--bg-accent);border-radius:4px}.data-table::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.data-table::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.tab-button:focus,.action-button:focus,.add-button:focus,.retry-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}button,input,select,.stat-card,.performance-card,.action-button{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.tab-button,.action-button,.add-button,.refresh-button,.action-btn{min-height:44px}.data-table{border-radius:var(--radius-sm)}.data-table table{min-width:600px}.stat-card,.performance-card,.data-section{border-radius:var(--radius-md)}.count-badge,.status-badge,.type-badge{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}}@media (max-width: 480px){.stat-card:hover,.performance-card:hover,.action-button:hover{transform:none}.stats-grid,.performance-grid,.actions-grid{gap:.75rem}.tabs-navigation{scrollbar-width:none;-ms-overflow-style:none}.tabs-navigation::-webkit-scrollbar{display:none}.action-buttons{min-width:80px;justify-content:center}}.search-box{position:relative;display:flex;align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;transition:all .3s ease;min-width:300px}.search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.search-icon{color:var(--text-muted);margin-right:.75rem;font-size:1rem}.search-box input{border:none;outline:none;background:transparent;flex:1;font-size:.95rem;color:var(--text-primary)}.search-box input::placeholder{color:var(--text-muted)}.clear-search{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease;margin-left:.5rem}.clear-search:hover{color:var(--danger-color);background:rgba(239,68,68,.1)}.filter-select{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .3s ease;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.no-results{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-style:italic;background:var(--bg-secondary);border-radius:var(--radius-md)}.no-results:before{content:"🔍";display:block;font-size:2rem;margin-bottom:1rem}.search-active{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:var(--warning-color)}.search-active .search-icon{color:var(--warning-color)}.results-count{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;margin-left:.5rem}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-actions .search-box{flex:1;min-width:250px;max-width:400px}.section-title{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.section-title h2{margin:0;display:flex;align-items:center;gap:.5rem}.data-table tbody tr{transition:all .3s ease}.data-table tbody tr:hover{background:var(--bg-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.comptables-container{padding:2rem;max-width:1200px;width:100%;min-height:100vh;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-sizing:border-box;overflow-x:hidden}.comptables-header{text-align:center;margin-bottom:3rem;width:100%;max-width:700px;margin-left:auto;margin-right:auto}.comptables-title{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.comptables-title h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0}.comptables-subtitle{font-size:1.1rem;color:#64748b;margin:0}.comptables-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.comptables-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #fecaca;text-align:center;width:100%;max-width:700px;margin-left:auto;margin-right:auto}.comptables-success{background:#f0fdf4;color:#16a34a;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #bbf7d0;text-align:center;width:100%;max-width:700px;margin-left:auto;margin-right:auto}.comptables-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;width:100%;max-width:500px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.empty-icon{margin-bottom:1.5rem;opacity:.5}.comptables-empty h3{font-size:1.5rem;color:#374151;margin-bottom:.5rem}.comptables-empty p{color:#6b7280;margin-bottom:2rem}.comptables-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden;width:100%;max-width:700px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}.comptable-info{padding:2rem;width:100%;display:flex;flex-direction:column;align-items:center}.comptable-header{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.comptable-avatar{width:80px;height:80px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #2563eb}.comptable-details h2{font-size:1.8rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.comptable-role{color:#2563eb;font-weight:500;margin:0;padding:.25rem .75rem;background:#dbeafe;border-radius:20px;display:inline-block;font-size:.875rem}.comptable-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;justify-items:center;width:100%;max-width:600px}.field-group{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:300px;text-align:center}.field-group label{font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.field-group p{color:#1f2937;margin:0;padding:.75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.comptable-actions{display:flex;gap:1rem;padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:center;flex-wrap:wrap;width:100%}.comptables-form-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;padding:2rem;width:100%;max-width:700px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}.comptables-form-card h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:2rem;text-align:center}.comptables-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;align-items:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;justify-items:center;width:100%;max-width:600px}@media (max-width: 768px){.comptables-container{padding:1rem;max-width:100%;width:100%}.form-row,.comptable-fields{grid-template-columns:1fr}.comptable-actions{flex-direction:column}.comptable-header{flex-direction:column;text-align:center}.comptable-avatar{width:60px;height:60px}.comptable-details h2{font-size:1.5rem}.comptables-title h1{font-size:2rem}.comptables-form-card{padding:1.5rem}.comptables-card{margin:0 1rem}}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}.comptables-add-section{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0;width:100%;max-width:700px;display:flex;justify-content:center;margin-left:auto;margin-right:auto}.btn-primary{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background:#1d4ed8}.btn-edit{background:#059669;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:.5rem}.btn-edit:hover{background:#047857}.btn-delete{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:.5rem}.btn-delete:hover{background:#b91c1c}.btn-secondary{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#4b5563}.btn-outline{background:transparent;color:#2563eb;border:2px solid #2563eb;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-outline:hover{background:#2563eb;color:#fff}@media (max-width: 480px){.comptables-container{padding:.5rem;max-width:100%;width:100%}.comptables-title h1{font-size:1.8rem}.comptables-subtitle{font-size:1rem}.comptable-details h2{font-size:1.3rem}.comptables-form-card{padding:1rem}.comptables-card{margin:0 .5rem}.comptable-info{padding:1.5rem}.comptable-actions{padding:1rem}.field-group{max-width:100%}}.depenses-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem 2rem 2rem;min-height:100vh;width:100%;margin:0 auto;max-width:1400px;box-sizing:border-box;overflow-x:hidden}.depenses-header{margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.depenses-header h1{font-size:2.5rem;color:#1e293b;margin-bottom:.5rem;font-weight:700}.depenses-header p{font-size:1.1rem;color:#64748b;margin:0}.depenses-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.depenses-error,.depenses-success{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;max-width:1000px;width:100%;position:relative;margin-left:auto;margin-right:auto}.depenses-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.depenses-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.depenses-error button,.depenses-success button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0;margin-left:1rem}.depenses-tabs{display:flex;justify-content:center;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tab-button{background:none;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;margin:0 .5rem}.tab-button:hover{color:#333;background-color:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background-color:#f8f9fa}.tab-content{width:100%}.depenses-add-section{margin-bottom:2rem;display:flex;justify-content:center}.depenses-form-card{background:white;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;max-width:1000px;margin-left:auto;margin-right:auto}.depenses-form-card h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.25rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;justify-items:center}.field-group{width:100%;max-width:300px;text-align:center}.field-group input,.field-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s}.field-group input:focus,.field-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.save-button,.cancel-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem}.file-input{padding:.5rem;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;transition:border-color .2s;font-size:.875rem}.file-preview{display:flex;justify-content:center;margin:.5rem 0}.file-link{display:inline-flex;align-items:center;gap:.25rem;color:#2563eb;text-decoration:none;font-size:.875rem;padding:.25rem .5rem;border-radius:4px;background:#eff6ff;border:1px solid #dbeafe;transition:all .2s}.file-link:hover{background:#dbeafe;color:#1d4ed8}.file-url-input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .3s}.file-url-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.no-file{color:#9ca3af;font-style:italic}.depenses-empty{text-align:center;padding:3rem 2rem;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;max-width:500px;margin-left:auto;margin-right:auto}.depenses-empty h3{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem}.depenses-empty p{margin:0;color:#64748b}.depenses-list{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.depenses-table{width:100%;border-collapse:collapse}.depenses-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.depenses-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#1f2937}.depenses-table tr:hover{background:#f8fafc}.depenses-table tr:last-child td{border-bottom:none}.depense-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;transition:transform .2s,box-shadow .2s}.depense-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a}.depense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.depense-header h4{margin:0;color:#1e293b;font-size:1.125rem;font-weight:600}.depense-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.depense-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;justify-items:center}.field{display:flex;flex-direction:column;align-items:center;text-align:center}.field .label{font-weight:500;color:#64748b;font-size:.875rem;margin-bottom:.25rem}.field .value{color:#1f2937;font-weight:600}.table-container{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;margin-bottom:2rem}.table-container table{width:100%;border-collapse:collapse;background:white}.table-container thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.table-container th{padding:1rem 1.5rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;border:none;position:relative}.table-container th:first-child{border-top-left-radius:12px}.table-container th:last-child{border-top-right-radius:12px}.table-container tbody tr{border-bottom:1px solid #f1f5f9;transition:all .2s ease}.table-container tbody tr:hover{background-color:#f8fafc;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.table-container tbody tr:last-child{border-bottom:none}.table-container td{padding:1rem 1.5rem;font-size:.95rem;color:#374151;vertical-align:middle}.table-container td:first-child{font-weight:500;color:#1f2937}.table-container td:nth-child(6){font-weight:500;color:#059669}.table-container td:nth-child(4),.table-container td:nth-child(5){font-weight:600;color:#059669;font-family:Courier New,monospace}.file-link{color:#3b82f6;text-decoration:none;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.file-link:hover{color:#1d4ed8;text-decoration:underline}.actions-cell{display:flex;gap:.5rem;justify-content:center;align-items:center}.icon-button{background:none;border:none;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1.1rem;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.edit-icon{color:#3b82f6}.edit-icon:hover{background-color:#dbeafe;transform:scale(1.05)}.delete-icon{color:#ef4444}.delete-icon:hover{background-color:#fee2e2;transform:scale(1.05)}.table-container tbody:empty:after{content:"Aucune dépense trouvée";display:block;text-align:center;padding:3rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.depenses-container{padding:1rem;max-width:100%;width:100%}.depenses-content h1{font-size:1.75rem;margin-bottom:1rem}.depenses-tabs{flex-direction:row;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.tab-button{font-size:.875rem;padding:.75rem 1rem;margin:0;flex:1;text-align:center}.actions-section{margin-bottom:1rem}.add-button{width:100%;padding:.875rem;font-size:.95rem}.table-container{display:none}.mobile-card-view{display:block}.depense-mobile-card{background:white;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e2e8f0}.depense-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.depense-mobile-card-title{font-weight:600;font-size:1rem;color:#1e293b;flex:1}.depense-mobile-card-actions{display:flex;gap:.5rem}.depense-mobile-card-body{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.depense-mobile-field{display:flex;flex-direction:column}.depense-mobile-field-label{font-size:.75rem;color:#64748b;margin-bottom:.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.depense-mobile-field-value{font-size:.95rem;color:#1e293b;font-weight:600}.depense-mobile-field.full-width{grid-column:1 / -1}.form-row{grid-template-columns:1fr;gap:.75rem}.field-group{max-width:100%}.depense-header{flex-direction:column;gap:1rem;text-align:center}.depense-fields{grid-template-columns:1fr;gap:.75rem}.form-actions{flex-direction:column;gap:.75rem}.save-button,.cancel-button{width:100%}.modal-content{width:95%;padding:1.5rem;max-height:85vh}.modal-content h3{font-size:1.25rem}}@media (max-width: 480px){.depenses-container{padding:.75rem}.depenses-content h1{font-size:1.5rem}.tab-button{font-size:.8rem;padding:.625rem .75rem}.depense-mobile-card{padding:1rem}.depense-mobile-card-body{grid-template-columns:1fr;gap:.625rem}.depense-mobile-field.full-width{grid-column:1}.depense-mobile-card-actions{flex-direction:column;width:100%}.icon-button{width:100%;justify-content:center;padding:.75rem}.modal-content{padding:1.25rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;padding:2rem;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h3{margin-bottom:1.5rem;color:#1e293b;font-size:1.5rem;font-weight:600}.mobile-card-view{display:none}@media (max-width: 768px){.table-container{display:none}.mobile-card-view{display:block}}.clients-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem 2rem 2rem;min-height:100vh;width:100%;margin:0 auto;max-width:1400px;box-sizing:border-box;overflow-x:hidden}.clients-header{margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.clients-header h1{font-size:2.5rem;color:#1e293b;margin-bottom:.5rem;font-weight:700}.clients-header p{font-size:1.1rem;color:#64748b;margin:0}.clients-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.clients-error,.clients-success{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;max-width:1000px;width:100%;position:relative;margin-left:auto;margin-right:auto}.clients-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.clients-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.clients-error button,.clients-success button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0;margin-left:1rem}.clients-add-section{margin-bottom:2rem;display:flex;justify-content:center}.add-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s;font-size:1rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.clients-form-card{background:white;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;max-width:1000px;margin-left:auto;margin-right:auto}.clients-form-card h3{margin:0 0 1.5rem;color:#1e293b;font-size:1.25rem;font-weight:600}.field-group input,.field-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s;font-family:inherit}.field-group textarea{resize:vertical;min-height:120px}.cancel-button{background:#f3f4f6;color:#374151}.cancel-button:hover{background:#e5e7eb}.clients-empty{text-align:center;padding:3rem 2rem;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;max-width:500px;margin-left:auto;margin-right:auto}.empty-icon{font-size:3rem;margin-bottom:1rem}.clients-empty h3{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem}.clients-empty p{margin:0;color:#64748b}.clients-list{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.clients-table{width:100%;border-collapse:collapse}.clients-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.clients-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#1f2937}.clients-table tr:hover{background:#f8fafc}.clients-table tr:last-child td{border-bottom:none}.actions-cell .edit-button,.actions-cell .delete-button{padding:.25rem .5rem;font-size:.75rem}.edit-button,.delete-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.edit-button{background:#2563eb;color:#fff}.edit-button:hover{background:#1d4ed8}.search-section{margin-bottom:2rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.search-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;min-width:300px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.clear-search-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.devis-count{display:inline-block;background:#e0f2fe;color:#0c4a6e;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;border:1px solid #bae6fd}.delete-confirm-button{background:#dc2626;color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem;min-width:140px}@media (max-width: 768px){.modal-content{max-width:95%;padding:1.5rem}.modal-header h3{font-size:1.25rem}.clients-container{padding:1rem;max-width:100%;width:100%}.clients-header h1{font-size:2rem}.clients-header p{font-size:1rem}.form-row{grid-template-columns:1fr;gap:.75rem}.field-group{max-width:100%}.form-actions{flex-direction:column;gap:.75rem}.save-button,.cancel-button{width:100%}.search-section{flex-direction:column;align-items:center}.search-input{min-width:250px}}@media (max-width: 480px){.modal-content{max-width:98%;padding:1rem}.modal-header h3{font-size:1.125rem}.clients-container{padding:.5rem;max-width:100%;width:100%}.clients-header h1{font-size:1.75rem}.clients-form-card{padding:1.5rem}.search-input{min-width:200px}}.devis-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem 2rem 2rem;min-height:100vh;width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden;max-width:1400px}.devis-header{margin-bottom:2rem;width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.devis-header h1{color:#1e293b;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.devis-header p{color:#64748b;font-size:1.1rem;margin:0}.devis-loading{color:#64748b;font-size:1.2rem;margin:2rem 0}.devis-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;border:1px solid #fecaca}.devis-success{background:#f0fdf4;color:#16a34a;padding:1rem;border-radius:8px;margin-bottom:1rem;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;border:1px solid #bbf7d0}.devis-add-section{margin-bottom:2rem;width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.add-button{background:#2563eb;color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem}.add-button:hover{background:#1d4ed8;transform:translateY(-1px)}.devis-empty{text-align:center;padding:3rem;color:#64748b;width:100%;max-width:1200px;margin-left:auto;margin-right:auto}.devis-empty p{font-size:1.2rem;margin-bottom:1.5rem}.devis-list{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.devis-table{width:100%;border-collapse:collapse}.devis-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0}.devis-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#374151}.devis-table tr:hover{background:#f8fafc}.visualize-button,.view-button,.edit-button,.delete-button,.download-button{padding:.5rem;border:none;border-radius:4px;cursor:pointer;margin:0 .25rem;transition:all .2s;font-size:1rem}.visualize-button{font-size:.875rem;padding:.5rem 1rem;min-width:100px}.view-button,.edit-button,.delete-button{font-size:1.2rem;width:40px;height:40px}.visualize-button{background:#7c3aed;color:#fff}.visualize-button:hover{background:#6d28d9;transform:scale(1.1)}.view-button{background:#0891b2;color:#fff}.view-button:hover{background:#0e7490;transform:scale(1.1)}.edit-button{background:#059669;color:#fff}.edit-button:hover{background:#047857;transform:scale(1.1)}.delete-button{background:#dc2626;color:#fff}.delete-button:hover{background:#b91c1c;transform:scale(1.1)}.download-button{background:#28a745;color:#fff}.download-button:hover{background:#218838;transform:translateY(-1px)}.search-section{display:flex;gap:1rem;margin-bottom:2rem;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;justify-content:center;align-items:center}.search-input{flex:1;max-width:400px;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.clear-search-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:white;border-radius:16px;padding:3rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e2e8f0;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;color:#1e293b;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:.5rem;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#374151}.devis-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:1.5rem;justify-items:center}.field-group{width:100%;max-width:320px;text-align:center}.field-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500;text-align:left}.field-group input,.field-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.field-group input:focus,.field-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:2rem;justify-content:center;margin-top:2.5rem}.save-button,.cancel-button{padding:1rem 2.5rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem;min-width:140px}.save-button{background:#2563eb;color:#fff}.cancel-button{background:#6b7280;color:#fff}.delete-modal{max-width:500px;padding:2rem}.delete-modal-content{text-align:center;padding:1rem 0}.delete-modal-content h4{margin:0 0 1rem;color:#1e293b;font-size:1.25rem;font-weight:600}.delete-modal-content p{margin:.5rem 0;color:#374151;font-size:1rem}.delete-modal-content p strong{color:#1e293b;font-weight:600}.delete-warning{color:#dc2626!important;font-size:.875rem!important;margin:1rem 0 1.5rem!important;padding:.75rem;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.delete-actions{display:flex;gap:1rem;justify-content:center}.delete-confirm-button{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.delete-cancel-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.status-badge{padding:.6rem 1.2rem;border-radius:30px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid transparent;transition:all .3s ease;box-shadow:0 3px 6px #00000026;position:relative;overflow:hidden}.clickable-status{cursor:pointer;border:none;transition:all .2s ease;font-family:inherit;font-size:inherit}.clickable-status:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.clickable-status:active{transform:scale(.98)}.readonly-input{background-color:#f8fafc;color:#64748b;cursor:not-allowed;border:1px solid #e2e8f0}.status-container{display:inline-block;position:relative}.status-select{cursor:pointer;border:none;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;background:inherit;color:inherit;padding:inherit;border-radius:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1em;padding-right:2rem;min-width:120px;text-align:center}.status-select:focus{box-shadow:0 0 0 3px #2563eb4d;transform:scale(1.02)}.status-select:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 8px #0003}.status-select:disabled{cursor:not-allowed;opacity:.7}.status-select:disabled:hover{transform:none;box-shadow:none}.status-select option:disabled{color:#9ca3af;font-style:italic}.status-select option{background:white;color:#374151;padding:.5rem}.status-select option[value=créé]{background:linear-gradient(135deg,#e0f2fe,#b3e5fc);color:#0c4a6e;font-weight:600}.status-select option[value="en cours"]{background:linear-gradient(135deg,#fff7ed,#fed7aa);color:#9a3412;font-weight:600}.status-select option[value=confirmé]{background:linear-gradient(135deg,#ecfdf5,#bbf7d0);color:#14532d;font-weight:600}.status-select option[value=annulé]{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#7f1d1d;font-weight:600}.comment-popup{max-width:500px;padding:2rem}.comment-form{display:flex;flex-direction:column;gap:1.5rem}.comment-form .field-group{width:100%;max-width:none;text-align:left}.comment-form .field-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500}.comment-form .field-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s;resize:vertical;min-height:80px}.comment-form .field-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}@media (max-width: 768px){.devis-container{padding:1rem;left:0;transform:none}.devis-header h1{font-size:2rem}.form-row{grid-template-columns:1fr;gap:1rem}.field-group{max-width:100%}.search-section{flex-direction:column;gap:.5rem}.search-input{max-width:100%}.modal-content{padding:2rem;margin:1rem}.form-actions{flex-direction:column;gap:1rem}.save-button,.cancel-button{width:100%}.actions-cell{flex-direction:column;gap:.25rem}.edit-button,.delete-button{width:100%}}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--secondary-color: #64748b;--accent-color: #f59e0b;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-accent: #f1f5f9;--border-color: #e2e8f0;--border-accent: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--section-bg: #ffffff;--border-radius: 12px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1)}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);margin:0;padding:0}.devis-pdf-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}.devis-pdf-content{page-break-inside:avoid!important;break-inside:avoid!important;text-align:center!important;max-width:100%!important;margin:0 auto!important;width:100%!important;box-sizing:border-box!important}.devis-pdf-content *{page-break-inside:avoid;break-inside:avoid}.devis-pdf-content .devis-header-section,.devis-pdf-content .info-cards-section,.devis-pdf-content .repairs-table,.devis-pdf-content .total-section,.devis-pdf-content .amount-in-words-section,.devis-pdf-content .company-full-details-section{margin-bottom:8px}.devis-pdf-header{margin-bottom:30px;padding:24px;background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.header-actions{display:flex;justify-content:flex-start;align-items:center;gap:16px}.back-button,.print-button,.download-pdf-button{padding:12px 24px;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.back-button{background:linear-gradient(135deg,var(--secondary-color),#475569);color:#fff;box-shadow:var(--shadow-md)}.back-button:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.print-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;box-shadow:var(--shadow-md)}.print-button:hover{background:linear-gradient(135deg,var(--primary-dark),#1e40af);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.download-pdf-button{background:linear-gradient(135deg,var(--success-color),#059669);color:#fff;box-shadow:var(--shadow-md)}.download-pdf-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.devis-pdf-content{background:var(--bg-primary);padding:48px;border-radius:20px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);position:relative;overflow:hidden}.devis-pdf-content.devis-pdf-content{padding:24px!important;text-align:center!important;max-width:100%!important;margin:0 auto!important;width:100%!important;box-sizing:border-box!important}.devis-pdf-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color),var(--success-color))}.devis-header-section{display:flex;flex-direction:column;align-items:center;margin-bottom:48px;padding-bottom:32px;border-bottom:2px solid var(--border-accent);position:relative}.devis-pdf-content .devis-header-section{margin-bottom:16px!important;padding-bottom:16px!important;text-align:center!important}.devis-header-section:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color))}.company-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;margin-bottom:.1rem;text-align:center;padding:.2rem;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-radius:3px;border:1px solid #e2e8f0}.devis-pdf-content .company-header{gap:16px;margin-bottom:8px;position:relative!important;overflow:visible!important;min-height:120px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:0!important;margin-left:0!important;margin-right:0!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}.company-logo-large{width:100px;height:100px;border-radius:50%;overflow:hidden;border:2px solid #667eea;display:flex;align-items:center;justify-content:center;background:white;object-fit:cover;box-shadow:0 2px 4px #00000026;grid-column:2;justify-self:end}.devis-pdf-content .company-logo{width:120px;height:120px;display:block!important;visibility:visible!important;opacity:1!important;max-width:none!important;max-height:none!important;position:relative!important;z-index:1!important;background:white!important;border:1px solid #e2e8f0!important;margin:0!important;padding:0!important;float:none!important;clear:both!important;object-fit:cover!important;border-radius:50%!important;flex-shrink:0!important;box-sizing:border-box!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important}.company-logo:hover{transform:scale(1.05)}.company-name{position:relative;z-index:1}.company-name h1{margin:0;font-size:2.5rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:2px;position:relative;z-index:1}.devis-pdf-content .company-name{position:relative!important;z-index:1!important;display:block!important;visibility:visible!important;width:auto!important;max-width:none!important;flex:1!important;box-sizing:border-box!important;padding:0!important;margin:0!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}.devis-pdf-content .company-name h1{font-size:2rem;position:relative!important;z-index:1!important;display:block!important;visibility:visible!important}.devis-title{text-align:center;margin-bottom:2rem}.devis-pdf-content .devis-title{margin-bottom:16px}.devis-title h2{margin:0;font-size:1.5rem;font-weight:700;color:#667eea;line-height:1;padding:.3rem;background:#f1f5f9;border-radius:3px;border:1px solid #e2e8f0}.devis-pdf-content .devis-title h2{font-size:2rem}.info-cards-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.devis-pdf-content .info-cards-section{gap:12px!important;margin-bottom:16px!important;text-align:center!important}.devis-pdf-content .info-cards-section .left-card,.devis-pdf-content .info-cards-section .right-card{padding:12px!important;margin:0!important}.devis-pdf-content .info-cards-section{gap:16px;margin-bottom:20px}.devis-pdf-content .left-card,.devis-pdf-content .right-card{padding:16px}.devis-pdf-content .card-content{padding:12px}.devis-pdf-content .info-row{padding:6px 0;margin-bottom:4px}.left-card,.right-card{background:var(--section-bg);border-radius:var(--border-radius);box-shadow:var(--shadow);border-top:4px solid var(--accent-color);overflow:hidden}.card-content{padding:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color);font-size:1.1rem}.devis-pdf-content .info-row{font-size:1rem}.info-row:last-child{border-bottom:none}.info-row strong{color:var(--accent-color);font-weight:600}.designation-text{margin-top:1rem;padding:1rem;background:rgba(255,255,255,.1);border-radius:var(--border-radius);border-left:4px solid var(--accent-color);font-style:italic;line-height:1.6}.devis-pdf-content .designation-text{margin-top:8px!important;padding:8px!important;font-size:.9rem!important;line-height:1.4!important;text-align:center!important}.devis-pdf-content .designation-text{margin-top:8px;padding:8px;font-size:.9rem}.company-description-section{margin:1.5rem 0;padding:1rem 1.5rem;background:var(--bg-secondary);border-radius:12px;border-left:4px solid var(--primary-color);text-align:center;max-width:600px;margin-left:auto;margin-right:auto}.devis-pdf-content .company-description-section{margin:8px 0!important;padding:8px 12px!important;text-align:center!important;max-width:100%!important}.devis-pdf-content .company-description-section{margin:12px 0;padding:8px 12px}.company-description-section p{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.6;font-style:italic;font-weight:400}.devis-pdf-content .company-description-section p{font-size:.9rem;line-height:1.4}.company-full-details-section{margin-top:2rem;padding:2rem;background:#f1f5f9;border-radius:12px;border:1px solid #e2e8f0}.devis-pdf-content .company-full-details-section{margin-top:8px!important;margin-bottom:8px!important;padding:12px!important;text-align:center!important}.devis-pdf-content .company-full-details-section{margin-top:16px;padding:16px}.company-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.15rem}.devis-pdf-content .company-details-grid{grid-template-columns:repeat(3,1fr)!important;gap:1rem!important}.company-full-details-section .detail-item{padding:.75rem;background:white;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.devis-pdf-content .company-full-details-section .detail-item{padding:6px;font-size:.9rem}.company-full-details-section .detail-item strong{color:#1e293b;font-weight:600;margin-right:.5rem}.company-full-details-section .detail-item{color:#475569;font-size:.95rem}.devis-info{text-align:right;min-width:220px;background:var(--bg-accent);padding:20px;border-radius:16px;border:1px solid var(--border-color)}.devis-pdf-content .devis-info{text-align:center!important;min-width:auto!important;padding:12px!important;margin:0 auto!important}.devis-info>div{margin-bottom:16px;padding:12px 16px;background:var(--bg-primary);border-radius:10px;border-left:4px solid var(--primary-color);box-shadow:var(--shadow-sm)}.devis-pdf-content .devis-info>div{margin-bottom:8px!important;padding:8px 12px!important;text-align:center!important}.devis-number{font-size:1.2rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:1px}.devis-date{color:var(--text-secondary);font-weight:500}.devis-pdf-content .devis-number{font-size:1rem!important;text-align:center!important}.devis-pdf-content .devis-date{text-align:center!important;font-size:.9rem!important}.devis-status{display:flex;align-items:center;gap:12px;justify-content:flex-end}.status-badge{padding:6px 16px;border-radius:25px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.status-créé{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.status-en-cours{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#c2410c;border:1px solid #fb923c}.status-confirmé{background:linear-gradient(135deg,#bbf7d0,#86efac);color:#166534;border:1px solid #4ade80}.status-annulé{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#dc2626;border:1px solid #f87171}.client-section,.designation-section,.comment-section,.repairs-section,.total-section{margin-bottom:40px;padding:24px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);position:relative}.devis-pdf-content .client-section,.devis-pdf-content .designation-section,.devis-pdf-content .comment-section,.devis-pdf-content .repairs-section,.devis-pdf-content .total-section{margin-bottom:8px!important;margin-top:8px!important;padding:16px!important;text-align:center!important}.client-section:before,.designation-section:before,.comment-section:before,.repairs-section:before,.total-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:16px 16px 0 0}.client-section h2,.designation-section h2,.comment-section h2,.repairs-section h2,.total-section h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border-accent);position:relative}.client-section h2:after,.designation-section h2:after,.comment-section h2:after,.repairs-section h2:after,.total-section h2:after{content:"";position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:var(--primary-color)}.client-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.devis-pdf-content .client-details{gap:12px!important;text-align:center!important}.devis-pdf-content .client-info p{margin:8px 0!important;padding:8px 12px!important;font-size:.9rem!important}.client-info p{margin:12px 0;padding:12px 16px;background:var(--bg-primary);border-radius:8px;border-left:3px solid var(--primary-color);color:var(--text-secondary);font-weight:500}.client-info strong{color:var(--text-primary);font-weight:600;min-width:80px;display:inline-block}.repairs-table{overflow-x:auto;border-radius:12px;box-shadow:var(--shadow-md)}.repairs-table table{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:12px;overflow:hidden}.repairs-table th{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;padding:16px 12px;text-align:left;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-accent)}.repairs-table th:first-child{border-radius:12px 0 0}.repairs-table th:last-child{border-radius:0 12px 0 0}.repairs-table td{padding:16px 12px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-weight:500}.repairs-table tr:hover{background:var(--bg-accent);transform:scale(1.01);transition:all .2s ease}.repairs-table tr:last-child td{border-bottom:none}.repairs-table th:nth-child(1),.repairs-table td:nth-child(1){width:60px;text-align:center;font-weight:700;color:var(--primary-color)}.repairs-table th:nth-child(3),.repairs-table td:nth-child(3),.repairs-table th:nth-child(4),.repairs-table td:nth-child(4){width:100px;text-align:center}.repairs-table th:nth-child(5),.repairs-table td:nth-child(5),.repairs-table th:nth-child(6),.repairs-table td:nth-child(6){width:120px;text-align:right;font-weight:600;color:var(--text-primary)}.no-repairs{text-align:center;padding:40px;color:var(--text-muted);font-style:italic;background:var(--bg-accent);border-radius:12px;border:2px dashed var(--border-color)}.repairs-table th{padding:8px 10px;font-size:11px}.repairs-table td{padding:6px 10px;font-size:12px;line-height:1.2}.devis-pdf-content .repairs-table{margin-bottom:8px!important;margin-top:8px!important}.devis-pdf-content .repairs-table table{width:100%!important;margin:0 auto!important;border-collapse:collapse!important}.devis-pdf-content .repairs-table th,.devis-pdf-content .repairs-table td{padding:4px 6px!important;font-size:10px!important;line-height:1.1!important;margin:0!important;border-spacing:0!important}.devis-pdf-content .repairs-table th{padding:6px 8px!important;font-size:11px!important}.total-section{background:linear-gradient(135deg,var(--bg-primary),var(--bg-accent));border:2px solid var(--primary-color)}.devis-pdf-content .total-section{margin-bottom:8px!important;margin-top:4px!important;padding:16px!important}.devis-pdf-content .total-section h2{margin-bottom:12px!important;font-size:1.2rem!important}.devis-pdf-content .devis-header-section,.devis-pdf-content .info-cards-section,.devis-pdf-content .repairs-table{margin-bottom:12px}.devis-pdf-content .total-section{margin-bottom:12px;margin-top:8px}.devis-pdf-content .amount-in-words-section,.devis-pdf-content .company-full-details-section{margin-bottom:12px}.total-amount{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;margin-bottom:12px;background:var(--bg-primary);border-radius:10px;border-left:4px solid var(--primary-color);font-weight:600;color:var(--text-secondary)}.devis-pdf-content .total-amount{padding:8px 12px!important;margin-bottom:6px!important;font-size:.9rem!important}.devis-pdf-content .total-amount{padding:12px 16px;margin-bottom:8px}.total-amount:last-child{margin-bottom:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;font-size:1.2rem;font-weight:700;border:none}.devis-pdf-content .total-amount:last-child{font-size:1rem}.total-ttc{font-size:1.4rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.devis-pdf-content .total-ttc{font-size:1.2rem}.amount-in-words-section{background:var(--section-bg);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);margin-top:2rem;border-top:4px solid var(--accent-color);text-align:center}.devis-pdf-content .amount-in-words-section{padding:12px!important;margin-top:8px!important;margin-bottom:8px!important;text-align:center!important}.devis-pdf-content .amount-in-words-section{padding:16px;margin-top:16px}.amount-in-words-section p{font-size:1.2rem;font-weight:600;color:var(--text-color);margin:0;line-height:1.6;text-transform:uppercase;letter-spacing:.5px}.devis-pdf-content .amount-in-words-section p{font-size:1rem;line-height:1.4}.devis-pdf-loading,.devis-pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-secondary)}.devis-pdf-loading{font-size:1.2rem;font-weight:500}.devis-pdf-error{color:var(--danger-color);font-weight:600}.devis-pdf-error .back-button{margin-top:20px}@media (max-width: 768px){.devis-pdf-container{padding:1rem;margin:0}.devis-pdf-content{padding:1rem}.header-actions{flex-direction:column;gap:12px;align-items:stretch}.back-button,.print-button,.download-pdf-button{justify-content:center}.company-header{flex-direction:column;gap:1rem}.company-logo{width:80px;height:80px}.company-name h1{font-size:1.8rem;letter-spacing:1px}.devis-title h2{font-size:1.5rem}.info-cards-section{grid-template-columns:1fr;gap:1rem}.left-card,.right-card{margin-bottom:1rem}.card-content{padding:1rem}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.repairs-table{overflow-x:auto}.repairs-table table{font-size:.9rem}.repairs-table th,.repairs-table td{padding:.5rem}.total-section,.amount-in-words-section{padding:1rem}.amount-in-words-section p{font-size:1rem}.company-description-section{margin-top:1.5rem;padding:1rem}.company-full-details-section{margin-top:1.5rem;padding:1.5rem}.company-details-grid{grid-template-columns:1fr;gap:.75rem}}@media print{.devis-pdf-container{transform:none!important;max-width:none;padding:0;background:white;text-align:center}.devis-pdf-header{display:none}.devis-pdf-content{box-shadow:none;border:none;padding:20px;background:white;text-align:center;max-width:100%;margin:0 auto}.devis-pdf-content:before{display:none}.company-logo{width:60px;height:60px;display:block!important;visibility:visible!important;opacity:1!important;background:white!important;border:1px solid #000!important;object-fit:cover!important}.company-name h1,.devis-title h2{font-size:2rem;-webkit-text-fill-color:black;color:#000;text-align:center}.status-badge{background:#f3f4f6!important;color:#374151!important;border:1px solid #d1d5db!important}.repairs-table th{background:#f3f4f6!important;color:#374151!important}.total-amount:last-child{background:#f3f4f6!important;color:#374151!important}.company-description-section{background:white!important;border-left:2px solid var(--primary-color)!important;page-break-inside:avoid;text-align:center}.company-full-details-section{background:white!important;border:1px solid #e2e8f0!important;page-break-inside:avoid;text-align:center}.company-full-details-section .detail-item{background:white!important;border:1px solid #e2e8f0!important;box-shadow:none!important}.devis-header-section,.info-cards-section,.client-section,.designation-section,.comment-section,.repairs-section,.total-section,.amount-in-words-section,.company-full-details-section{margin-bottom:8px!important;margin-top:8px!important}}.devis-pdf-content .amount-in-words-section,.devis-pdf-content .company-full-details-section{margin-bottom:8px;margin-top:8px}.devis-pdf-content .client-section,.devis-pdf-content .designation-section,.devis-pdf-content .comment-section{margin-bottom:8px;text-align:center}.devis-pdf-content .info-cards-section{gap:8px;margin-bottom:8px;text-align:center}.pdf-optimization .devis-title h2{font-size:.85rem!important;padding:.4rem .6rem!important;margin-bottom:.5rem!important;line-height:1.2!important}.pdf-optimization .devis-header-section{margin-bottom:.5rem!important}.pdf-optimization .info-cards-section{margin-bottom:.5rem!important;gap:.5rem!important}.pdf-optimization .left-card,.pdf-optimization .right-card,.pdf-optimization .card-content{padding:.4rem!important}.pdf-optimization .info-row{font-size:.65rem!important;line-height:1.3!important;padding:.2rem 0!important;margin-bottom:.15rem!important}.pdf-optimization .designation-text{font-size:.65rem!important;line-height:1.3!important;margin-top:.3rem!important;padding:.3rem!important}.pdf-optimization .repairs-section{margin-bottom:.5rem!important;padding:.3rem!important;display:block!important;visibility:visible!important;flex-grow:1!important}.pdf-optimization .repairs-section h2{font-size:.7rem!important;margin-bottom:.3rem!important;margin-top:0!important;display:block!important;visibility:visible!important;color:#000!important}.pdf-optimization .repairs-table{display:block!important;visibility:visible!important;margin:0!important}.pdf-optimization .repairs-table th{padding:.25rem .15rem!important;font-size:.6rem!important;display:table-cell!important;visibility:visible!important;color:#fff!important;line-height:1.2!important}.pdf-optimization .repairs-table td{padding:.2rem .15rem!important;font-size:.6rem!important;line-height:1.2!important;display:table-cell!important;visibility:visible!important;color:#000!important}.pdf-optimization .total-section{margin-bottom:.4rem!important;padding:.3rem!important;gap:.25rem!important;display:grid!important;visibility:visible!important;grid-template-columns:1fr 1fr 1fr!important}.pdf-optimization .total-amount{font-size:.65rem!important;padding:.25rem!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important}.pdf-optimization .total-ttc{font-size:.7rem!important;padding:.25rem!important}.pdf-optimization .amount-in-words-section{padding:.3rem!important;margin-bottom:.3rem!important;display:block!important;visibility:visible!important}.pdf-optimization .company-full-details-section{padding:.3rem!important;margin-bottom:0!important;margin-top:auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;visibility:visible!important;flex-grow:0!important;flex-shrink:0!important}.pdf-optimization .company-details-grid{gap:.3rem!important;margin-bottom:.2rem!important;display:grid!important;visibility:visible!important;flex-wrap:wrap!important}.pdf-optimization .detail-item{font-size:.6rem!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important;line-height:1.3!important;padding:.2rem!important}.sous-reparations-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem 2rem 2rem;min-height:100vh;width:100%;margin:0 auto;max-width:1400px}.sous-reparations-header{width:100%;max-width:1200px;margin-bottom:2rem;text-align:left}.back-button{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:1rem;transition:background-color .3s}.header-content h1{color:#1f2937;margin-bottom:1rem;font-size:2rem}.devis-info{background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0;margin-top:1rem}.devis-info p{margin:.5rem 0;color:#374151}.status-badge{padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid transparent;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;margin-left:.5rem}.status-créé{background:linear-gradient(135deg,#e0f2fe,#b3e5fc);color:#0c4a6e;border-color:#0284c7}.status-en-cours{background:linear-gradient(135deg,#fff7ed,#fed7aa);color:#9a3412;border-color:#ea580c}.status-confirmé{background:linear-gradient(135deg,#ecfdf5,#bbf7d0);color:#14532d;border-color:#16a34a}.status-annulé{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#7f1d1d;border-color:#dc2626}.status-warning{background:#fef3c7;color:#92400e;padding:1rem;border-radius:8px;border:1px solid #f59e0b;text-align:center;margin:1rem 0}.status-warning p{margin:0;font-weight:500}.status-warning strong{color:#d97706}.status-warning-small{background:#fef3c7;color:#92400e;padding:.5rem;border-radius:6px;border:1px solid #f59e0b;text-align:center;font-size:.75rem;font-weight:500}.status-warning-small span{color:#d97706}.sous-reparations-loading{font-size:1.2rem;color:#6b7280;margin:2rem 0}.sous-reparations-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;border:1px solid #fecaca;margin-bottom:1rem;width:100%;max-width:1200px}.sous-reparations-success{background:#f0fdf4;color:#16a34a;padding:1rem;border-radius:8px;border:1px solid #bbf7d0;margin-bottom:1rem;width:100%;max-width:1200px}.sous-reparations-add-section{width:100%;max-width:1200px;margin-bottom:2rem;text-align:left}.add-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.add-button:hover{background:#1d4ed8}.sous-reparations-empty{background:white;padding:3rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;width:100%;max-width:1200px}.sous-reparations-empty p{color:#6b7280;margin-bottom:1.5rem;font-size:1.1rem}.sous-reparations-list{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.sous-reparations-table{width:100%;border-collapse:collapse}.sous-reparations-table th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0}.sous-reparations-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#374151}.sous-reparations-table tr:hover{background:#f8fafc}.edit-button{background:#059669;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background-color .3s}.edit-button:hover{background:#047857}.delete-button{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background-color .3s}.delete-button:hover{background:#b91c1c}.search-section{width:100%;max-width:1200px;margin-bottom:2rem;display:flex;gap:1rem;align-items:center}.search-input{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.search-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.search-button:hover{background:#1d4ed8}.clear-search-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.clear-search-button:hover{background:#4b5563}.modal-content{background:white;border-radius:12px;padding:2rem;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}.sous-reparations-form{display:flex;flex-direction:column;gap:1.5rem}.delete-modal{max-width:500px}.delete-modal-content{text-align:center}.delete-icon{font-size:3rem;margin-bottom:1rem}.delete-modal-content h4{color:#1f2937;margin-bottom:1rem}.delete-modal-content p{color:#6b7280;margin-bottom:.5rem}.delete-warning{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;border:1px solid #fecaca;margin:1rem 0;font-size:.9rem}.delete-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.delete-confirm-button{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.delete-confirm-button:hover{background:#b91c1c}.delete-cancel-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.delete-cancel-button:hover{background:#4b5563}@media (max-width: 768px){.sous-reparations-container{padding:1rem;left:0;transform:none}.form-row,.search-section{flex-direction:column;gap:1rem}.actions-cell{flex-direction:column;gap:.5rem}.modal-content{width:95%;padding:1.5rem}.form-actions{flex-direction:column}}.images-cell{max-width:200px;padding:.5rem}.images-preview{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.preview-image{width:50px;height:50px;object-fit:cover;border-radius:4px;cursor:pointer;border:2px solid #e5e7eb;transition:border-color .2s}.preview-image:hover{border-color:#3b82f6}.no-images{color:#6b7280;font-style:italic;font-size:.875rem}.file-input{padding:.5rem;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;transition:border-color .2s}.image-preview-section{margin-top:1rem}.current-images h4{margin:0 0 .5rem;font-size:.875rem;color:#374151}.image-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.image-item{position:relative;display:inline-block}.preview-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:4px;border:2px solid #e5e7eb}.remove-image{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-image:hover{background:#dc2626}.images-textarea{margin-top:.5rem;font-size:.875rem}.designations-container{display:flex;flex-direction:column;gap:.75rem}.designation-item{display:flex;gap:.5rem;align-items:center}.designation-input{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .3s}.designation-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.designation-actions{display:flex;gap:.25rem}.auto-number-button{background:#10b981;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:700;min-width:35px;transition:background-color .3s}.auto-number-button:hover{background:#059669}.auto-number-button:active{transform:scale(.95)}.remove-designation-button{background:#ef4444;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;min-width:35px;transition:background-color .3s}.remove-designation-button:hover{background:#dc2626}.add-designation-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;transition:background-color .3s;margin-top:.5rem;align-self:flex-start}.add-designation-button:hover{background:#2563eb}.designations-cell{max-width:300px;padding:.75rem}.designations-list{display:flex;flex-direction:column;gap:.25rem}.designation-line{padding:.25rem .5rem;background:#f3f4f6;border-radius:4px;font-size:.875rem;color:#374151;border-left:3px solid #3b82f6}.no-designation{color:#6b7280;font-style:italic;font-size:.875rem}.user-profile-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1rem 2rem 2rem;min-height:100vh;width:100%;margin:0 auto;max-width:1200px}.user-profile-header{width:100%;max-width:800px;margin-bottom:2rem;text-align:center}.user-profile-header h1{color:#1f2937;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.user-profile-header p{color:#6b7280;font-size:1.1rem}.user-profile-loading{font-size:1.2rem;color:#6b7280;margin:2rem 0}.user-profile-error{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;border:1px solid #fecaca;margin-bottom:1rem;width:100%;max-width:800px}.user-profile-success{background:#f0fdf4;color:#16a34a;padding:1rem;border-radius:8px;border:1px solid #bbf7d0;margin-bottom:1rem;width:100%;max-width:800px}.user-profile-content{width:100%;max-width:1000px}.profile-card{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.profile-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem;display:flex;align-items:center;gap:1.5rem;color:#fff}.profile-avatar{flex-shrink:0;position:relative}.profile-logo{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3);background:white}.profile-info{flex:1;text-align:left}.profile-info h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.user-email{margin:0 0 .25rem;opacity:.9;font-size:1rem}.user-role{margin:0;opacity:.8;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.edit-profile-button{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.edit-profile-button:hover{background:rgba(255,255,255,.3);border-color:#ffffff80}.profile-details{padding:2rem}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:#1f2937;margin-bottom:1rem;font-size:1.25rem;font-weight:600;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;min-height:80px}.detail-label{font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.detail-value{color:#1f2937;font-size:1rem;word-break:break-word}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;color:#1f2937;font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s}.modal-close:hover{background:#f3f4f6}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:flex;gap:1.5rem;margin-bottom:1rem}.field-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.field-group label{font-weight:600;color:#374151;font-size:.9rem}.field-group input,.field-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .3s}.field-group input:focus,.field-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.save-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.save-button:hover{background:#1d4ed8}.cancel-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.reset-button{background:#f59e0b;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.reset-button:hover{background:#d97706}.reset-button:disabled,.save-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.image-upload-section{display:flex;flex-direction:column;gap:1rem}.upload-controls{display:flex;flex-direction:column;gap:.5rem;align-items:center}.upload-button{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;border:none;display:inline-block;text-align:center;min-width:200px}.upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.file-info{font-size:.875rem;color:#6b7280;text-align:center}.remove-image-btn{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;margin-top:.5rem;transition:background-color .3s ease}.remove-image-btn:hover{background:#b91c1c}.file-input{position:absolute;opacity:0;width:0;height:0;overflow:hidden}.current-logo{display:flex;flex-direction:column;align-items:center;margin:1rem 0;gap:.5rem}.logo-preview{width:80px;height:80px;object-fit:cover;border-radius:50%;border:2px solid #e5e7eb;background:white}.image-url-input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .3s}.image-url-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.detail-logo{width:40px;height:40px;object-fit:cover;border-radius:50%;border:1px solid #e5e7eb;background:white;vertical-align:middle;margin-right:.5rem}.checkbox-group{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer}.checkbox-group label{margin:0;cursor:pointer;font-weight:500;color:#374151}@media (max-width: 768px){.user-profile-container{padding:1rem;left:0;transform:none}.profile-header{flex-direction:column;text-align:center;gap:1rem}.profile-info{text-align:center}.detail-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:1rem}.modal-content{width:95%;padding:1.5rem}.form-actions{flex-direction:column}}@media (max-width: 1024px){.detail-grid{grid-template-columns:repeat(2,1fr)}}.factures-container{max-width:1200px;width:100%;margin:0 auto;padding:2rem;min-height:100vh;background-color:#f8fafc;box-sizing:border-box;overflow-x:hidden}.factures-header{text-align:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;color:#fff;box-shadow:0 10px 25px #0000001a}.factures-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.factures-header p{font-size:1.1rem;opacity:.9;margin:0}.factures-error{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.factures-error button{background:none;border:none;color:#dc2626;font-size:1.5rem;cursor:pointer;padding:0}.factures-success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.factures-success button{background:none;border:none;color:#16a34a;font-size:1.5rem;cursor:pointer;padding:0}.search-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;min-width:250px;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;background-color:#fff;cursor:pointer;transition:border-color .3s ease}.filter-select:focus{outline:none;border-color:#3b82f6}table{width:100%;border-collapse:collapse;font-size:.95rem}thead{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}th{padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}tbody tr{transition:background-color .2s ease}tbody tr:hover{background-color:#f8fafc}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .3s ease;border:none;min-width:80px;text-align:center}.status-badge.créé{background-color:#dbeafe;color:#1e40af}.status-badge.en-cours{background-color:#fef3c7;color:#d97706}.status-badge.terminé{background-color:#d1fae5;color:#059669}.status-badge.payé{background-color:#dcfce7;color:#16a34a}.status-badge.annulée{background-color:#fee2e2;color:#dc2626}.status-badge:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.actions-cell{display:flex;gap:.5rem;align-items:center}.view-icon:hover{background-color:#f0f9ff}.download-icon:hover{background-color:#dcfce7}.field-group label{margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem}.field-group input,.field-group select,.field-group textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.field-group textarea{resize:vertical;min-height:100px}.save-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.save-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.delete-button{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.delete-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.delete-modal{max-width:400px}.status-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.status-option{background-color:#f3f4f6;border:2px solid #d1d5db;color:#374151;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.9rem}.status-option:hover{background-color:#e5e7eb;border-color:#9ca3af}.status-option.selected{background-color:#3b82f6;border-color:#2563eb;color:#fff}.status-option.selected:hover{background-color:#2563eb}.sous-factures-count{background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}@media (max-width: 768px){.factures-container{padding:1rem}.factures-header{padding:1.5rem}.factures-header h1{font-size:2rem}.actions-section{flex-direction:column;align-items:stretch}.search-section{flex-direction:column}.search-input,.filter-select{min-width:auto;width:100%}.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto}table{min-width:600px}.actions-cell{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.factures-header h1{font-size:1.5rem}.modal-content{padding:1.5rem;margin:1rem}.modal-actions{flex-direction:column}}.facture-pdf-container{max-width:1400px;width:100%;margin:0 auto;padding:2rem;min-height:100vh;background-color:#f8fafc;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.facture-pdf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;background:white;border-radius:12px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:1200px}.back-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:1rem;transition:background-color .3s ease}.back-button:hover{background:#4b5563}.header-actions{display:flex;gap:1rem;flex-wrap:wrap}.print-button,.download-pdf-button,.reset-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:1rem;transition:all .3s ease}.reset-button{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.print-button:hover,.download-pdf-button:hover,.reset-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.selection-container{background:white;padding:3rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center;max-width:600px;margin:0 auto}.selection-container h2{color:#374151;font-size:1.8rem;font-weight:600;margin-bottom:2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selection-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.selection-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.selection-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003;background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%)}.back-selection-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.back-selection-button:hover{background:#4b5563}.cachet-section{margin-top:.15rem;text-align:center;background:#f8fafc;border-radius:3px;padding:.2rem;border:1px solid #e2e8f0}.cachet-display{display:flex;justify-content:center;align-items:center}.cachet-circle{width:120px;height:120px;border:4px solid #dc2626;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #dc26264d;position:relative}.cachet-circle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:2px solid #dc2626;border-radius:50%;opacity:.7}.cachet-text{color:#dc2626;font-weight:700;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;z-index:1;position:relative;text-align:center;line-height:1.2}.cachet-image{width:80px;height:80px;object-fit:contain;border-radius:50%;box-shadow:0 1px 2px #dc262633;background:white;padding:4px;border:1px solid #dc2626;margin:0 auto;display:block}.facture-pdf-content{background:white;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;position:relative;max-width:1200px;width:100%;margin:0 auto;text-align:center;min-height:297mm;box-sizing:border-box}.facture-pdf-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px 12px 0 0}.company-header{display:flex;justify-content:space-between;align-items:center;gap:3rem;margin-bottom:2.5rem;text-align:center;padding:2.5rem;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-radius:12px;border:1px solid #e2e8f0}.company-logo{width:45px;height:45px;border-radius:50%;overflow:hidden;border:1px solid #667eea;display:flex;align-items:center;justify-content:center;background:white;object-fit:cover;box-shadow:0 1px 2px #0000001a}.company-logo-large{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid #667eea;display:flex;align-items:center;justify-content:center;background:white;object-fit:cover;box-shadow:0 4px 8px #00000026}.company-logo img{width:100%;height:100%;object-fit:cover}.company-info{flex:1}.company-name h1{font-size:1.8rem;font-weight:700;margin:0;color:#1e293b;line-height:1.3}.company-description-section{margin-bottom:1.5rem;padding:1rem 2rem;text-align:center}.company-description p{font-size:1.1rem;color:#6b7280;margin:.5rem 0 0;line-height:1.6}.facture-title{text-align:center;margin-bottom:2rem;margin-top:1rem}.facture-title h2{font-size:1.8rem;font-weight:700;margin:0;color:#667eea;line-height:1.3;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a}.facture-info-section{margin-bottom:2.5rem;text-align:center}.facture-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.facture-info-text{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:2rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:8px;border-left:3px solid #667eea}.info-text{font-size:1rem;color:#374151;font-weight:500;text-align:left;width:100%;line-height:1.6}.designation-section{padding:2rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:8px;border-left:3px solid #667eea;height:fit-content}.designation-text{font-size:1.1rem;color:#374151;font-weight:500;text-align:left;line-height:1.6}.info-row strong{color:#374151;font-weight:600}.left-card h3,.right-card h3{margin:0 0 .75rem;color:#374151;font-size:1.1rem;font-weight:600}.left-card p,.right-card p{margin:.4rem 0;color:#4b5563;font-size:.9rem}.sous-factures-section{margin-bottom:2.5rem;background:#f8fafc;border-radius:12px;padding:2.5rem;border:1px solid #e2e8f0}.sous-factures-section h2{text-align:center;margin-bottom:1.5rem;color:#374151;font-size:1.5rem;font-weight:600}.sous-factures-table{overflow-x:auto;margin:.5rem 0;font-size:1rem;border:1px solid #e2e8f0;border-radius:8px;background:white}.sous-factures-table table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.sous-factures-table th{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1.25rem 1rem;text-align:center;font-weight:600;font-size:1.05rem;border:none;letter-spacing:.5px}.sous-factures-table td{padding:1rem;text-align:center;border-bottom:1px solid #f1f5f9;font-size:1.05rem;line-height:1.6;border-right:1px solid #f1f5f9;word-wrap:break-word}.sous-factures-table td:last-child,.sous-factures-table th:last-child{border-right:none}.sous-factures-table tr:nth-child(2n){background:#f9fafb}.sous-factures-table tr:hover{background:#f3f4f6}.no-sous-factures{text-align:center;color:#6b7280;font-style:italic;padding:1.5rem}.total-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);padding:2rem;border-radius:8px;margin-bottom:2.5rem;border:1px solid #e2e8f0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;text-align:center;box-shadow:0 2px 4px #0000001a;width:100%;max-width:100%}@media print{.total-amount{font-size:6px!important;padding:.15rem!important}.total-ttc{font-size:6px!important;padding:.15rem .3rem!important;background:#2563eb!important;color:#fff!important;border-radius:3px!important}.total-ttc strong,.total-ttc *{color:#fff!important}.total-section{gap:.2rem!important;grid-template-columns:1fr 1fr 1fr!important}}.total-ttc{background:#2563eb;color:#fff!important;font-weight:700;border-radius:6px;padding:.4rem .5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:.85rem;white-space:nowrap}.total-ttc strong{font-size:.85rem;font-weight:700;margin-bottom:.2rem;color:#fff!important}.total-ttc .ttc-amount{font-size:1rem;font-weight:700;color:#fff}.total-amount{margin:0 auto;font-size:1rem;font-weight:600;color:#374151;padding:1rem;background:white;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000001a;text-align:center;width:100%;min-width:0;word-wrap:break-word;overflow-wrap:break-word;white-space:nowrap;overflow:visible}.total-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid #e5e7eb}.total-row:last-child{border-bottom:none}.total-label{font-weight:600;color:#374151;font-size:1rem}.total-value{font-weight:700;color:#667eea;font-size:1rem}.total-ttc{border-top:2px solid #667eea;padding-top:.75rem;margin-top:.75rem;min-width:0;overflow:visible;white-space:nowrap;color:#fff!important}.total-ttc .total-label,.total-ttc .total-value{font-size:1rem;color:#fff!important}.amount-in-words-section{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid #cbd5e1;text-align:center;box-shadow:0 2px 4px #0000001a}.amount-in-words-section p{margin:0;font-size:1.1rem;font-weight:600;color:#374151;line-height:1.5}.company-full-details-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);padding:2rem;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.company-full-details-section h3{margin:0 0 1.25rem;color:#374151;font-size:1.2rem;font-weight:600;text-align:center}.company-details-text{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem}.detail-text{font-size:.9rem;color:#374151;font-weight:500}.detail-text:not(:last-child):after{content:" - ";margin:0 .25rem;color:#6b7280}.cachet-section{display:flex;justify-content:center;align-items:center;margin-top:1rem}.cachet-image{width:80px;height:80px;border-radius:50%;border:2px solid #dc2626;object-fit:cover;box-shadow:0 2px 4px #0000001a}.cachet-circle{width:80px;height:80px;border:2px solid #dc2626;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}@media print{.total-ttc{font-size:6px!important;padding:.15rem .3rem!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;color:#fff!important;background:#2563eb!important}.total-ttc strong{font-size:6px!important;margin-bottom:.1rem!important;color:#fff!important}.total-ttc .ttc-amount{font-size:7px!important;font-weight:700!important;color:#fff!important}.total-ttc *{color:#fff!important}}.cachet-text{color:#dc2626;font-size:.7rem;font-weight:600;text-align:center;line-height:1.2;padding:.2rem}.cachet-display{display:flex;align-items:center;justify-content:center;margin-top:.5rem}.loading-message,.error-message{text-align:center;padding:2rem;color:#6b7280}.error-message button{background:#ef4444;color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;margin-top:.75rem}.error-message button:hover{background:#dc2626}.facture-pdf-content .sous-factures-section,.facture-pdf-content .total-section,.facture-pdf-content .company-full-details-section{margin-bottom:6px;text-align:center!important;width:100%!important;max-width:100%!important}.facture-pdf-content .info-cards-section{gap:6px;margin-bottom:6px;text-align:center!important;width:100%!important;max-width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important}.facture-pdf-content .left-card,.facture-pdf-content .right-card{flex:1!important;max-width:280px;text-align:center!important;margin:0 auto!important}.facture-pdf-content .sous-factures-table{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important}.facture-pdf-content .sous-factures-table table{width:100%!important;max-width:100%!important;margin:0 auto!important;border-collapse:collapse!important}.facture-pdf-content .total-section{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important}.facture-pdf-content .total-amount{text-align:center!important;margin:0 auto!important;width:100%!important}.facture-pdf-content .company-header,.facture-pdf-content .company-info,.facture-pdf-content .company-name,.facture-pdf-content .facture-title{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important}.pdf-optimization{max-width:794px!important;width:794px!important;min-width:794px!important;padding:10mm 8mm!important;margin:0 auto!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;visibility:visible!important;opacity:1!important;position:relative!important;overflow:hidden!important;font-size:10px!important;min-height:1123px!important;height:1123px!important;max-height:1123px!important;justify-content:space-between!important}.pdf-optimization .company-header{gap:.8rem!important;margin-bottom:.6rem!important;padding:.6rem!important;display:flex!important;visibility:visible!important}.pdf-optimization .company-name h1{font-size:1rem!important;line-height:1.2!important;margin:0!important;display:block!important;visibility:visible!important;color:#000!important}.pdf-optimization .company-logo-large{width:40px!important;height:40px!important}.pdf-optimization .company-description-section{margin-bottom:.5rem!important;padding:.4rem!important}.pdf-optimization .company-description-section p{font-size:.7rem!important;line-height:1.3!important;margin:0!important}.pdf-optimization .facture-title h2{font-size:.85rem!important;padding:.4rem .6rem!important;margin-bottom:.5rem!important;line-height:1.2!important}.pdf-optimization .facture-info-section{margin-bottom:.5rem!important}.pdf-optimization .facture-info-grid{gap:.5rem!important}.pdf-optimization .facture-info-text{padding:.5rem!important;gap:.25rem!important;display:flex!important;visibility:visible!important}.pdf-optimization .info-text{font-size:.65rem!important;line-height:1.3!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important}.pdf-optimization .designation-section{padding:.5rem!important;display:block!important;visibility:visible!important}.pdf-optimization .designation-text{font-size:.65rem!important;line-height:1.3!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important}.pdf-optimization .sous-factures-section{margin-bottom:.5rem!important;padding:.4rem!important;display:block!important;visibility:visible!important;flex-grow:1!important}.pdf-optimization .sous-factures-section h2{font-size:.7rem!important;margin-bottom:.4rem!important;margin-top:0!important;display:block!important;visibility:visible!important;color:#000!important}.pdf-optimization .sous-factures-table{display:block!important;visibility:visible!important;margin:0!important}.pdf-optimization .sous-factures-table th{padding:.3rem .2rem!important;font-size:.6rem!important;display:table-cell!important;visibility:visible!important;color:#fff!important;line-height:1.2!important}.pdf-optimization .sous-factures-table td{padding:.25rem .2rem!important;font-size:.6rem!important;line-height:1.2!important;display:table-cell!important;visibility:visible!important;color:#000!important}.pdf-optimization .total-section{margin-bottom:.5rem!important;padding:.4rem!important;gap:.3rem!important;display:grid!important;visibility:visible!important;grid-template-columns:1fr 1fr 1fr!important}.pdf-optimization .total-amount{font-size:.65rem!important;padding:.3rem!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important}.pdf-optimization .total-ttc{font-size:.7rem!important;padding:.3rem!important;color:#fff!important;background:#2563eb!important}.pdf-optimization .total-ttc strong,.pdf-optimization .total-ttc *{color:#fff!important}.pdf-optimization .amount-in-words-section{padding:.4rem!important;margin-bottom:.5rem!important;display:block!important;visibility:visible!important}.pdf-optimization .amount-in-words-section p{font-size:.65rem!important;line-height:1.3!important;display:block!important;visibility:visible!important;color:#000!important;margin:0!important}.pdf-optimization .company-full-details-section{padding:.4rem!important;margin-bottom:0!important;margin-top:auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;visibility:visible!important;flex-grow:0!important;flex-shrink:0!important}.pdf-optimization .company-details-text{gap:.4rem!important;margin-bottom:.3rem!important;display:flex!important;visibility:visible!important;flex-wrap:wrap!important}.pdf-optimization .detail-text{font-size:.6rem!important;display:inline-block!important;visibility:visible!important;color:#000!important;margin:0!important;line-height:1.3!important}.pdf-optimization .cachet-section{margin-top:.3rem!important;margin-bottom:0!important}.pdf-optimization .cachet-image,.pdf-optimization .cachet-circle{width:35px!important;height:35px!important}.pdf-optimization .cachet-text{font-size:.5rem!important;padding:.1rem!important}@media print{.facture-pdf-container{transform:none!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:white!important;text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;page-break-inside:avoid!important}.facture-pdf-header{display:none!important}.facture-pdf-content{box-shadow:none!important;border:none!important;padding:8mm!important;background:white!important;text-align:center!important;max-width:794px!important;width:794px!important;margin:0 auto!important;display:block!important;position:relative!important;left:0!important;right:0!important;transform:none!important;min-height:auto!important;max-height:1123px!important;overflow:hidden!important;page-break-inside:avoid!important;box-sizing:border-box!important}.facture-pdf-content:before{display:none!important}.company-logo-large{width:35px!important;height:35px!important;display:block!important;visibility:visible!important;opacity:1!important;background:white!important;border:1px solid #000!important;object-fit:cover!important;margin:0 auto!important}.company-name h1{font-size:.9rem!important;-webkit-text-fill-color:black!important;color:#000!important;text-align:center!important;margin:0 auto!important;line-height:1.2!important;padding:0!important}.facture-title h2{font-size:.85rem!important;-webkit-text-fill-color:black!important;color:#000!important;text-align:center!important;margin:0 auto!important;line-height:1.2!important;padding:.4rem .8rem!important;margin-bottom:.6rem!important}.company-full-details-section{background:white!important;border:1px solid #e2e8f0!important;page-break-inside:avoid!important;text-align:center!important;margin:0 auto!important;max-width:100%!important}.company-header{gap:1rem!important;margin-bottom:.8rem!important;padding:.8rem!important}.sous-factures-section,.info-cards-section,.total-section,.company-full-details-section{text-align:center!important;max-width:100%!important;margin:2mm auto 3mm!important;break-inside:avoid!important;page-break-inside:avoid!important;padding:3mm!important}.facture-info-section{margin-bottom:3mm!important}.facture-info-grid{gap:3mm!important}.facture-info-text{padding:2mm!important;gap:1mm!important}.designation-section{padding:2mm!important}.sous-factures-table{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important}.sous-factures-table table{width:100%!important;max-width:100%!important;margin:0 auto!important;border-collapse:collapse!important}.sous-factures-section h2{font-size:.75rem!important;margin-bottom:2mm!important}.sous-factures-table th,.sous-factures-table td{padding:1.5mm 1mm!important;text-align:center!important;font-size:7px!important;line-height:1.2!important;border:.5px solid #e2e8f0!important;white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;min-height:4mm!important}.facture-info-section{margin-bottom:2mm!important;text-align:center!important;padding:2mm!important}.facture-info-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2mm!important;align-items:start!important}.facture-info-text{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1mm!important;padding:2mm!important;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)!important;border-radius:3px!important;border-left:2px solid #667eea!important}.info-text{font-size:7px!important;color:#374151!important;font-weight:500!important;text-align:left!important;width:100%!important;line-height:1.3!important;margin:.5mm 0!important}.designation-text{font-size:7px!important;color:#374151!important;font-weight:500!important;text-align:left!important;line-height:1.3!important;white-space:normal!important;word-wrap:break-word!important}.total-section{width:100%!important;max-width:100%!important;margin:0 auto!important;text-align:center!important;display:grid!important;grid-template-columns:1fr 1fr 1.2fr!important;gap:2mm!important;padding:2mm!important}.total-amount{text-align:center!important;margin:0 auto!important;width:100%!important;font-size:7px!important;padding:1.5mm!important;word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:nowrap!important;overflow:visible!important;min-width:0!important;line-height:1.3!important}.total-ttc{font-size:8px!important;color:#fff!important;background:#2563eb!important}.total-ttc strong,.total-ttc *{color:#fff!important}.company-details-text{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:1mm!important;margin-bottom:2mm!important}.detail-text{font-size:6px!important;color:#374151!important;font-weight:500!important;line-height:1.3!important}.detail-text:not(:last-child):after{content:" - "!important;margin:0 1mm!important;color:#6b7280!important}.cachet-section{display:flex!important;justify-content:center!important;align-items:center!important;margin-top:2mm!important}.cachet-section{display:block!important;margin-top:2mm!important;text-align:center!important}.cachet-display{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:1mm!important}.cachet-image{width:30px!important;height:30px!important;border:1px solid #dc2626!important;border-radius:50%!important;object-fit:cover!important;box-shadow:0 1px 2px #0000001a!important}.cachet-circle{width:30px!important;height:30px!important;border:1px solid #dc2626!important;border-radius:50%!important;background:white!important;margin:0 auto!important}.cachet-text{color:#dc2626!important;font-size:5px!important;font-weight:600!important;text-align:center!important;line-height:1.2!important;padding:.1rem!important}.amount-in-words-section{background:white!important;padding:2mm!important;border-radius:3px!important;margin-bottom:2mm!important;border:1px solid #cbd5e1!important;text-align:center!important;page-break-inside:avoid!important}.amount-in-words-section p{margin:0!important;font-size:7px!important;font-weight:600!important;color:#374151!important;line-height:1.3!important;white-space:normal!important;word-wrap:break-word!important}}@media (max-width: 768px){.facture-pdf-container{padding:.75rem;transform:none}.facture-pdf-content{padding:1.5rem}.info-cards-section,.company-header{flex-direction:column;gap:.75rem}.company-name h1,.facture-title h2{font-size:1.75rem}.header-actions{flex-direction:column;gap:.4rem}.company-details-grid{grid-template-columns:1fr;gap:.75rem}.details-left{grid-template-columns:repeat(2,1fr);gap:.5rem}.details-right{min-width:auto;margin-top:1rem}.company-logo-large{width:80px;height:80px}.selection-container{padding:2rem;margin:1rem}.selection-options{gap:.75rem}.selection-button{padding:.875rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.facture-pdf-content{padding:1.25rem}.company-name h1,.facture-title h2{font-size:1.6rem}.sous-factures-table th,.sous-factures-table td{padding:.4rem;font-size:.85rem}.selection-container{padding:1.5rem}.selection-container h2{font-size:1.5rem}.selection-button{padding:.75rem 1.25rem;font-size:.95rem}.details-left{grid-template-columns:1fr;gap:.4rem}.company-logo-large{width:70px;height:70px}.cachet-image,.cachet-circle{width:60px;height:60px}}@media print{.facture-pdf-content{max-width:794px!important;min-height:1123px!important;margin:0 auto!important;padding:10px!important;background:white!important;overflow:hidden!important;page-break-inside:avoid!important}}.facture-pdf-content table{width:100%;border-collapse:collapse;font-size:.9rem}.facture-pdf-content th,.facture-pdf-content td{border:1px solid #ddd;padding:6px;text-align:center;word-break:break-word}.total-section{display:flex;justify-content:space-around;background:#f8fafc;border-radius:8px;padding:6px}.total-ttc{background:#2563eb!important;color:#fff!important;padding:6px 12px;border-radius:6px}.total-ttc strong,.total-ttc *{color:#fff!important}.amount-in-words-section{background:#f1f5f9;padding:6px;border-radius:8px;margin:8px 0;font-size:.9rem;text-align:center;font-weight:600}.cachet-display img{width:80px;height:80px;object-fit:contain;border-radius:50%;border:2px solid #dc2626}.sous-factures-container{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh;background-color:#f8fafc}.sous-factures-header{text-align:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;color:#fff;box-shadow:0 10px 25px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:flex-start}.header-left{text-align:left;flex:1}.back-button{background:rgba(255,255,255,.2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;margin-bottom:1rem;transition:background-color .2s}.back-button:hover{background:rgba(255,255,255,.3)}.sous-factures-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.facture-info{text-align:left;margin-top:1rem}.facture-info p{margin:.5rem 0;font-size:1rem;opacity:.9}.sous-factures-error{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.sous-factures-error button{background:none;border:none;color:#dc2626;font-size:1.5rem;cursor:pointer;padding:0}.sous-factures-success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.sous-factures-success button{background:none;border:none;color:#16a34a;font-size:1.5rem;cursor:pointer;padding:0}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.add-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.add-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.table-container{background:white;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden;margin-bottom:2rem}table{width:100%;border-collapse:collapse;font-size:.9rem}thead{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}th{padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}td{padding:1rem;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}tbody tr{transition:background-color .2s}tbody tr:hover{background-color:#f9fafb}.actions-cell{display:flex;gap:.5rem;justify-content:flex-start}.icon-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:6px;transition:background-color .2s;font-size:1.2rem}.edit-icon:hover{background-color:#dbeafe}.delete-icon:hover{background-color:#fee2e2}.file-link{color:#3b82f6;text-decoration:none;font-weight:500}.file-link:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:white;padding:2rem;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content h3{margin-bottom:1.5rem;color:#1e293b;font-size:1.5rem;font-weight:600;text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.field-group{display:flex;flex-direction:column}.field-group label{margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.field-group input,.field-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.field-group input:focus,.field-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.field-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;resize:vertical;min-height:100px}.file-upload-section{display:flex;flex-direction:column;gap:.5rem}.file-input{padding:.5rem;border:2px dashed #d1d5db;border-radius:6px;background-color:#f9fafb;cursor:pointer;transition:border-color .2s}.file-input:hover{border-color:#3b82f6}.file-preview,.file-url-input{margin-top:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.save-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.save-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.cancel-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.cancel-button:hover{background:#4b5563}.delete-button{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.delete-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.delete-modal{text-align:center}.delete-modal p{margin-bottom:1rem;color:#6b7280}.delete-modal strong{color:#dc2626;font-weight:600}.loading-message{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:#6b7280}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-state h3{margin-bottom:1rem;color:#374151}.empty-state p{margin-bottom:2rem}@media (max-width: 768px){.sous-factures-container{padding:1rem;transform:translate(0)}.sous-factures-header{padding:1.5rem}.sous-factures-header h1{font-size:2rem}.header-content{flex-direction:column;gap:1rem}.actions-section{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto}table{min-width:600px}.actions-cell{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.sous-factures-header h1{font-size:1.5rem}.modal-content{padding:1.5rem;margin:1rem}.modal-actions{flex-direction:column}}
