body{background:#f4f7fc;font-family:Arial,Helvetica,sans-serif;padding:0}.dashboard-title{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:20px}.filter-container{display:flex;gap:10px;margin-bottom:30px}.filter-button{background:#3498db;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 20px;transition:.3s}.filter-button:hover{background:#21618c;transform:translateY(-2px)}.filter-button.active{background:#27ae60}.stats-container{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:40px}.card{border-radius:20px;box-shadow:0 5px 20px #00000014;cursor:pointer;overflow:hidden;padding:25px;position:relative}.card:hover{box-shadow:0 8px 25px #0000001f}.card-icon{font-size:40px;margin-bottom:10px}.card-title{color:#7f8c8d;font-size:16px;margin-bottom:10px}.card-value{color:#2c3e50;font-size:32px;font-weight:700}.produits{border-left:6px solid #3498db}.clients{border-left:6px solid #27ae60}.ventes{border-left:6px solid #f39c12}.ca{border-left:6px solid #e74c3c}.agriculteurs{border-left:6px solid #8e44ad}.graph-container{background:#fff;border-radius:20px;box-shadow:0 5px 20px #00000014;margin-top:30px;padding:25px}.graph-title{color:#2c3e50;font-size:24px;font-weight:700;margin-bottom:20px}@media(max-width:768px){.stats-container{grid-template-columns:1fr}.filter-container{flex-direction:column}.filter-button{width:100%}}.login-page{background:#eef3f8;display:grid;min-height:100vh;padding:24px;place-items:center}.login-card{background:#fff;border-radius:16px;box-shadow:0 12px 34px #0f2d4b24;padding:34px;width:min(100%,430px)}.login-brand{margin-bottom:28px;text-align:center}.login-brand h1{color:#0b5ed7;margin:0 0 8px}.login-card label{display:block;font-weight:600;margin:16px 0 7px}.login-field{align-items:center;border:1px solid #cbd5e1;border-radius:8px;display:flex;gap:8px;padding:0 12px}.login-field input{border:0;flex:1 1;min-width:0;outline:0;padding:12px 4px}.password-toggle{background:#0000;border:0;cursor:pointer}.login-submit{background:#198754;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;margin-top:24px;padding:13px;width:100%}.login-submit:disabled{cursor:wait;opacity:.65}.login-message{background:#f8d7da;border-radius:8px;color:#842029;padding:11px 12px}.login-card footer{color:#64748b;font-size:14px;margin-top:28px;text-align:center}.route-loading{color:#475569;display:grid;min-height:100vh;place-items:center}.sidebar{background:var(--asmovc-sidebar-gradient);box-shadow:4px 0 18px #2c3e502e;color:#fff;display:flex;flex-direction:column;height:100vh;inset:0 auto 0 0;overflow-x:hidden;overflow-y:auto;position:fixed;transition:width .2s ease,transform .2s ease;width:264px;z-index:1000}.sidebar.mini{width:78px}.sidebar-header{border-bottom:1px solid #ffffff40;padding:18px 16px;text-align:center}.sidebar-logo{display:flex;justify-content:center}.logo-placeholder{background:#fff3;border:1px solid #ffffffa6;border-radius:10px;color:#fff;display:grid;font-weight:800;height:44px;place-items:center;width:44px}.sidebar-title{font-size:17px;margin:10px 0 2px;text-shadow:0 1px 2px #00000040}.sidebar-subtitle{color:#fff;font-size:10px;margin:0;text-shadow:0 1px 2px #0000004d}.sidebar-user{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:12px}.sidebar-user-info{display:flex;flex-direction:column;font-size:11px;text-align:left}.role-badge{color:#fff}.sidebar nav{flex:1 1;padding:10px 8px}.section-title{background:#00000014;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:11px;justify-content:space-between;letter-spacing:.06em;padding:13px;text-transform:uppercase;width:100%}.section-left,.section-title{align-items:center;display:flex}.section-left{gap:8px}.menu-item{align-items:center;border-radius:8px;color:#fff;display:flex;gap:13px;margin:3px 0;min-height:43px;padding:10px 13px;text-decoration:none;text-shadow:0 1px 2px #00000040}.menu-item:hover{background:#ffffff38}.menu-item.active{background:var(--asmovc-green);box-shadow:inset 4px 0 0 #fff,0 2px 7px #0000002e;font-weight:700}.menu-icon{flex:0 0 20px;font-size:17px}.menu-content{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:space-between;min-width:0}.menu-title{font-size:13px}.menu-badge{background:var(--asmovc-red);border-radius:999px;color:#fff;font-size:10px;padding:2px 6px}.logout{align-items:center;background:#0000001f;border:1px solid #ffffff8c;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:9px;justify-content:center;margin:10px;padding:11px}.logout:hover{background:var(--asmovc-red)}.sidebar-search{align-items:center;background:#ffffff38;border-radius:8px;display:flex;gap:8px;margin:12px;padding:9px 11px}.sidebar-search input{background:#0000;border:0;color:#fff;min-width:0;outline:0;width:100%}.sidebar-search input::placeholder{color:#fff}.sidebar-search:focus-within{outline:3px solid #ffffffb3}@media(max-width:992px){.sidebar,.sidebar.mini{transform:translateX(-100%);width:280px}.sidebar.open{transform:translateX(0)}}.header{background:var(--asmovc-sky-blue);border-bottom:1px solid #0d6efd40;box-shadow:0 3px 12px #0d6efd24;justify-content:space-between;min-height:72px;padding:10px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header,.header-left,.header-right,.user-box{align-items:center;display:flex}.header-left{gap:15px}.header-right{gap:12px}.icon-btn,.menu-toggle{background:#fffc;border:1px solid #ffffffa6;border-radius:10px;color:var(--asmovc-blue);cursor:pointer;display:grid;height:42px;place-items:center;width:42px}.icon-btn:hover,.menu-toggle:hover{background:var(--asmovc-blue);color:#fff}.header-title h2{color:var(--asmovc-dark-text);font-size:20px;margin:0}.header-title span{color:#34495e;font-size:12px}.user-box{border-left:1px solid #2c3e5040;gap:10px;padding-left:12px}.user-box .avatar{color:var(--asmovc-green);font-size:30px}.user-box div{display:flex;flex-direction:column}.user-box small{color:#34495e;font-size:11px;text-transform:capitalize}body.dark .header-title h2,body.dark .header-title span,body.dark .user-box small{color:#17202a}@media(max-width:600px){.header{padding:9px 15px}.header-title span,.user-box div{display:none}.header-title h2{font-size:17px}.user-box{border:0;padding-left:0}}.error-boundary-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);margin:40px auto;max-width:520px;padding:28px;text-align:center}.error-boundary-card>svg{color:var(--asmovc-red);font-size:34px}.error-boundary-card h2{font-size:20px;margin:12px 0 6px}.error-boundary-card p{color:var(--text-light)}.error-boundary-card code{background:var(--background);border-radius:5px;display:inline-block;margin:10px;padding:5px 8px}.error-boundary-card>div{display:flex;gap:9px;justify-content:center;margin-top:12px}.layout{background:#f4f7f6;background:var(--background,#f4f7f6);min-height:100vh}.layout-main{margin-left:264px;min-height:100vh;transition:margin-left .2s ease}.layout-main.collapsed{margin-left:78px}.layout-content{padding:20px 28px 36px}.sidebar-backdrop{display:none}@media(max-width:992px){.layout-main,.layout-main.collapsed{margin-left:0}.layout-content{padding:16px}.sidebar-backdrop{background:#0f172a7a;border:0;display:block;inset:0;position:fixed;z-index:990}}.dashboard-content{margin:0 auto;max-width:1500px}.kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:10px;border-top:4px solid var(--asmovc-blue);box-shadow:var(--shadow-sm);min-width:0;padding:17px}.kpi-card:first-child{border-top-color:var(--asmovc-green)}.kpi-card:nth-child(2){border-top-color:var(--asmovc-blue)}.kpi-card:nth-child(3){border-top-color:var(--asmovc-yellow)}.kpi-card.green{border-top-color:var(--asmovc-green)}.kpi-card.blue{border-top-color:var(--asmovc-blue)}.kpi-card.orange{border-top-color:var(--asmovc-orange)}.kpi-card span{color:var(--text-light);display:block;font-size:12px;margin-bottom:8px}.kpi-card strong{color:var(--text);display:block;font-size:20px;overflow-wrap:anywhere}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);min-width:0;padding:18px}.panel-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:15px}.panel h2{color:var(--text);font-size:16px;margin:0}.panel-head a{color:var(--asmovc-green);font-size:12px;font-weight:700}.chart-panel{grid-column:span 2}.dashboard-table{overflow-x:auto}.dashboard-table table{border-collapse:collapse;min-width:480px;width:100%}.dashboard-table td,.dashboard-table th{border-bottom:1px solid var(--border);color:var(--text);font-size:13px;padding:10px;text-align:left}.dashboard-table th{background:color-mix(in srgb,var(--asmovc-blue) 8%,var(--card));color:var(--text-light);font-size:11px;text-transform:uppercase}.dashboard-table tbody tr:hover{background:color-mix(in srgb,var(--asmovc-green) 8%,var(--card))}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.dashboard-grid,.kpi-grid{grid-template-columns:1fr}.chart-panel{grid-column:auto}.kpi-grid{gap:10px}}.dashboard-scope-note{background:color-mix(in srgb,var(--asmovc-green) 9%,var(--card));border-left:4px solid var(--asmovc-green);color:var(--text);margin:12px 0;padding:12px 15px}.ops-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-dashboard .panel{min-height:0}@media(max-width:1100px){.ops-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.ops-kpi-grid{grid-template-columns:1fr}}.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-dashboard .panel{min-height:0}.finance-dashboard .dashboard-scope-note{background:color-mix(in srgb,var(--asmovc-green) 9%,var(--card));border-left:4px solid var(--asmovc-green);color:var(--text);margin:12px 0;padding:12px 15px}@media(max-width:900px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.finance-kpi-grid{grid-template-columns:1fr}}.row-actions-trigger{background:color-mix(in srgb,var(--card) 92%,var(--asmovc-blue));border:1px solid var(--border);border-radius:9px;color:var(--text);cursor:pointer;display:grid;height:36px;margin:auto;place-items:center;width:36px}.row-actions-trigger:hover,.row-actions-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--asmovc-green) 14%,var(--card));border-color:var(--asmovc-green);color:var(--asmovc-green-dark)}.row-actions-dropdown{background:var(--card);border:1px solid var(--border);border-radius:11px;box-shadow:0 12px 35px #2c3e5038;max-height:min(360px,calc(100vh - 16px));overflow-y:auto;padding:7px;position:fixed;width:230px;z-index:20000}.row-action{align-items:center;background:#0000;border:0;border-radius:7px;color:var(--text);cursor:pointer;display:flex;gap:11px;min-height:39px;padding:8px 10px;text-align:left;width:100%}.row-action:hover{background:color-mix(in srgb,var(--asmovc-green) 12%,var(--card))}.row-action svg{color:var(--asmovc-blue);width:17px}.row-action-delete,.row-action-delete svg,.row-action-pdf svg{color:var(--asmovc-red)}.row-action-email svg{color:var(--asmovc-green)}.row-actions-separator{background:var(--border);height:1px;margin:6px 3px}.actions-column{text-align:center;width:72px}.cell-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-width:220px;overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:normal;word-break:normal}.cell-ellipsis,.cell-phone{white-space:nowrap}.cell-ellipsis{max-width:190px;overflow:hidden;text-overflow:ellipsis}.confirm-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.confirm-box{background:#fff;border-radius:10px;box-shadow:0 10px 30px #00000040;padding:25px;text-align:center;width:420px}.confirm-buttons{display:flex;gap:15px;justify-content:center;margin-top:25px}.btn-cancel{background:#6c757d}.btn-cancel,.btn-confirm{border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 18px}.btn-confirm{background:#dc3545}.notification{align-items:center;border-radius:8px;color:#fff;display:flex;font-weight:700;justify-content:space-between;margin-bottom:20px;padding:15px}.notification.success{background:#198754}.notification.error{background:#dc3545}.notification.warning{background:#ffc107;color:#000}.notification.info{background:#0dcaf0;color:#000}.notification button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px}.agency-assignment-dialog{max-height:calc(100vh - 40px);overflow:auto;padding:24px;width:min(620px,calc(100vw - 32px))}.agency-assignment-dialog footer,.agency-assignment-dialog header{align-items:center;display:flex;gap:16px;justify-content:space-between}.agency-assignment-dialog header{border-bottom:1px solid #dce7df;padding-bottom:14px}.agency-assignment-dialog h2,.agency-assignment-dialog p{margin:0}.agency-assignment-dialog footer{border-top:1px solid #dce7df;justify-content:flex-end;margin-top:18px;padding-top:16px}.agency-choice-list{grid-gap:10px;display:grid;gap:10px;margin-top:18px}.agency-choice-list label{grid-gap:12px;align-items:start;border:1px solid #cfdcd2;border-radius:10px;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto 1fr;padding:13px}.agency-choice-list label:has(input:checked){background:#eff9f2;border-color:#176b3a}.agency-choice-list input{accent-color:#176b3a;height:20px;width:20px}.agency-choice-list small,.agency-choice-list span span{display:block;margin-top:3px}.agency-choice-list small{color:#65736a}.agency-assignment-dialog button{background:#176b3a;border:0;border-radius:8px;color:#fff;font-weight:700;min-height:42px;padding:0 18px}.agency-assignment-dialog .modal-close,.agency-assignment-dialog button.secondary{background:#eef2ef;color:#26352c}.agency-assignment-dialog button:disabled{cursor:not-allowed;opacity:.65}.pagination{display:flex;gap:8px;justify-content:center;margin-top:20px}.pagination button{background:#0b5ed7;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px}.pagination button.active{background:#198754;font-weight:700}.pagination button:disabled{background:#999;cursor:not-allowed}.products-page{margin:auto;max-width:1500px}.product-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.product-stats article{background:var(--card);border:1px solid var(--border);border-radius:10px;border-top:4px solid var(--asmovc-green);box-shadow:var(--shadow-sm);padding:16px}.product-stats article:nth-child(2){border-top-color:var(--asmovc-blue)}.product-stats article:nth-child(3){border-top-color:var(--asmovc-orange)}.product-stats article:nth-child(4){border-top-color:var(--asmovc-red)}.product-stats span{color:var(--text-light);display:block;font-size:12px}.product-stats strong{color:var(--text);display:block;font-size:20px;margin-top:6px}.row-actions{display:flex;gap:6px}.row-actions .btn{padding:7px 9px;white-space:nowrap}@media(max-width:760px){.product-stats{grid-template-columns:repeat(2,1fr)}}.loader-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.loader-spinner{animation:spin 1s linear infinite;border:5px solid #ddd;border-radius:50%;border-top-color:#0b5ed7;height:50px;width:50px}.loader-container p{font-weight:700;margin-top:15px}.registration-active-print-root{margin:16px auto;max-width:calc(100vw - 32px);width:186mm}.registration-sheet{background:#fff;box-sizing:border-box;color:#1e293b;font:9pt/1.25 Arial,sans-serif;margin:0;min-height:277mm;overflow:visible;padding:10mm;position:relative;width:100%}.registration-sheet section{border:1px solid #cbd5e1;margin-top:3mm;padding:2.5mm;position:relative;z-index:1}.registration-sheet h3{border-bottom:1px solid #176b4d;color:#176b4d;margin:0 0 1.5mm}.registration-field{grid-gap:3mm;display:grid;gap:3mm;grid-template-columns:38mm minmax(0,1fr);overflow-wrap:anywhere;padding:.8mm 0}.registration-photo{border:1px solid #94a3b8;height:34mm;object-fit:cover;position:absolute;right:10mm;top:30mm;width:28mm}.registration-signatures{grid-gap:4mm;display:grid;gap:4mm;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:5mm;min-height:27mm;position:relative;text-align:center;z-index:1}.registration-signatures>div{border-top:1px solid #64748b;display:flex;flex-direction:column;padding-top:2mm}.registration-signatures img{height:15mm;margin:auto;object-fit:contain;width:25mm}@media print{@page{size:A4 portrait;margin:10mm 12mm}body,html{background:#fff!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important;width:auto!important}body[data-registration-print] *{visibility:hidden!important}body[data-registration-print] .registration-active-print-root,body[data-registration-print] .registration-active-print-root *{visibility:visible!important}body[data-registration-print] .registration-print-dialog{background:#fff!important;display:block!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important;position:static!important;transform:none!important;width:auto!important}body[data-registration-print] .registration-active-print-root{margin:0 auto!important;padding:0!important;position:static!important}body[data-registration-print] .registration-active-print-root,body[data-registration-print] .registration-sheet{display:block!important;height:auto!important;max-width:186mm!important;min-height:0!important;opacity:1!important;overflow:visible!important;transform:none!important;width:186mm!important}body[data-registration-print] .registration-sheet{break-after:auto!important;margin:0!important;padding:8mm!important;page-break-after:auto!important;position:relative!important}body[data-registration-print] .no-print{display:none!important}}.modal-backdrop,.modal-overlay{align-items:center;background:#00000073;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.agriculteur-modal{background:#fff;border-radius:12px;box-shadow:0 10px 35px #00000040;max-width:1100px;overflow:hidden;width:90%}.modal-header{align-items:center;background:#2e7d32;color:#fff;display:flex;justify-content:space-between;padding:20px}.modal-body{background:#fafafa;min-height:400px;padding:25px}.modal-footer{background:#fff;border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-fermer{background:none;border:none;color:#fff;cursor:pointer;font-size:22px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #dcdcdc;border-radius:8px;font-size:15px;outline:none;padding:12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2e7d32;box-shadow:0 0 4px #2e7d324d}.form-group-full{grid-column:1/span 2}.modal-backdrop>.modal{background:#fff;border-radius:12px;box-shadow:0 10px 35px #00000040;max-height:92vh;overflow:auto;padding:22px;position:relative;width:min(1080px,94vw)}.modal-backdrop .modal-close{background:#0000;border:0;cursor:pointer;font-size:28px;position:absolute;right:14px;top:10px;z-index:2}.registration-form-modal{max-height:92vh;overflow:auto;width:min(1080px,94vw)}.professional-registration-form fieldset,.registration-form-modal fieldset{border:1px solid #cbd5e1;border-radius:8px;margin:12px 0;padding:14px}.professional-registration-form legend,.registration-form-modal legend{color:#176b4d;font-weight:800}.professional-registration-form fieldset,.registration-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.professional-registration-form label,.registration-form-grid label{display:flex;flex-direction:column;gap:5px}.settings-page{margin:auto;max-width:1400px}.settings-section{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px}.settings-section h2{color:var(--text);margin:0 0 16px}.settings-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid label{grid-gap:6px;color:var(--text-light);display:grid;font-size:13px;gap:6px}.settings-grid input,.settings-grid textarea{border:1px solid var(--border);border-radius:8px;padding:10px}.settings-options{grid-gap:10px;display:grid;gap:10px}.settings-options label{align-items:center;display:flex;gap:9px}.settings-readonly{background:color-mix(in srgb,var(--asmovc-blue) 10%,var(--card));border-left:4px solid var(--asmovc-blue);padding:12px}.settings-save{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;bottom:10px;display:flex;gap:10px;justify-content:flex-end;padding:12px;position:-webkit-sticky;position:sticky;z-index:5}.settings-save span{color:var(--text-light);margin-right:auto}.branding-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.branding-card{border:1px solid var(--border);border-radius:10px;padding:15px}.branding-preview{background:var(--background);border-radius:8px;display:grid;height:160px;margin:12px 0;place-items:center}.branding-preview img{max-height:150px;max-width:100%;object-fit:contain}.branding-preview span{color:var(--text-light);font-size:32px;font-weight:800;text-align:center}.branding-preview small{display:block;font-size:11px;font-weight:400}.branding-actions{display:flex;gap:8px;margin-top:12px}@media(max-width:800px){.branding-grid,.settings-grid{grid-template-columns:1fr}}.workflow-panel{background:#fff;border-radius:10px;margin:12px auto;max-width:900px;padding:14px}.workflow-panel h3{color:var(--asmovc-green);margin-top:0}.workflow-buttons{display:flex;flex-wrap:wrap;gap:8px}.workflow-buttons button{background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:8px 12px}.workflow-timeline{color:#475569;font-size:.85rem;max-height:150px;overflow:auto}.print-dialog{background:#0f172ac7;inset:0;overflow:auto;padding:20px;position:fixed;z-index:10000}.print-dialog-panel{min-height:100%}.print-dialog-toolbar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 6px 24px #0003;display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.print-dialog-toolbar h2{margin:0 auto 0 0}.print-dialog-toolbar button,.print-dialog-toolbar select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px}.print-dialog-toolbar button{cursor:pointer}.format-marker{color:#475569;font-size:.85rem}.print-preview{background:#fff;box-shadow:0 8px 30px #0005;color:#111;margin:22px auto}.preview-a4{min-height:297mm;width:210mm}.preview-thermal_58{width:58mm}.preview-thermal_85{width:85mm}.invoice-document{background:#fff;color:#111;font-family:Arial,sans-serif}.invoice-document,.invoice-document *{box-sizing:border-box}.invoice-document header{display:flex}.document-logo{height:82px;height:var(--logo-size,82px);object-fit:contain;width:82px;width:var(--logo-size,82px)}.organisation{display:flex;flex-direction:column;gap:3px}.invoice-a4{min-height:297mm;padding:12mm 14mm 18mm;position:relative}.invoice-a4 header{grid-gap:10px;align-items:start;border-bottom:2px solid #176b4d;display:grid;gap:10px;grid-template-columns:90px 1fr 58mm;padding-bottom:8mm}.document-title{display:flex;flex-direction:column;gap:4px;text-align:right}.document-title h1{color:#176b4d;margin:0}.invoice-info{grid-gap:12mm;display:grid;gap:12mm;grid-template-columns:1fr 1fr;margin:8mm 0}.info-card{display:flex;flex-direction:column;gap:4px}.info-card h3{color:#176b4d;margin:0 0 4px}.invoice-items{border-collapse:collapse;table-layout:fixed;width:100%}.invoice-items thead{display:table-header-group}.invoice-items tr{break-inside:avoid;page-break-inside:avoid}.invoice-items td,.invoice-items th{border-bottom:1px solid #d7dee4;padding:7px}.invoice-items th{background:#176b4d;color:#fff}.invoice-items td:first-child,.invoice-items th:first-child{overflow-wrap:anywhere;text-align:left;width:39%}.invoice-items td:not(:first-child),.invoice-items th:not(:first-child){text-align:right;white-space:nowrap}.invoice-ending{break-inside:avoid;margin-top:9mm;page-break-inside:avoid}.invoice-totals{border-top:1px solid #94a3b8;margin-left:auto;padding-top:5px;width:76mm}.invoice-totals>div{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr auto;padding:4px 0}.invoice-totals strong{text-align:right;white-space:nowrap}.invoice-totals .grand{border-top:2px solid #176b4d;font-size:1.08em;margin-top:3px;padding-top:7px}.invoice-totals .balance{background:#e8f5ef;font-size:1.1em;padding:7px}.invoice-notes{margin:8mm 0}.document-approval{break-inside:avoid;margin:12mm 0 4mm;page-break-inside:avoid;text-align:center}.approval-images{align-items:center;display:flex;gap:14mm;justify-content:center;min-height:30mm}.approval-images img{height:28mm;object-fit:contain;width:38mm}.approval-signatory{display:flex;flex-direction:column;gap:3px}.invoice-a4>footer{bottom:7mm;left:14mm;position:absolute;right:14mm}@media(max-width:900px){.print-dialog{padding:5px}.print-preview{transform-origin:top left}.preview-a4{min-height:auto;width:100%}.invoice-a4{padding:20px}.invoice-a4 header{grid-template-columns:70px 1fr}.document-title{grid-column:1/-1;text-align:left}.invoice-info{grid-template-columns:1fr}.invoice-a4>footer{margin-top:20px;position:static}}.invoice-thermal{font-family:Courier New,monospace;font-size:10px;font-size:calc(10px*var(--thermal-scale,1));line-height:1.3;overflow-wrap:anywhere;padding:4mm;padding:var(--thermal-left,4mm) var(--thermal-right,4mm)}.invoice-thermal header{align-items:center;flex-direction:column;gap:4px;text-align:center}.invoice-thermal .document-logo{filter:grayscale(1);margin:auto}.invoice-thermal .organisation{align-items:center}.thermal-rule{border-top:1px dashed #111;margin:7px 0}.thermal-meta,.thermal-meta .info-card{display:flex;flex-direction:column;gap:2px}.thermal-meta .info-card h3{display:none}.thermal-items{grid-gap:7px;display:grid;gap:7px}.thermal-item{break-inside:avoid;display:grid;grid-template-columns:1fr auto;page-break-inside:avoid}.thermal-item strong{grid-column:1/-1}.thermal-item b{text-align:right;white-space:nowrap}.invoice-thermal .invoice-totals{border:0;margin:0;width:100%}.invoice-thermal .invoice-totals .balance{background:none;border:2px solid #111}.invoice-thermal .document-approval{margin:8px 0}.invoice-thermal .approval-images{gap:5px;min-height:0}.invoice-thermal .approval-images img{height:18mm;max-width:42%}.invoice-thermal footer{border-top:1px dashed #111;margin-top:8px;padding-top:6px;text-align:center}.thermal-58 .approval-images{flex-direction:column}.thermal-58 .document-logo{max-height:18mm;max-width:18mm}.thermal-85 .document-logo{max-height:24mm;max-width:24mm}.invoice-a4 .invoice-a4-header{grid-gap:8mm;align-items:start;border-bottom:2px solid #176b4d;display:grid;gap:8mm;grid-template-columns:minmax(0,62fr) minmax(58mm,38fr);padding-bottom:5mm}.invoice-brand-identity{grid-gap:4mm;align-items:start;display:grid;gap:4mm;grid-template-columns:auto minmax(0,1fr);min-width:0}.invoice-brand-identity .organisation{min-width:0}.invoice-brand-identity .organisation span{overflow-wrap:break-word;word-break:normal}.invoice-a4 .document-title{align-items:flex-end;grid-column:auto;min-width:0;text-align:right}.invoice-a4 .document-title h1{line-height:1}.invoice-a4 .document-title span{max-width:100%}.document-approval{margin:10mm 0 0}.approval-signatory{align-items:center;margin-top:2mm}.invoice-a4>footer{border-top:1px solid #cbd5e1;bottom:auto;break-inside:avoid;color:#475569;font-size:8pt;left:auto;margin-top:8mm;padding-top:3mm;page-break-inside:avoid;position:static;right:auto;text-align:center}.invoice-thermal .document-approval{margin:5mm 0 0}.invoice-thermal footer{break-inside:avoid;margin-top:6mm;padding-top:2mm;page-break-inside:avoid}@media screen and (max-width:900px){.invoice-a4 .invoice-a4-header{grid-template-columns:1fr}.invoice-a4 .document-title{align-items:flex-start;text-align:left}}.invoice-a4 .invoice-a4-header{column-gap:6mm;grid-template-columns:minmax(0,1fr) 52mm;width:100%}.invoice-a4 .invoice-brand-identity .document-logo{height:24mm;max-height:24mm;max-width:24mm;width:24mm}.invoice-a4 .invoice-brand-identity .organisation{font-size:9pt;line-height:1.25}.invoice-a4 .document-title{font-size:9pt;line-height:1.2;overflow-wrap:anywhere;white-space:normal;width:52mm}.invoice-a4 .document-title h1{font-size:22pt;white-space:normal}.invoice-a4 .invoice-info{gap:6mm;margin:5mm 0}.invoice-a4 .invoice-ending{margin-top:5mm}.invoice-a4 .document-approval{margin-top:7mm}.invoice-a4 .invoice-a4-header{column-gap:3mm;grid-template-columns:minmax(0,1fr) 48mm;max-width:100%}.invoice-a4 .invoice-brand-identity{column-gap:3mm}.invoice-a4 .invoice-brand-identity .document-logo{height:22mm;max-height:22mm;max-width:22mm;width:22mm}.invoice-a4 .invoice-brand-identity .organisation{font-size:8.25pt;line-height:1.18}.invoice-a4 .invoice-brand-identity .organisation strong{font-size:10.5pt}.invoice-a4 .invoice-a4-meta{box-sizing:border-box;font-size:8.75pt;line-height:1.25;max-width:48mm;min-width:0;overflow:visible;padding-right:2mm;width:48mm}.invoice-a4 .invoice-a4-meta span{display:block;overflow-wrap:anywhere;white-space:normal;width:100%}.invoice-a4 .invoice-a4-title{display:block;font-size:21pt;line-height:1;max-width:100%;overflow-wrap:anywhere;width:100%}.invoice-document{overflow:hidden;position:relative}.invoice-document>:not(.document-watermark){position:relative;z-index:1}.dispatch-copy>.document-watermark,.dispatch-ticket>.document-watermark,.invoice-document .document-watermark,.registration-sheet>.document-watermark{height:auto;left:50%;max-height:75%;object-fit:contain;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(var(--watermark-rotation,0deg));-webkit-user-select:none;user-select:none;z-index:0}.document-approval{clear:both}.document-approval .approval-images{grid-gap:10mm;align-items:center;display:grid;justify-content:center;margin-inline:auto;max-width:120mm}.document-approval .approval-seal img{object-fit:contain;width:30mm}.document-approval .approval-signature img{object-fit:contain;width:44mm}.invoice-thermal .approval-images{max-width:76mm}.invoice-thermal .approval-seal img{height:16mm}.invoice-thermal .approval-signature img{height:16mm;width:30mm}.thermal-58 .approval-images{grid-gap:2mm;align-items:center;gap:2mm;grid-template-columns:18mm 28mm;justify-content:center;max-width:50mm}.thermal-58 .approval-seal img{max-height:17mm;width:17mm}.thermal-58 .approval-signature img{max-height:17mm;width:27mm}.thermal-58 .approval-signatory{margin-top:1.5mm;width:100%}.invoice-document{letter-spacing:normal}@media print{.document-approval,.invoice-ending{break-inside:avoid;page-break-inside:avoid}}.document-approval .approval-images{gap:10mm;grid-template-columns:auto auto;max-width:110mm}.document-approval .approval-seal img{display:block;height:26mm;width:28mm}.document-approval .approval-signature img{display:block;height:26mm;width:46mm}.document-approval .approval-signatory{align-items:center;margin-top:2mm;text-align:center}.invoice-thermal .approval-images{gap:4mm;max-width:74mm}.invoice-thermal .approval-seal img{height:17mm;width:20mm}.invoice-thermal .approval-signature img{height:17mm;width:32mm}.thermal-58 .approval-images{grid-gap:2.5mm;display:grid;gap:2.5mm;grid-template-columns:16mm 26mm;max-width:46mm}.thermal-58 .approval-seal img{height:auto;max-height:16mm;width:16mm}.thermal-58 .approval-signature img{height:auto;max-height:16mm;width:26mm}.document-verification-block{align-items:center;background:#fff;box-sizing:border-box;break-inside:avoid;color:#111;display:flex;flex-direction:column;gap:1mm;justify-content:center;margin:4mm auto 2mm;max-width:100%;padding:1.5mm;page-break-inside:avoid;position:relative;text-align:center;width:-webkit-max-content;width:max-content;z-index:4}.document-verification-block img{background:#fff;display:block;object-fit:contain}.document-verification-block span{font-size:8pt}.document-verification-block b{font-size:7.5pt;letter-spacing:.04em}.qr-thermal_58,.qr-thermal_85{margin:2mm auto;padding:1mm}.qr-thermal_58 b,.qr-thermal_58 span{font-size:6.5pt;max-width:50mm;overflow-wrap:anywhere}.verification-page{background:#fff;border:1px solid #ddd;border-radius:8px;border-top:8px solid #168b62;font-family:Arial,sans-serif;margin:4rem auto;max-width:720px;padding:2rem}.verification-page.invalid,.verification-page.status-annule{border-top-color:#b42318}.verification-page>img{max-height:70px;max-width:90px}.verification-page h1{color:#168b62}.verification-page.invalid h1,.verification-page.status-annule h1{color:#b42318}.verification-page dl{grid-gap:.65rem 1rem;display:grid;gap:.65rem 1rem;grid-template-columns:minmax(140px,1fr) 2fr}.verification-page dt{font-weight:700}.verification-page dd{margin:0;overflow-wrap:anywhere}@media print{@page{size:A4 portrait;margin:8mm 12mm}body[data-invoice-print=a4]>#root{display:none!important}body[data-invoice-print=a4] .print-dialog{background:#fff;overflow:visible;padding:0;position:static}body[data-invoice-print=a4] .print-dialog-toolbar{display:none!important}body[data-invoice-print=a4] .print-preview{box-shadow:none;margin:0 auto;max-width:184mm;overflow:visible;width:184mm}body[data-invoice-print=a4] .invoice-a4{box-sizing:border-box;height:auto;margin:0 auto;max-width:184mm;min-height:0;overflow:visible;padding:0 2mm;width:184mm}body[data-invoice-print=a4] .invoice-a4,body[data-invoice-print=a4] .invoice-a4 *{box-sizing:border-box}body[data-invoice-print=a4] .invoice-a4-header{grid-column-gap:3mm;align-items:start;box-sizing:border-box;column-gap:3mm;display:grid;grid-template-columns:minmax(0,1fr) 48mm;max-width:100%;width:100%}body[data-invoice-print=a4] .invoice-brand-identity{column-gap:3mm;min-width:0}body[data-invoice-print=a4] .invoice-brand-identity .document-logo{height:22mm;max-height:22mm;max-width:22mm;width:22mm}body[data-invoice-print=a4] .invoice-brand-identity .organisation{font-size:8.25pt;line-height:1.18;min-width:0}body[data-invoice-print=a4] .invoice-brand-identity .organisation strong{font-size:10.5pt;font-weight:700}body[data-invoice-print=a4] .invoice-brand-identity .organisation span{overflow-wrap:anywhere;white-space:normal}body[data-invoice-print=a4] .invoice-a4-meta{align-items:flex-end;box-sizing:border-box;font-size:8.75pt;line-height:1.25;max-width:48mm;min-width:0;overflow:visible;padding-right:2mm;text-align:right;white-space:normal;width:48mm}body[data-invoice-print=a4] .invoice-a4-meta span,body[data-invoice-print=a4] .invoice-a4-title{display:block;max-width:100%;overflow:visible;overflow-wrap:anywhere;white-space:normal;width:100%}body[data-invoice-print=a4] .invoice-a4-title{font-size:21pt;line-height:1;margin:0}body[data-invoice-print=a4] .invoice-info{gap:6mm;margin:5mm 0}body[data-invoice-print=a4] .invoice-items{max-width:100%;table-layout:fixed;width:100%}body[data-invoice-print=a4] .invoice-items td:first-child,body[data-invoice-print=a4] .invoice-items th:first-child{overflow-wrap:anywhere;white-space:normal;width:40%}body[data-invoice-print=a4] .invoice-items td:nth-child(2),body[data-invoice-print=a4] .invoice-items th:nth-child(2){width:12%}body[data-invoice-print=a4] .invoice-items td:nth-child(3),body[data-invoice-print=a4] .invoice-items th:nth-child(3){width:18%}body[data-invoice-print=a4] .invoice-items td:nth-child(4),body[data-invoice-print=a4] .invoice-items th:nth-child(4){width:12%}body[data-invoice-print=a4] .invoice-items td:nth-child(5),body[data-invoice-print=a4] .invoice-items th:nth-child(5){width:18%}body[data-invoice-print=a4] .invoice-ending{break-inside:avoid;margin-top:5mm;page-break-inside:avoid}body[data-invoice-print=a4] .document-approval{break-inside:avoid;margin-top:7mm;page-break-inside:avoid}body[data-invoice-print=a4] .document-approval .approval-images{gap:7mm;max-width:95mm}body[data-invoice-print=a4] .document-approval .approval-seal img{height:24mm;width:27mm}body[data-invoice-print=a4] .document-approval .approval-signature img{height:24mm;width:43mm}body[data-invoice-print=a4] .invoice-a4>footer{break-inside:avoid;margin-top:7mm;page-break-inside:avoid}body[data-invoice-print=a4] .invoice-items thead{display:table-header-group}body[data-invoice-print=a4] .invoice-items tr{break-inside:avoid;page-break-inside:avoid}body[data-invoice-print=thermal_58]>#root{display:none!important}body[data-invoice-print=thermal_58] .print-dialog{background:#fff;overflow:visible;padding:0;position:static}body[data-invoice-print=thermal_58] .print-preview{box-shadow:none;margin:0;width:58mm}body[data-invoice-print=thermal_58] .invoice-thermal{min-height:0;width:58mm}body[data-invoice-print=thermal_58] .invoice-a4,body[data-invoice-print=thermal_58] .thermal-85,body[data-invoice-print=thermal_85]>#root{display:none!important}body[data-invoice-print=thermal_85] .print-dialog{background:#fff;overflow:visible;padding:0;position:static}body[data-invoice-print=thermal_85] .print-preview{box-shadow:none;margin:0;width:85mm}body[data-invoice-print=thermal_85] .invoice-thermal{min-height:0;width:85mm}body[data-invoice-print=thermal_85] .invoice-a4,body[data-invoice-print=thermal_85] .thermal-58{display:none!important}}@media print{@page{size:58mm auto;margin:0}}@media print{@page{size:85mm auto;margin:0}}.purchase-order-a4{--po-green:#0b5a25;background:#fff;color:#111827;font:8.2pt/1.15 Arial,Helvetica,sans-serif;margin:0 auto;max-width:190mm;min-height:0;overflow:visible;padding:0;position:relative;print-color-adjust:exact;-webkit-print-color-adjust:exact;width:190mm}.purchase-order-a4,.purchase-order-a4 *{box-sizing:border-box}.purchase-order-a4>:not(.document-watermark){position:relative;z-index:1}.po-header{grid-gap:5mm;align-items:center;border:1.2px solid var(--po-green)!important;border-radius:2.5mm;display:grid!important;gap:5mm;grid-template-columns:minmax(0,1fr) 76mm;padding:4mm!important}.po-brand{grid-gap:4mm;align-items:center;display:grid;gap:4mm;grid-template-columns:24mm minmax(0,1fr);min-width:0}.po-logo{height:24mm;object-fit:contain;width:24mm}.po-identity{display:flex;flex-direction:column;line-height:1.12;min-width:0}.po-identity strong{color:#08752c;font-size:19pt;line-height:1.05}.po-identity span{font-size:8pt;line-height:1.15;overflow-wrap:anywhere}.po-identity em{color:#c81e1e;font-size:8pt;font-style:normal;font-weight:800}.po-title-block{min-width:0;text-align:right}.po-title-block h1{font-size:18pt;line-height:1.05;margin:0 0 1.5mm;white-space:nowrap}.po-title-block>strong{background:linear-gradient(#137437,#063f19);border-radius:1.5mm;color:#fff;display:inline-block;font-size:10pt;padding:1.1mm 3.5mm}.po-title-block>div{display:flex;font-size:8.2pt;gap:4mm;justify-content:flex-end;margin-top:1.5mm}.po-info-grid{grid-gap:4mm;display:grid;gap:4mm;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:3mm}.po-box{border:1px solid #777;border-radius:1.8mm;padding:4mm 3mm 2mm;position:relative}.po-box-title{background:linear-gradient(#137437,#063f19);border-radius:1mm;color:#fff;font-size:9pt;left:0;line-height:1;margin:0;min-width:43mm;padding:.9mm 2.5mm;position:absolute;text-transform:uppercase;top:-3.4mm}.po-field{grid-gap:1.5mm;align-items:end;display:grid;font-size:8.2pt;gap:1.5mm;grid-template-columns:35mm minmax(0,1fr);min-height:4.4mm}.po-field span{border-bottom:.4px solid #777;min-height:3.5mm;overflow-wrap:anywhere}.po-items{border-collapse:collapse;margin-top:3mm;table-layout:fixed;width:100%}.po-items td,.po-items th{border:.5px solid #555;font-size:8pt;height:7mm;line-height:1.1;overflow-wrap:anywhere;padding:1.5mm;text-align:center}.po-items thead th{background:linear-gradient(#137437,#063f19);color:#fff;text-transform:uppercase}.po-items thead th:first-child{width:7mm}.po-items thead th:nth-child(2){width:60mm}.po-items thead th:nth-child(3){width:18mm}.po-items thead th:nth-child(4){width:15mm}.po-items th small{display:block;font-size:6.5pt}.po-items td:nth-child(2){text-align:left}.po-items td:nth-child(4){text-align:center}.po-items td:nth-child(n+5),.po-items tfoot th:last-child{text-align:right}.po-empty-row{height:7mm}.po-items tfoot th:first-child{text-align:right}.po-lower-grid{grid-gap:4mm;break-inside:avoid;display:grid;gap:4mm;grid-template-columns:1.15fr .85fr;margin-top:3mm;page-break-inside:avoid}.po-totals{padding-top:3.5mm}.po-totals .po-field{grid-template-columns:minmax(0,1fr) 34mm}.po-totals .po-field span{border:0;font-weight:700;text-align:right}.po-grand-total{background:#d8eadb;display:grid;font-size:8.5pt;grid-template-columns:minmax(0,1fr) 34mm;margin:.7mm -3mm;padding:1.1mm 3mm}.po-grand-total strong{text-align:right}.po-signatures{grid-gap:3mm;break-inside:avoid;display:grid;gap:3mm;grid-template-columns:1fr 1fr 28mm 1.15fr;margin-top:3mm;page-break-inside:avoid}.po-signatures>div{border:1px solid #777;border-radius:1.8mm;min-height:27mm;padding:1.5mm;text-align:center}.po-signatures .po-field{font-size:7.5pt;grid-template-columns:13mm minmax(0,1fr);margin-top:.8mm;text-align:left}.po-qr,.po-seal{align-items:center;display:flex;flex-direction:column;gap:.5mm}.po-qr .document-verification-block{gap:0!important;margin:0!important;padding:0!important;width:24mm!important}.po-qr .document-verification-block img{height:18mm!important;width:18mm!important}.po-qr .document-verification-block b,.po-qr .document-verification-block span{font-size:5pt;line-height:1}.po-seal{align-content:flex-start;flex-flow:row wrap;justify-content:center}.po-seal>b,.po-seal>small,.po-seal>span{width:100%}.po-seal img{max-height:14mm;max-width:20mm;object-fit:contain}.purchase-order-a4>footer{border-top:1px solid #bbb;color:#475569;font-size:7pt;margin-top:2mm;padding-top:1mm;text-align:center}@media screen and (max-width:900px){.purchase-order-a4{width:190mm}}.po-services{min-height:40mm}.po-services-content{grid-gap:2mm;display:grid;gap:2mm;grid-template-columns:34mm minmax(0,1fr)}.po-services ul{list-style:none;margin:0;padding:0}.po-services li{align-items:center;display:flex;font-size:7.5pt;gap:1.5mm;min-height:3.7mm}.po-services li i{border:1px solid #555;display:block;height:2.3mm;width:2.3mm}.po-services table{border-collapse:collapse;table-layout:fixed;width:100%}.po-services td,.po-services th{border:.5px solid #777;font-size:7pt;height:4.5mm;padding:.6mm;text-align:center}.po-services thead th{background:linear-gradient(#137437,#063f19);color:#fff;text-transform:uppercase}.po-services thead th:first-child{width:21mm}.po-services thead th:nth-child(3){width:20mm}.po-services th small{display:block;font-size:5.5pt}.po-balance{color:#c81e1e;display:grid;grid-template-columns:minmax(0,1fr) 34mm;margin:0 -3mm;padding:1mm 3mm}.po-balance strong{text-align:right}.po-conditions.po-box{grid-gap:4mm;break-inside:avoid;display:grid;gap:4mm;grid-template-columns:1.2fr .9fr;margin-top:3mm;min-height:23mm;padding-top:4mm;page-break-inside:avoid}.po-conditions>div p{border-bottom:.4px solid #777;margin:.8mm 0;min-height:4mm}.po-conditions aside{border-left:1px solid #999;padding-left:3mm}.po-conditions aside .po-field{grid-template-columns:32mm minmax(0,1fr)}.po-converted-total{grid-gap:2mm;color:#0b5a25;display:grid;gap:2mm;grid-template-columns:minmax(0,1fr) auto;margin-top:.8mm}.po-converted-total strong{text-align:right}@media print{@page{size:A4 portrait;margin:8mm 10mm}body,html{background:#fff!important;height:auto!important;margin:0!important;min-height:0!important;overflow:visible!important;padding:0!important;width:auto!important}body[data-invoice-print=a4] .app-header,body[data-invoice-print=a4] .app-sidebar,body[data-invoice-print=a4] .business-module>:not(.print-dialog),body[data-invoice-print=a4] .layout-main>header,body[data-invoice-print=a4] .modal-backdrop,body[data-invoice-print=a4] .modal-overlay-controls,body[data-invoice-print=a4] .print-dialog-toolbar,body[data-invoice-print=a4] .print-dialog>:not(.print-preview),body[data-invoice-print=a4] .sidebar,body[data-invoice-print=a4] .sidebar-backdrop{display:none!important}body[data-invoice-print=a4] .business-module,body[data-invoice-print=a4] .layout,body[data-invoice-print=a4] .layout-content,body[data-invoice-print=a4] .layout-main,body[data-invoice-print=a4] .print-dialog,body[data-invoice-print=a4] .print-preview,body[data-invoice-print=a4]>#root{background:#fff!important;box-shadow:none!important;display:block!important;height:auto!important;inset:auto!important;margin:0!important;max-width:none!important;min-height:0!important;overflow:visible!important;padding:0!important;position:static!important;transform:none!important;width:auto!important}body[data-invoice-print=a4] #purchase-order-active-print-root{break-inside:avoid!important;display:block!important;height:auto!important;margin:0 auto!important;max-height:281mm!important;max-width:190mm!important;min-height:0!important;overflow:visible!important;padding:0!important;page-break-inside:avoid!important;position:static!important;width:190mm!important}body[data-invoice-print=a4] #purchase-order-active-print-root,body[data-invoice-print=a4] #purchase-order-active-print-root *{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}body[data-invoice-print=a4] #purchase-order-active-print-root>footer,body[data-invoice-print=a4] .po-conditions,body[data-invoice-print=a4] .po-header,body[data-invoice-print=a4] .po-info-grid,body[data-invoice-print=a4] .po-items,body[data-invoice-print=a4] .po-lower-grid,body[data-invoice-print=a4] .po-signatures{break-inside:avoid!important;page-break-inside:avoid!important}::-webkit-scrollbar{display:none!important;height:0!important;width:0!important}}.receipt-document{background:#fff;color:#111;font-family:Arial,sans-serif;overflow:visible;position:relative}.receipt-document,.receipt-document *{box-sizing:border-box}.receipt-content{position:relative;z-index:1}.receipt-header{align-items:flex-start;display:flex}.receipt-logo{flex:0 0 auto;object-fit:contain}.receipt-identity{display:flex;flex-direction:column;min-width:0}.receipt-identity span{overflow-wrap:break-word}.receipt-title{border-block:1px solid #176b4d;text-align:center}.receipt-title h1{color:#176b4d;margin:0}.receipt-sections section{border:1px solid #cbd5e1}.receipt-sections h2{border-bottom:1px solid #176b4d;color:#176b4d;margin:0}.receipt-detail{grid-gap:2mm;display:grid;gap:2mm;grid-template-columns:minmax(0,1fr) auto}.receipt-detail b{overflow-wrap:anywhere;text-align:right}.receipt-detail.is-strong{font-size:1.08em}.receipt-document .document-verification-block{align-items:center;break-inside:avoid;display:flex;flex-direction:column;page-break-inside:avoid;text-align:center}.receipt-document footer{border-top:1px dashed #64748b;display:flex;flex-direction:column;text-align:center}.receipt-a4{font-size:9pt;line-height:1.25;min-height:277mm;padding:9mm;page:receiptA4;width:186mm}.receipt-a4 .receipt-header{gap:5mm}.receipt-a4 .receipt-logo{height:22mm;width:22mm}.receipt-a4 .receipt-identity strong{font-size:15pt}.receipt-a4 .receipt-title{margin:5mm 0;padding:3mm}.receipt-a4 .receipt-title h1{font-size:20pt}.receipt-a4 .receipt-sections{grid-gap:4mm;display:grid;gap:4mm;grid-template-columns:1fr 1fr}.receipt-a4 .receipt-payment{grid-column:1/-1}.receipt-a4 .receipt-sections section{padding:3mm}.receipt-a4 .receipt-sections h2{font-size:10pt;margin-bottom:2mm}.receipt-a4 .receipt-detail{padding:1mm 0}.receipt-a4 footer{font-size:8pt;gap:1mm;margin-top:5mm;padding-top:3mm}.receipt-thermal{font-size:7.5pt;font-size:calc(7.5pt*var(--thermal-scale,1));line-height:1.15;overflow-wrap:normal;padding:0}.receipt-thermal .receipt-header{gap:2mm}.receipt-thermal .receipt-logo{height:11mm;width:11mm}.receipt-thermal .receipt-identity{font-size:6.25pt;gap:.4mm;line-height:1.12}.receipt-thermal .receipt-identity strong{font-size:9.5pt}.receipt-thermal .receipt-title{margin:2mm 0;padding:1.5mm 0}.receipt-thermal .receipt-title h1{font-size:13pt;line-height:1.05}.receipt-thermal .receipt-title b{display:block;font-size:7.5pt;margin-top:.6mm}.receipt-thermal .receipt-sections{display:block}.receipt-thermal .receipt-sections section{margin-top:1.5mm;padding:1.5mm}.receipt-thermal .receipt-sections h2{font-size:7.5pt;margin-bottom:1mm}.receipt-thermal .receipt-detail{padding:.45mm 0}.receipt-thermal .receipt-detail b{max-width:31mm}.receipt-thermal .document-verification-block{font-size:6.25pt;margin:2mm auto}.receipt-thermal .document-approval{margin:2mm 0}.receipt-thermal .approval-images{gap:2mm;min-height:0}.receipt-thermal .approval-images img{height:15mm;max-width:17mm;width:auto}.receipt-thermal .approval-signatory{font-size:6.25pt}.receipt-thermal footer{font-size:6.25pt;gap:.5mm;margin-top:2mm;padding-top:1.5mm}.receipt-thermal-58{max-width:54mm;max-width:var(--receipt-content-width,54mm);page:receipt58;width:54mm;width:var(--receipt-content-width,54mm)}.receipt-thermal-58 .approval-images{flex-direction:row}.receipt-thermal-85{max-width:76mm;max-width:var(--receipt-content-width,76mm);page:receipt85;width:76mm;width:var(--receipt-content-width,76mm)}.receipt-thermal-85 .receipt-detail b{max-width:50mm}@page receiptA4{size:A4 portrait;margin:10mm 12mm}@page receipt58{size:58mm auto;margin:2mm}@page receipt85{size:85mm auto;margin:4.5mm}@media print{body[data-receipt-print] *{visibility:hidden!important}body[data-receipt-print] #receipt-active-print-root,body[data-receipt-print] #receipt-active-print-root *{visibility:visible!important}body[data-receipt-print] .print-dialog{background:#fff!important;display:block!important;height:auto!important}body[data-receipt-print] .print-dialog,body[data-receipt-print] .print-preview{margin:0!important;overflow:visible!important;padding:0!important;position:static!important;width:auto!important}body[data-receipt-print] .print-preview{box-shadow:none!important;min-height:0!important}body[data-receipt-print] #receipt-active-print-root{display:block!important;height:auto!important;margin:0 auto!important;min-height:0!important;opacity:1!important;overflow:visible!important;position:static!important;transform:none!important}body[data-receipt-print] .no-print{display:none!important}}.business-module{margin:auto;max-width:1400px}.business-head{align-items:end;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.business-head p{color:#16803a;font-weight:700;margin:0}.business-head h1{font-size:2rem;margin:4px 0}.business-form input,.business-head input{background:#fff;background:var(--card-bg,#fff);border:1px solid #d7e0d8;border-radius:9px;color:inherit;padding:11px}.business-form{grid-gap:14px;background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 4px 18px #0000000d;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px;padding:18px}.business-form label{display:flex;flex-direction:column;font-weight:600;gap:6px}.business-form button,.business-table-wrap button{align-self:end;background:#16803a;border:0;border-radius:8px;color:#fff;cursor:pointer;padding:10px 14px}.business-form .secondary{background:#667085}.business-error{background:#fee4e2;border-radius:8px;color:#b42318;margin-bottom:14px;padding:12px}.business-table-wrap{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 4px 18px #0000000d;overflow:auto}.business-table-wrap table{border-collapse:collapse;width:100%}.business-table-wrap td,.business-table-wrap th{border-bottom:1px solid #eef2ee;padding:12px;text-align:left;white-space:nowrap}.business-table-wrap th{background:#edf8f0;color:#14532d}.business-table-wrap button{margin-right:6px;padding:7px 9px}.business-table-wrap .danger{background:#b42318}@media(max-width:700px){.business-head{align-items:stretch;flex-direction:column}.business-head input{width:100%}}.dispatch-print-preview{background:#e2e8f0;max-height:82vh;overflow-y:auto;padding:20px}.dispatch-print-content{overflow:visible}.dispatch-a4-landscape,.dispatch-a4-one-page{--dispatch-color:#176b4d;color:#14213d;font:6.35pt/1.05 Arial,sans-serif}.color-bleu{--dispatch-color:#1677e8}.color-jaune{--dispatch-color:#d98b00}.color-rouge{--dispatch-color:#b42318}.dispatch-a4-landscape{grid-gap:6mm;display:grid;gap:6mm;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 auto;page:dispatchLandscape;width:285mm}.dispatch-a4-one-page{align-content:center;box-sizing:border-box;display:grid;grid-template-rows:140mm 3mm 140mm;height:285mm;margin:0 auto;overflow:hidden;page:dispatchPortrait;width:196mm}.dispatch-cut-line{border-top:.3mm dashed #777;box-sizing:border-box;height:3mm;text-align:center;width:100%}.dispatch-cut-line span{background:#fff;color:#475569;font-size:5.5pt;padding:0 2mm;position:relative;top:-1.8mm}.dispatch-copy{background:#fff;border:1px solid #94a3b8;box-sizing:border-box;min-height:0;min-width:0;overflow:hidden;padding:1.6mm 2mm;position:relative}.dispatch-a4-single-page .dispatch-coupon{height:100%;max-height:140mm;min-height:0;width:100%}.dispatch-copy-content{position:relative;z-index:1}.dispatch-copy-label{color:var(--dispatch-color);display:block;font-size:7pt;text-align:center}.dispatch-institutional-header{align-items:center;border-bottom:1px solid var(--dispatch-color);box-sizing:border-box;display:flex;gap:1.5mm;max-height:22mm;padding:.35mm 0}.dispatch-institutional-header>img{max-height:17mm;object-fit:contain;width:15mm}.dispatch-institutional-header>div{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.dispatch-institutional-header strong{font-size:8pt}.dispatch-copy h1{color:var(--dispatch-color);font-size:9pt;margin:.6mm 0;text-align:center}.dispatch-meta{grid-gap:.3mm 3mm;display:grid;font-size:7pt;gap:.3mm 3mm;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dispatch-meta span{overflow-wrap:anywhere}.dispatch-copy table{border-collapse:collapse;font-size:6.5pt;margin-top:.6mm;table-layout:fixed;width:100%}.dispatch-copy col{width:12%}.dispatch-copy col.col-designation{width:28%}.dispatch-copy td,.dispatch-copy th{border:1px solid #94a3b8;overflow-wrap:anywhere;padding:.35mm .5mm;vertical-align:top}.dispatch-copy th{background:var(--dispatch-color);color:#fff;text-align:center}.dispatch-copy td:nth-child(4){text-align:center}.dispatch-copy td:nth-child(n+5){text-align:right}.dispatch-totals{display:flex;flex-wrap:wrap;gap:2.5mm;justify-content:flex-end;margin-top:.4mm}.dispatch-notice{border-left:1.5px solid #d98b00;margin:.4mm 0 0;padding-left:.8mm}.dispatch-approval-row{grid-column-gap:2mm;align-items:center;break-inside:avoid;column-gap:2mm;display:grid;grid-template-columns:minmax(0,1fr) 22mm minmax(0,1fr);margin-top:.7mm;min-height:21mm;page-break-inside:avoid;text-align:center;width:100%}.dispatch-approval-qr,.dispatch-driver-approval,.dispatch-manager-column{align-items:center;display:flex;flex-direction:column;gap:.25mm}.dispatch-driver-approval>img{max-height:8mm;max-width:23mm;object-fit:contain}.dispatch-manager-approval{align-items:center;display:inline-grid;gap:1mm;grid-template-columns:auto auto;justify-content:center}.dispatch-manager-approval img:first-child{max-height:8mm;max-width:23mm;object-fit:contain}.dispatch-manager-approval img:last-child{max-height:13mm;max-width:15mm;object-fit:contain}.dispatch-approval-row .document-verification-block{gap:.2mm!important;margin:0!important;padding:0!important;width:22mm}.dispatch-approval-row .document-verification-block img{height:19mm!important;object-fit:contain;width:19mm!important}.dispatch-approval-row .document-verification-block b,.dispatch-approval-row .document-verification-block span{font-size:5pt;line-height:1;overflow-wrap:anywhere}.dispatch-copy footer{border-top:1px solid #cbd5e1;font-size:5.5pt;margin-top:.35mm;padding-top:.35mm;text-align:center}.dispatch-copy>.document-watermark{z-index:0}@page dispatchPortrait{size:A4 portrait;margin:6mm 7mm}@page dispatchLandscape{size:A4 landscape;margin:6mm}@media print{body,html{background:#fff!important;height:auto!important;margin:0!important;min-height:0!important;overflow:visible!important;padding:0!important;width:auto!important}body[data-dispatch-print] *{visibility:hidden!important}body[data-dispatch-print] :has(#agency-dispatch-active-print-root){height:auto!important;inset:auto!important;margin:0!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:0!important;position:static!important;transform:none!important;width:auto!important}body[data-dispatch-print] #agency-dispatch-active-print-root,body[data-dispatch-print] #agency-dispatch-active-print-root *{visibility:visible!important}body[data-dispatch-print] .print-dialog{background:#fff!important;height:auto!important;inset:auto!important;margin:0!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:0!important;position:static!important;width:auto!important}body[data-dispatch-print] .dispatch-print-content,body[data-dispatch-print] .dispatch-print-preview{background:#fff!important;height:285mm!important;margin:0!important;max-height:285mm!important;overflow:hidden!important;padding:0!important;position:static!important;width:196mm!important}body[data-dispatch-print] .dispatch-print-content>*{display:none!important}body[data-dispatch-print] #agency-dispatch-active-print-root{break-inside:avoid!important;display:block!important;height:285mm!important;inset:auto!important;margin:0!important;max-height:285mm!important;overflow:hidden!important;padding:0!important;page:dispatchPortrait!important;page-break-inside:avoid!important;position:static!important;width:196mm!important}.app-header,.app-sidebar,.header,.modal-backdrop,.modal-overlay-controls,.print-dialog-toolbar,.sidebar{display:none!important}::-webkit-scrollbar{display:none!important;height:0!important;width:0!important}body[data-dispatch-print=A4_PORTRAIT_DOUBLE] .dispatch-a4-sheet{grid-gap:0!important;align-content:center!important;break-after:avoid!important;break-inside:avoid!important;display:grid!important;gap:0!important;grid-template-rows:140mm 3mm 140mm!important;height:285mm!important;max-height:285mm!important;overflow:hidden!important;page-break-after:avoid!important;page-break-inside:avoid!important;width:196mm!important}body[data-dispatch-print=A4_PORTRAIT_DOUBLE] .dispatch-coupon{box-sizing:border-box!important;break-inside:avoid!important;height:100%!important;margin:0!important;max-height:140mm!important;min-height:0!important;overflow:hidden!important;padding:1.6mm 2mm!important;page-break-inside:avoid!important;width:100%!important}body[data-dispatch-print=A4_PORTRAIT_DOUBLE] .dispatch-cut-line{align-items:center!important;display:flex!important;height:3mm!important;justify-content:center!important}body[data-dispatch-print=A4_LANDSCAPE] #agency-dispatch-active-print-root{height:auto!important;width:285mm!important}body[data-dispatch-print=A4_LANDSCAPE] .dispatch-a4-landscape{margin:0;width:285mm}}.document-watermark{height:auto;left:50%;object-fit:contain;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(var(--watermark-rotation));z-index:0}.document-header{align-items:center;border-bottom:1px solid #176b4d;display:flex;gap:2mm;padding-bottom:2mm}.document-header>img{height:10mm;object-fit:contain;width:10mm}.document-header>div{display:flex;flex:1 1;flex-direction:column;min-width:0}.document-header aside{display:flex;flex-direction:column;text-align:right}.document-footer{border-top:1px solid #cbd5e1;font-size:7pt;margin-top:3mm;padding-top:2mm;text-align:center}.thermal-sheet{background:#fff;color:#14213d;font:8pt Arial,sans-serif;margin:12px auto;width:var(--ticket-width)}.dispatch-ticket{box-sizing:border-box;overflow-wrap:anywhere;padding:2mm;position:relative;width:var(--ticket-width)}.dispatch-ticket>:not(.document-watermark){position:relative;z-index:1}.ticket-copy-label{color:#176b4d;display:block;text-align:center}.dispatch-ticket dl{display:grid;grid-template-columns:35% 65%;margin:2mm 0}.dispatch-ticket dt{font-weight:700}.dispatch-ticket dd{margin:0}.ticket-items article{border-top:1px dashed #94a3b8;display:flex;flex-direction:column;padding:1.5mm 0}.dispatch-approval-thermal{display:flex;flex-direction:column;gap:3mm;min-height:0}.dispatch-approval-thermal>div{width:100%}.dispatch-approval-thermal .dispatch-approval-qr .document-verification-block img{max-height:23mm!important;max-width:23mm!important}.thermal-cut{border-top:1px dashed #334155;margin:4mm 0;text-align:center}@media print{body[data-dispatch-print=THERMAL_58] .thermal-sheet{margin:0;width:58mm}body[data-dispatch-print=THERMAL_85] .thermal-sheet{margin:0;width:85mm}body[data-dispatch-print^=THERMAL]>:not(.print-dialog){display:none!important}body[data-dispatch-print^=THERMAL] .dispatch-print-preview{background:#fff;max-height:none;overflow:visible;padding:0}}.access-denied{background:#f4f7f6;background:var(--background,#f4f7f6);display:grid;min-height:100vh;padding:24px;place-items:center}.access-denied section{background:#fff;background:var(--card,#fff);border:1px solid #dce5e1;border:1px solid var(--border,#dce5e1);border-radius:14px;box-shadow:var(--shadow-sm);max-width:520px;padding:42px;text-align:center}.access-denied span{color:#d97706;color:var(--asmovc-orange,#d97706);font-size:44px;font-weight:900}.access-denied h1{margin:8px 0}.access-denied p{color:#5c6964;color:var(--text-light,#5c6964)}.access-denied code{display:block;margin:14px}.access-denied .btn{display:inline-block;margin-top:10px}.client-portal{grid-gap:20px;display:grid;gap:20px}.client-portal>header p{color:#64748b;margin:0}.client-portal>header h1{color:#17212b;margin:4px 0}.client-portal-nav{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.client-portal-nav a{border-radius:8px;color:#244235;font-weight:650;padding:9px 12px;text-decoration:none}.client-portal-nav a:hover{background:#eef7f2}.client-main-action,.client-portal-nav .primary{background:#176b4d;border:0;border-radius:9px;color:#fff!important;cursor:pointer;display:inline-flex;font-weight:750;padding:10px 15px;text-decoration:none;width:-webkit-max-content;width:max-content}.client-main-action:disabled{opacity:.6}.client-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.client-kpis article,.client-record-grid article,.client-review{grid-gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:6px;padding:18px}.client-kpis b{color:#176b4d;font-size:1.8rem}.client-kpis span{color:#64748b}.client-order-form{grid-gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.client-order-form label{grid-gap:6px;color:#475569;display:grid;font-size:.88rem;gap:6px}.client-order-form input,.client-order-form select,.client-order-form textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;padding:10px;width:100%}.client-order-form textarea{min-height:90px}.client-order-form .wide,.client-order-form fieldset{grid-column:1/-1}.client-order-form .check{align-items:center;display:inline-flex;gap:7px;margin-right:16px}.client-order-form .check input{width:auto}.client-review dl{grid-gap:9px;display:grid;gap:9px;grid-template-columns:180px 1fr;margin:0}.client-review dt{color:#475569;font-weight:700}.client-review dd{margin:0}.client-review>div{display:flex;gap:10px}.client-review button{border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;padding:10px 14px}.client-record-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.client-record-grid h2{color:#176b4d;font-size:1rem;margin:0}.client-record-grid p{margin:0}.client-error{background:#fee2e2;border-radius:8px;color:#991b1b;padding:12px}.client-empty{color:#64748b;padding:20px;text-align:center}@media(max-width:900px){.client-kpis,.client-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.client-kpis,.client-order-form,.client-record-grid,.client-review dl{grid-template-columns:1fr}.client-portal-nav a{width:100%}}.security-control{grid-gap:20px;display:grid;gap:20px;padding:24px}.security-actions,.security-camera,.security-control>section:last-child,.security-result,.security-search{background:#fff;border:1px solid #dce7df;border-radius:14px;box-shadow:0 5px 18px #173d2612;padding:18px}.security-actions{grid-gap:18px;align-items:end;display:grid;gap:18px;grid-template-columns:minmax(180px,260px) 1fr}.security-actions form,.security-search form{align-items:end;display:flex;gap:10px}.security-actions label{grid-gap:7px;display:grid;flex:1 1;gap:7px}.security-actions input,.security-camera select,.security-search input{border:1px solid #a9b8ad;border-radius:8px;min-height:44px;padding:0 12px}.security-actions button,.security-camera button,.security-result button,.security-search button{background:#176b3a;border:0;border-radius:8px;color:#fff;font-weight:700;min-height:44px;padding:0 18px}.security-scan{background:#ef7d00!important}.security-message{align-items:center;background:#fff1f0;border-left:5px solid #d73a32;color:#8c1d18;display:flex;flex-wrap:wrap;gap:12px;padding:14px}.security-message span{flex:1 1;min-width:220px}.security-message.assignment{background:#fff8e8;border-color:#d98918;color:#6d470d}.security-message button,.security-section-heading button{background:#176b3a;border:0;border-radius:8px;color:#fff;font-weight:700;min-height:38px;padding:0 14px}.security-section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.security-camera{grid-gap:12px;display:grid;gap:12px}.security-camera video{background:#111;border-radius:10px;max-height:420px;width:min(100%,680px)}.security-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.security-kpis article{background:#eef3ef;border-left:5px solid #60756a;border-radius:12px;padding:18px}.security-kpis article.valid{background:#edfaf2;border-color:#168447}.security-kpis article.alert{background:#fff3ed;border-color:#d85b30}.security-kpis span{color:#526158;display:block}.security-kpis strong{font-size:2rem}.security-result{border-top:8px solid #6c757d}.security-result.valide{border-color:#168447}.security-result.annule,.security-result.inconnu,.security-result.non_conforme{border-color:#c83232}.security-result.acces_refuse{border-color:#df7a18}.security-result h2{font-size:1.65rem}.security-result dl{grid-gap:8px;display:grid;gap:8px;grid-template-columns:180px 1fr}.security-result dt{font-weight:700}.security-result dd{margin:0}.security-search form input{flex:1 1}.security-history,.security-results{grid-gap:8px;display:grid;gap:8px;margin-top:14px}.security-history article,.security-results>button{grid-gap:12px;background:#fff;border:1px solid #dce7df;border-radius:8px;color:#26352c;display:grid;gap:12px;grid-template-columns:1fr auto auto auto;padding:12px;text-align:left}.security-history time{color:#66756b}@media(max-width:760px){.security-actions,.security-kpis{grid-template-columns:1fr}.security-actions form,.security-search form{align-items:stretch;flex-direction:column}.security-history article,.security-result dl,.security-results>button{grid-template-columns:1fr}}:root{--asmovc-green:#198754;--asmovc-green-dark:#146c43;--asmovc-blue:#0d6efd;--asmovc-sky-blue:#64a9ed;--asmovc-yellow:#ffc107;--asmovc-orange:#fd7e14;--asmovc-red:#dc3545;--asmovc-purple:#6f42c1;--asmovc-dark-text:#2c3e50;--asmovc-muted:#6c757d;--asmovc-page-bg:#f4f7fc;--asmovc-card-bg:#fff;--asmovc-border:#dee2e6;--asmovc-sidebar-gradient:linear-gradient(180deg,var(--asmovc-green) 0%,var(--asmovc-blue) 35%,var(--asmovc-yellow) 68%,var(--asmovc-orange) 84%,var(--asmovc-red) 100%);--primary:var(--asmovc-green);--primary-dark:var(--asmovc-green-dark);--secondary:var(--asmovc-blue);--warning:var(--asmovc-yellow);--danger:var(--asmovc-red);--success:var(--asmovc-green);--info:var(--asmovc-blue);--background:var(--asmovc-page-bg);--bg:var(--asmovc-page-bg);--surface:var(--asmovc-card-bg);--card:var(--asmovc-card-bg);--card-bg:var(--asmovc-card-bg);--text:var(--asmovc-dark-text);--text-light:var(--asmovc-muted);--muted:var(--asmovc-muted);--border:var(--asmovc-border);--line:var(--asmovc-border);--brand:var(--asmovc-green);--brand-dark:var(--asmovc-green-dark);--shadow-sm:0 2px 5px #2c3e5014;--shadow-md:0 5px 15px #2c3e501f;--shadow-lg:0 10px 25px #2c3e502e;--radius:12px;--font:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--title:28px;--subtitle:22px;--text-size:15px}body.dark{--background:#121826;--bg:#121826;--card:#1d2635;--surface:#1d2635;--card-bg:#1d2635;--text:#f5f7fb;--text-light:#c7cfda;--muted:#c7cfda;--border:#405069;--line:#405069;--asmovc-page-bg:#121826;--asmovc-card-bg:#1d2635;--asmovc-dark-text:#f5f7fb;--asmovc-muted:#c7cfda;--asmovc-border:#405069}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font)}a{text-decoration:none}h1{font-size:var(--title)}h2{font-size:var(--subtitle)}.page{padding:25px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;transition:.3s}.page,body{background:var(--background);color:var(--text)}.btn{border:none;border-radius:10px;font-weight:700;padding:12px 22px;transition:.3s}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:var(--warning)}.form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.form input,.form select,.form textarea{border:1px solid var(--border);border-radius:8px;margin-bottom:15px;outline:none;padding:12px;width:100%}.form input:focus{border-color:var(--primary)}input,select,textarea{background:var(--card);border:1px solid var(--border);color:var(--text)}input::placeholder{color:#0de77a}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;transition:.3s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.card{background:var(--card);border:1px solid var(--border);color:var(--text)}.fade-in{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:992px){.page{padding:15px}}@media(max-width:768px){.table{display:block;overflow-x:auto}}.client-header{align-items:center;background:var(--card);border-radius:15px;box-shadow:0 3px 12px #00000014;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px;padding:25px}.client-header-left h1{align-items:center;color:var(--text);display:flex;gap:10px;margin:0}.client-header-left p{color:#777;margin-top:10px}.client-header-actions{display:flex;flex-wrap:wrap;gap:12px}.client-header-actions button{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 18px;transition:.25s}.client-header-actions button:hover{transform:translateY(-2px)}.btn-primary{background:#0d6efd}.btn-success{background:#198754}.btn-danger{background:#dc3545}.client-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}.client-stat-card{align-items:center;background:var(--card);border-radius:15px;box-shadow:0 3px 12px #00000014;display:flex;gap:20px;padding:20px}.client-stat-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:24px;height:60px;justify-content:center;width:60px}.bleu .client-stat-icon{background:#0d6efd}.vert .client-stat-icon{background:#198754}.orange .client-stat-icon{background:#fd7e14}.violet .client-stat-icon{background:#6f42c1}.client-stat-card h2{margin:0}.client-stat-card p{color:#777;margin-top:5px}.client-search{margin:25px 0;position:relative}.client-search input{border:1px solid #ddd;border-radius:10px;font-size:15px;outline:none;padding:14px 14px 14px 45px;width:100%}.client-search input:focus{border-color:#0d6efd}.search-icon{color:#888;left:15px;position:absolute;top:16px}.actions{display:flex;gap:8px}.actions button{border:none;border-radius:8px;color:#fff;cursor:pointer;height:36px;width:36px}.btn-view{background:#0d6efd}.btn-edit{background:#ffc107;color:#000!important}.btn-delete{background:#dc3545}.btn-menu{background:#6c757d}.badge-success{background:#198754;border-radius:20px;color:#fff;font-size:12px;padding:5px 10px}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.modal-form{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:95%;padding:25px;width:500px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-annuler{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 18px}.badge-danger{background:#dc3545;border-radius:20px;color:#fff;font-size:12px;padding:5px 10px}.client-table-wrapper{background:#fff;background:var(--card,#fff);border-radius:12px;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #e9ecef;padding:14px;text-align:left}.table th{cursor:pointer;white-space:nowrap}.table-empty{color:#6c757d;text-align:center!important}.client-drawer-overlay{background:#0f172a73;z-index:1100}.client-drawer{animation:ouvrirDrawer .25s ease-out;background:#f8fafc;box-shadow:-12px 0 35px #0f172a33;height:100%;position:absolute;right:0;top:0;width:min(560px,100%)}@keyframes ouvrirDrawer{0%{transform:translateX(100%)}to{transform:translateX(0)}}.client-drawer-header{align-items:flex-start;background:#0d6efd;color:#fff;display:flex;gap:16px;justify-content:space-between;padding:24px}.client-drawer-header h2,.client-drawer-kicker{margin:0}.client-drawer-kicker{font-size:13px;margin-bottom:6px;opacity:.8;text-transform:uppercase}.drawer-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:22px}.client-drawer-content{padding:24px}.drawer-contact-card,.drawer-section,.drawer-stats{margin-bottom:20px}.drawer-contact-card,.drawer-section,.drawer-stats div{background:#fff;border-radius:12px;padding:16px}.drawer-contact-card p{align-items:center;display:flex;gap:10px;margin:10px 0}.drawer-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.drawer-list small,.drawer-stats span{color:#64748b;display:block;font-size:13px}.drawer-stats strong{color:#0f172a;display:block;margin-top:6px}.drawer-section h3{align-items:center;display:flex;gap:8px;margin-top:0}.drawer-list{list-style:none;margin:0;padding:0}.drawer-list li{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding:12px 0}.drawer-list b,.drawer-list strong{display:block}.drawer-empty,.drawer-error,.drawer-state{padding:24px}.drawer-error{color:#b42318}@media (max-width:480px){.drawer-stats{grid-template-columns:1fr}}.client-cell{gap:12px}.client-avatar,.client-cell{align-items:center;display:flex}.client-avatar{background:#2563eb;border-radius:50%;color:#fff;font-size:15px;font-weight:700;height:42px;justify-content:center;width:42px}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;gap:5px;margin-top:4px;padding:3px 8px}.badge-actif{background:#dcfce7;color:#15803d}.badge-inactif{background:#fee2e2;color:#b91c1c}.badge-vip{background:#fef3c7;color:#92400e;font-weight:700}.table-actions.enterprise{display:flex;gap:8px;justify-content:center}.pagination-enterprise{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:20px}.pagination-navigation{display:flex;gap:6px}.pagination-navigation button{border:none;border-radius:6px;cursor:pointer;height:36px;width:36px}.page-active{background:#2563eb;color:#fff;font-weight:700}.pagination-limit{align-items:center;display:flex;gap:10px}.pagination-limit select{border-radius:6px;padding:6px 10px}.client-table{border-collapse:collapse;width:100%}.client-table td,.client-table th{border-bottom:1px solid #e9ecef;padding:14px;text-align:left}.client-table th{cursor:pointer;white-space:nowrap}.client-table tbody tr:hover{background:#f8fafc;transition:.2s}.client-drawer-overlay
.client-drawer
.client-drawer-header
.drawer-profile
.drawer-avatar
.drawer-profile-info
.drawer-kicker
.drawer-badges
.badge
.badge-primary
.badge-success
.badge-secondary
.drawer-close
.client-drawer-content
.drawer-loading
.drawer-error

.drawer-card{background:#fff;border-radius:14px;box-shadow:0 4px 12px #0000000d;margin-bottom:20px;padding:20px}.drawer-card-header{align-items:center;display:flex;gap:10px;margin-bottom:18px}.drawer-card-header h3{font-size:18px;font-weight:600;margin:0}.drawer-card-icon{color:#2563eb;font-size:20px}.drawer-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.drawer-item{align-items:flex-start;display:flex;gap:14px}.drawer-item svg{color:#2563eb;font-size:18px;margin-top:3px}.drawer-item span{color:#6b7280;display:block;font-size:13px}.drawer-item strong{color:#111827;display:block;font-size:15px;margin-top:4px}.drawer-observation{color:#374151;line-height:1.7}.drawer-empty{color:#9ca3af;font-style:italic}.drawer-stats-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;gap:15px;padding:18px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:50%;color:#fff;font-size:20px;height:50px;justify-content:center;width:50px}.stat-icon.money{background:#16a34a}.stat-icon.sales{background:#2563eb}.stat-icon.stock{background:#f59e0b}.stat-icon.calendar{background:#7c3aed}.stat-card span{color:#6b7280;display:block;font-size:13px}.stat-card strong{color:#111827;display:block;font-size:18px;margin-top:4px}.drawer-sales-list{display:flex;flex-direction:column;gap:14px}.sale-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:16px;transition:.2s}.sale-card:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.sale-left{display:flex;flex-direction:column;gap:5px}.sale-left strong{font-size:16px}.sale-left small,.sale-left span{color:#6b7280}.sale-right{align-items:flex-end;display:flex;flex-direction:column;gap:5px}.sale-right strong{color:#16a34a;font-size:18px}.client-drawer-overlay{animation:fadeDrawer .25s ease;background:#00000073;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:2000}.client-drawer{animation:slideDrawer .3s ease;background:#fff;box-shadow:-10px 0 40px #00000026;height:100vh;max-width:100%;overflow-y:auto;width:520px}.drawer-footer{border-top:1px solid #e5e7eb;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 22px;transition:.25s}.btn-primary{background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#f3f4f6;color:#111827}.btn-secondary:hover{background:#e5e7eb}@keyframes slideDrawer{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeDrawer{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.client-drawer{width:100%}.drawer-grid,.drawer-stats-grid{grid-template-columns:1fr}.drawer-footer{flex-direction:column}}.pagination-navigation button:hover:not(:disabled){background:#2563eb;color:#fff;transition:.2s}.pagination-navigation button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#6b7280;font-size:14px}.table-responsive{overflow-x:auto;width:100%}.client-table{min-width:900px}:root{--brand:#176b4d;--brand-dark:#0d4e38;--surface:#fff;--muted:#64748b;--line:#e2e8f0;--bg:#f5f7f9;--danger:#b42318}.page-shell{grid-gap:20px;display:grid;gap:20px}.page-header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.page-header h1{color:#17212b;font-size:clamp(1.55rem,3vw,2.1rem);margin:7px 0 4px}.page-header p{margin:0}.breadcrumbs,.page-header p{color:#64748b;color:var(--muted)}.breadcrumbs{display:flex;font-size:.82rem;gap:8px}.breadcrumbs a{color:#176b4d;color:var(--brand);text-decoration:none}.module-toolbar,.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:9px;color:#243240;cursor:pointer;display:inline-flex;font-weight:650;gap:7px;padding:9px 13px}.btn-primary{background:#176b4d;background:var(--brand);border-color:#176b4d;border-color:var(--brand);color:#fff}.btn-danger{background:#fff;border-color:#f0b4ae;color:#b42318;color:var(--danger)}.filter-bar{align-items:end;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;padding:14px}.filter-bar label{grid-gap:5px;color:#64748b;color:var(--muted);display:grid;font-size:.84rem;gap:5px}.filter-bar input,.filter-bar select{border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:8px 10px}.table-wrap{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--line);border-radius:12px;max-width:100%;overflow:auto}.pro-table{border-collapse:collapse;min-width:680px;width:100%}.pro-table td,.pro-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--line);padding:11px 13px;text-align:left}.pro-table th{background:#f8fafc;color:#475569;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.state-panel{align-items:center;color:#64748b;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:150px;padding:24px;text-align:center}.state-panel svg{font-size:1.7rem}.state-error{color:#b42318;color:var(--danger)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.status-badge{background:#e2e8f0;border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:750;padding:4px 9px}.status-actif,.status-emise,.status-payee{background:#dcfce7;color:#166534}.status-brouillon,.status-partielle{background:#fef3c7;color:#92400e}.status-annulee,.status-inactif{background:#fee2e2;color:#991b1b}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7dd3fc;outline-offset:2px}@media(max-width:760px){.page-header{align-items:stretch;flex-direction:column}.page-actions{justify-content:flex-start}.filter-bar input,.filter-bar select,.filter-bar>*{width:100%}}@media print{.filter-bar,.header,.logout,.module-toolbar,.no-print,.page-actions,.sidebar{display:none!important}.layout-main,.layout-main.collapsed{margin:0!important}.layout-content{padding:0!important}.table-wrap{border:0;overflow:visible}.pro-table{font-size:9pt;min-width:0}body{background:#fff}@page{size:A4;margin:12mm}}#root,body,html{max-width:100%;overflow-x:hidden}.layout{background:var(--background)}.business-head h1,.layout,.page-header h1{color:var(--text)}.breadcrumbs a,.panel-head a{color:var(--asmovc-green)}.btn,.business-form button,.business-table-wrap button{background:var(--asmovc-green);border-color:var(--asmovc-green);color:#fff}.btn:hover,.business-form button:hover,.business-table-wrap button:hover{background:var(--asmovc-green-dark)}.btn-secondary,.btn.secondary,.business-form .secondary{background:var(--asmovc-blue);border-color:var(--asmovc-blue);color:#fff}.btn-danger,.business-table-wrap .danger{background:var(--asmovc-red);border-color:var(--asmovc-red);color:#fff}.action-vente,.vente{background:var(--asmovc-orange)!important;color:#17202a!important}.action-livraison,.livraison{background:var(--asmovc-purple)!important;color:#fff!important}.action-pdf,.pdf{background:var(--asmovc-red)!important;color:#fff!important}.action-csv,.csv,.excel{background:var(--asmovc-green)!important;color:#fff!important}.business-form,.business-form input,.business-form select,.business-table-wrap,.card,.filter-bar,.filter-bar input,.filter-bar select,.table-wrap,input,select,textarea{background:var(--card);border-color:var(--border);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-light)}.business-table-wrap th,.pro-table th{background:color-mix(in srgb,var(--asmovc-blue) 10%,var(--card));color:var(--text)}.business-table-wrap td,.pro-table td{border-color:var(--border);color:var(--text)}.status-actif,.status-emise,.status-payee{background:color-mix(in srgb,var(--asmovc-green) 18%,var(--card));color:var(--asmovc-green-dark)}.status-brouillon,.status-partielle{background:color-mix(in srgb,var(--asmovc-yellow) 28%,var(--card));color:#6b4e00}.status-annulee,.status-inactif{background:color-mix(in srgb,var(--asmovc-red) 16%,var(--card));color:var(--asmovc-red)}.business-success,.notification.success{background:color-mix(in srgb,var(--asmovc-green) 16%,var(--card));color:var(--asmovc-green-dark)}.business-error,.notification.danger,.notification.error{background:color-mix(in srgb,var(--asmovc-red) 15%,var(--card));color:var(--asmovc-red)}.notification.warning{background:var(--asmovc-yellow);color:#3d3000}.notification.info{background:var(--asmovc-blue);color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--asmovc-yellow);outline-offset:2px}body.dark .business-form,body.dark .business-table-wrap,body.dark .filter-bar,body.dark .kpi-card,body.dark .panel{background:var(--card);color:var(--text)}.configured-logo{height:44px;object-fit:contain;width:44px}.login-logo{display:block;margin:0 auto 12px;max-height:90px;max-width:110px;object-fit:contain}
/*# sourceMappingURL=main.2fd8ff2e.css.map*/