:root{--primary:#c2410c;--primary-dark:#9a3412;--primary-light:#fef3ee;--bg-app:#f1efe8}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media print{body *{visibility:hidden}.zone-impression,.zone-impression *{visibility:visible}.zone-impression{border:none!important;border-radius:0!important;box-shadow:none!important;left:0;margin:0!important;position:absolute!important;top:0;width:100%}.dashboard-sidebar,.no-print{display:none!important}.dashboard-main{margin-left:0!important;padding:0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}*{box-sizing:border-box;margin:0;padding:0}body{background:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.nexacom-app{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;justify-content:center;min-height:100vh}.nexacom-login{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.nexacom-logo{margin-bottom:32px;text-align:center}.nexacom-logo h1{color:var(--primary);font-size:32px;font-weight:700;letter-spacing:-1px}.nexacom-logo p{color:#888;font-size:14px;margin-top:4px}.nexacom-form h2{color:#0f172a;font-size:20px;font-weight:600;margin-bottom:24px;text-align:center}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input{border-radius:8px;font-size:14px;outline:none;padding:10px 14px}.btn-connexion{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:background .2s;width:100%}.btn-connexion:hover{background:var(--primary-dark)}.login-separateur{align-items:center;color:#9aa0a6;display:flex;font-size:13px;margin:18px 0 14px;text-align:center}.login-separateur:after,.login-separateur:before{border-bottom:1px solid #e3e3e3;content:"";flex:1 1}.login-separateur span{padding:0 12px}.google-btn-wrap{display:flex;justify-content:center}@media (max-width:768px){.nexacom-app{align-items:flex-start;padding:40px 16px 16px}.nexacom-login{padding:24px 20px}.nexacom-logo h1{font-size:28px}}.rapport-page{padding:24px}.rapport-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.rapport-actions h1{color:#0f172a;font-size:24px;font-weight:700}.rapport-actions p{color:#888;font-size:13px;margin-top:4px;text-transform:capitalize}.btn-imprimer:hover{background:var(--primary-dark)}.rapport-document{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:0 auto;max-width:900px;padding:32px}.rapport-entete{align-items:center;border-bottom:3px solid var(--primary);display:flex;gap:20px;margin-bottom:24px;padding-bottom:20px}.rapport-logo{color:var(--primary);font-size:28px;font-weight:700}.rapport-logo-img{max-height:64px;max-width:200px;object-fit:contain}.rapport-titre{color:#0f172a;font-size:18px;font-weight:700}.rapport-date{color:#888;font-size:12px;margin-top:4px}.rapport-section{margin-bottom:28px}.rapport-section-titre{border-bottom:1px solid #e2e8f0;color:#888;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;padding-bottom:6px;text-transform:uppercase}.rapport-resume-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr 1fr}.rr-card{background:#f8f7f2;border-radius:10px;padding:14px}.rr-card.principal{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.rr-label{color:#888;font-size:11px;margin-bottom:6px}.rr-card.principal .rr-label{color:#fffc}.rr-val{color:#0f172a;font-size:18px;font-weight:700}.rr-card.principal .rr-val{color:#fff;font-size:22px}.rr-val.especes{color:#3b6d11}.rr-val.mobile{color:#185fa5}.rr-val.credit{color:#854f0b}.rr-sub{color:#ffffffb3;font-size:11px;margin-top:4px}.rapport-table{border-collapse:collapse;font-size:13px;width:100%}.rapport-table th{background:#f8f7f2;border-bottom:2px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:8px 12px;text-align:left;text-transform:uppercase}.rapport-table td{border-bottom:1px solid #f1efe8;padding:10px 12px}.rapport-table tfoot td{border-bottom:none;border-top:2px solid #e2e8f0;padding-top:12px}.rapport-table tr:last-child td{border-bottom:none}.total-row td{background:#f8f7f2}.montant,.statut-mini,.total-row td{font-weight:600}.statut-mini{border-radius:20px;font-size:11px;padding:2px 8px}.statut-mini.payee{background:#eaf3de;color:#3b6d11}.statut-mini.credit{background:#faeeda;color:#854f0b}.rapport-empty{color:#888;font-size:13px;padding:30px;text-align:center}.rapport-signatures{grid-gap:24px;border-top:1px solid #e2e8f0;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:40px;padding-top:20px}.sig-bloc{text-align:center}.sig-titre{color:#0f172a;font-size:12px;font-weight:600;margin-bottom:40px}.sig-ligne{border-bottom:1px solid #0f172a;margin-bottom:8px}.sig-nom{color:#888;font-size:11px}.rapport-pied{border-top:1px solid #e2e8f0;color:#888;font-size:10px;font-style:italic;margin-top:24px;padding-top:16px;text-align:center}@media print{.rapport-page{padding:0}.rapport-document{max-width:100%;padding:16px}body{background:#fff}}.fournisseurs-page{padding:24px}.search-bar input{background:#fff}.fournisseurs-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.fournisseurs-table table{border-collapse:collapse;width:100%}.fournisseurs-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.fournisseurs-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.fournisseurs-table tr:last-child td{border-bottom:none}.f-cell{gap:10px}.f-avatar,.f-cell{align-items:center;display:flex}.f-avatar{background:linear-gradient(135deg,#185fa5,#0c447c);border-radius:10px;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;width:38px}.f-nom{color:#0f172a;font-weight:500}.f-ville{color:#888;font-size:11px;margin-top:2px}.f-tel{font-family:monospace;font-size:12px}.f-cat{background:#e6f1fb;border-radius:20px;color:#185fa5;font-size:11px;font-weight:500;padding:3px 8px}.f-montant{color:#0f172a;font-weight:600}.detail-avatar-lg{align-items:center;background:linear-gradient(135deg,#185fa5,#0c447c);border-radius:14px;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:60px;justify-content:center;width:60px}.detail-nom{margin-bottom:6px}.detail-stats{grid-template-columns:repeat(3,1fr);margin-bottom:20px}.detail-stat-val{font-size:16px}.modal{max-width:620px}.btn-annuler-vente{background:#fcebeb;border:1px solid #f09595;border-radius:7px;color:#a32d2d;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.btn-annuler-vente:hover{background:#a32d2d;color:#fff}.btn-danger:disabled{background:#b4b2a9}.annul-info{background:#f8f7f2;border-radius:10px;margin-bottom:14px;padding:14px}.annul-row{border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.annul-row:last-child{border-bottom:none}.annul-val{color:#0f172a;font-weight:600}.annul-consequences{background:#faeeda;border:1px solid #ef9f27;border-radius:10px;padding:14px}.ac-titre{font-weight:600;margin-bottom:8px}.ac-item,.ac-titre{color:#854f0b;font-size:12px}.ac-item{padding:4px 0}.ac-warning{border-top:1px solid #ef9f27;color:#a32d2d;font-weight:600;margin-top:6px;padding-top:6px}.commandes-page{padding:24px}.btn-success{background:#3b6d11;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.btn-success:hover{background:#2e5409}.btn-danger{background:#a32d2d;border:none;color:#fff}.commandes-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.commandes-table table{border-collapse:collapse;width:100%}.commandes-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.commandes-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.commandes-table tr:last-child td{border-bottom:none}.c-num{color:var(--primary);font-family:monospace;font-weight:600}.c-montant{color:#0f172a;font-weight:600}.statut-badge{white-space:nowrap}.statut-badge.brouillon{background:#f1efe8;color:#5f5e5a}.statut-badge.envoyee{background:#e6f1fb;color:#185fa5}.statut-badge.partielle{background:#faeeda;color:#854f0b}.statut-badge.recue{background:#eaf3de;color:#3b6d11}.statut-badge.annulee{background:#fcebeb;color:#a32d2d}.modal-lg{max-width:760px}.ligne-ajout{display:flex;gap:8px;margin-bottom:12px}.ligne-ajout select{border:1px solid #e2e8f0;border-radius:7px;flex:1 1;font-family:inherit;font-size:13px;padding:8px 10px}.lignes-table{border-collapse:collapse;font-size:13px;width:100%}.lignes-table th{border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;padding:6px 8px;text-align:left;text-transform:uppercase}.lignes-table td{border-bottom:1px solid #f1efe8;padding:6px 8px}.input-mini{border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:13px;padding:5px 8px;width:90px}.btn-retirer{background:#fcebeb;border:none;border-radius:6px;color:#a32d2d;cursor:pointer;font-size:16px;height:26px;line-height:1;width:26px}.recap-totaux{background:#f8f7f2;border-radius:10px;margin-top:14px;padding:14px}.recap-row{display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.recap-row.total{border-top:1px solid #e2e8f0;color:var(--primary);font-size:16px;font-weight:700;margin-top:6px;padding-top:10px}.bc-document{background:#fff;color:#1a1a1a;font-size:13px;padding:8px}.bc-entete{align-items:flex-start;border-bottom:3px solid var(--primary);display:flex;gap:20px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.bc-logo{color:var(--primary);font-size:24px;font-weight:700}.bc-logo-img{max-height:60px;max-width:180px;object-fit:contain}.bc-coords{color:#666;font-size:11px;line-height:1.6;margin-top:6px}.bc-titre-zone{text-align:right}.bc-titre{color:#0f172a;font-size:18px;font-weight:700;letter-spacing:.05em}.bc-numero{color:var(--primary);font-family:monospace;font-size:14px;font-weight:600;margin-top:4px}.bc-date{color:#666;font-size:12px;margin-top:2px}.bc-fournisseur{background:#f8f7f2;border-radius:8px;margin-bottom:16px;padding:12px 14px}.bc-bloc-titre{color:#888;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.bc-four-nom{color:#0f172a;font-size:15px;font-weight:700}.bc-livraison{color:#666;font-size:12px;margin-top:4px}.bc-table{border-collapse:collapse;font-size:12px;margin-bottom:16px;width:100%}.bc-table th{background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:8px 10px;text-align:left}.bc-table td{border-bottom:1px solid #e2e8f0;padding:8px 10px}.bc-table tbody tr:nth-child(2n){background:#f8f7f2}.bc-totaux{margin-bottom:16px;margin-left:auto;width:280px}.bc-tot-row{display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.bc-tot-row.total{border-top:2px solid var(--primary);color:var(--primary);font-size:16px;font-weight:700;margin-top:6px;padding-top:8px}.bc-notes{background:#f8f7f2;border-radius:8px;color:#555;font-size:12px;margin-bottom:20px;padding:12px}.bc-signatures{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:30px}.bc-sig{text-align:center}.bc-sig-titre{color:#0f172a;font-size:12px;font-weight:600;margin-bottom:40px}.bc-sig-ligne{border-bottom:1px solid #0f172a}.boutiques-page{padding:24px}.btn-danger:disabled{cursor:not-allowed;opacity:.4}.boutiques-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.boutique-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:transform .15s,box-shadow .15s}.boutique-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.card-banner{height:90px;overflow:hidden;position:relative}.card-banner:before{background:#ffffff1a;border-radius:50%;content:"";height:120px;position:absolute;right:-30px;top:-30px;width:120px}.card-banner-content{align-items:flex-end;bottom:0;color:#fff;display:flex;justify-content:space-between;left:0;padding:12px 16px;position:absolute;right:0}.card-nom{font-size:18px;font-weight:600}.card-code{color:#fffc;font-family:monospace;font-size:10px;margin-top:2px}.badge{border-radius:20px;font-size:10px;font-weight:600;padding:3px 8px}.badge-green{background:#ffffff40;color:#fff}.badge-amber{background:#ffc15066;color:#fff}.badge-red{background:#ff646466;color:#fff}.card-body{padding:14px}.card-info{border-bottom:1px solid #f1efe8;margin-bottom:10px;padding-bottom:10px}.info-row{color:#5f5e5a;font-size:12px;margin-bottom:5px}.card-options{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.opt-badge{background:#f8f7f2;border-radius:20px;color:#5f5e5a;font-size:10px;padding:2px 8px}.card-actions{border-top:1px solid #f1efe8;display:flex;gap:8px;padding-top:10px}.btn-edit{flex:1 1;font-size:12px;padding:7px}.btn-edit:hover{background:#e2e8f0}.btn-delete{flex:1 1;font-size:12px;padding:7px}.card-add{min-height:280px}.add-content{text-align:center}.add-icon{font-size:24px;height:48px;margin:0 auto 10px;width:48px}.add-sub{color:#888;font-size:11px;margin-top:4px}.modal-overlay{align-items:flex-start;overflow-y:auto}.color-grid{display:flex;gap:8px;margin-top:4px}.color-opt{border:2px solid #0000;border-radius:6px;cursor:pointer;height:28px;transition:transform .1s;width:28px}.color-opt.active{border-color:#0f172a;transform:scale(1.15)}.options-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.toggle-row{font-size:12px}.produits-page{padding:24px}.vue-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.vue-toggle button{background:none;border:none;color:#888;cursor:pointer;font-size:13px;padding:8px 14px}.vue-toggle button.active{background:var(--primary);color:#fff}.produits-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.produit-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;transition:transform .15s,box-shadow .15s}.produit-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.produit-card.rupture{background:#fff8f8;border-color:#f09595}.produit-card-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:12px}.produit-icon{align-items:center;background:#fef3e2;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.produit-info{flex:1 1}.produit-nom{color:#0f172a;font-size:14px;font-weight:600}.produit-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.produit-cat{background:#f1efe8;color:#5f5e5a}.produit-cat,.produit-marque{border-radius:4px;font-size:10px;padding:2px 6px}.produit-marque{background:#e6f1fb;color:#185fa5}.stock-badge{border-radius:20px;font-size:10px;font-weight:600;padding:3px 8px;white-space:nowrap}.stock-badge.ok{background:#eaf3de;color:#3b6d11}.stock-badge.faible{background:#faeeda;color:#854f0b}.stock-badge.rupture{background:#fcebeb;color:#a32d2d}.produit-prix{background:#f8f7f2;border-radius:8px;margin-bottom:10px;padding:10px}.prix-row{display:flex;font-size:12px;justify-content:space-between;padding:3px 0}.prix-lbl{color:#888}.prix-lbl.revendeur{color:#185fa5}.prix-lbl.technicien{color:#854f0b}.prix-val{color:#0f172a;font-weight:600}.prix-val.revendeur{color:#185fa5}.prix-val.technicien{color:#854f0b}.produit-code{color:#888;font-family:monospace;font-size:11px;margin-bottom:10px}.produit-actions{display:flex;gap:6px}.btn-stock{background:#e6f1fb;border:none;border-radius:7px;color:#185fa5;cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:7px}.btn-edit{background:#f1efe8;color:#5f5e5a}.btn-delete,.btn-edit{border:none;border-radius:7px;cursor:pointer;font-size:13px;padding:7px 10px}.btn-delete{background:#fcebeb;color:#a32d2d}.card-add{align-items:center;background:#0000;border:2px dashed #b4b2a9;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:200px}.card-add:hover{background:#fef3e2;border-color:var(--primary)}.add-icon{align-items:center;background:#fef3e2;border-radius:50%;display:flex;font-size:22px;height:40px;justify-content:center;width:40px}.add-icon,.add-text{color:var(--primary)}.add-text{font-size:14px;font-weight:500}.produits-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.produits-table table{border-collapse:collapse;width:100%}.produits-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.produits-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px}.produits-table tr:last-child td{border-bottom:none}.row-rupture td{background:#fff8f8}.td-nom{color:#0f172a;font-weight:500}.td-code{color:#888;font-family:monospace;font-size:10px;margin-top:2px}.td-prix{font-weight:600}.td-prix.revendeur{color:#185fa5}.modal{max-width:640px}.form-row-3{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr}.prix-info{background:#e6f1fb;border-radius:7px;color:#185fa5;font-size:11px;margin-bottom:8px;margin-top:-4px;padding:8px 12px}.stock-actuel-info{background:#f8f7f2;border-radius:8px;display:flex;font-size:13px;justify-content:space-between;margin-bottom:14px;padding:12px}.stock-val{color:#185fa5;font-size:20px;font-weight:700}.stock-op-toggle{border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.stock-op-toggle button{background:none;border:none;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px}.stock-op-toggle button.active{background:#eaf3de;color:#3b6d11}.stock-op-toggle button.active.danger{background:#fcebeb;color:#a32d2d}.stock-preview{background:#f8f7f2;border-radius:8px;color:#5f5e5a;font-size:13px;margin-top:12px;padding:10px 12px}.btn-transfert{background:#e6f1fb;border:none;border-radius:7px;color:#185fa5;cursor:pointer;font-size:13px;padding:7px 10px}.transfert-produit-info{background:#f8f7f2;border-radius:10px;margin-bottom:16px;padding:14px}.tpi-nom{color:#0f172a;font-size:15px;font-weight:600;margin-bottom:6px}.tpi-stock{color:#5f5e5a;font-size:13px}.transfert-fleche{background:#e6f1fb;border-radius:8px;color:#185fa5;font-size:13px;font-weight:600;margin-bottom:12px;padding:8px;text-align:center}.transfert-preview{background:#eaf3de;border-radius:8px;color:#3b6d11;font-size:13px;margin-top:8px;padding:10px 14px}.clients-page{padding:24px}.btn-amber{background:#faeeda;border:1px solid #ef9f27;border-radius:8px;color:#854f0b}.btn-amber,.btn-bleu{cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.btn-bleu{background:#e6f1fb;border:1px solid #185fa5;border-radius:8px;color:#185fa5}.btn-bleu-solid{background:#185fa5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.search-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.search-bar input{border-radius:8px;flex:1 1;font-size:13px;min-width:200px;padding:10px 14px}.clients-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.clients-table table{border-collapse:collapse;width:100%}.clients-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.clients-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.clients-table tr:last-child td{border-bottom:none}.td-client{gap:10px}.client-avatar,.td-client{align-items:center;display:flex}.client-avatar{border-radius:50%;color:#0f172a;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.client-nom{color:#0f172a;font-weight:500}.client-entreprise{color:#888;font-size:11px;margin-top:2px}.td-tel{font-family:monospace;font-size:12px}.td-montant{font-weight:600}.credit-du{color:#a32d2d}.btn-rembourser{background:#faeeda;border:1px solid #ef9f27;border-radius:6px;color:#854f0b;cursor:pointer;display:block;font-size:10px;font-weight:600;margin-top:4px;padding:3px 8px;white-space:nowrap}.type-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.type-badge.ordinaire{background:#eaf3de;color:#3b6d11}.type-badge.revendeur{background:#e6f1fb;color:#185fa5}.type-badge.technicien{background:#faeeda;color:#854f0b}.fidelite-badge{border-radius:20px;font-size:11px;font-weight:600;padding:2px 8px}.fidelite-badge.or{background:#fef3e2;color:#854f0b}.fidelite-badge.argent{background:#f1efe8;color:#5f5e5a}.fidelite-badge.bronze{background:#fcebeb;color:#854f0b}.points-txt{color:#888;font-size:10px;margin-top:2px}.td-actions button{background:#f1efe8;border:none;font-size:13px}.detail-header{border-bottom:1px solid #f1efe8;gap:16px;margin-bottom:20px;padding-bottom:16px}.detail-avatar,.detail-header{align-items:center;display:flex}.detail-avatar{border-radius:50%;flex-shrink:0;font-size:22px;height:60px;justify-content:center;width:60px}.detail-avatar,.detail-nom{color:#0f172a;font-weight:700}.detail-nom{font-size:20px}.detail-entreprise{color:#888;font-size:13px;margin-top:2px}.detail-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.detail-stat{background:#f8f7f2;border-radius:10px;padding:12px;text-align:center}.detail-stat-val{color:#0f172a;font-size:14px;font-weight:700}.detail-stat-lbl{color:#888;font-size:10px;margin-top:4px;text-transform:uppercase}.credit-alerte{background:#faeeda;border:1px solid #ef9f27;border-radius:10px;color:#854f0b;display:flex;flex-direction:column;font-size:13px;gap:8px;margin-bottom:14px;padding:12px 14px}.btn-rembourser-lg{align-self:flex-start;background:#ef9f27;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px}.detail-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:16px}.detail-info-item{display:flex;flex-direction:column;gap:3px}.detail-info-lbl{color:#888;font-size:11px;font-weight:500}.detail-notes{background:#f8f7f2;border-radius:8px;margin-bottom:16px;padding:12px}.detail-notes p{color:#5f5e5a;font-size:13px;margin-top:4px}.fidelite-section{background:#f8f7f2;border-radius:10px;padding:14px}.fidelite-header{align-items:center;display:flex;font-size:13px;font-weight:500;justify-content:space-between;margin-bottom:10px}.fidelite-bar-wrap{background:#e2e8f0;border-radius:10px;height:8px;margin-bottom:6px;overflow:hidden}.fidelite-bar{background:linear-gradient(90deg,var(--primary),#ef9f27);border-radius:10px;height:100%;transition:width .3s}.fidelite-info{color:#888;font-size:11px}.modal{max-width:600px}.modal-footer{flex-wrap:wrap}.type-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr;margin-bottom:4px}.type-option{border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:12px;text-align:center;transition:all .15s}.type-option.active,.type-option:hover{border-color:var(--primary)}.type-option.active{background:#fef3e2}.type-option-label{font-size:13px;font-weight:600;margin-bottom:4px}.type-option-desc{color:#888;font-size:11px}.credit-client-info{background:#f8f7f2;border-radius:10px;margin-bottom:14px;padding:14px}.cci-nom{color:#0f172a;font-size:15px;font-weight:600;margin-bottom:6px}.cci-solde{color:#5f5e5a;font-size:13px}.credit-op-toggle{border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.credit-op-toggle button{background:#f8f7f2;border:none;color:#888;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:10px}.credit-op-toggle button.active{background:var(--primary);color:#fff}.credit-preview{border-radius:8px;font-size:13px;margin-top:8px;padding:10px 14px}.credit-preview.remboursement{background:#eaf3de;color:#3b6d11}.credit-preview.ajout{background:#faeeda;color:#854f0b}.ticket-overlay{align-items:flex-start;background:#0009;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:16px;position:fixed;z-index:600}.ticket-container{background:#f1efe8;border-radius:14px;margin:auto;max-width:680px;overflow:hidden;width:100%}.ticket-actions{align-items:center;background:#0f172a;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 16px}.ticket-actions-titre{color:#fff;font-size:14px;font-weight:600}.ticket-actions-btns{display:flex;flex-wrap:wrap;gap:6px}.ta-btn{border:none;border-radius:7px;cursor:pointer;font-size:12px;font-weight:600;padding:7px 12px;transition:all .15s}.ta-btn:hover{opacity:.85;transform:translateY(-1px)}.ta-btn.standard{background:#fff;color:#0f172a}.ta-btn.thermique{background:#1d9e75;color:#fff}.ta-btn.pdf{background:#a32d2d;color:#fff}.ta-btn.excel{background:#185fa5;color:#fff}.ta-btn.fermer{background:#5f5e5a;color:#fff}.ticket-document{background:#fff;border-radius:10px;box-shadow:0 2px 12px #00000014;font-family:Courier New,monospace;margin:16px;padding:24px}.ticket-document.thermique{font-size:11px;margin:16px auto;max-width:302px;padding:16px}.ticket-entete{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.ticket-logo-zone{flex-shrink:0}.ticket-logo-texte{color:var(--primary);font-family:Arial,sans-serif;font-size:22px;font-weight:700}.ticket-logo-img{max-height:60px;max-width:120px;object-fit:contain}.ticket-entreprise-info{color:#888;font-size:10px;line-height:1.6;text-align:right}.ticket-separateur{color:#888;font-size:10px;letter-spacing:1px;margin:8px 0;overflow:hidden}.ticket-separateur-fin{color:#ccc;font-size:10px;margin:4px 0;overflow:hidden}.ticket-titre{color:#0f172a;font-family:Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;margin:8px 0;text-align:center}.ticket-infos{margin-bottom:8px}.ti-row{border-bottom:1px dotted #f1efe8;display:flex;font-size:11px;justify-content:space-between;padding:3px 0}.ti-row:last-child{border-bottom:none}.ti-val{color:#0f172a;font-weight:600}.ti-row.credit .ti-val{color:#a32d2d}.ticket-lignes{margin-bottom:8px}.tl-header{grid-gap:4px;color:#888;display:grid;font-size:10px;font-weight:700;gap:4px;grid-template-columns:1fr 30px 70px 70px;padding:4px 0;text-transform:uppercase}.tl-ligne{margin-bottom:8px}.tl-produit-nom{color:#0f172a;font-size:12px;font-weight:600;margin-bottom:2px}.tl-produit-detail{grid-gap:4px;align-items:center;color:#5f5e5a;display:grid;font-size:11px;gap:4px;grid-template-columns:30px 70px auto 70px}.tl-qte{color:#888}.tl-prix{color:#5f5e5a}.tl-remise{background:#fcebeb;border-radius:4px;color:#a32d2d;font-size:10px;padding:1px 4px}.tl-total{color:#0f172a;font-weight:600;text-align:right}.tl-nom{flex:1 1}.ticket-totaux{margin-bottom:8px}.tt-row{border-bottom:1px dotted #f1efe8;display:flex;font-size:11px;justify-content:space-between;padding:4px 0}.tt-row.total{border-bottom:none;border-top:1px solid #e2e8f0;color:var(--primary);font-size:15px;font-weight:700;margin-top:4px;padding-top:8px}.tt-row.monnaie{color:#3b6d11;font-weight:600}.ticket-pied{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin:8px 0}.ticket-qr{text-align:center}.ticket-qr img{display:block}.qr-label{color:#888;font-size:8px;margin-top:3px}.ticket-pied-droit{flex:1 1;text-align:right}.ticket-merci{color:var(--primary);font-family:Arial,sans-serif;font-size:13px;font-weight:600;margin-bottom:4px}.ticket-notes,.ticket-site{color:#888;font-size:10px}.ticket-notes{font-style:italic;margin-top:6px}.ticket-mention{color:#b4b2a9;font-size:9px;margin-top:4px;text-align:center}@media print{body{background:#fff}.ticket-document{font-size:12px;padding:6mm}body.impression-thermique .ticket-document{font-size:11px;padding:2mm;width:72mm}}.caisse-page{height:calc(100vh - 32px);overflow:hidden;padding:16px}.caisse-layout{grid-gap:12px;display:grid;gap:12px;grid-template-columns:280px 1fr 280px;height:100%}.caisse-produits{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:14px}.caisse-section-titre{color:#888;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.caisse-search{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:13px;padding:9px 12px;width:100%}.caisse-search:focus{border-color:var(--primary);outline:none}.produits-liste-caisse{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto}.produit-caisse-item{background:#f8f7f2;border:1px solid #0000;border-radius:8px;cursor:pointer;padding:10px 12px;transition:all .15s}.produit-caisse-item:hover{background:#fef3e2;border-color:var(--primary)}.produit-caisse-item.rupture{cursor:not-allowed;opacity:.5}.pci-nom{color:#0f172a;font-size:13px;font-weight:500;margin-bottom:4px}.pci-bas{align-items:center;display:flex;justify-content:space-between}.pci-stock{color:#888;font-size:11px}.pci-prix{color:var(--primary);font-size:13px;font-weight:600}.caisse-panier{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:14px}.client-section{background:#f8f7f2;border-radius:10px;flex-shrink:0;padding:10px}.client-section-titre{color:#888;font-size:10px;font-weight:700;letter-spacing:.06em;margin-bottom:7px;text-transform:uppercase}.client-mode-tabs{display:flex;gap:4px;margin-bottom:8px}.client-mode-tabs button{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#888;cursor:pointer;flex:1 1;font-size:11px;font-weight:500;padding:6px 4px;transition:all .15s;white-space:nowrap}.client-mode-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.client-passage{background:#fff;border-radius:6px;color:#888;font-size:11px;padding:7px;text-align:center}.client-manuel,.client-passage{margin-bottom:7px}.client-manuel-input{border:2px solid var(--primary);border-radius:7px;box-sizing:border-box;font-family:inherit;font-size:13px;outline:none;padding:8px 10px;width:100%}.client-manuel-apercu{background:#eaf3de;border-radius:5px;color:#3b6d11;font-size:11px;margin-top:5px;padding:5px 8px}.client-existant-section{margin-bottom:7px;position:relative}.client-selectionne{align-items:center;background:#eaf3de;border:1px solid #639922;border-radius:7px;display:flex;gap:8px;padding:8px 10px}.cs-info{flex:1 1;min-width:0}.cs-nom{color:#0f172a;font-size:12px;font-weight:600}.cs-details{align-items:center;color:#888;display:flex;flex-wrap:wrap;font-size:10px;gap:4px;margin-top:2px}.cs-type{background:#e6f1fb;border-radius:8px;color:#185fa5;font-size:9px;font-weight:600;padding:1px 5px}.cs-credit{color:#a32d2d;font-weight:600}.cs-changer{background:none;border:none;color:#888;cursor:pointer;flex-shrink:0;font-size:14px}.clients-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;left:0;max-height:180px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:200}.cd-item{border-bottom:1px solid #f1efe8;cursor:pointer;padding:9px 12px}.cd-item:hover{background:#f8f7f2}.cd-item:last-child{border-bottom:none}.cd-nom{color:#0f172a;font-size:12px;font-weight:500}.cd-tel{color:#888;font-size:10px;margin-top:1px}.cd-vide{color:#888;font-size:12px;padding:10px;text-align:center}.type-client-tabs{display:flex;gap:4px}.type-client-tabs button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#888;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:10px;gap:1px;padding:6px 2px;transition:all .15s}.type-client-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.tc-remise{font-size:9px;opacity:.8}.panier-lignes{flex:1 1;gap:6px;overflow-y:auto}.panier-lignes,.panier-vide{display:flex;flex-direction:column}.panier-vide{align-items:center;color:#888;font-size:32px;gap:8px;height:120px;justify-content:center}.panier-vide p{font-size:12px}.panier-ligne{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.pl-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.pl-nom{color:#0f172a;font-size:12px;font-weight:600}.pl-suppr{background:none;border:none;color:#a32d2d;cursor:pointer;flex-shrink:0;font-size:14px}.pl-controles{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:auto 1fr auto auto}.pl-qte{gap:4px}.pl-qte,.pl-qte button{align-items:center;display:flex}.pl-qte button{background:#fff;cursor:pointer;font-size:14px;height:24px;justify-content:center;width:24px}.pl-qte button,.pl-qte input{border:1px solid #e2e8f0;border-radius:5px}.pl-qte input{font-size:12px;padding:3px;text-align:center;width:40px}.pl-prix{color:#888;font-size:11px;text-align:center}.pl-remise{align-items:center;display:flex;font-size:11px;gap:2px}.pl-remise input{border:1px solid #e2e8f0;border-radius:5px;font-size:11px;padding:3px;text-align:center;width:36px}.pl-total{color:#0f172a;font-size:13px;font-weight:600;text-align:right}.panier-totaux{background:#f8f7f2;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;gap:6px;padding:10px 12px}.pt-row{align-items:center;display:flex;font-size:12px;justify-content:space-between}.pt-row.total{border-top:1px solid #e2e8f0;font-size:15px;font-weight:700;margin-top:4px;padding-top:6px}.pt-remise-input{align-items:center;display:flex;gap:4px}.pt-remise-input input{border:1px solid #e2e8f0;border-radius:5px;font-size:12px;padding:4px;text-align:center;width:50px}.pt-tva-toggle{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:6px}.caisse-paiement{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;overflow-y:auto;padding:14px}.caisse-paiement,.modes-paiement{display:flex;flex-direction:column}.modes-paiement{gap:6px}.mode-btn{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:8px;color:#5f5e5a;cursor:pointer;font-size:13px;font-weight:500;padding:10px 14px;text-align:left;transition:all .15s;width:100%}.mode-btn:hover{background:#fef3e2;border-color:var(--primary)}.mode-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.montant-recu-section{display:flex;flex-direction:column;gap:6px}.montant-recu-section label{color:#888;font-size:12px}.montant-recu-section input{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:16px;font-weight:600;padding:10px;text-align:center;width:100%}.monnaie-rendue{background:#eaf3de;color:#3b6d11;font-size:13px;text-align:center}.credit-warning,.monnaie-rendue{border-radius:7px;padding:8px 12px}.credit-warning{background:#faeeda;color:#854f0b;font-size:12px}.credit-info{background:#e6f1fb;border-radius:7px;color:#185fa5;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:10px 12px}.recap-vente{background:#f8f7f2;border-radius:8px;margin-top:auto;padding:12px;text-align:center}.rv-client{color:#888;font-size:12px;margin-bottom:4px}.rv-type{color:var(--primary);font-weight:600}.rv-montant{color:#0f172a;font-size:22px;font-weight:700}.rv-produits{color:#888;font-size:11px;margin-top:2px}.btn-valider{background:var(--primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:14px;transition:background .15s;width:100%}.btn-valider:hover:not(:disabled){background:var(--primary-dark)}.btn-valider:disabled{background:#b4b2a9;cursor:not-allowed}.btn-annuler{background:#fcebeb;border:1px solid #f09595;border-radius:8px;color:#a32d2d;cursor:pointer;font-size:13px;padding:10px;width:100%}.alert-erreur{border-radius:7px;font-size:12px;padding:8px 12px}.recu-modal{max-width:360px!important}.recu-content{font-size:13px;padding:20px}.recu-header{border-bottom:2px dashed #e2e8f0;margin-bottom:16px;padding-bottom:12px;text-align:center}.recu-logo{color:var(--primary);font-size:20px;font-weight:700;margin-bottom:4px}.recu-titre{color:#888;font-size:12px;font-weight:600;letter-spacing:.08em}.recu-num{color:var(--primary);font-family:monospace;font-size:14px;font-weight:700;margin-top:4px}.recu-date{color:#888;font-size:11px;margin-top:2px}.recu-client{background:#f8f7f2;border-radius:6px;font-size:12px;margin-bottom:12px;padding:8px 10px}.recu-lignes{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.recu-ligne{border-bottom:1px solid #f1efe8;display:flex;font-size:12px;justify-content:space-between;padding-bottom:5px}.recu-totaux{border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:5px;padding-top:10px}.recu-total-row{display:flex;font-size:12px;justify-content:space-between}.recu-total-row.total{border-top:1px solid #e2e8f0;font-size:15px;font-weight:700;margin-top:4px;padding-top:6px}.recu-merci{border-top:2px dashed #e2e8f0;color:var(--primary);font-size:13px;font-weight:600;margin-top:16px;padding-top:12px;text-align:center}.modal{max-height:90vh;max-width:560px;overflow-y:auto}@media print{.no-print{display:none!important}body{background:#fff}}.auto-print-toggle{align-items:center;background:#f8f7f2;border:1px solid #e2e8f0;border-radius:8px;color:#5f5e5a;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:10px 12px}.auto-print-toggle input{cursor:pointer;height:16px;width:16px}.auto-print-toggle:has(input:checked){background:#eaf3de;border-color:#639922;color:#3b6d11;font-weight:500}.btn-raccourcis{background:none;border:1px solid #e2e8f0;border-radius:8px;color:#888;cursor:pointer;font-size:12px;margin-top:4px;padding:8px;transition:all .15s;width:100%}.btn-raccourcis:hover{background:#f8f7f2;color:#475569}.raccourcis-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:6px;padding:12px 14px}.raccourcis-titre{color:#475569;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.raccourci-ligne{align-items:center;border-bottom:1px solid #eef0f3;display:flex;gap:10px;padding:4px 0}.raccourci-ligne:last-child{border-bottom:none}.raccourci-key{background:#e2e8f0;border-radius:5px;color:#334155;font-family:monospace;font-size:11px;font-weight:700;min-width:36px;padding:2px 8px;text-align:center}.raccourci-desc{color:#64748b;font-size:12px}.retour-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:600}.retour-container{background:#fff;border-radius:14px;display:flex;flex-direction:column;max-height:90vh;max-width:580px;overflow:hidden;width:100%}.retour-header{align-items:flex-start;background:#f8f7f2;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.retour-header h2{color:#0f172a;font-size:16px;font-weight:700}.retour-vente-info{color:#888;font-size:12px;margin-top:4px}.retour-close{background:none;border:none;color:#888;cursor:pointer;flex-shrink:0;font-size:22px}.retour-body{flex:1 1;overflow-y:auto;padding:16px 20px}.retour-instructions{background:#f8f7f2;border-radius:7px;color:#888;font-size:12px;margin-bottom:14px;padding:8px 12px}.alert-erreur{margin-bottom:12px}.retour-lignes{display:flex;flex-direction:column;gap:10px}.retour-ligne{border:1px solid #e2e8f0;border-radius:10px;padding:12px;transition:all .15s}.retour-ligne.selectionnee{background:#fef9f6;border-color:var(--primary)}.rl-top{gap:10px;justify-content:space-between}.rl-check,.rl-top{align-items:center;display:flex}.rl-check{cursor:pointer;flex:1 1;gap:8px}.rl-check input{cursor:pointer;height:16px;width:16px}.rl-nom{color:#0f172a;font-size:13px;font-weight:500}.rl-vendu{color:#888;font-size:11px;white-space:nowrap}.rl-detail{grid-gap:12px;align-items:start;border-top:1px solid #f1efe8;display:grid;gap:12px;grid-template-columns:auto 1fr;margin-top:12px;padding-top:12px}.rl-motif-group label,.rl-qte-group label{color:#475569;display:block;font-size:11px;font-weight:500;margin-bottom:5px}.rl-qte-input{align-items:center;display:flex;gap:6px}.rl-qte-input button{align-items:center;background:#f8f7f2;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.rl-qte-input button,.rl-qte-input input{border:1px solid #e2e8f0;border-radius:6px}.rl-qte-input input{font-size:13px;padding:5px;text-align:center;width:50px}.rl-max{color:#888;font-size:10px;margin-top:3px}.rl-motif-group select{border:1px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:12px;padding:7px 10px;width:100%}.rl-remboursement{background:#eaf3de;border-radius:6px;color:#3b6d11;font-size:12px;grid-column:1/-1;padding:6px 10px}.retour-total{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;padding:14px}.rt-ligne{align-items:center;display:flex;font-size:13px;justify-content:space-between}.rt-montant{color:var(--primary);font-size:16px;font-weight:700}.rt-note{color:#888;font-size:11px;margin-top:8px}.retour-footer{background:#f8f7f2;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px}.btn-retour,.btn-secondary{padding:9px 18px}.btn-retour{background:#185fa5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600}.btn-retour:disabled{background:#b4b2a9;cursor:not-allowed}.retour-succes{align-items:center;display:flex;flex-direction:column;gap:16px;padding:32px 24px;text-align:center}.rs-icone{font-size:48px}.rs-titre{color:#3b6d11;font-size:18px;font-weight:700}.rs-details{background:#f8f7f2;border-radius:10px;padding:14px;width:100%}.rs-row{border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.rs-row:last-child{border-bottom:none}.rs-row.total{color:var(--primary);font-size:15px;font-weight:700}.rs-note{background:#eaf3de;border-radius:7px;color:#3b6d11;font-size:12px;padding:8px 14px;width:100%}.factures-page{padding:24px}.header-stats{display:flex;gap:24px}.hs-item{align-items:flex-end;display:flex;flex-direction:column}.hs-val{color:#0f172a;font-size:22px;font-weight:700}.hs-lbl{color:#888;font-size:11px;text-transform:uppercase}.factures-filtres{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.filtre-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;font-family:inherit;font-size:13px;min-width:200px;padding:10px 14px}.filtre-input:focus{border-color:var(--primary);outline:none}.filtre-statut{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.filtre-statut button{background:none;border:none;color:#888;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;white-space:nowrap}.filtre-statut button.active{background:var(--primary);color:#fff}.factures-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.factures-table table{border-collapse:collapse;width:100%}.factures-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.factures-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.factures-table tr:last-child td{border-bottom:none}.tr-clickable{cursor:pointer}.tr-clickable:hover td{background:#fef9f6}.fact-num{color:var(--primary);font-family:monospace;font-size:13px;font-weight:600}.fact-date{color:#0f172a;font-size:13px}.fact-heure{color:#888;font-size:11px;margin-top:2px}.fact-client{color:#0f172a;font-weight:500}.fact-type{color:#888;font-size:11px;margin-top:2px;text-transform:capitalize}.fact-vendeur{color:#5f5e5a;font-size:13px}.fact-montant{color:#0f172a;font-weight:700}.btn-voir{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:13px;padding:4px 10px}.facture-detail{background:#fff;border-radius:14px;margin:20px auto;max-width:680px;overflow:hidden;width:100%}.fd-header{align-items:flex-start;background:#f8f7f2;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.fd-header h2{color:var(--primary);font-family:monospace;font-size:18px;font-weight:700}.fd-header p{color:#888;font-size:12px;margin-top:4px}.fd-close{background:none;border:none;color:#888;cursor:pointer;font-size:24px}.fd-body{padding:24px}.fd-entreprise{align-items:flex-start;border-bottom:2px solid var(--primary);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.fd-logo{color:var(--primary);font-size:28px;font-weight:700}.fd-info-ent{color:#888;font-size:11px;line-height:1.6;text-align:right}.fd-parties{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.fd-partie{background:#f8f7f2;border-radius:8px;padding:12px}.fd-partie-titre{color:#888;font-size:10px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.fd-partie-val{color:#0f172a;font-size:14px;font-weight:600}.fd-partie-sub{color:#888;font-size:11px;margin-top:2px;text-transform:capitalize}.fd-lignes{border-collapse:collapse;margin-bottom:16px;width:100%}.fd-lignes th{border-bottom:2px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;padding:8px 10px;text-align:left}.fd-lignes td{border-bottom:1px solid #f1efe8;font-size:13px;padding:10px}.fd-lignes tr:last-child td{border-bottom:none}.text-center{text-align:center}.text-right{text-align:right}.fd-totaux{background:#f8f7f2;border-radius:8px;margin-bottom:16px;padding:14px}.fd-total-row{color:#5f5e5a;font-size:13px}.fd-total-row,.fd-total-ttc{display:flex;justify-content:space-between;margin-bottom:8px}.fd-total-ttc{border-top:2px solid #e2e8f0;color:#0f172a;font-size:18px;font-weight:700;margin-top:4px;padding-top:10px}.fd-paiement{color:#5f5e5a;display:flex;font-size:13px;justify-content:space-between}.fd-mentions{color:#888;font-size:10px;font-style:italic;line-height:1.5;padding-top:12px;text-align:center}.fd-footer,.fd-mentions{border-top:1px solid #e2e8f0}.fd-footer{background:#f8f7f2;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px}.btn-primary{padding:8px 16px}@media print{body *{visibility:hidden}.fd-body,.fd-body *{visibility:visible}.fd-body{left:0;padding:20px;position:absolute;top:0;width:100%}}.btn-retour-vente{background:#e6f1fb;border:1px solid #185fa5;border-radius:7px;color:#185fa5;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.btn-retour-vente:hover{background:#185fa5;color:#fff}.tresorerie-page{padding:24px}.tres-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;margin-bottom:20px;padding:4px;width:fit-content}.tres-tabs button{background:none;border:none;border-radius:7px;color:#888;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px}.tres-tabs button.active{background:var(--primary);color:#fff}.soldes-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.solde-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:14px;padding:16px}.solde-card.especes{border-left:4px solid #3b6d11}.solde-card.mobile{border-left:4px solid #185fa5}.solde-card.credit{border-left:4px solid #854f0b}.solde-card.total{background:#fef3e2;border-left:4px solid var(--primary)}.sc-icon{font-size:28px}.sc-titre{color:#888;font-size:12px;margin-bottom:4px}.sc-montant{color:#0f172a;font-size:18px;font-weight:700}.sc-sub{color:#888;font-size:11px;margin-top:2px}.section-titre{color:#0f172a;font-size:14px;font-weight:600}.depenses-resume{grid-gap:24px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:24px;grid-template-columns:auto 1fr;margin-bottom:20px;padding:20px}.dr-total{border-right:1px solid #e2e8f0;padding-right:24px;text-align:center}.dr-val{color:#a32d2d;font-size:26px;font-weight:700}.dr-lbl{color:#888;font-size:12px;margin-top:4px}.dr-categories{display:flex;flex-direction:column;gap:8px}.dr-cat-row{align-items:center;display:flex;font-size:13px;gap:10px}.dr-cat-row span:first-child{color:#5f5e5a;min-width:140px}.dr-bar-wrap{background:#f1efe8;border-radius:4px;flex:1 1;height:6px;overflow:hidden}.dr-bar{background:linear-gradient(90deg,var(--primary),#ef9f27);border-radius:4px;height:100%;transition:width .3s}.dr-cat-montant{color:#0f172a;font-size:12px;font-weight:600;min-width:90px;text-align:right}.dr-empty{color:#888;font-size:13px;padding:20px;text-align:center}.export-section{align-items:center;background:#e6f1fb;border-radius:12px;display:flex;gap:20px;justify-content:space-between;padding:20px}.export-info h3{color:#0c447c;font-size:15px;font-weight:600;margin-bottom:6px}.export-info p{color:#185fa5;font-size:13px;line-height:1.5}.btn-export{background:#185fa5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:12px 20px;white-space:nowrap}.btn-export:hover{background:#0c447c}.filtre-cats,.stats-bar{margin-bottom:16px}.filtre-cats{display:flex;flex-wrap:wrap;gap:6px}.filtre-cats button{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#888;cursor:pointer;font-size:12px;padding:6px 12px}.filtre-cats button.active{background:var(--primary);border-color:var(--primary);color:#fff}.depenses-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.depenses-table table{border-collapse:collapse;width:100%}.depenses-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.depenses-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.depenses-table tr:last-child td{border-bottom:none}.dep-date{color:#888;font-size:12px}.dep-libelle{color:#0f172a;font-weight:500}.dep-notes{color:#888;font-size:11px;margin-top:2px}.dep-mode{color:#5f5e5a;font-size:12px}.dep-montant{color:#a32d2d;font-weight:700}.dep-statut{border-radius:20px;font-size:11px;font-weight:600;padding:3px 8px}.dep-statut.validee{background:#eaf3de;color:#3b6d11}.dep-statut.en_attente{background:#faeeda;color:#854f0b}.dep-statut.rejetee{background:#fcebeb;color:#a32d2d}.td-actions button{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;padding:4px 8px}.modal{max-width:580px}.utilisateurs-page{padding:24px}.btn-danger{background:#fcebeb;border:1px solid #f09595;border-radius:8px;color:#a32d2d;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.stats-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:20px;margin-bottom:20px;padding:16px 20px}.stat-item{border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:2px;padding-right:20px}.stat-item:last-child{border-right:none}.stat-val{color:#0f172a;font-size:24px;font-weight:700}.stat-lbl{color:#888;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.users-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:12px 14px;vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.row-inactif td{opacity:.5}.user-cell{gap:10px}.user-avatar-sm,.user-cell{align-items:center;display:flex}.user-avatar-sm{border-radius:50%;color:#0f172a;flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;width:36px}.user-nom{color:#0f172a;font-weight:500}.user-moi{color:var(--primary);font-size:10px;margin-top:2px}.user-email{color:#5f5e5a;font-size:12px}.user-date{color:#888;font-size:12px}.statut-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.statut-badge.actif{background:#eaf3de;color:#3b6d11}.statut-badge.inactif{background:#fcebeb;color:#a32d2d}.td-actions{display:flex;gap:4px}.btn-action{background:#f8f7f2;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:13px;padding:5px 9px}.btn-action:disabled{cursor:not-allowed;opacity:.3}.btn-desactiver{background:#faeeda;border-color:#ef9f27}.btn-activer{background:#eaf3de;border-color:#639922}.btn-supprimer{background:#fcebeb;border-color:#f09595}.roles-info{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.roles-info h3{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:14px}.roles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.role-card{background:#f8f7f2;border-radius:10px;padding:16px;text-align:center}.role-icon{font-size:28px;margin-bottom:8px}.role-nom{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:6px}.role-desc{color:#888;font-size:12px;line-height:1.5}.modal{margin:20px auto;max-width:540px}.modal-sm{max-width:440px}.modal-header.danger h2{color:#a32d2d}.modal-body{flex:1 1 auto;overflow-y:auto}.form-section{border-bottom:1px solid #f1efe8;color:#888;font-size:11px;font-weight:600;letter-spacing:.06em;margin:14px 0 8px;padding-bottom:6px;text-transform:uppercase}.req{color:#e24b4a}.role-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.role-option{border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:10px;text-align:center;transition:all .15s}.role-option.active,.role-option:hover{border-color:var(--primary)}.role-option.active{background:#fef3e2}.ro-label{font-size:13px;font-weight:600;margin-bottom:4px}.ro-desc{color:#888;font-size:10px}.toggle-row{border-radius:7px;font-size:13px;padding:8px 10px}.alert-warning{background:#faeeda;border:1px solid #ef9f27;border-radius:8px;color:#854f0b;font-size:13px;margin-bottom:16px;padding:10px 14px}.boutique-badge{background:#e6f1fb;color:#185fa5}.boutique-badge,.boutique-manquante{border-radius:20px;font-size:12px;font-weight:500;padding:3px 10px}.boutique-manquante{background:#fcebeb;color:#a32d2d}.boutique-info-box{background:#e6f1fb;border-radius:8px;color:#185fa5;font-size:12px;margin-bottom:12px;padding:10px 14px}.boutique-selectionnee{background:#eaf3de;border-radius:6px;color:#3b6d11;font-size:12px;margin-top:6px;padding:6px 10px}.parametres-page{padding:24px}.param-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;margin-bottom:20px;padding:4px;width:fit-content}.param-tabs button{background:none;border:none;border-radius:7px;color:#888;cursor:pointer;font-size:13px;font-weight:500;padding:8px 18px}.param-tabs button.active{background:var(--primary);color:#fff}.param-section{display:flex;flex-direction:column;gap:16px}.param-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.param-card-titre{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:6px}.param-card-desc{color:#888;font-size:12px;margin-bottom:14px}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none}.form-row-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-hint{color:#888;font-family:monospace;font-size:11px;margin-top:4px}.toggle-row{align-items:center;background:#f8f7f2;border-radius:8px;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:10px 12px}.toggle-label{color:#0f172a;font-size:13px;font-weight:500;margin-bottom:3px}.toggle-desc{color:#888;font-size:11px;line-height:1.4}.notif-liste{display:flex;flex-direction:column;gap:8px}.compte-info{gap:14px}.compte-avatar,.compte-info{align-items:center;display:flex}.compte-avatar{background:var(--primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:16px;font-weight:600;height:48px;justify-content:center;width:48px}.compte-nom{color:#0f172a;font-size:15px;font-weight:600}.compte-email{color:#888;font-size:12px;margin-top:2px}.compte-role{color:var(--primary);font-size:11px;font-weight:500;margin-top:2px;text-transform:capitalize}.apercu{background:#f8f7f2}.facture-apercu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;padding:16px}.fa-header{border-bottom:2px solid var(--primary);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.fa-logo{color:var(--primary);font-size:18px;font-weight:700}.fa-info{color:#888;font-size:10px;line-height:1.6;text-align:right}.fa-num{color:var(--primary);font-family:monospace;font-weight:600;margin-bottom:10px}.fa-mention{color:#888;font-size:10px;font-style:italic;line-height:1.5;margin-bottom:8px}.fa-pied{border-top:1px solid #e2e8f0;color:var(--primary);font-size:11px;font-weight:500;padding-top:8px;text-align:center}.sys-info{display:flex;flex-direction:column;gap:8px}.sys-row{background:#f8f7f2;border-radius:7px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.sys-val{color:#0f172a;font-weight:500}.svg-msg{border-radius:8px;font-size:13px;margin-bottom:14px;padding:10px 14px}.svg-msg.succes{background:#eaf3de;border:1px solid #639922;color:#3b6d11}.svg-msg.erreur{background:#fcebeb;border:1px solid #f09595;color:#a32d2d}.btn-sauvegarde{background:#185fa5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;width:100%}.btn-sauvegarde:hover{background:#0c447c}.btn-sauvegarde:disabled{background:#b4b2a9;cursor:not-allowed}.svg-auto-info{display:flex;flex-direction:column;gap:10px}.svg-auto-row{align-items:center;background:#f8f7f2;border-radius:7px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.svg-auto-row span:first-child{color:#888}.svg-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.svg-badge.vert{background:#eaf3de;color:#3b6d11}.svg-badge.bleu{background:#e6f1fb;color:#185fa5}.btn-refresh{background:none;border:none;cursor:pointer;font-size:14px;margin-left:8px}.svg-vide{color:#888;font-size:13px;padding:20px 0;text-align:center}.svg-liste{display:flex;flex-direction:column;gap:8px}.svg-item{align-items:center;background:#f8f7f2;border-radius:8px;display:flex;gap:12px;padding:10px 12px}.svg-icone{font-size:20px}.svg-info{flex:1 1}.svg-nom{color:#0f172a;font-family:monospace;font-size:12px;font-weight:500}.svg-meta{color:#888;font-size:11px;margin-top:2px}.info-card{background:#e6f1fb;border-color:#185fa5}.restore-info{color:#0c447c;font-size:13px;line-height:1.6}.restore-info ol{margin:8px 0 8px 20px}.restore-info li{margin-bottom:4px}.restore-cmd{background:#0c447c;border-radius:7px;color:#fff;font-family:monospace;font-size:12px;margin:10px 0;padding:10px 14px;word-break:break-all}.tarif-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:16px}.tarif-card{border:2px solid #0000;border-radius:12px;padding:18px;text-align:center}.tarif-card.ordinaire{background:#eaf3de;border-color:#639922}.tarif-card.revendeur{background:#e6f1fb;border-color:#185fa5}.tarif-card.technicien{background:#faeeda;border-color:#ef9f27}.tarif-icon{font-size:32px;margin-bottom:8px}.tarif-type{color:#0f172a;font-size:14px;font-weight:700;margin-bottom:4px}.tarif-desc{color:#888;font-size:11px;line-height:1.4;margin-bottom:12px}.tarif-remise-val{color:#3b6d11;font-size:36px;font-weight:700}.tarif-input-group{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:10px}.tarif-input-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:20px;font-weight:700;padding:8px;text-align:center;width:70px}.tarif-input-group input:focus{border-color:var(--primary);outline:none}.tarif-pct{color:#888;font-size:20px;font-weight:700;width:24px}.tarif-exemple{color:#5f5e5a;font-size:11px;margin-bottom:10px}.tarif-exemple strong{color:#0f172a}.tarif-barre-wrap{background:#0000001a;border-radius:4px;height:6px;overflow:hidden}.tarif-barre{border-radius:4px;height:100%;transition:width .3s}.tarif-barre.revendeur{background:#185fa5}.tarif-barre.technicien{background:#ef9f27}.tarif-fiscal{display:flex;flex-direction:column;gap:12px}.fiscal-row{align-items:center;background:#f8f7f2;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px}.fiscal-label{color:#0f172a;font-size:13px;font-weight:500;margin-bottom:3px}.fiscal-desc{color:#888;font-size:11px}.fidelite-niveaux{margin-top:12px}.fn-titre{color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.fn-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.fn-card{align-items:center;border-radius:8px;display:flex;flex-direction:column;font-size:12px;font-weight:500;gap:4px;padding:10px}.fn-card span:last-child{color:#888;font-size:10px;font-weight:400}.fn-card.bronze{background:#fcebeb;color:#854f0b}.fn-card.argent{background:#f1efe8;color:#5f5e5a}.fn-card.or{background:#fef3e2;color:#854f0b}.info-tarif{background:#f8f7f2}.tarif-info-liste{display:flex;flex-direction:column;gap:10px}.til-item{color:#5f5e5a;display:flex;font-size:13px;gap:12px;line-height:1.5}.til-item span:first-child{flex-shrink:0;font-size:16px}.theme-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-top:16px}.theme-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:16px 12px;text-align:center;transition:all .15s}.theme-card:hover{border-color:var(--primary);box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.theme-card.active{background:var(--primary-light);border-color:var(--primary)}.theme-preview{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:10px}.theme-cercle{border-radius:50%;flex-shrink:0;height:28px;width:28px}.theme-cercle-sm{height:18px;width:18px}.theme-nom{color:#0f172a;font-size:12px;font-weight:600;line-height:1.3}.theme-coche{color:var(--primary);font-size:11px;font-weight:600;margin-top:6px}@media (max-width:768px){.theme-grid{grid-template-columns:repeat(2,1fr)}}.logo-upload-zone{margin-top:8px}.logo-apercu{align-items:center;background:#f8f7f2;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:16px;padding:12px}.logo-img{border-radius:6px;max-height:70px;max-width:200px;object-fit:contain}.logo-actions{display:flex;flex-direction:column;gap:8px}.btn-danger-outline{background:none;border:1px solid #a32d2d;border-radius:7px;font-size:12px;font-weight:600;padding:6px 14px}.btn-danger-outline:hover{background:#fef2f2}.logo-vide{align-items:center;background:#f8f7f2;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:28px;transition:all .15s}.logo-vide:hover{background:var(--primary-light);border-color:var(--primary)}.logo-vide-icone{font-size:28px}.logo-vide-texte{color:#475569;font-size:13px;font-weight:600}.logo-vide-hint{color:#94a3b8;font-size:11px}.securite-page{padding:24px}.btn-primary{margin-top:4px;width:100%}.btn-primary:disabled{background:#b4b2a9;cursor:not-allowed}.securite-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.sec-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.conseils-card,.politique-card{grid-column:1/-1}.sec-card-titre{color:#0f172a;font-size:15px;font-weight:600;margin-bottom:6px}.sec-card-desc{color:#888;font-size:12px;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group input{transition:border-color .2s}.form-group input:focus{border-color:var(--primary);outline:none}.mdp-force{align-items:center;display:flex;gap:10px;margin-top:6px}.mdp-barre{background:#e2e8f0;border-radius:4px;flex:1 1;height:4px;overflow:hidden}.mdp-niveau{border-radius:4px;height:100%;transition:all .3s}.mdp-label{color:#888;font-size:11px;white-space:nowrap}.session-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.session-row{background:#f8f7f2;border-radius:7px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.session-row span:first-child{color:#888}.session-row span:last-child{font-weight:500}.btn-deconnexion{background:#fcebeb;border:1px solid #f09595;border-radius:8px;color:#a32d2d;cursor:pointer;font-size:13px;font-weight:600;padding:10px;width:100%}.btn-deconnexion:hover{background:#f09595;color:#fff}.conseils-liste{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.conseil-item{align-items:flex-start;background:#f8f7f2;border-radius:8px;display:flex;gap:12px;padding:12px}.conseil-icon{flex-shrink:0;font-size:22px}.conseil-titre{color:#0f172a;font-size:13px;font-weight:600;margin-bottom:3px}.conseil-desc{color:#888;font-size:12px;line-height:1.4}.politique-liste{display:flex;flex-direction:column;gap:8px}.pol-item{align-items:center;background:#eaf3de;border-radius:8px;color:#3b6d11;display:flex;font-size:13px;gap:12px;padding:10px 14px}.pol-icone{flex-shrink:0;font-size:16px}.sec-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;margin-bottom:20px;padding:4px;position:relative;width:fit-content}.sec-tabs button{align-items:center;background:none;border:none;border-radius:7px;color:#888;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 18px}.sec-tabs button.active{background:var(--primary);color:#fff}.sec-badge{align-items:center;background:#a32d2d;border-radius:10px;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px}.connexion-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.cs-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;text-align:center}.cs-card.total{border-color:#185fa5}.cs-card.aujourd-hui{border-color:#3b6d11}.cs-card.echecs{background:#fcebeb;border-color:#a32d2d}.cs-card.ok{border-color:#3b6d11}.cs-card.derniere{border-color:#854f0b}.cs-val{color:#0f172a;font-size:24px;font-weight:700;margin-bottom:4px}.cs-lbl{color:#888;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.connexion-filtres{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.filtre-type{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.filtre-type button{background:none;border:none;font-weight:500;padding:8px 14px}.connexion-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.connexion-table table{border-collapse:collapse;width:100%}.connexion-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.connexion-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:10px 14px;vertical-align:middle}.connexion-table tr:last-child td{border-bottom:none}.row-echec td{background:#fff5f5}.conn-date{color:#5f5e5a;font-size:12px}.conn-heure{color:#888;font-size:11px;margin-top:2px}.conn-user{color:#0f172a;font-weight:500}.conn-email{color:#888;font-size:11px}.conn-ip{color:#5f5e5a;font-family:monospace;font-size:12px}.conn-statut{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.conn-statut.succes{background:#eaf3de;color:#3b6d11}.conn-statut.echec{background:#fcebeb;color:#a32d2d}.conn-motif{color:#888;font-size:12px}.mouvements-page{padding:24px}.mvt-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,1fr);margin-bottom:16px}.mvt-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:12px;text-align:center;transition:all .15s}.mvt-stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.mvt-stat-card.active{background:#fef3e2;border-color:var(--primary)}.mvt-stat-icone{font-size:20px;margin-bottom:6px}.mvt-stat-val{font-size:20px;font-weight:700;margin-bottom:3px}.mvt-stat-lbl{color:#888;font-size:11px}.mvt-filtres{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.mvt-search{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:13px;padding:10px 14px;width:100%}.mvt-search:focus{border-color:var(--primary);outline:none}.filtre-type{display:flex;flex-wrap:wrap;gap:6px}.filtre-type button{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#888;cursor:pointer;font-size:12px;padding:6px 12px}.filtre-type button.active{background:var(--primary);border-color:var(--primary);color:#fff}.mvt-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.mvt-table table{border-collapse:collapse;width:100%}.mvt-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.mvt-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:10px 14px;vertical-align:middle}.mvt-table tr:last-child td{border-bottom:none}.mvt-table tr:hover td{background:#fef9f6}.mvt-date{color:#5f5e5a;font-size:12px}.mvt-heure{color:#888;font-size:11px;margin-top:2px}.mvt-produit{color:#0f172a;font-weight:500}.mvt-ref{color:#888;font-family:monospace;font-size:11px;margin-top:2px}.mvt-type-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.mvt-qte{font-size:15px;font-weight:700}.mvt-stock{color:#5f5e5a;font-size:13px;font-weight:500}.mvt-details{color:#5f5e5a;font-size:12px}.mvt-transfert-info{color:#854f0b;font-weight:500;margin-top:3px}.mvt-utilisateur{color:#888;margin-top:3px}.mvt-footer{background:#f8f7f2;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;color:#888;font-size:12px;padding:12px;text-align:center}.etiquettes-page{display:flex;flex-direction:column;gap:20px;padding:24px}.etiquettes-controle{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.controle-header{align-items:center;background:#f8f7f2;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.controle-header h1{color:#0f172a;font-size:20px;font-weight:700}.controle-header p{color:#888;font-size:12px;margin-top:3px}.btn-imprimer{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px}.btn-imprimer:disabled{background:#b4b2a9;cursor:not-allowed}.btn-imprimer:hover:not(:disabled){background:var(--primary-dark)}.controle-body{grid-gap:0;display:grid;gap:0;grid-template-columns:280px 1fr 220px}.controle-section{border-right:1px solid #e2e8f0;padding:16px}.controle-section:last-child{border-right:none}.section-titre{color:#888;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.search-bar input{border:1px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:12px;padding:8px 10px;width:100%}.search-bar input:focus{border-color:var(--primary);outline:none}.select-all-bar{align-items:center;color:#888;display:flex;font-size:11px;justify-content:space-between;margin-bottom:8px}.select-all-bar button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:11px;font-weight:500}.produits-liste{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.produit-item{align-items:center;border:1px solid #0000;border-radius:7px;cursor:pointer;display:flex;gap:8px;padding:8px}.produit-item:hover{background:#f8f7f2}.produit-item.selectionne{background:#fef3e2;border-color:var(--primary)}.pi-info{flex:1 1}.pi-nom{color:#0f172a;font-size:12px;font-weight:500}.pi-prix{color:#888;font-size:11px}.config-group{margin-bottom:14px}.config-group label{color:#475569;display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.config-group input{border:1px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:12px;padding:7px 10px;width:100%}.taille-options{display:flex;gap:4px}.taille-options button{background:none;border:1px solid #e2e8f0;border-radius:7px;color:#888;cursor:pointer;flex:1 1;font-size:11px;padding:6px 4px;text-align:center}.taille-options button span{color:#888;display:block;font-size:10px;margin-top:2px}.taille-options button.active{background:var(--primary);border-color:var(--primary);color:#fff}.taille-options button.active span{color:#fffc}.copies-input{align-items:center;display:flex;gap:10px}.copies-input button{align-items:center;background:#f8f7f2;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:30px;justify-content:center;width:30px}.copies-input span{color:#0f172a;font-size:18px;font-weight:700;min-width:30px;text-align:center}.options-liste{display:flex;flex-direction:column;gap:6px}.opt-toggle{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:5px}.opt-toggle:hover{background:#f8f7f2}.apercu-vide{color:#888;font-size:12px;padding:30px 0;text-align:center}.apercu-etiquette{background:#fff;border:1px dashed var(--primary);border-radius:6px;padding:8px}.etiquettes-impression{background:#fff;border:1px solid #e2e8f0;border-radius:14px;min-height:200px;padding:20px}.impression-vide{align-items:center;color:#888;display:flex;flex-direction:column;font-size:40px;gap:10px;height:200px;justify-content:center}.impression-vide p{font-size:13px}.etiquettes-grille{display:flex;flex-wrap:wrap;gap:8px}.etiquette{background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 1px 3px #0000001a;break-inside:avoid;display:flex;flex-direction:column;gap:3px;padding:8px;page-break-inside:avoid}.etq-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2px}.etq-entreprise{color:var(--primary);font-size:.9em;font-weight:700}.etq-categorie{background:#f1efe8;border-radius:10px;color:#888;font-size:.75em;padding:1px 5px}.etq-nom{color:#0f172a;font-size:1em;font-weight:700;line-height:1.2}.etq-marque{color:#888;font-size:.8em}.etq-ref{color:#888;font-family:monospace;font-size:.75em}.etq-prix{color:var(--primary);font-size:1.2em;font-weight:700;margin-top:4px}.etq-prix-type{color:#888;font-size:.7em;font-weight:400;margin-left:4px}.etq-code{margin-top:4px}.etq-barres{align-items:stretch;display:flex;gap:1px;height:28px;margin-bottom:2px}.barre{flex-shrink:0}.etq-code-txt{color:#333;font-family:monospace;font-size:.7em;letter-spacing:.1em;text-align:center}@media print{.no-print{display:none!important}.etiquettes-page{gap:0;padding:0}.etiquettes-impression{border:none;border-radius:0;box-shadow:none;padding:10px}.etiquettes-grille{gap:6px}.etiquette{border:1px solid #ccc;box-shadow:none}body{background:#fff}}.notif-cloche,.notif-container{position:relative}.notif-cloche{align-items:center;background:#f8f7f2;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;font-size:18px;height:38px;justify-content:center;transition:all .15s;width:38px}.notif-cloche:hover{background:#fef3e2;border-color:var(--primary)}.notif-badge{align-items:center;background:var(--primary);border:2px solid #fff;border-radius:10px;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:-6px;top:-6px}.notif-overlay{inset:0;position:fixed;z-index:998}.notif-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 32px #00000026;overflow:hidden;position:absolute;right:0;top:44px;width:340px;z-index:999}.notif-panel-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 16px}.notif-header-actions{align-items:center;display:flex;gap:8px}.notif-header-actions button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px;font-weight:500}.notif-header-actions button:last-child{color:#888;font-size:18px}.notif-liste{max-height:400px;overflow-y:auto}.notif-vide{align-items:center;color:#888;display:flex;flex-direction:column;font-size:32px;gap:8px;justify-content:center;padding:40px}.notif-vide p{font-size:13px}.notif-item{align-items:flex-start;border-bottom:1px solid #f1efe8;border-left:3px solid #0000;display:flex;gap:10px;padding:12px 16px;transition:background .1s}.notif-item:hover{background:#f8f7f2}.notif-item.non-lu{background:#fffbf8}.notif-item:last-child{border-bottom:none}.notif-content{flex:1 1}.notif-titre{color:#0f172a;font-size:13px;font-weight:600;margin-bottom:3px}.notif-message{color:#5f5e5a;font-size:12px;line-height:1.4;margin-bottom:4px}.notif-temps{color:#888;font-size:10px}.notif-supprimer{background:none;border:none;color:#888;cursor:pointer;flex-shrink:0;font-size:16px;padding:0 4px}.notif-supprimer:hover{color:#a32d2d}.inventaire-page{padding:24px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.page-header h1{color:#0f172a;font-size:24px;font-weight:700}.page-header p{color:#888;font-size:13px;margin-top:4px}.btn-primary{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#f1efe8;border:1px solid #e2e8f0;border-radius:8px;color:#5f5e5a}.btn-danger-outline,.btn-secondary{cursor:pointer;font-size:13px;padding:8px 16px}.btn-danger-outline{background:#0000;border:1px solid #f09595;border-radius:8px;color:#a32d2d}.btn-terminer{background:#3b6d11;border:none;color:#fff;cursor:pointer;font-weight:600;padding:9px 18px}.alert-succes,.btn-terminer{border-radius:8px;font-size:13px}.alert-succes{background:#eaf3de;border:1px solid #639922;color:#3b6d11}.alert-erreur,.alert-succes{margin-bottom:16px;padding:10px 14px}.alert-erreur{background:#fcebeb;border:1px solid #f09595;border-radius:8px;color:#a32d2d;font-size:13px}.inv-historique{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:16px}.inv-historique-titre{color:#0f172a;font-size:13px;font-weight:600;margin-bottom:12px}.inv-liste{display:flex;flex-direction:column;gap:8px}.inv-item{align-items:center;background:#f8f7f2;border-radius:8px;display:flex;gap:12px;padding:10px 14px}.inv-item-info{flex:1 1}.inv-ref{color:var(--primary);font-family:monospace;font-size:13px;font-weight:600}.inv-desc{color:#5f5e5a;font-size:12px;margin-top:2px}.inv-date{color:#888;font-size:11px}.inv-item-stats{color:#888;display:flex;font-size:12px;gap:12px}.inv-statut{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.inv-statut.en_cours{background:#e6f1fb;color:#185fa5}.inv-statut.termine{background:#eaf3de;color:#3b6d11}.inv-statut.annule{background:#fcebeb;color:#a32d2d}.inv-vide{color:#888;font-size:13px;padding:16px;text-align:center}.inv-vide-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:48px;text-align:center}.ivc-icone{font-size:48px}.ivc-titre{color:#0f172a;font-size:18px;font-weight:700}.ivc-desc{color:#888;font-size:13px;line-height:1.6;max-width:500px}.inv-header-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:14px;padding:16px 20px}.ihc-ref{color:var(--primary);font-family:monospace;font-size:16px;font-weight:700}.ihc-desc{color:#5f5e5a;font-size:13px;margin-top:3px}.ihc-date{color:#888;font-size:11px;margin-top:3px}.ihc-stats{display:flex;gap:16px}.ihc-stat{text-align:center}.ihc-stat-val{color:#0f172a;font-size:20px;font-weight:700}.ihc-stat-lbl{color:#888;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.inv-progression{align-items:center;display:flex;gap:12px;margin-bottom:14px}.inv-prog-barre{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.inv-prog-rempli{background:linear-gradient(90deg,var(--primary),#ef9f27);border-radius:4px;height:100%;transition:width .3s}.inv-progression span{color:#888;font-size:12px;white-space:nowrap}.inv-filtres{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.inv-search{border:1px solid #e2e8f0;border-radius:8px;flex:1 1;font-family:inherit;font-size:13px;min-width:200px;padding:10px 14px}.inv-search:focus{border-color:var(--primary);outline:none}.inv-filtre-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.inv-filtre-tabs button{background:none;border:none;color:#888;cursor:pointer;font-size:12px;font-weight:500;padding:8px 14px}.inv-filtre-tabs button.active{background:var(--primary);color:#fff}.inv-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.inv-table table{border-collapse:collapse;width:100%}.inv-table th{background:#f8f7f2;border-bottom:1px solid #e2e8f0;color:#888;font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.inv-table td{border-bottom:1px solid #f1efe8;font-size:13px;padding:10px 14px;vertical-align:middle}.inv-table tr:last-child td{border-bottom:none}.inv-table tr.ligne-ok td{background:#f6fbf0}.inv-table tr.ligne-excedent td{background:#fbf6f0}.inv-table tr.ligne-manquant td{background:#fbf0f0}.inv-produit-nom{color:#0f172a;font-weight:500}.inv-cat,.inv-code{color:#888;font-size:11px}.inv-code{font-family:monospace}.inv-stock-theo{color:#185fa5;font-weight:600;text-align:center}.inv-saisie{align-items:center;display:flex;gap:6px}.inv-saisie input{text-align:center;width:70px}.btn-valider-ligne{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:5px 10px}.inv-ecart{border-radius:6px;font-size:14px;font-weight:700;padding:3px 8px}.inv-ecart.positif{background:#eaf3de;color:#3b6d11}.inv-ecart.negatif{background:#fcebeb;color:#a32d2d}.inv-ecart.zero{background:#eaf3de;color:#3b6d11}.inv-ecart-vide{color:#888}.inv-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 10px}.inv-badge.ok{background:#eaf3de;color:#3b6d11}.inv-badge.excedent{background:#fef3e2;color:#854f0b}.inv-badge.manquant{background:#fcebeb;color:#a32d2d}.inv-badge.pending{background:#f1efe8;color:#888}.page-chargement,.table-empty{color:#888;padding:40px;text-align:center}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:500}.modal{background:#fff;border-radius:14px;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:500px;overflow:hidden;width:100%}.modal-sm{max-width:460px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 18px}.modal-header h2{font-size:15px;font-weight:600}.modal-close{background:none;border:none;color:#888;cursor:pointer;font-size:22px}.modal-body{padding:18px}.modal-footer{background:#f8f7f2;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.form-group{margin-bottom:12px}.form-group label{color:#475569;display:block;font-size:12px;font-weight:500;margin-bottom:5px}.form-group input{border:1px solid #e2e8f0;border-radius:7px;font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.inv-info-box{background:#e6f1fb;color:#185fa5;line-height:1.5}.inv-info-box,.inv-warning{border-radius:8px;font-size:12px;margin-bottom:14px;padding:10px 14px}.inv-warning{background:#faeeda;color:#854f0b}.inv-recap{background:#f8f7f2;border-radius:10px;margin-bottom:14px;padding:14px}.ir-row{border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.ir-row:last-child{border-bottom:none}.rouge,.vert{font-weight:600}.inv-correction-toggle label{align-items:flex-start;background:#f8f7f2;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px}.inv-correction-toggle input{flex-shrink:0;height:18px;margin-top:2px;width:18px}.ict-titre{color:#0f172a;font-size:13px;font-weight:500;margin-bottom:3px}.ict-desc{color:#888;font-size:12px}.inv-input-reel{border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:13px;padding:6px 8px;text-align:center;width:70px}.inv-input-reel:focus{border-color:var(--primary);outline:none}.dashboard{background:var(--bg-app);display:flex;min-height:100vh}.dashboard-sidebar{background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;height:100vh;position:fixed;width:220px}.sidebar-logo{border-bottom:1px solid #e2e8f0;padding:20px 16px}.sidebar-logo h2{color:var(--primary);font-size:18px;font-weight:700}.sidebar-logo span{color:#888;font-size:11px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:8px}.nav-section{color:#b4b2a9;font-size:10px;font-weight:600;letter-spacing:.08em;padding:10px 8px 4px;text-transform:uppercase}.nav-item{align-items:center;border-radius:8px;color:#5f5e5a;cursor:pointer;display:flex;font-size:13px;gap:8px;margin-bottom:2px;padding:8px 10px}.nav-item:hover{background:var(--bg-app)}.nav-item.active{background:#fef3e2;color:var(--primary);font-weight:500}.sidebar-footer{border-top:1px solid #e2e8f0;padding:16px}.user-info{gap:10px;margin-bottom:10px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:var(--primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:600;height:36px;justify-content:center;width:36px}.user-name{color:#2c2c2a;font-size:13px;font-weight:500}.user-role{color:#888;font-size:11px;text-transform:capitalize}.btn-logout{background:#fcebeb;border:none;border-radius:8px;color:#a32d2d;cursor:pointer;font-size:13px;font-weight:500;padding:8px;width:100%}.btn-logout:hover{background:#f09595;color:#fff}.dashboard-main{flex:1 1;margin-left:220px;padding:24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-header h1{color:#0f172a;font-size:24px;font-weight:700}.dashboard-header p{color:#888;font-size:14px;margin-top:4px}.header-date{color:#888;font-size:13px;text-transform:capitalize}.stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:14px;padding:16px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:12px;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.stat-value{color:#0f172a;font-size:20px;font-weight:700}.stat-label{color:#888;font-size:12px;margin-top:2px}.dashboard-welcome{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px}.dashboard-welcome h2{color:#0f172a;font-size:20px;font-weight:600;margin-bottom:8px}.dashboard-welcome p{color:#888;font-size:14px;margin-bottom:20px}.modules-status{display:flex;flex-wrap:wrap;gap:8px}.module-badge{border-radius:20px;font-size:12px;font-weight:500;padding:6px 14px}.module-badge.done{background:#eaf3de;color:#3b6d11}.module-badge.pending{background:#f8f7f2;color:#888}.dashboard-actions{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:20px}.action-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .15s}.action-card:hover{border-color:var(--primary);box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.ac-icon{font-size:32px;margin-bottom:10px}.ac-label{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:4px}.ac-desc{color:#888;font-size:12px}.db-content{padding:24px}.db-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.db-header h1{color:#0f172a;font-size:24px;font-weight:700}.db-header p{margin-top:4px}.db-date,.db-header p{color:#888;font-size:13px}.db-date{text-transform:capitalize}.kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.kpi-card{align-items:center;border-radius:14px;display:flex;justify-content:space-between;padding:18px}.kpi-card.bleu{background:linear-gradient(135deg,#185fa5,#0c447c);color:#fff}.kpi-card.vert{background:linear-gradient(135deg,#1d9e75,#14764f);color:#fff}.kpi-card.orange{background:linear-gradient(135deg,#ef9f27,#c27a00);color:#fff}.kpi-card.rouge{background:linear-gradient(135deg,#e24b4a,#a32d2d);color:#fff}.kpi-label{font-size:11px;letter-spacing:.06em;margin-bottom:6px;opacity:.8;text-transform:uppercase}.kpi-val{font-size:22px;font-weight:700;margin-bottom:4px}.kpi-sub{font-size:11px;opacity:.75}.kpi-icon{font-size:36px;opacity:.6}.charts-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 340px;margin-bottom:16px}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.chart-card.full{margin-bottom:16px}.chart-titre{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:14px}.chart-total{color:#888;font-size:12px;font-weight:400}.chart-loading{font-size:13px}.chart-empty,.chart-loading{align-items:center;color:#888;display:flex;height:180px;justify-content:center}.chart-empty{flex-direction:column;font-size:32px;gap:10px}.chart-empty p{font-size:13px;line-height:1.5;text-align:center}.pie-legende{display:flex;flex-direction:column;gap:8px;margin-top:8px}.pie-leg-row{align-items:center;display:flex;font-size:12px;gap:8px}.pie-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.pie-nom{color:#5f5e5a;flex:1 1}.pie-val{color:#0f172a;font-weight:600}.actions-rapides{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.ar-titre{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:14px}.ar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,1fr)}.ar-btn{align-items:center;background:#f8f7f2;border-radius:10px;color:#5f5e5a;cursor:pointer;display:flex;flex-direction:column;font-size:12px;font-weight:500;gap:6px;padding:14px 10px;text-align:center;transition:all .15s}.ar-btn span{font-size:24px}.ar-btn:hover{background:#fef3e2;color:var(--primary);transform:translateY(-2px)}.sidebar-notif{display:flex;justify-content:flex-end;padding:8px 16px 0}.mobile-dashboard{background:#f1efe8;display:flex;flex-direction:column;margin:0 auto;max-width:480px;min-height:100vh;padding-bottom:70px;position:relative}.mobile-header{align-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;justify-content:space-between;padding:16px;position:sticky;top:0;z-index:100}.mobile-logo{font-size:20px;font-weight:700}.mobile-user{font-size:12px;margin-top:2px;opacity:.9}.mobile-role{display:block;font-size:10px;opacity:.7;text-transform:capitalize}.mobile-refresh{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:36px;width:36px}.mobile-refresh.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.mobile-date{background:#fff;border-bottom:1px solid #e2e8f0;color:#888;font-size:12px;padding:10px 16px;text-transform:capitalize}.mobile-content{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:12px}.mobile-kpi-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.mobile-kpi{border-radius:12px;color:#fff;padding:14px;text-align:center}.mobile-kpi.bleu{background:linear-gradient(135deg,#185fa5,#0c447c)}.mobile-kpi.vert{background:linear-gradient(135deg,#1d9e75,#14764f)}.mobile-kpi.orange{background:linear-gradient(135deg,#ef9f27,#c27a00)}.mobile-kpi.rouge{background:linear-gradient(135deg,#e24b4a,#a32d2d)}.mkpi-icon{font-size:24px;margin-bottom:6px}.mkpi-val{font-size:22px;font-weight:700;margin-bottom:4px}.mkpi-label{font-size:10px;opacity:.85}.mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.mobile-card.alerte{background:#fffbf4;border-color:#ef9f27}.mobile-card-titre{border-bottom:1px solid #f1efe8;color:#0f172a;font-size:13px;font-weight:600;margin-bottom:10px;padding-bottom:8px}.mobile-empty{color:#888;font-size:13px;padding:10px;text-align:center}.mobile-paiements{display:flex;flex-direction:column;gap:8px}.mobile-paiement-row{border-bottom:1px solid #f8f7f2;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.mobile-paiement-row:last-child{border-bottom:none}.mpay-montant{color:#0f172a;font-weight:600}.mobile-alerte-row{align-items:center;border-bottom:1px solid #f1efe8;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.mobile-alerte-row:last-child{border-bottom:none}.mobile-stock-badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 8px}.mobile-stock-badge.rupture{background:#fcebeb;color:#a32d2d}.mobile-stock-badge.faible{background:#faeeda;color:#854f0b}.mobile-vente-row{align-items:center;border-bottom:1px solid #f1efe8;display:flex;justify-content:space-between;padding:8px 0}.mobile-vente-row:last-child{border-bottom:none}.mvr-num{color:var(--primary);font-family:monospace;font-size:11px;font-weight:600}.mvr-client{color:#5f5e5a;font-size:12px;margin-top:2px}.mvr-montant{color:#0f172a;font-size:14px;font-weight:700;text-align:right}.mvr-mode{font-size:16px;text-align:right}.mobile-voir-plus{border-top:1px solid #f1efe8;color:var(--primary);cursor:pointer;font-size:12px;font-weight:500;margin-top:8px;padding-top:8px;text-align:center}.mobile-section-header{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:4px 0}.mobile-total{color:#3b6d11;font-size:13px;font-weight:600}.mobile-total.rouge{color:#a32d2d}.mobile-vente-card{padding:12px}.mvc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.mvc-num{color:var(--primary);font-family:monospace;font-size:12px;font-weight:600}.mvc-montant{color:#0f172a;font-size:16px;font-weight:700}.mvc-details{color:#888;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.mvc-heure{color:#b4b2a9;font-size:11px}.mobile-stock-card{padding:12px}.msc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.msc-nom{color:#0f172a;flex:1 1;font-size:13px;font-weight:500;margin-right:8px}.msc-details{color:#888;display:flex;font-size:11px;justify-content:space-between}.mobile-depense-card{padding:12px}.mdc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.mdc-libelle{color:#0f172a;flex:1 1;font-size:13px;font-weight:500;margin-right:8px}.mdc-montant{color:#a32d2d;font-size:14px;font-weight:700}.mdc-cat{color:#888;font-size:11px;text-transform:capitalize}.bilan-card{background:#f0f7ff;border-color:#185fa5}.bilan-row{border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.bilan-row:last-child{border-bottom:none}.bilan-row.bilan-total{font-size:15px;font-weight:700;padding-top:10px}.vert{color:#3b6d11}.rouge{color:#a32d2d}.mobile-nav{background:#fff;border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -4px 12px #00000014;display:grid;grid-template-columns:repeat(4,1fr);left:50%;max-width:480px;position:fixed;transform:translateX(-50%);width:100%;z-index:100}.mobile-nav-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;padding:10px 0}.mobile-nav-btn.active .mnb-icon{transform:scale(1.2)}.mobile-nav-btn.active .mnb-label{color:var(--primary);font-weight:600}.mnb-icon{font-size:20px;margin-bottom:3px}.mnb-label{color:#888;font-size:10px}.mobile-loading{align-items:center;color:#888;display:flex;flex-direction:column;gap:12px;height:100vh;justify-content:center}.mobile-spinner{animation:spin .8s linear infinite;font-size:40px}.sa-layout{background:#0f172a;color:#e2e8f0;display:flex;font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh}.sa-sidebar{background:#111827;border-right:1px solid #1f2937;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;width:248px}.sa-logo{border-bottom:1px solid #1f2937;padding:22px 20px}.sa-logo h2{color:#fff;font-size:22px;letter-spacing:-.5px;margin:0}.sa-logo span{color:#60a5fa;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.sa-nav{flex:1 1;padding:14px 10px}.sa-nav-section{color:#64748b;font-size:11px;letter-spacing:1px;padding:12px 12px 6px;text-transform:uppercase}.sa-nav-item{align-items:center;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;transition:background .15s,color .15s}.sa-nav-item:hover{background:#1f2937;color:#fff}.sa-nav-item.active{background:#2563eb;color:#fff}.sa-footer{border-top:1px solid #1f2937;padding:14px}.sa-user{gap:10px;margin-bottom:12px}.sa-avatar,.sa-user{align-items:center;display:flex}.sa-avatar{background:#2563eb;border-radius:50%;font-weight:600;height:38px;justify-content:center;width:38px}.sa-avatar,.sa-user-name{color:#fff;font-size:14px}.sa-user-name{font-weight:500}.sa-user-role{color:#60a5fa;font-size:11px}.sa-btn-logout{background:#0000;border:1px solid #374151;border-radius:8px;color:#cbd5e1;cursor:pointer;font-size:13px;padding:9px;transition:background .15s;width:100%}.sa-btn-logout:hover{background:#1f2937;color:#fff}.sa-main{flex:1 1;overflow-y:auto;padding:28px 32px}.sa-loading{color:#94a3b8;padding:60px;text-align:center}.sa-content{max-width:1100px}.sa-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.sa-header h1{color:#fff;font-size:24px;margin:0 0 4px}.sa-header p{color:#94a3b8;font-size:14px;margin:0}.sa-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:26px}.sa-kpi{background:#1e293b;border-left:4px solid #475569;border-radius:12px;padding:20px}.sa-kpi-val{color:#fff;font-size:30px;font-weight:700}.sa-kpi-lbl{color:#94a3b8;font-size:13px;margin-top:4px}.sa-kpi-blue{border-left-color:#3b82f6}.sa-kpi-green{border-left-color:#22c55e}.sa-kpi-red{border-left-color:#ef4444}.sa-kpi-amber{border-left-color:#f59e0b}.sa-card{background:#1e293b;border:1px solid #283549;border-radius:12px;margin-bottom:22px;overflow:hidden}.sa-card-head{border-bottom:1px solid #283549;padding:16px 18px}.sa-card-head h2{color:#fff;font-size:16px;margin:0}.sa-table{border-collapse:collapse;width:100%}.sa-table th{border-bottom:1px solid #283549;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.sa-table td{border-bottom:1px solid #1f2937;color:#e2e8f0;font-size:14px;padding:13px 16px;vertical-align:middle}.sa-table tr:last-child td{border-bottom:none}.sa-empty{color:#64748b;padding:22px;text-align:center}.sa-ent-nom{color:#fff;font-weight:600}.sa-ent-sub{color:#64748b;font-size:12px}.sa-limites{color:#94a3b8;font-size:13px;white-space:nowrap}.sa-cle{color:#93c5fd;font-family:Courier New,monospace;font-size:13px}.sa-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.sa-green{background:#22c55e26;color:#4ade80}.sa-red{background:#ef444426;color:#f87171}.sa-amber{background:#f59e0b26;color:#fbbf24}.sa-grey{background:#64748b33;color:#94a3b8}.sa-btn-primary{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:background .15s}.sa-btn-primary:hover{background:#1d4ed8}.sa-btn-secondary{background:#334155;border:none;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:14px;padding:10px 18px}.sa-btn-secondary:hover{background:#475569}.sa-actions{display:flex;gap:6px;white-space:nowrap}.sa-btn-mini{background:#334155;border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;font-size:12.5px;padding:6px 11px;transition:background .15s}.sa-btn-mini:hover{background:#475569;color:#fff}.sa-mini-red{background:#ef44442e;color:#f87171}.sa-mini-red:hover{background:#ef444452;color:#fff}.sa-mini-green{background:#22c55e2e;color:#4ade80}.sa-mini-green:hover{background:#22c55e52;color:#fff}.sa-alert{border-radius:8px;font-size:14px;margin-bottom:18px;padding:12px 16px}.sa-alert-ok{background:#22c55e26;color:#4ade80}.sa-alert-err{background:#ef444426;color:#f87171}.sa-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.sa-modal{background:#1e293b;border:1px solid #334155;border-radius:14px;max-height:90vh;max-width:540px;overflow-y:auto;width:100%}.sa-modal-lg{max-width:880px}.sa-modal-head{align-items:center;border-bottom:1px solid #283549;display:flex;justify-content:space-between;padding:18px 22px}.sa-modal-head h2{color:#fff;font-size:18px;margin:0}.sa-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:26px;line-height:1}.sa-modal-close:hover{color:#fff}.sa-modal-body{padding:22px}.sa-modal-foot{border-top:1px solid #283549;display:flex;gap:10px;justify-content:flex-end;padding:16px 22px}.sa-form-group{margin-bottom:16px}.sa-form-group label{color:#94a3b8;display:block;font-size:13px;margin-bottom:6px}.sa-form-group input,.sa-form-group select{background:#0f172a;border:1px solid #334155;border-radius:8px;box-sizing:border-box;color:#e2e8f0;font-size:14px;padding:10px 12px;width:100%}.sa-form-group input:focus,.sa-form-group select:focus{border-color:#2563eb;outline:none}.sa-form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.sa-req{color:#f87171}.sa-hint{color:#64748b;font-size:12.5px;line-height:1.5;margin:4px 0 0}.sa-form-divider{border-bottom:1px solid #1e293b;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.04em;margin:22px 0 12px;padding-bottom:6px;text-transform:uppercase}.sa-plan-grid{display:flex;flex-direction:column;gap:8px}.sa-plan-opt{border:1px solid #334155;border-radius:8px;cursor:pointer;padding:12px 14px;transition:border-color .15s,background .15s}.sa-plan-opt:hover{border-color:#475569}.sa-plan-opt.active{background:#2563eb1f;border-color:#2563eb}.sa-plan-nom{color:#fff;font-size:14px;font-weight:600}.sa-plan-lim{color:#94a3b8;font-size:12.5px;margin-top:2px}@media (max-width:820px){.sa-kpi-grid{grid-template-columns:repeat(2,1fr)}.sa-sidebar{width:200px}}
/*# sourceMappingURL=main.a6e27346.css.map*/