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}.create-beneficiaire-form,.create-user-form,.edit-beneficiaire-form,.edit-user-form,.uni-form,.uni-form-container,form.uni-form{background:#f9f9f9;border-radius:10px;box-shadow:0 2px 8px #00000014;margin:2rem auto;max-width:420px;padding:2rem 1.5rem}.uni-form{display:flex;flex-direction:column;gap:1.2rem}.uni-form label{color:#333;display:block;font-weight:600;margin-bottom:.3rem;text-align:left!important;width:100%}.uni-form input,.uni-form select{background:#fff;border:1px solid #ccc;border-radius:5px;box-sizing:border-box;display:block;font-size:1.05em;padding:.7em;transition:border .2s;width:100%!important}.uni-form input:focus,.uni-form select:focus{border:1.5px solid #0071bc;outline:none}.uni-form button[type=submit]{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;margin-top:.5em;padding:.9em;transition:background .2s}.uni-form button[type=submit]:hover{background-color:#0056b3}.uni-form .password-field-wrapper{align-items:center;display:flex;gap:.5em;position:relative;width:100%}.uni-form .password-input{flex:1 1 auto;min-width:0;padding-right:2.5em;width:100%!important}.uni-form .fa-eye,.uni-form .fa-eye-slash{color:#0071bc;cursor:pointer;font-size:1.3em;position:absolute;right:.7em;top:50%;transform:translateY(-50%);z-index:2}.uni-form .fa-eye-slash:hover,.uni-form .fa-eye:hover{color:#005999}.uni-form .form-help{color:#555;font-size:.9em;margin-bottom:.7em;margin-top:-.7em;text-align:left}.uni-form .form-error{color:#c00;font-size:.98em;margin-top:.5em}.uni-form .form-success{color:#1a8a1a;font-size:.98em;margin-top:.5em}.page-centered-container{align-items:center;background:#f9f9f9;display:flex;flex-direction:column;justify-content:start;min-height:100vh;padding-top:60px;position:relative;z-index:1}.page-centered-container h1{margin-top:0!important;padding-top:0!important}@media (max-width:600px),(max-width:700px){.page-centered-container{margin-top:40px!important}.page-centered-container h1{margin-top:8px!important;padding-top:8px!important}}@media (max-width:600px){.page-centered-container{margin-top:40px;padding-top:80px}.page-centered-container h1{font-size:1.3rem;padding:.5em}}@media (max-width:700px){.uni-form-container{max-width:none}}@media (max-width:395px){.create-beneficiaire-form,.create-user-form,.edit-beneficiaire-form,.edit-user-form,.uni-form,.uni-form-container,form.uni-form{box-sizing:border-box;margin:1rem auto!important;max-width:calc(100vw - 2rem)!important;padding:1.5rem 1rem!important;width:calc(100vw - 2rem)!important}.uni-form-container .uni-form,.uni-form-container form.uni-form{box-sizing:border-box;margin:0!important;max-width:100%!important;padding:1rem!important;width:100%!important}}.add-produit-btn{align-items:center;background:#007bff;border-radius:6px;display:flex;font-size:1em;gap:.5em;margin-left:24px;padding:.5em 1.1em;transition:background .2s}.add-produit-btn:hover{background:#0056b3}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;color:#0071bc;cursor:pointer;font-size:1.1em;margin:0 .3em;padding:.3em .5em;transition:background .15s,color .15s}.edit-btn:hover{background:#eaf4ff;color:#0056b3}.delete-btn{color:#c00}.delete-btn:hover{background:#ffeaea;color:#a00}.form-buttons{display:flex;gap:14px;margin-top:10px}.form-buttons button{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;height:44px;justify-content:center;min-width:0;overflow:hidden;padding:0 .4em;text-overflow:ellipsis;white-space:nowrap;width:50%}.form-buttons .submit-btn,.form-buttons button[type=submit]{background:#0071bc;color:#fff;font-size:15px!important;margin-top:0!important}.form-buttons .delete-btn{background:#c00;color:#fff;font-size:15px!important;font-weight:600}.form-buttons .delete-btn:hover{background:#a00}.form-buttons .cancel-btn{background:#eee;color:#333;font-weight:500}.form-buttons .cancel-btn:hover{background:#bbb}@media (max-width:700px){.form-buttons{flex-direction:row!important;gap:10px!important}.form-buttons button{flex:1 1;font-size:14px;min-width:100px;padding:0 .4em;width:50%}}@media (max-width:600px){.form-buttons{flex-direction:row!important;gap:8px!important}.form-buttons button{flex:1 1;font-size:13px;min-width:90px;padding:0 .3em;width:50%}}@media (max-width:480px){.form-buttons button{font-size:12px;height:42px;min-width:85px;padding:0 .3em}}.form-buttons button{-webkit-hyphens:none;hyphens:none;word-break:keep-all}@media (max-width:395px){.form-buttons{gap:8px!important}.form-buttons button{line-height:1.3!important}.create-beneficiaire-form .form-buttons button,.edit-beneficiaire-form .form-buttons button,.form-buttons button,.uni-form .form-buttons button{font-size:13px!important;height:44px!important;min-width:95px!important;padding:.6em!important}}.base-modal-container{background:#fff;border-radius:14px;box-shadow:0 2px 12px #00000021;max-width:400px;min-width:320px;padding:2em;position:relative;text-align:left}.rabais-switch-row{align-items:center;display:flex;gap:10px;margin-bottom:14px}.switch-label{margin:0;-webkit-user-select:none;user-select:none}.rabais-switch-text{font-weight:500;margin-left:6px}.rabais-input{font-size:1em;margin-left:8px;max-width:100px;min-width:60px;width:80px}.unified-table{background:#fff;border-collapse:initial;border-radius:10px;border-spacing:0;box-shadow:0 2px 8px #0000000f;margin:0 auto;max-width:100%;overflow:hidden;width:100%}.unified-table td,.unified-table th{font-size:1.08em;padding:1em .7em;text-align:center;vertical-align:middle}.unified-table th{background:#f2f6fa;border-bottom:2px solid #e0e0e0;color:#0071bc;font-weight:700}.unified-table tr:not(:last-child) td{border-bottom:1px solid #f0f0f0}.unified-table tr:hover{background:#f7fbff!important}.unified-table tbody tr:nth-child(2n){background-color:#f8f9fa!important}.unified-table tbody tr:nth-child(odd){background-color:#fff!important}.unified-table--full-width{max-width:100%!important;width:100%!important}.unified-table--compact td,.unified-table--compact th{font-size:.95em;padding:.6em .5em}.unified-table--light-bg{background:#fafafa}.unified-table--light-bg th{background:#f5f5f5}.unified-table .sortable-col{cursor:pointer;position:relative}.unified-table .sortable-col:hover{background:#e8f2ff}.unified-table .sortable-col i{margin-left:4px}.unified-table .actions-cell{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:center}.unified-table .actions-cell .action-icon-btn{align-items:center;display:inline-flex;font-size:1.15em;justify-content:center;margin:0;max-height:1.7em;max-width:1.7em;min-height:1.7em;min-width:1.7em;vertical-align:middle}@media (max-width:700px){.unified-table{font-size:.98em;max-width:98vw}.unified-table td,.unified-table th{padding:.7em .3em}.unified-table:not(.unified-table--keep-width){max-width:100%!important;min-width:0;width:100%!important}.unified-table .actions-cell{flex-direction:row!important;gap:8px!important;justify-content:center!important}}@media (max-width:395px){.unified-table{border-radius:8px;box-shadow:0 1px 4px #0000000f;font-size:12px!important;margin:0 auto;max-width:100%!important;min-width:0;table-layout:auto!important;width:100%!important;word-break:normal!important}.unified-table td,.unified-table th{font-size:11px!important;overflow:hidden!important;padding:6px 3px!important;text-overflow:ellipsis!important;white-space:nowrap!important;word-break:normal!important}.unified-table th{overflow:visible!important;position:relative;z-index:1}.unified-table .actions-cell{gap:2px!important;justify-content:center!important}.unified-table .actions-cell .action-icon-btn{font-size:10px!important;margin:0!important;max-height:26px!important;max-width:26px!important;min-height:26px!important;min-width:26px!important;padding:3px 5px!important}.unified-table td:first-child,.unified-table td:nth-child(2){max-width:120px!important;white-space:normal!important;word-break:break-word!important}}.unified-table .text-center{text-align:center!important}.unified-table .text-right{text-align:right!important}.unified-table .text-left{text-align:left!important}.unified-table .col-actions{min-width:80px;width:80px}.unified-table .col-date{min-width:100px;width:100px}.unified-table .col-number{min-width:60px;text-align:center;width:60px}.unified-table .cell-link{color:#0071bc;font-weight:500;text-decoration:none}.unified-table .cell-link:hover{color:#0056b3;text-decoration:underline}.unified-table .status-active{color:#28a745;font-weight:600}.unified-table .status-inactive{color:#6c757d}.unified-table .status-warning{color:#ffc107;font-weight:600}.unified-table .status-danger{color:#dc3545;font-weight:600}.produits-table{background:#fff;border-collapse:initial;border-radius:10px;border-spacing:0;box-shadow:0 2px 8px #0000000f;margin:0 auto;max-width:100%;overflow:hidden;width:100%}.produits-table td,.produits-table th{font-size:1.08em;padding:1em .7em;text-align:center}.produits-table th{background:#f2f6fa;border-bottom:2px solid #e0e0e0;color:#0071bc;font-weight:700}.produits-table tr:not(:last-child) td{border-bottom:1px solid #f0f0f0}.produits-table tr:hover{background:#f7fbff}.produits-table tbody tr:nth-child(2n){background-color:#f8f9fa!important}.produits-table tbody tr:nth-child(odd){background-color:#fff!important}.produits-table .actions-cell{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:center}.beneficiaires-table,.produits-table.beneficiaires-table{background:#fafafa;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.produits-table.beneficiaires-table td,.produits-table.beneficiaires-table th{padding:10px;text-align:center;vertical-align:middle}.produits-table.beneficiaires-table th{background:#f5f5f5}.produits-table.beneficiaires-table td{border-bottom:1px solid #eee}.beneficiaire-date .date-desktop{display:inline}.beneficiaire-date .date-mobile{display:none}@media (max-width:395px){.beneficiaire-date .date-desktop{display:none}.beneficiaire-date .date-mobile{display:block;line-height:1.1;text-align:center}.beneficiaire-date .date-mobile div{font-size:11px;margin:0;padding:0}.beneficiaire-date .date-mobile div:first-child{font-weight:600}}.action-icon-btn{align-items:center;background:#6c757d;border:none;border-radius:6px;box-shadow:0 1px 4px #00000012;cursor:pointer;display:inline-flex;height:2.4em;justify-content:center;margin:0 2px;outline:none;padding:0;transition:background .15s,box-shadow .15s;width:2.4em}.action-icon-btn:disabled{cursor:not-allowed;opacity:.6}.icon-action{align-items:center;color:#fff!important;display:inline-flex;font-size:1.15em;height:1.7em;justify-content:center;max-height:1.7em;max-width:1.7em;min-height:1.7em;min-width:1.7em;vertical-align:middle;width:1.7em}.bg-blue{background:#007bff}.bg-red{background:#c00}.bg-green{background:#28a745}.bg-grey{background:#6c757d}.bg-orange{background:#fd7e14}.bg-cyan{background:#17a2b8}.bg-xls{background:#217346!important;color:#fff}.bg-excel{background:#28a745!important;color:#fff}.action-icon-btn:hover:not(:disabled){box-shadow:0 2px 8px #00000021;filter:brightness(1.08)}.sortable-col{cursor:pointer}.sortable-col i{margin-left:4px}.home-container{align-items:center;background-color:#f9f9f9;display:flex;flex-direction:column;height:100vh;justify-content:center;margin-top:50px;text-align:center}.home-container h1{font-size:2.2rem;padding:20px 10px}.create-button{background-color:#4caf50;border-radius:4px;margin:10px;padding:10px 20px;text-decoration:none}.create-button:hover{background-color:#45a049;text-decoration:none}.beneficiaires-list{list-style-type:none;padding:0}.beneficiaire-item{margin:10px 0}.edit-button{background-color:#008cba;border:none;border-radius:4px;cursor:pointer;margin-left:10px;padding:5px 10px}.edit-button:hover{background-color:#007bb5}.main-buttons{display:flex;gap:20px;margin-top:20px}button{border:none;border-radius:5px;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s}.profile-button{background-color:#4caf50;color:#fff}.profile-button:hover{background-color:#45a049}.users-button{background-color:#2196f3;color:#fff}.users-button:hover{background-color:#0b7dda}.beneficiaires-button{background-color:#ff9800;color:#fff}.beneficiaires-button:hover{background-color:#e68900}.create-button,.create-button:hover,.edit-link button,.edit-link button:hover{text-decoration:none}.home-btns{display:flex;gap:32px;justify-content:center;margin:40px 0}.main-action-btn{align-items:center;border:none;border-radius:16px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;font-size:22px;font-weight:700;gap:8px;padding:28px 38px;transition:background .2s,color .2s}.main-action-btn i{font-size:38px}.home-btn-green{background:#1a7f1a;color:#fff}.home-btn-green:hover{background:#146614}.home-btn-blue{background:#0071bc;color:#fff}.home-btn-blue:hover{background:#005a8c}@media (max-width:600px){.home-btns{align-items:stretch!important;flex-direction:column!important;gap:16px!important}.home-btns button{min-width:0!important;width:100%!important}}.gestion-modal-container{background:#fff;border-radius:14px;box-shadow:0 2px 12px #00000021;max-width:340px;min-width:280px;padding:2.5em 2em;position:relative;text-align:center}.gestion-modal-title{font-size:22px;font-weight:600;margin-bottom:24px}.gestion-modal-links{display:flex;flex-direction:column;gap:18px}.gestion-btn{align-items:center;background:#f5f5f5;border:1px solid #bbb;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:18px;font-weight:500;gap:10px;padding:12px 18px;transition:background .15s,color .15s}.gestion-btn:hover{background:#eaf4ff;color:#0071bc}.gestion-modal-close{background:#eee;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:16px;font-weight:600;margin-top:24px;padding:10px 24px;transition:background .15s,color .15s}.gestion-modal-close:hover{background:#ddd}.profile-title{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:24px}.profile-title .fa-user-circle{color:#007bff;font-size:28px}.modal-overlay{align-items:center;background:#00000059;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content.delete-modal{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000021;max-width:400px;min-width:320px;padding:24px;position:relative;text-align:center}.modal-header h3{align-items:center;color:#333;display:flex;font-size:1.2rem;font-weight:600;gap:8px;justify-content:center;margin:0 0 18px}.modal-body{margin-bottom:20px}.modal-body p{color:#555;font-size:1rem;line-height:1.4;margin:0}.loading-indicator{align-items:center;color:#0071bc;display:flex;font-weight:500;gap:8px;justify-content:center}.success-message{background:#e6ffe6;border:1px solid #b2e5b2;border-radius:6px;color:#1a7f1a}.error-message,.success-message{align-items:center;display:flex;font-weight:500;gap:8px;justify-content:center;padding:12px}.error-message{background:#ffeaea;border:1px solid #f5b2b2;border-radius:6px;color:#c00}.modal-footer{display:flex;gap:12px;justify-content:center}.cancel-button,.danger-button{font-size:15px;font-weight:600;padding:10px 20px}.danger-button{background:#c00;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s}.danger-button:hover{background:#a00}.create-button{background:#1a7f1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:18px;padding:10px 18px;transition:background .2s}.create-button:hover{background:#146614}.edit-link button{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:8px 14px;transition:background .2s}.edit-link button:hover{background:#0b7dda}.manage-users-container{align-items:center;background-color:#f4f4f4;background:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:start;min-height:100vh;padding:60px 20px 20px;position:relative;z-index:1}@media (max-width:600px){.manage-users-container{padding-top:80px}}.manage-users-header{font-size:24px;font-weight:700;margin-bottom:20px}.users-list{list-style-type:none;padding:0}.users-list-item{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px}.users-list-item button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:5px 10px;transition:background-color .3s}button,button:hover{text-decoration:none}.users-list-item button.edit{background-color:#2196f3;color:#fff}.users-list-item button.edit:hover{background-color:#0b7dda}.users-list-item button.delete{background-color:#f44336;color:#fff}.users-list-item button.delete:hover{background-color:#d32f2f}.delete-button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:8px 14px;transition:background .2s}.delete-button:hover{background:#a30000}.cancel-button{background:#888;color:#fff;font-size:1rem;margin-left:8px;padding:8px 14px;transition:background .2s}.cancel-button:hover{background:#555}.confirm-modal{box-shadow:0 2px 16px #00000021;max-width:90vw;min-width:320px;padding:32px 28px 22px}.confirm-modal-title{align-items:center;color:#c00;display:flex;font-size:1.1rem;font-weight:600;justify-content:center}.confirm-modal-actions{gap:12px}.notification{border-radius:6px;font-size:1rem;font-weight:600;margin:18px auto 0}.notification.success{background:#e6fbe6;border:1px solid #b2e5b2}.notification.error{background:#ffeaea;border:1px solid #f5b2b2;color:#c00}.uni-form,form.uni-form{margin-left:auto;margin-right:auto;max-width:100%;width:420px}.confirm-modal-icon-danger{color:#c00;margin-right:8px}.confirm-modal-status-success{color:green}.confirm-modal-status-error{color:#c00}.access-denied-container{align-items:center;background-color:#f8d7da;color:#721c24;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;justify-content:center;text-align:center}.access-denied-container h1{font-size:2.5rem;margin-bottom:1rem}.access-denied-container p{font-size:1.2rem;margin-bottom:2rem}.access-denied-container img{margin-bottom:2rem;max-width:300px}.access-denied-container button{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.access-denied-container button:hover{background-color:#c82333}.nav-burger{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;height:40px;justify-content:center;left:1rem;position:fixed;top:1rem;width:40px;z-index:1002}.nav-burger .bar{background:#333;border-radius:2px;height:4px;margin:3px 0;transition:all .3s;width:28px}.nav-burger.open .bar:first-child{transform:translateY(7px) rotate(45deg)}.nav-burger.open .bar:nth-child(2){opacity:0}.nav-burger.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-menu{background:#fff;box-shadow:none;height:100vh;left:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transition:width .3s,box-shadow .3s;width:0;z-index:1001}.nav-menu.open{box-shadow:2px 0 8px #00000014;opacity:1;pointer-events:auto;width:100vw}.nav-menu ul{list-style:none;margin:0;padding:80px 24px 0}.nav-menu li{margin-bottom:2rem}.nav-menu a{align-items:center;color:#333;display:flex;font-size:1.3rem;font-weight:500;gap:.5em;text-decoration:none}.nav-menu li.active a{color:#007bff;font-weight:700}.nav-overlay{background:#00000040;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}@media (min-width:900px){.nav-menu{border-radius:12px;box-shadow:none;height:auto;left:1rem;opacity:0;padding-bottom:1rem;pointer-events:none;top:1rem;transition:width .3s,height .3s,box-shadow .3s;width:0!important}.nav-menu,.nav-menu.open{max-width:250px!important}.nav-menu.open{background:#fff;box-shadow:2px 2px 12px #00000014;height:auto!important;min-height:180px;opacity:1;pointer-events:auto;width:280px!important;z-index:1001}.nav-menu a span{display:inline}.nav-menu a i{margin-right:8px!important}.nav-burger{display:flex}.nav-overlay{display:none}}@media (max-width:900px){.nav-menu:not(.open) a span{display:none}.nav-menu:not(.open) a i{margin-right:0!important}.nav-menu.open a span{display:inline}.nav-menu.open a i{margin-right:8px!important}}.nav-home-icon{display:inline-block;height:22px;margin-right:.5em;vertical-align:middle;width:22px}.user-menu-wrapper{position:absolute;right:32px;top:18px;z-index:1002}.user-menu-btn{background:#eaf4ff;border:none;border-radius:50%;color:#0071bc;cursor:pointer;font-size:2.1em;padding:.1em .2em;transition:background .15s}.user-menu-btn:hover{background:#d4ebf9}.user-initials{background:#0071bc;border-radius:50%;color:#fff;display:inline-block;font-size:.7em;font-weight:700;min-width:1.5em;padding:.3em .4em;text-align:center}.user-dropdown-menu{animation:fadeInMenu .18s;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000021;display:flex;flex-direction:column;gap:.2em;min-width:170px;padding:.5em 0;position:absolute;right:0;top:2.7em;z-index:1003}@keyframes fadeInMenu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-menu a,.user-dropdown-menu button{align-items:center;background:none;border:none;border-radius:6px;color:#222;cursor:pointer;display:flex;font-size:1.08em;gap:.7em;padding:.7em 1.2em;text-align:left;transition:background .13s,color .13s;width:100%}.user-dropdown-menu a:hover,.user-dropdown-menu button:hover{background:#f2f6fa;color:#0071bc}.logout-btn{color:#c00;font-weight:600}.logout-btn:hover{background:#ffeaea;color:#a00}@media (max-width:700px){.user-menu-wrapper{right:12px;top:12px}.user-dropdown-menu{font-size:.98em;min-width:120px}}.page-centered-container{padding-bottom:40px}.page-centered-container h1{margin-bottom:0}.add-produit-btn{background:#1a7f1a;border:none;border-radius:7px;box-shadow:0 1px 4px #00000012;color:#fff;cursor:pointer;display:block;font-size:15px;font-weight:600;margin:0;padding:7px 18px}.add-produit-btn i{margin-right:7px}.produits-actions-bar{display:none}.profile-btn{background:none;border:none;color:#0071bc;cursor:pointer;font-size:2.1rem;margin-left:12px;text-decoration:none;transition:color .2s}.profile-btn:hover{color:#1a7f1a}@media (max-width:900px){.page-header-bar{flex-direction:column;gap:0;margin-bottom:0}.page-title{font-size:1.3rem;margin:0 0 12px;text-align:center}.profile-btn{font-size:1.7rem;margin-left:0}}.modal-bg{z-index:40}.confirm-modal,.delete-modal{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000021;max-width:90vw;min-width:320px;padding:32px 28px 22px;position:relative;text-align:center}.delete-modal-text{align-items:center;color:#c00;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin-bottom:18px}.delete-modal-buttons{display:flex;gap:12px;justify-content:center}.cancel-btn,.delete-btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 18px;transition:background .2s}.delete-btn{background:#c00;color:#fff}.delete-btn:hover{background:#a00}.cancel-btn{background:#eee;color:#333}.cancel-btn:hover{background:#bbb}.actions-cell{align-items:center;display:flex;gap:8px;justify-content:center}.search-bar-container{align-items:stretch;display:flex;flex-direction:column;gap:14px;margin:18px 0}.search-actions-group{align-items:center;display:flex;gap:12px;justify-content:flex-start}.search-input-group{align-items:stretch;display:flex;flex-direction:column;gap:8px}.search-input{background:#fff;border:1px solid #bbb;border-radius:7px;box-sizing:border-box;flex:none;font-size:17px;margin-bottom:0;margin-top:0;min-width:0;padding:10px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#1a7f1a;outline:none}.search-action-btn{align-items:center;border:none;border-radius:6px;box-shadow:0 1px 4px #00000012;cursor:pointer;display:flex;flex:0 0 auto;font-size:15px;font-weight:600;gap:6px;margin:0;padding:8px 16px;transition:background .2s}.clear-filters-btn{align-self:flex-start;margin:0}.ml-6{margin-left:6px}.search-bar-container.produits-filtres{margin:18px auto;max-width:80%}.produits-filtres .search-actions-group{align-items:center;display:flex;gap:12px;justify-content:center;width:100%}.produits-filtres .search-actions-group button{flex:1 1;justify-content:center;max-width:none;text-align:center;width:50%}.produits-filtres .search-input,.produits-filtres .search-input-group{width:100%}.produits-filtres .add-produit-btn{background:#1a7f1a;border-radius:6px;box-shadow:0 1px 4px #00000012;color:#fff;font-weight:600;padding:8px 16px}.produits-filtres .add-produit-btn:hover{background:#158a15}.produits-filtres .produits-categories-btn.special{background:#0071bc;border-radius:6px;box-shadow:0 1px 4px #00000012;color:#fff;font-weight:600;padding:8px 16px}.produits-filtres .produits-categories-btn.special:hover{background:#005b99}@media (max-width:600px),(max-width:700px){.produits-filtres .search-actions-group{flex-direction:column;gap:8px;width:100%}.produits-filtres .search-actions-group button{flex:none;width:100%}.produits-filtres .search-input{font-size:15px}.search-bar-container.produits-filtres{gap:10px;margin:18px 0;max-width:100%}}@media (min-width:701px){.search-bar-container.produits-filtres{max-width:80%;width:80%}.produits-filtres .search-actions-group{width:100%}.produits-filtres .search-actions-group button{flex:1 1;width:50%}.produits-filtres .search-input-group{width:100%}}.unified-product-modal-inline{background:#f8fff8;border:1px solid #b6e6b6;border-radius:8px;margin:10px 0 18px;padding:18px 18px 10px;position:relative;text-align:left}.unified-product-modal-inline form{display:flex!important;flex-direction:column!important;gap:0!important}.unified-product-modal-title{color:#1a7f1a;font-size:16px;font-weight:600;margin-bottom:12px}.field-group{margin-bottom:12px}.field-group,.field-group label{display:block!important;width:100%!important}.field-group label{color:#333;font-size:15px;font-weight:500;margin-bottom:4px}.field-group input,.field-group select{background:#fff;border:1px solid #bbb;border-radius:6px;box-sizing:border-box;display:block!important;font-size:15px;padding:8px 10px;transition:border-color .2s ease;width:100%!important}.field-group input:focus,.field-group select:focus{border-color:#1a7f1a;box-shadow:0 0 0 2px #1a7f1a1a;outline:none}.field-group input:disabled,.field-group select:disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.inline-actions{display:flex;gap:10px;margin-bottom:8px;margin-top:14px}.inline-actions .create-btn{align-items:center;background:#1a7f1a;border:none;border-radius:7px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:6px;padding:8px 18px;transition:background-color .2s ease}.inline-actions .create-btn:hover:not(:disabled){background:#156f15}.inline-actions .create-btn:disabled{background:#999;cursor:not-allowed}.inline-actions .cancel-btn{background:#eee;border:none;border-radius:7px;color:#444;cursor:pointer;font-size:16px;font-weight:500;padding:8px 18px;transition:background-color .2s ease}.inline-actions .cancel-btn:hover:not(:disabled){background:#ddd;color:#111}.inline-actions .cancel-btn:disabled{background:#f8f8f8;color:#999;cursor:not-allowed}.unified-error{color:#c00}.unified-error,.unified-success{font-size:14px;font-weight:500;margin-top:8px}.unified-success{color:#1a7f1a}@media (max-width:395px){.unified-product-modal-inline{margin:8px 0 14px;padding:14px 14px 8px}.inline-actions{gap:8px}.inline-actions .cancel-btn,.inline-actions .create-btn{font-size:14px;padding:6px 14px}.field-group input,.field-group select{font-size:14px;padding:6px 8px}}.uni-form h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:20px}.unified-product-modal-inline form:has(button:disabled){opacity:.7;pointer-events:none}.uni-form:has(button:disabled){opacity:.7;pointer-events:none}.page-centered-container{margin:0 auto;max-width:600px;padding-top:18px}.page-centered-container h1{align-items:center;color:#222;display:flex;font-size:2rem;font-weight:700;gap:10px;justify-content:center;margin-bottom:24px;margin-top:0;padding-top:0;text-align:center}.notification{align-items:center;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;font-weight:500;gap:8px;margin:10px auto;max-width:400px;padding:10px 18px}.notification.success{background:#e6ffe6;color:#1a7f1a}.notification.error{background:#ffe6e6;color:#a33}form{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:24px}form input,form input[type=number],form input[type=text]{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:16px;padding:8px 12px}form button[type=submit]{align-items:center;background:#1a7f1a;border:none;border-radius:6px;box-shadow:0 1px 4px #00000012;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 18px}form button[type=submit]:hover{background:#158a15}.delete-button,.edit-button{border:none;border-radius:6px;box-shadow:0 1px 4px #00000012;cursor:pointer;font-weight:500;padding:6px 12px}.edit-button{background:#007bff;color:#fff}.edit-button:hover{background:#0056b3}.delete-button{background:#c00;color:#fff}.delete-button:hover{background:#a00}.save-button{background:#1a7f1a;color:#fff}.save-button:hover{background:#158a15}.cancel-button{background:#eee;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:500;padding:6px 12px}.cancel-button:hover{background:#ddd}.modal-bg{background:#0000002e;z-index:20}.confirm-modal{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000021;max-width:340px;min-width:260px;padding:2em;position:relative;text-align:center}.confirm-modal-title{font-size:18px;margin-bottom:18px}.confirm-modal-actions{display:flex;gap:16px;justify-content:center}.confirm-modal .cancel-button,.confirm-modal .delete-button{font-weight:600;padding:8px 18px}.confirm-modal .cancel-button{background:#eee;border:none;border-radius:6px;color:#333;cursor:pointer}.confirm-modal .cancel-button:hover{background:#ddd}.icon-blue{color:#007bff}.icon-lg{font-size:1.75em}.mr-8{margin-right:8px}.category-add-form-row{align-items:center;display:flex;gap:8px;margin:16px 0}.category-add-input{width:180px}.category-row-form-row{align-items:center;display:flex;gap:8px}.category-row-input{width:140px}@media (max-width:600px),(max-width:700px){.page-centered-container h1{font-size:1.3rem;padding:.5em}}@media (max-width:395px){.category-row-input{max-width:150px!important;text-align:center;width:150px!important}[data-page=categories] .produits-table td:first-child,[data-page=categories] .produits-table th:first-child{max-width:65%!important;width:65%!important}[data-page=categories] .produits-table td:last-child,[data-page=categories] .produits-table th:last-child{max-width:35%!important;width:35%!important}[data-page=categories] .actions-cell .cancel-btn,[data-page=categories] .actions-cell .delete-btn,[data-page=categories] .actions-cell .edit-btn,[data-page=categories] .actions-cell .save-btn{border-radius:4px!important;font-size:1.1em!important;margin:1px!important;max-height:32px!important;max-width:32px!important;min-height:32px!important;min-width:32px!important;padding:6px!important}}.achats-container{align-items:center;background:#f9f9f9;display:flex;flex-direction:column;min-height:100vh;padding:40px 0 60px}.achats-title{color:#222;font-size:2rem;font-weight:700;margin-bottom:24px;text-align:center}.achats-title-icon{color:#1a7f1a;margin-right:14px}.achats-main-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;margin:0 auto;max-width:600px;padding:2em;text-align:center;width:80%}.achats-add-btn-wrapper{align-items:center;display:flex;justify-content:center;margin-bottom:30px}.achats-add-btn{align-items:center;background:#1a7f1a;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:19px;font-weight:700;gap:10px;padding:14px 32px}.achats-add-btn i{margin-right:10px}.achats-save-btn{align-items:center;background:#0071bc;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:19px;font-weight:700;gap:10px;justify-content:center;margin:24px auto 0;max-width:400px;padding:14px 32px;transition:background .2s;width:100%}.achats-save-btn i{margin-right:10px}.achats-save-btn:hover{background:#005fa3}@media (max-width:600px){.achats-main-card{padding:1em}.achats-title{font-size:1.3rem}}.achats-qty-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:4px 10px}.achats-qty-btn.moins{background:#fffbe6;border:1px solid #e6a700;color:#e6a700}.achats-qty-btn.plus{background:#e6ffe6;border:1px solid #1a7f1a;color:#1a7f1a}.achats-delete-btn{background:#ffeaea;border:1px solid #c00;border-radius:6px;color:#c00;cursor:pointer;font-size:16px;font-weight:600;padding:4px 10px}@media (max-width:395px){.achats-qty-btn{font-size:12px!important}.achats-delete-btn,.achats-qty-btn{min-height:24px;min-width:24px;padding:2px 6px!important}.achats-delete-btn{font-size:11px!important}.achats-delete-btn i{font-size:10px!important}}.modal-bg{align-items:center;background:#00000059!important;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.achat-modal-container{background:#fff;border-radius:14px;box-shadow:0 2px 12px #00000021;max-width:400px;min-width:320px;padding:2em;position:relative;text-align:left}.achat-modal-title{font-size:20px;font-weight:600;margin-bottom:18px}.achat-modal-label{display:block;font-weight:500;margin-bottom:6px}.achat-modal-input{border:1px solid #bbb;border-radius:7px;font-size:16px;padding:10px;width:100%}.achat-modal-hint{color:#888;font-size:13px;margin-left:2px;margin-top:3px}.achat-modal-dropdown-list{background:#fff;border:1px solid #ddd;border-radius:7px;box-shadow:0 2px 8px #00000014;list-style:none;margin:0;max-height:180px;overflow-y:auto;padding:0;position:absolute;width:100%;z-index:10}.achat-modal-dropdown-list li{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 14px}.achat-modal-dropdown-list li.selected,.achat-modal-dropdown-list li:hover{background:#e6f7ff}.achat-modal-add-btn{background:#1a7f1a;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:10px 16px;width:100%}.achat-modal-actions{display:flex;gap:14px;margin-top:10px}.achat-modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:17px;padding:10px 0}.achat-modal-actions .add-btn{background:#0071bc;color:#fff;font-weight:600}.achat-modal-actions .cancel-btn{background:#eee;color:#333;font-weight:500}.achat-modal-actions .cancel-btn:hover{background:#ddd;color:#111}.achat-modal-error{background:#ffeaea;color:#c00}.achat-modal-error,.achat-modal-success{border-radius:6px;font-size:15px;font-weight:500;margin-bottom:10px;padding:8px 12px;text-align:center}.achat-modal-success{background:#e6ffe6;color:#1a7f1a}.icon-red{color:#c00}.icon-green{color:#217346}.icon-gray{color:#888}.mr-6{margin-right:6px}.mb-10{margin-bottom:10px}.centered-text{text-align:center}.achat-details-actions-row{align-items:center;display:flex;justify-content:space-between;margin-top:18px}.achat-details-export-btns{display:flex;gap:10px}.achat-details-close-btn{background:#eee;color:#333;font-weight:600;transition:background .2s,color .2s}.achat-details-close-btn:hover{background:#ddd;color:#111}.achats-beneficiaire-section{margin-bottom:32px}.achats-beneficiaire-label{display:block;font-size:17px;font-weight:600;margin-bottom:10px}.achats-beneficiaire-input-wrapper{margin:0 auto;max-width:400px;position:relative;width:90%}.achats-beneficiaire-input{border:1px solid #bbb;border-radius:7px;font-size:16px;padding:10px;width:100%}.achats-beneficiaire-dropdown{background:#fff;border:1px solid #ddd;border-radius:7px;box-shadow:0 2px 8px #00000014;list-style:none;margin:0;max-height:180px;overflow-y:auto;padding:0;position:absolute;width:100%;z-index:10}.achats-beneficiaire-dropdown li{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 14px}.achats-beneficiaire-dropdown li.selected,.achats-beneficiaire-dropdown li:hover{background:#e6f7ff}.achats-beneficiaire-num{color:#888;font-size:13px}.achats-beneficiaire-selected{align-items:center;color:#1a7f1a;display:flex;font-weight:500;gap:6px;justify-content:center;margin-top:10px}.achats-no-results{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;padding:16px;position:absolute;right:0;text-align:center;top:100%;z-index:1000}.achats-no-results-message{color:#666;font-size:14px;font-style:italic;margin-bottom:12px}.achats-no-results-message i{color:#999;margin-right:8px}.achats-add-beneficiaire-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease}.achats-add-beneficiaire-btn:hover{background:#218838;box-shadow:0 2px 8px #28a7454d;transform:translateY(-1px)}.achats-add-beneficiaire-btn:active{transform:translateY(0)}.achats-add-beneficiaire-btn i{font-size:12px}.achats-list-wrapper{margin:30px auto 0;max-width:500px}.achats-list-title{font-size:20px;margin-bottom:12px;text-align:left}.achats-list-table{background:#fafafa;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.achats-list-table td,.achats-list-table th{padding:10px;text-align:center}.achats-list-table th{background:#f5f5f5}.achats-list-table td{border-bottom:1px solid #eee}.achats-list-table .achats-total-row td{border-top:2px solid #e0e0e0;color:#0071bc;font-size:17px;font-weight:700}.achats-list-table .achats-total-row td:first-child{border-radius:0 0 0 8px}.achats-list-table .achats-total-row td:last-child{border-radius:0 0 8px 0}.achats-list-search-row{align-items:center;display:flex;gap:16px;margin-bottom:12px}.achats-list-search-input{border:1px solid #bbb;border-radius:6px;font-size:15px;min-width:180px;padding:7px 12px}.clear-filters-btn{align-items:center;background:#eee;border:none;border-radius:6px;box-shadow:none;color:#333;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:4px;height:36px;line-height:1;margin-left:0;margin-right:0;padding:6px 10px;white-space:nowrap}.clear-filters-btn:hover{background:#e0e0e0;color:#0071bc}.clear-filters-btn .fa-times-circle{font-size:1.1em;margin-right:4px}.clear-filters-label{display:inline;font-size:15px;font-weight:500}.switch-label{align-items:center;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px}.switch{display:inline-block;height:24px;margin-right:8px;position:relative;width:44px}.switch input[type=checkbox]{height:0;opacity:0;width:0}.slider{background:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background:#fff;border-radius:50%;bottom:3px;box-shadow:0 1px 4px #0000001a;content:"";height:18px;left:3px;width:18px}.switch input:checked+.slider{background:#1a7f1a}.switch input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:24px}.switch-text{color:#222;font-size:15px;margin-left:8px}.achats-total-cell-label{font-size:14px!important;font-weight:700;text-align:right}.achats-total-cell-initial{color:#888;font-weight:700;text-decoration:line-through}table.produits-table.achats-list-table .achats-total-cell-label{font-size:14px!important}.achats-total-rabais{background-color:#e7e7e7!important;font-size:12px!important}@media (max-width:700px){.achats-list-search-row{align-items:stretch;flex-direction:column;gap:8px}.clear-filters-btn{height:36px;justify-content:center;margin-top:4px;width:100%}.achats-list-table.produits-table{font-size:13px!important;max-width:100%!important;width:100%!important}.achats-list-table.produits-table td,.achats-list-table.produits-table th{font-size:12px!important;padding:8px 5px!important}}@media (max-width:600px) and (min-width:396px){.achats-list-table.produits-table{table-layout:auto!important;word-break:normal!important}.achats-list-table.produits-table td,.achats-list-table.produits-table th{font-size:11px!important;padding:6px 4px!important;white-space:nowrap!important;word-break:normal!important}.achats-list-table.produits-table td:nth-child(2),.achats-list-table.produits-table th:nth-child(2){max-width:120px!important;white-space:normal!important;word-break:break-word!important}}@media (max-width:395px){.achats-list-table.produits-table td:first-child,.achats-list-table.produits-table th:first-child{min-width:60px!important;width:15%!important}.achats-list-table.produits-table td:nth-child(2),.achats-list-table.produits-table th:nth-child(2){min-width:80px!important;width:35%!important}.achats-list-table.produits-table td:nth-child(3),.achats-list-table.produits-table th:nth-child(3){min-width:50px!important;text-align:center!important;width:15%!important}.achats-list-table.produits-table td:nth-child(4),.achats-list-table.produits-table th:nth-child(4){min-width:60px!important;text-align:right!important;width:20%!important}.achats-list-table.produits-table td:nth-child(5),.achats-list-table.produits-table th:nth-child(5){min-width:70px!important;width:15%!important}.achats-list-table .achats-total-final .achats-total-cell-label{font-size:18px!important}.achats-total-rabais{background-color:#e7e7e7!important}.achats-total-rabais,table.produits-table.achats-list-table .achats-total-cell-label,table.produits-table.achats-list-table .achats-total-cell-rabais:nth-child(2){font-size:12px!important}table.produits-table.achats-list-table .achats-total-final .achats-total-cell-label{font-size:18px!important}}.achats-container-margin,.achats-form-section{margin-bottom:12px}.achats-info{align-items:center;color:#888;display:flex;font-size:15px;gap:8px;justify-content:center;margin-bottom:18px}.achats-info i{margin-right:8px}.achats-notification{margin-top:16px}[data-page=version] .version-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000026;color:#666;font-family:Roboto,sans-serif;font-size:.75rem;max-width:200px;padding:8px 12px;position:fixed;transition:all .3s ease;z-index:1000}[data-page=version] .version-info:hover{box-shadow:0 4px 12px #0003;opacity:.9;transform:translateY(-1px)}[data-page=version] .version-info--expanded{background:#fffffffa;padding:12px}[data-page=version] .version-info--bottom-right{bottom:16px;right:16px}[data-page=version] .version-info--bottom-left{bottom:16px;left:16px}[data-page=version] .version-info--bottom-center{bottom:16px;left:50%;transform:translateX(-50%)}[data-page=version] .version-info--top-right{right:16px;top:16px}[data-page=version] .version-info--top-left{left:16px;top:16px}[data-page=version] .version-info__content{align-items:center;display:flex;gap:8px}[data-page=version] .version-info__name{color:#333;font-weight:600}[data-page=version] .version-info__version{background:#007bff1a;border-radius:4px;color:#007bff;font-size:.7rem;font-weight:500;padding:2px 6px}[data-page=version] .version-info__warning{color:orange;font-size:.8rem;margin-left:4px}[data-page=version] .version-info__sync{color:#28a745;font-size:.8rem;margin-left:4px}[data-page=version] .version-info__error{color:#dc3545;font-size:.8rem;margin-left:4px}[data-page=version] .version-info__details{border-top:1px solid #e0e0e0;font-size:.65rem;margin-top:8px;padding-top:8px}[data-page=version] .version-info__item{align-items:center;display:flex;justify-content:space-between;margin-bottom:3px}[data-page=version] .version-info__item span:first-child{color:#666;font-weight:500}[data-page=version] .version-info__item span:last-child{color:#333;font-weight:600}[data-page=version] .version-info__uptime{color:#28a745}@media (max-width:768px){[data-page=version] .version-info{bottom:12px;font-size:.7rem;padding:6px 10px;right:12px}[data-page=version] .version-info__content{gap:6px}[data-page=version] .version-info__version{font-size:.65rem;padding:1px 4px}}@media (max-width:395px){[data-page=version] .version-info{bottom:8px;font-size:.65rem;padding:4px 8px;right:8px}[data-page=version] .version-info__content{gap:4px}}
/*# sourceMappingURL=main.fd094a31.css.map*/