.login-container[data-v-9ac4c3a9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a78bfa,#7c3aed);padding:var(--spacing-lg)}.login-card[data-v-9ac4c3a9]{width:100%;max-width:420px;background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-2xl) var(--spacing-xl);box-shadow:0 20px 60px #0000004d}.login-header[data-v-9ac4c3a9]{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo[data-v-9ac4c3a9]{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.logo-image[data-v-9ac4c3a9]{width:64px;height:64px;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026}.login-header h1[data-v-9ac4c3a9]{margin:0 0 var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}.subtitle[data-v-9ac4c3a9]{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.login-form[data-v-9ac4c3a9]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.error-message[data-v-9ac4c3a9]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;font-size:var(--font-size-sm);text-align:center}.form-group[data-v-9ac4c3a9]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-9ac4c3a9]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.form-input[data-v-9ac4c3a9]{width:100%;padding:.875rem var(--spacing-md);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box}.form-input[data-v-9ac4c3a9]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-input[data-v-9ac4c3a9]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}.password-input-wrapper[data-v-9ac4c3a9]{position:relative;display:flex;align-items:center}.password-toggle[data-v-9ac4c3a9]{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-lg);transition:color var(--transition-base);z-index:1}.password-toggle[data-v-9ac4c3a9]:hover{color:var(--color-text-primary)}.password-toggle[data-v-9ac4c3a9]:focus{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.login-button[data-v-9ac4c3a9]{width:100%;padding:.875rem var(--spacing-lg);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);margin-top:var(--spacing-sm)}.login-button[data-v-9ac4c3a9]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-button[data-v-9ac4c3a9]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-9ac4c3a9]:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-footer[data-v-9ac4c3a9]{margin-top:var(--spacing-xl);text-align:center}.footer-text[data-v-9ac4c3a9]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.footer-link[data-v-9ac4c3a9]{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}.footer-link[data-v-9ac4c3a9]:hover{color:var(--color-primary-dark);text-decoration:underline}.modal-overlay[data-v-ac8befbd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content[data-v-ac8befbd]{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-ac8befbd]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.modal-header h2[data-v-ac8befbd]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.modal-close[data-v-ac8befbd]{background:none;border:none;font-size:var(--font-size-3xl);color:var(--color-text-secondary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.modal-close[data-v-ac8befbd]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body[data-v-ac8befbd]{padding:var(--spacing-lg);overflow-y:auto;flex:1}.base-input-wrapper[data-v-94a12b6f]{display:flex;flex-direction:column;gap:.35rem}.base-input__label[data-v-94a12b6f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.base-input__container[data-v-94a12b6f]{position:relative;display:flex;align-items:center}.base-input--with-suffix[data-v-94a12b6f]{padding-right:3rem}.base-input__toggle-password[data-v-94a12b6f]{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-lg);transition:color var(--transition-base)}.base-input__toggle-password[data-v-94a12b6f]:hover{color:var(--color-text-primary)}.base-input__toggle-password[data-v-94a12b6f]:focus{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.base-input[data-v-94a12b6f]{width:100%;padding:.875rem var(--spacing-md);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box}.base-input[data-v-94a12b6f]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.base-input[data-v-94a12b6f]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}.base-input__hint[data-v-94a12b6f]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.base-button[data-v-7960b05b]{border:none;border-radius:var(--radius-md);padding:.65rem 1.2rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-width:fit-content}.base-button--primary[data-v-7960b05b]{background:var(--color-primary-gradient);color:var(--color-text-light)}.base-button--primary[data-v-7960b05b]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-button-hover)}.base-button--ghost[data-v-7960b05b]{border:1px solid var(--color-border-medium);background:transparent;color:var(--color-text-primary)}.base-button--ghost[data-v-7960b05b]:hover:not(:disabled){background:var(--color-bg-tertiary)}.base-button--secondary[data-v-7960b05b]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.base-button--secondary[data-v-7960b05b]:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-medium)}.base-button--disabled[data-v-7960b05b],.base-button[data-v-7960b05b]:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.base-button--sm[data-v-7960b05b]{padding:.4rem .8rem;font-size:var(--font-size-sm)}.base-button--md[data-v-7960b05b]{padding:.65rem 1.2rem;font-size:var(--font-size-lg)}.base-button--lg[data-v-7960b05b]{padding:.8rem 1.5rem;font-size:var(--font-size-xl)}.base-button--loading[data-v-7960b05b]{cursor:wait}.base-button__spinner[data-v-7960b05b]{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin-7960b05b 1s linear infinite}@keyframes spin-7960b05b{to{transform:rotate(360deg)}}.sidebar[data-v-7a1eb85b]{position:fixed;left:0;top:0;bottom:0;width:240px;background:var(--color-bg-primary);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;transition:width .3s ease;z-index:100;box-shadow:var(--shadow-sm)}.sidebar.collapsed[data-v-7a1eb85b]{width:60px}.sidebar-header[data-v-7a1eb85b]{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center}.sidebar-brand[data-v-7a1eb85b]{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;transition:opacity var(--transition-base)}.sidebar-brand[data-v-7a1eb85b]:hover{opacity:.8}.sidebar-logo[data-v-7a1eb85b]{width:40px;height:40px;object-fit:contain;flex-shrink:0}.sidebar-title[data-v-7a1eb85b]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;transition:opacity var(--transition-base)}.sidebar.collapsed .sidebar-title[data-v-7a1eb85b]{opacity:0;width:0;overflow:hidden}.sidebar-nav[data-v-7a1eb85b]{flex:1;overflow-y:auto;padding:var(--spacing-md) 0}.nav-list[data-v-7a1eb85b]{list-style:none;margin:0;padding:0}.nav-item[data-v-7a1eb85b]{margin:0}.nav-link[data-v-7a1eb85b]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-base);border-left:3px solid transparent}.nav-link[data-v-7a1eb85b]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.nav-link.active[data-v-7a1eb85b]{background:var(--color-bg-secondary);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav-icon[data-v-7a1eb85b]{font-size:var(--font-size-lg);width:24px;text-align:center;flex-shrink:0}.nav-label[data-v-7a1eb85b]{flex:1;font-size:var(--font-size-md)}.sidebar.collapsed .nav-label[data-v-7a1eb85b]{display:none}.sidebar-footer[data-v-7a1eb85b]{padding:var(--spacing-md);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.sidebar-user[data-v-7a1eb85b]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar-user-header[data-v-7a1eb85b]{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.sidebar-user-info[data-v-7a1eb85b]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-user-name[data-v-7a1eb85b]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sidebar-user-email[data-v-7a1eb85b]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sidebar.collapsed .sidebar-user-info[data-v-7a1eb85b]{display:none}.sidebar.collapsed .sidebar-user-header[data-v-7a1eb85b]{justify-content:center;padding-bottom:0;border-bottom:none}.sidebar-user-settings-btn[data-v-7a1eb85b]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-lg);transition:all var(--transition-base);flex-shrink:0}.sidebar-user-settings-btn[data-v-7a1eb85b]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-medium)}.sidebar.collapsed .sidebar-user-settings-btn[data-v-7a1eb85b]{width:40px;height:40px}.sidebar-logout-btn[data-v-7a1eb85b]{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.sidebar-logout-icon[data-v-7a1eb85b]{font-size:var(--font-size-lg);line-height:1}.sidebar-logout-btn[data-v-7a1eb85b]:hover{background:var(--color-error-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.sidebar-logout-btn[data-v-7a1eb85b]:active{transform:translateY(0)}.sidebar-logout-label[data-v-7a1eb85b]{text-align:center}.sidebar.collapsed .sidebar-logout-label[data-v-7a1eb85b]{display:none}.sidebar.collapsed .sidebar-logout-btn[data-v-7a1eb85b]{padding:var(--spacing-sm);min-width:32px}.change-password-form[data-v-7a1eb85b]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.error-message[data-v-7a1eb85b]{padding:var(--spacing-sm);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;font-size:var(--font-size-sm)}.success-message[data-v-7a1eb85b]{padding:var(--spacing-sm);background:#efe;border:1px solid #cfc;border-radius:var(--radius-md);color:#3c3;font-size:var(--font-size-sm)}.form-actions[data-v-7a1eb85b]{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.sidebar-toggle[data-v-7a1eb85b]{padding:var(--spacing-md);background:var(--color-bg-secondary);border:none;border-top:1px solid var(--color-border-light);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-lg);transition:all var(--transition-base)}.sidebar-toggle[data-v-7a1eb85b]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-nav[data-v-7a1eb85b]::-webkit-scrollbar{width:6px}.sidebar-nav[data-v-7a1eb85b]::-webkit-scrollbar-track{background:transparent}.sidebar-nav[data-v-7a1eb85b]::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-full)}.sidebar-nav[data-v-7a1eb85b]::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.app-layout[data-v-dbadb92e]{display:flex;min-height:100vh;background:var(--color-bg-gradient-secondary)}.app-content-wrapper[data-v-dbadb92e]{flex:1;display:flex;flex-direction:column;margin-left:240px;transition:margin-left .3s ease}.app-layout:has(.sidebar.collapsed) .app-content-wrapper[data-v-dbadb92e]{margin-left:60px}.main-content[data-v-dbadb92e]{flex:1;padding:var(--spacing-lg);overflow-y:auto}.base-card[data-v-e1003c9f]{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.base-card--hoverable[data-v-e1003c9f]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.base-card--clickable[data-v-e1003c9f]{cursor:pointer}.base-card--clickable[data-v-e1003c9f]:active{transform:translateY(-2px)}.base-textarea-wrapper[data-v-c904fe6a]{display:flex;flex-direction:column;gap:.35rem}.base-textarea__label[data-v-c904fe6a]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.base-textarea[data-v-c904fe6a]{width:100%;min-height:60px;padding:.875rem var(--spacing-md);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box;resize:vertical}.base-textarea[data-v-c904fe6a]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.base-textarea[data-v-c904fe6a]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}.base-textarea__hint[data-v-c904fe6a]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.base-select-wrapper[data-v-2bea0654]{display:flex;flex-direction:column;gap:.35rem}.base-select__label[data-v-2bea0654]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.base-select[data-v-2bea0654]{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-family);background:var(--color-bg-primary);transition:all var(--transition-base);cursor:pointer}.base-select[data-v-2bea0654]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.base-select[data-v-2bea0654]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}.base-select__hint[data-v-2bea0654]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.base-badge[data-v-6ba8ffc8]{display:inline-flex;align-items:center;padding:.2rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1}.base-badge--default[data-v-6ba8ffc8]{background:var(--color-bg-secondary);color:var(--color-text-primary)}.base-badge--primary[data-v-6ba8ffc8]{background:var(--color-primary);color:var(--color-text-light)}.base-badge--success[data-v-6ba8ffc8]{background:#34a853;color:var(--color-text-light)}.base-badge--warning[data-v-6ba8ffc8]{background:#fbbc04;color:var(--color-text-primary)}.base-badge--error[data-v-6ba8ffc8]{background:#ea4335;color:var(--color-text-light)}.base-badge--sm[data-v-6ba8ffc8]{padding:.15rem .5rem;font-size:.7rem}.base-badge--md[data-v-6ba8ffc8]{padding:.2rem .75rem;font-size:var(--font-size-xs)}.base-badge--lg[data-v-6ba8ffc8]{padding:.3rem 1rem;font-size:var(--font-size-sm)}.base-table-wrapper[data-v-89b5f031]{overflow-x:auto;background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.base-table[data-v-89b5f031]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.base-table thead[data-v-89b5f031]{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border-light)}.base-table th[data-v-89b5f031]{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.base-table tbody tr[data-v-89b5f031]{border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-base)}.base-table tbody tr[data-v-89b5f031]:hover{background:var(--color-bg-secondary)}.base-table td[data-v-89b5f031]{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary)}.loading-cell[data-v-89b5f031],.empty-cell[data-v-89b5f031]{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.actions-column[data-v-89b5f031]{width:150px;text-align:center}.actions-cell[data-v-89b5f031]{text-align:center;white-space:nowrap}.actions-cell[data-v-89b5f031]{display:flex;gap:var(--spacing-xs);justify-content:center}.bureau-page[data-v-e9128c0b]{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header[data-v-e9128c0b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.page-header h1[data-v-e9128c0b]{margin:0}.kpis-grid[data-v-e9128c0b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.kpi-card[data-v-e9128c0b]{padding:var(--spacing-lg);text-align:center}.kpi-value[data-v-e9128c0b]{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.kpi-label[data-v-e9128c0b]{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.panel-section[data-v-e9128c0b]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-header[data-v-e9128c0b]{display:flex;align-items:center;justify-content:space-between}.section-header h2[data-v-e9128c0b]{margin:0;font-size:var(--font-size-2xl)}.projet-form[data-v-e9128c0b]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-actions[data-v-e9128c0b]{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.error-message[data-v-e9128c0b]{padding:var(--spacing-sm);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;font-size:var(--font-size-sm)}.error[data-v-e9128c0b]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;margin-bottom:var(--spacing-lg)}.files-section[data-v-e9128c0b]{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.files-section-title[data-v-e9128c0b]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.files-grid[data-v-e9128c0b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.file-input-group[data-v-e9128c0b]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-label[data-v-e9128c0b]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.file-input[data-v-e9128c0b]{padding:var(--spacing-sm);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.file-input[data-v-e9128c0b]:hover{border-color:var(--color-border-focus)}.file-input[data-v-e9128c0b]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.selected-file[data-v-e9128c0b]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.remove-file-btn[data-v-e9128c0b]{background:none;border:none;font-size:var(--font-size-lg);color:var(--color-text-secondary);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.remove-file-btn[data-v-e9128c0b]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.current-file[data-v-e9128c0b]{padding:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.viewer-layout[data-v-e56b498f]{display:flex;min-height:100vh;background:var(--color-bg-gradient-secondary)}.viewer-main[data-v-e56b498f]{flex:1;width:100%;display:flex;flex-direction:column;overflow:hidden}.viewer-shell[data-v-8dac8505]{display:flex;flex-direction:column;height:100vh;gap:var(--spacing-md);padding:var(--spacing-md)}.app-content[data-v-8dac8505]{flex:1;min-height:0;display:flex}.viewer-panel[data-v-8dac8505]{background:var(--color-bg-primary);border-radius:var(--radius-lg);position:relative;width:100%;height:100%;overflow:hidden;box-shadow:var(--shadow-sm)}.viewer-canvas[data-v-8dac8505]{width:100%;height:100%;position:relative}.viewer-panel canvas[data-v-8dac8505]{width:100%!important;height:100%!important}.viewer-status[data-v-8dac8505]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8fafcd9;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);z-index:10}.bottom-panel[data-v-8dac8505]{background:var(--color-bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.status-section[data-v-8dac8505]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md);width:100%}.status-section h3[data-v-8dac8505]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);flex-shrink:0}.actions[data-v-8dac8505]{margin-left:auto;flex-shrink:0}.legend[data-v-8dac8505]{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-md)}.legend li[data-v-8dac8505]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);flex-shrink:0}.legend .color[data-v-8dac8505]{width:16px;height:16px;border-radius:var(--radius-sm);flex-shrink:0}.legend strong[data-v-8dac8505]{color:var(--color-text-primary)}.legend small[data-v-8dac8505]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.error-banner[data-v-8dac8505]{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);background:#fee;color:#c33;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;max-width:90%;text-align:center}.empty[data-v-8dac8505]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:var(--font-size-md)}.usine-page[data-v-5f77ceb4]{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header[data-v-5f77ceb4]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.page-header h1[data-v-5f77ceb4]{margin:0}.page-actions[data-v-5f77ceb4]{display:flex;gap:var(--spacing-sm)}.filters-card[data-v-5f77ceb4]{padding:var(--spacing-md)}.filters-grid[data-v-5f77ceb4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.horizon-actions[data-v-5f77ceb4]{margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.kpis-grid[data-v-5f77ceb4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.kpi-card[data-v-5f77ceb4]{padding:var(--spacing-lg);text-align:center}.kpi-value[data-v-5f77ceb4]{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.kpi-label[data-v-5f77ceb4]{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.panel-section[data-v-5f77ceb4]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-header[data-v-5f77ceb4]{display:flex;align-items:center;justify-content:space-between}.section-header h2[data-v-5f77ceb4]{margin:0}.error[data-v-5f77ceb4]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33}.modal-form[data-v-5f77ceb4]{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-error[data-v-5f77ceb4]{padding:var(--spacing-sm);border:1px solid #fcc;border-radius:var(--radius-md);background:#fee;color:#c33;font-size:var(--font-size-sm)}.form-actions[data-v-5f77ceb4]{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.items-header[data-v-5f77ceb4]{display:flex;align-items:center;justify-content:space-between}.items-header h3[data-v-5f77ceb4]{margin:0;font-size:var(--font-size-lg)}.item-row[data-v-5f77ceb4]{display:grid;grid-template-columns:2fr 1fr auto;gap:var(--spacing-sm);align-items:end}@media (max-width: 900px){.item-row[data-v-5f77ceb4]{grid-template-columns:1fr}}.logistique-page[data-v-82a59ef4]{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header[data-v-82a59ef4]{display:flex;align-items:center;justify-content:space-between}.page-header h1[data-v-82a59ef4]{margin:0}.filters-card[data-v-82a59ef4]{padding:var(--spacing-md)}.filters-grid[data-v-82a59ef4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.kpis-grid[data-v-82a59ef4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.kpi-card[data-v-82a59ef4]{padding:var(--spacing-lg);text-align:center}.kpi-value[data-v-82a59ef4]{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.kpi-label[data-v-82a59ef4]{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.panel-section[data-v-82a59ef4]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-header[data-v-82a59ef4]{display:flex;align-items:center;justify-content:space-between}.section-header h2[data-v-82a59ef4]{margin:0}.error[data-v-82a59ef4]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33}.site-page[data-v-f417460d]{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header[data-v-f417460d]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.page-header h1[data-v-f417460d]{margin:0}.page-actions[data-v-f417460d]{display:flex;gap:var(--spacing-sm)}.filters-card[data-v-f417460d]{padding:var(--spacing-md)}.filters-grid[data-v-f417460d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.kpis-grid[data-v-f417460d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.kpi-card[data-v-f417460d]{padding:var(--spacing-lg);text-align:center}.kpi-value[data-v-f417460d]{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.kpi-label[data-v-f417460d]{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.panel-section[data-v-f417460d]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-header[data-v-f417460d]{display:flex;align-items:center;justify-content:space-between}.section-header h2[data-v-f417460d]{margin:0}.modal-form[data-v-f417460d]{display:flex;flex-direction:column;gap:var(--spacing-md)}.items-header[data-v-f417460d]{display:flex;align-items:center;justify-content:space-between}.items-header h3[data-v-f417460d]{margin:0;font-size:var(--font-size-lg)}.reception-item-row[data-v-f417460d]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:var(--spacing-sm);align-items:end}.form-error[data-v-f417460d]{padding:var(--spacing-sm);border:1px solid #fcc;border-radius:var(--radius-md);background:#fee;color:#c33;font-size:var(--font-size-sm)}.form-actions[data-v-f417460d]{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.error[data-v-f417460d]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33}@media (max-width: 1100px){.reception-item-row[data-v-f417460d]{grid-template-columns:1fr}}.users-page[data-v-f1c22e29]{max-width:1400px;margin:0 auto}.page-header[data-v-f1c22e29]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.page-header h1[data-v-f1c22e29]{margin:0}.pagination[data-v-f1c22e29]{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.pagination-info[data-v-f1c22e29]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-form[data-v-f1c22e29]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-actions[data-v-f1c22e29]{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.error-message[data-v-f1c22e29]{padding:var(--spacing-sm);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;font-size:var(--font-size-sm)}.error[data-v-f1c22e29]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;margin-bottom:var(--spacing-lg)}.user-detail-page[data-v-cf7605a4]{max-width:1200px;margin:0 auto}.page-header[data-v-cf7605a4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.page-header h1[data-v-cf7605a4]{margin:var(--spacing-sm) 0 0 0}.header-actions[data-v-cf7605a4]{display:flex;gap:var(--spacing-sm)}.user-detail[data-v-cf7605a4]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.detail-section[data-v-cf7605a4]{padding:var(--spacing-lg)}.detail-section h2[data-v-cf7605a4]{margin:0 0 var(--spacing-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.detail-grid[data-v-cf7605a4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.detail-item[data-v-cf7605a4]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-item label[data-v-cf7605a4]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item p[data-v-cf7605a4]{margin:0;font-size:var(--font-size-md);color:var(--color-text-primary)}.user-form[data-v-cf7605a4]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-actions[data-v-cf7605a4]{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.error-message[data-v-cf7605a4]{padding:var(--spacing-sm);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;font-size:var(--font-size-sm)}.error[data-v-cf7605a4]{padding:var(--spacing-md);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c33;margin-bottom:var(--spacing-lg)}.loading[data-v-cf7605a4]{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}:root{--color-primary: #667eea;--color-primary-dark: #764ba2;--color-primary-gradient: linear-gradient(135deg, #667eea, #764ba2);--color-error: #e53e3e;--color-error-dark: #c53030;--color-success: #38a169;--color-warning: #dd6b20;--color-text-primary: #2c3e50;--color-text-secondary: #7f8c8d;--color-text-light: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f0f0f0;--color-bg-tertiary: #f8f9fa;--color-bg-gradient-primary: linear-gradient(135deg, #667eea, #764ba2);--color-bg-gradient-secondary: linear-gradient(135deg, #f5f7fa, #c3cfe2);--color-border-light: #e1e8ed;--color-border-medium: #cbd5f5;--color-border-focus: #667eea;--shadow-sm: 0 4px 20px rgba(0, 0, 0, .08);--shadow-md: 0 8px 30px rgba(0, 0, 0, .15);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-focus: 0 0 0 3px rgba(102, 126, 234, .1);--shadow-button-hover: 0 8px 20px rgba(102, 126, 234, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 999px;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: .9rem;--font-size-md: .95rem;--font-size-lg: 1rem;--font-size-xl: 1.1rem;--font-size-2xl: 1.2rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2rem;--font-size-5xl: 2.25rem;--font-size-6xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .6s ease;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-modal: 40;--z-popover: 50;--z-tooltip: 60}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-up{animation:slideUp var(--transition-slow) ease-out}.spin{animation:spin 1s linear infinite}:root{font-family:var(--font-family);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}body{margin:0;min-height:100vh}#app{min-height:100vh}
