@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{--cream: #FAF7F2;--cream-dark: #F0EBE3;--beige: #E8E0D4;--beige-dark: #D4C9B8;--forest: #2C4A3E;--forest-light: #3D6B5A;--forest-pale: #E8F0EC;--gold: #B8965A;--gold-light: #D4B87A;--charcoal: #2D2D2D;--text: #3A3A3A;--text-light: #7A7A7A;--text-muted: #A0A0A0;--white: #FFFFFF;--danger: #C45B5B;--danger-light: #F5E8E8;--warning: #C49B5B;--warning-light: #FDF5E8;--info: #5B8DC4;--info-light: #E8F0F8;--success: #5BA86B;--success-light: #E8F5EB;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--radius: 8px;--radius-lg: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Source Sans 3",Segoe UI,sans-serif;background:var(--cream);color:var(--text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;font-weight:600}a{color:inherit;text-decoration:none}button{font-family:"Source Sans 3",sans-serif;cursor:pointer}.container{max-width:1400px;margin:0 auto;padding:24px 28px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(145deg,var(--forest) 0%,#1a3a2e 50%,var(--charcoal) 100%);position:relative}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='1'/%3E%3C/svg%3E");pointer-events:none}.login-box{background:var(--white);padding:48px 44px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 60px #00000026;width:100%;max-width:420px;position:relative;border-top:3px solid var(--gold)}.login-box h1{font-family:Playfair Display,serif;color:var(--forest);margin-bottom:6px;font-size:26px;font-weight:600;letter-spacing:-.3px}.login-box .subtitle{color:var(--text-light);margin-bottom:28px;font-size:13px;font-weight:300;letter-spacing:.5px;text-transform:uppercase}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:12px;color:var(--text-light);text-transform:uppercase;letter-spacing:.8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--beige);border-radius:6px;font-size:14px;font-family:"Source Sans 3",sans-serif;background:var(--white);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--forest-light);box-shadow:0 0 0 3px #2c4a3e14}.form-group input::placeholder{color:var(--text-muted);font-weight:300}.form-row{display:flex;gap:14px}.form-row>.form-group{flex:1}.btn{background:var(--forest);color:var(--white);border:none;padding:9px 20px;border-radius:6px;font-size:13px;font-weight:500;letter-spacing:.3px;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--forest-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{width:100%;padding:12px;margin-top:8px;justify-content:center}.btn-secondary{background:var(--beige-dark);color:var(--text)}.btn-secondary:hover{background:var(--beige)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b04848}.btn-sm{padding:5px 10px;font-size:12px;border-radius:5px}.btn-icon{background:transparent;border:1px solid var(--beige);color:var(--text-light);width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:14px;transition:all .2s;margin-left:4px}.btn-icon:hover{border-color:var(--forest);color:var(--forest);background:var(--forest-pale)}.btn-icon.delete:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.btn-icon.edit:hover{border-color:var(--gold);color:var(--gold);background:var(--warning-light)}.navbar{background:var(--forest);color:var(--white);padding:0 28px;display:flex;justify-content:space-between;align-items:center;height:56px;box-shadow:0 2px 12px #00000026;position:sticky;top:0;z-index:100}.navbar-left{display:flex;align-items:center;gap:28px;height:100%}.navbar-brand{font-family:Playfair Display,serif;font-size:17px;font-weight:600;letter-spacing:-.3px;color:var(--gold-light)}.navbar-nav{display:flex;gap:2px;height:100%;align-items:center}.nav-link{color:#ffffffa6;padding:8px 14px;border-radius:5px;font-size:13px;font-weight:400;transition:all .2s;letter-spacing:.2px}.nav-link:hover{color:var(--white);background:#ffffff14}.nav-link.active{color:var(--gold-light);background:#ffffff1a;font-weight:500}.navbar .user-info{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:300}.navbar .btn{background:transparent;border:1px solid rgba(255,255,255,.25);font-size:12px;padding:5px 12px}.navbar .btn:hover{background:#ffffff1a;border-color:#fff6}.role-badge{background:#ffffff26;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.role-badge.admin{background:var(--gold);color:var(--charcoal)}.role-badge.marketing{background:var(--info);color:var(--white)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header h2{font-family:Playfair Display,serif;color:var(--forest);font-size:26px;font-weight:600;letter-spacing:-.3px}.page-header .subtitle{color:var(--text-light);font-size:13px;margin-top:4px;font-weight:300;letter-spacing:.3px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--white);padding:20px 22px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:3px solid var(--forest);transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card.warning{border-left-color:var(--warning)}.stat-card.danger{border-left-color:var(--danger)}.stat-card.info{border-left-color:var(--info)}.stat-card .label{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:500;margin-bottom:6px}.stat-card .value{font-family:Playfair Display,serif;font-size:28px;font-weight:700;color:var(--charcoal);letter-spacing:-.5px}.stat-card .sub{color:var(--text-muted);font-size:11px;margin-top:4px;font-weight:300}.data-table{width:100%;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border-collapse:collapse}.data-table th{background:var(--forest);color:#ffffffe6;padding:12px 14px;text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-family:"Source Sans 3",sans-serif}.data-table td{padding:12px 14px;border-bottom:1px solid var(--cream-dark);font-size:13px}.data-table tr:hover{background:var(--cream)}.data-table tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;letter-spacing:.3px;white-space:nowrap}.status-nouveau_lead{background:var(--info-light);color:var(--info)}.status-assigne{background:#e8e5f0;color:#4a3d8f}.status-contacte{background:var(--warning-light);color:var(--warning)}.status-qualifie{background:#f0e8f5;color:#7a3d8f}.status-rdv_showroom{background:var(--forest-pale);color:var(--forest)}.status-devis_en_preparation{background:#fff8e8;color:#8f7a3d}.status-devis_envoye{background:#fff0d4;color:#c47f00}.status-relance{background:#f5e8e0;color:#8f5a3d}.status-gagne{background:var(--success-light);color:var(--success)}.status-perdu{background:var(--danger-light);color:var(--danger)}.status-sans_reponse{background:var(--cream-dark);color:var(--text-light)}.status-commande_en_ligne_effectuee{background:#d4ede4;color:#1a5a3e}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:16px;min-height:70vh}.kanban-column{min-width:250px;max-width:250px;background:var(--cream-dark);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column}.kanban-column-header{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);padding:6px 8px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--beige);margin-bottom:8px}.kanban-count{background:var(--white);border-radius:10px;padding:1px 8px;font-size:11px;color:var(--text);font-weight:700;box-shadow:var(--shadow-sm)}.kanban-cards{display:flex;flex-direction:column;gap:8px;flex:1;min-height:50px}.kanban-card{background:var(--white);border-radius:6px;padding:12px;box-shadow:var(--shadow-sm);cursor:grab;border-left:3px solid var(--forest);font-size:12px;transition:transform .15s,box-shadow .15s}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4}.kanban-card .client-name{font-family:Playfair Display,serif;font-weight:600;color:var(--charcoal);margin-bottom:4px;font-size:13px}.kanban-card .meta{color:var(--text-muted);font-size:11px}.kanban-card .value{color:var(--forest);font-weight:600;font-size:13px;margin-top:6px}.kanban-card .notes{color:var(--text-light);font-size:11px;margin-top:4px;font-style:italic}.kanban-column.drag-over{background:var(--forest-pale)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal{background:var(--white);padding:32px;border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border-top:3px solid var(--gold)}.modal h3{font-family:Playfair Display,serif;margin-bottom:20px;color:var(--forest);font-size:20px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--cream-dark)}.section{background:var(--white);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:18px}.section h3{font-family:Playfair Display,serif;font-size:16px;margin-bottom:16px;color:var(--forest);display:flex;justify-content:space-between;align-items:center}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:13px;border-left:3px solid}.alert-error{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.alert-info{background:var(--info-light);color:var(--info);border-color:var(--info)}.alert-warning{background:var(--warning-light);color:var(--warning);border-color:var(--warning)}.tab-nav{display:flex;gap:4px;border-bottom:1px solid var(--beige);margin-bottom:20px}.tab-btn{background:none;border:none;padding:10px 16px;font-size:13px;color:var(--text-light);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;font-weight:400}.tab-btn:hover{color:var(--forest)}.tab-btn.active{color:var(--forest);border-bottom-color:var(--gold);font-weight:600}.loading{text-align:center;padding:60px;color:var(--text-muted);font-weight:300;letter-spacing:.5px}.empty-state{text-align:center;padding:40px;color:var(--text-muted);font-weight:300}.error{color:var(--danger);background:var(--danger-light);padding:12px;border-radius:6px;margin-bottom:16px;font-size:13px}.link-btn{background:none;border:none;color:var(--forest);cursor:pointer;font-size:13px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;padding:0;font-weight:500}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--beige-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.actions-cell{display:flex;gap:4px;align-items:center}.clickable{cursor:pointer;transition:all .15s}.clickable:hover{background:var(--cream)!important}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.clickable{cursor:pointer}.dashboard-row{display:flex;justify-content:space-between;align-items:center;padding:10px 8px;border-bottom:1px solid var(--cream-dark);transition:background .15s;border-radius:4px}.dashboard-row:last-child{border-bottom:none}.dashboard-row.clickable:hover{background:var(--cream);padding-left:12px}.dashboard-row.clickable{cursor:pointer}body.dark-mode{--forest: #8fbc8f;--forest-light: #5a8a5a;--cream: #1e1e1e;--cream-dark: #2a2a2a;--beige: #333333;--beige-dark: #444444;--white: #121212;--text: #e0e0e0;--text-light: #b0b0b0;--text-muted: #888888;--gold: #d4a537;--success: #66bb6a;--warning: #ffa726;--danger: #ef5350;background-color:#121212!important;color:#e0e0e0}body.dark-mode .navbar{background:#1a2e25!important}body.dark-mode .container{color:#e0e0e0}body.dark-mode .section,body.dark-mode .stat-card,body.dark-mode .modal,body.dark-mode .kanban-card{background:#1e1e1e!important;border-color:#333!important;color:#e0e0e0!important}body.dark-mode .data-table{background:#1e1e1e}body.dark-mode .data-table thead tr{background:#1a2e25!important;color:#e0e0e0!important}body.dark-mode .data-table tbody tr{border-color:#333!important;color:#e0e0e0!important}body.dark-mode .data-table tbody tr:hover{background:#2a2a2a!important}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:#2a2a2a!important;color:#e0e0e0!important;border-color:#444!important}body.dark-mode .modal-overlay{background:#000000b3!important}body.dark-mode .kanban-column{background:#181818!important}body.dark-mode .kanban-column-header{border-color:#333!important}body.dark-mode .page-header h2,body.dark-mode h3{color:#8fbc8f!important}body.dark-mode .subtitle{color:#888!important}body.dark-mode .btn-secondary{background:#333!important;color:#e0e0e0!important;border-color:#555!important}body.dark-mode .empty-state{color:#666!important}body.dark-mode .tab-nav .tab{background:#2a2a2a!important;color:#b0b0b0!important}body.dark-mode .tab-nav .tab.active{background:#1a2e25!important;color:#8fbc8f!important}body.dark-mode .alert{background:#2a2a2a!important;border-color:#444!important}body.dark-mode .loading{color:#888!important}
