@charset "UTF-8";@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn .25s ease}.animate-slide-up{animation:slideUp .25s ease}.animate-slide-down{animation:slideDown .25s ease}.animate-slide-in-left{animation:slideInLeft .25s ease}.animate-slide-in-right{animation:slideInRight .25s ease}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.badge,.alert-pill,.checklist-badge,.priority-badge,.type-badge,.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;line-height:1;transition:all .15s ease}.badge i,.alert-pill i,.checklist-badge i,.priority-badge i,.type-badge i,.status-pill i{font-size:.7rem}.badge-primary{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.badge-success,.status-pill.status-success,.status-pill.status-operationnel{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.2)}.badge-warning,.priority-badge.priority-moyenne,.priority-badge.priority-medium,.status-pill.status-warning,.status-pill.status-pending,.status-pill.status-en-cours{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.badge-danger,.priority-badge.priority-haute,.priority-badge.priority-high,.status-pill.status-danger,.status-pill.status-error,.status-pill.status-hors-service{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.badge-info,.priority-badge.priority-basse,.priority-badge.priority-low,.status-pill.status-info,.status-pill.status-neutral{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.badge-secondary,.status-pill.status-secondary,.status-pill.status-inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-pill{font-weight:700;padding:.375rem .875rem}.type-badge.cat-temp\e9rature{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.type-badge.cat-hygi\e8ne{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.2)}.type-badge.cat-r\e9 ception{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.type-badge.cat-nettoyage{background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.2)}.type-badge.cat-audit{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.type-badge.cat-tra\e7 abilit\e9 ,.type-badge.cat-contr\f4le{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.checklist-badge{background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.2)}.checklist-badge i{font-size:.75rem}.alert-pill{font-weight:700}.alert-pill.dlc{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.alert-pill.qty{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.badge-sm{padding:.15rem .5rem;font-size:.6875rem}.badge-lg{padding:.5rem 1rem;font-size:.8125rem}.badge-outline{background:transparent;border-width:2px}.badge-solid{border:none}.badge-solid.badge-primary{background:#6366f1;color:#fff}.badge-solid.badge-success,.badge-solid.status-pill.status-success,.badge-solid.status-pill.status-operationnel{background:#10b981;color:#fff}.badge-solid.badge-warning,.badge-solid.status-pill.status-warning,.badge-solid.status-pill.status-pending,.badge-solid.status-pill.status-en-cours,.badge-solid.priority-badge.priority-moyenne,.badge-solid.priority-badge.priority-medium{background:#f59e0b;color:#fff}.badge-solid.badge-danger,.badge-solid.status-pill.status-danger,.badge-solid.status-pill.status-error,.badge-solid.status-pill.status-hors-service,.badge-solid.priority-badge.priority-haute,.badge-solid.priority-badge.priority-high{background:#ef4444;color:#fff}.badge-pill{border-radius:999px;padding-left:1rem;padding-right:1rem}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.9375rem;line-height:1.5;color:#0f172a;background:#f8fafc;min-height:100vh}a{color:#6366f1;text-decoration:none;transition:color .15s ease}a:hover{color:#8b5cf6}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 24px;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn:not(:disabled):active{transform:translateY(0)}.btn i{font-size:16px}.btn-sm{padding:8px 16px;font-size:.8125rem}.btn-sm i{font-size:14px}.btn-lg{padding:16px 32px;font-size:1rem}.btn-lg i{font-size:18px}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #6366f14d}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 8px 24px #10b9814d}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 8px 24px #ef44444d}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#ea960a;box-shadow:0 8px 24px #f59e0b4d}.btn-secondary{background:#f1f5f9;color:#0f172a}.btn-secondary:hover:not(:disabled){background:#e0e9f2}.btn-outline{background:transparent;color:#6366f1;border:2px solid #6366f1}.btn-outline:hover:not(:disabled){background:#6366f1;color:#fff}.btn-ghost{background:transparent;color:#64748b}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#0f172a}.btn-block{width:100%}.btn-icon{width:40px;height:40px;padding:0;border-radius:50%;flex-shrink:0}.btn-icon.btn-sm{width:32px;height:32px}.btn-icon.btn-lg{width:48px;height:48px}.fa-plus-circle{color:#fff!important}@media (max-width: 767px){.btn{padding:.875rem 1.25rem;font-size:.9375rem;min-height:44px}.btn.btn-sm{padding:.625rem 1rem;min-height:36px}.btn.btn-lg{padding:1rem 1.5rem;min-height:52px;font-size:1rem}.btn-icon{width:44px;height:44px}.btn-icon.btn-sm{width:36px;height:36px}.btn-icon.btn-lg{width:52px;height:52px}.btn-group,.button-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.btn-group .btn,.button-group .btn{width:100%}}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease}.card:hover{box-shadow:0 12px 32px #6366f11f}.card.card-hover{cursor:pointer}.card.card-hover:hover{transform:translateY(-4px)}.card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #e2e8f0}.card-header .card-title{margin:0;font-size:1.125rem;font-weight:700;color:#0f172a;display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.card-header .card-title i{font-size:20px;color:#6366f1}.card-header .card-actions{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.card-body{color:#64748b}.card-body p{margin-bottom:1rem}.card-body p:last-child{margin-bottom:0}.card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.card-primary{border-left:4px solid #6366f1}.card-success{border-left:4px solid #10b981}.card-warning{border-left:4px solid #f59e0b}.card-danger{border-left:4px solid #ef4444}.stats-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;text-align:center}.stats-card:hover{box-shadow:0 12px 32px #6366f11f}.stats-card .stats-icon{width:60px;height:60px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:28px;color:#fff}.stats-card .stats-icon.stats-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stats-card .stats-icon.stats-success{background:linear-gradient(135deg,#10b981,#059669)}.stats-card .stats-icon.stats-warning{background:#f59e0b}.stats-card .stats-icon.stats-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.stats-card .stats-value{font-size:2rem;font-weight:700;color:#0f172a;margin-bottom:.25rem}.stats-card .stats-label{font-size:.8125rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.cards-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 767px){.cards-grid{grid-template-columns:1fr}}.form-group{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:#0f172a;margin-bottom:.5rem;line-height:1.2}.form-label i{font-size:1rem;color:#6366f1}.form-label .required{color:#ef4444;margin-left:2px}@media (max-width: 767px){.form-label{font-size:.75rem}}.form-control{width:100%;max-width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:.9375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:all .15s ease;background:#f8fafc;color:#0f172a;box-sizing:border-box;min-width:0}.form-control::placeholder{color:#94a3b8;opacity:.7}.form-control:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a;transform:translateY(-1px)}.form-control:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.form-control.form-control-error{border-color:#ef4444;background:#ef44440d}.form-control.form-control-success{border-color:#10b981}@media (max-width: 767px){.form-control{padding:10px 12px;font-size:.875rem;border-radius:8px}.form-control:focus{font-size:16px}}textarea.form-control{min-height:100px;resize:vertical;line-height:1.75}@media (max-width: 767px){textarea.form-control{min-height:80px}}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.form-error{margin-top:.5rem;font-size:.8125rem;color:#ef4444;display:flex;align-items:center;gap:.25rem}.form-error i{font-size:14px}.form-help{margin-top:.5rem;font-size:.8125rem;color:#94a3b8}.form-check{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.form-check input[type=checkbox],.form-check input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#6366f1}.form-check label{cursor:pointer;font-size:.9375rem;color:#64748b;-webkit-user-select:none;user-select:none}.input-group{display:flex;gap:0}.input-group .form-control{border-radius:0}.input-group .form-control:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.input-group .form-control:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.input-group .form-control:not(:last-child){border-right:none}.input-group .input-group-text{display:flex;align-items:center;padding:12px 16px;background:#f1f5f9;border:2px solid #e2e8f0;color:#94a3b8;font-size:.9375rem}.input-group .input-group-text:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px;border-right:none}.input-group .input-group-text:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px;border-left:none}.form-row{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width: 767px){.form-row{grid-template-columns:1fr;gap:1rem}}.filters-bar{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem;margin-bottom:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}@media (max-width: 767px){.filters-bar{grid-template-columns:1fr;padding:1rem;gap:.5rem}}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.8125rem;font-weight:600;color:#64748b;display:flex;align-items:center;gap:.25rem}.filter-group label i{font-size:12px;color:#6366f1}.filter-group select,.filter-group input{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:12px;font-size:.8125rem;transition:all .15s ease;background:#fff;color:#0f172a}@media (max-width: 767px){.filter-group select,.filter-group input{padding:12px 14px;font-size:.9375rem}}.filter-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.btn-toggle-filters{display:none!important}@media (max-width: 768px){.btn-toggle-filters{display:flex!important;width:100%;padding:1rem;background:#6366f1;border:none;border-radius:16px;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease;margin-bottom:1rem;position:relative;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 16px #6366f114}.btn-toggle-filters i{font-size:1.1em}.btn-toggle-filters .filter-count{position:absolute;right:1rem;width:8px;height:8px}.btn-toggle-filters .filter-count i{color:#f59e0b;font-size:8px;animation:pulse 2s infinite}.btn-toggle-filters:hover{background:#5357f0;transform:translateY(-2px);box-shadow:0 12px 32px #6366f11f}.btn-toggle-filters:active{transform:translateY(0)}}.filters-bar{display:grid;transition:all .3s ease}@media (max-width: 767px){.filters-bar{display:none}.filters-bar.show{display:grid;animation:slideDown .3s ease}}@media (max-width: 767px){.form-control,select.form-control,textarea.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=time],input[type=datetime-local]{font-size:16px!important;padding:10px 12px;max-width:100%;width:100%;box-sizing:border-box;border-radius:8px}.form-label{font-size:.8125rem;margin-bottom:.25rem}.form-row{grid-template-columns:1fr;gap:1rem}.input-group{flex-direction:column;gap:.5rem}.input-group .form-control,.input-group .input-group-text{border-radius:12px!important;border:2px solid #e2e8f0!important;width:100%}.form-check{padding:.5rem}.form-check input[type=checkbox],.form-check input[type=radio]{width:24px;height:24px;flex-shrink:0}.form-check label{font-size:.9375rem}.form-group{margin-bottom:1rem}}.table-container{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:0;overflow:hidden}.table-responsive{overflow-x:auto}.table thead{background:#f8fafc}.table thead th{padding:1rem 1.5rem;text-align:left;font-size:.8125rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table thead th.sortable:hover{background:#f1f5f9}.table thead th.sortable i{margin-left:.25rem;font-size:12px}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background:#f8fafc}.table tbody tr.row-selected{background:#6366f10d}.table tbody tr td{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:.9375rem}.table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.table-actions .btn-icon{width:32px;height:32px}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge.badge-success{background:#10b9811a;color:#10b981}.badge.badge-warning{background:#f59e0b1a;color:#f59e0b}.badge.badge-danger{background:#ef44441a;color:#ef4444}.badge.badge-info{background:#3b82f61a;color:#3b82f6}.badge.badge-primary{background:#6366f11a;color:#6366f1}.badge.badge-secondary{background:#f1f5f9;color:#64748b}.pagination{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-top:1px solid #e2e8f0}.pagination .pagination-info{font-size:.8125rem;color:#94a3b8}.pagination .pagination-buttons{display:flex;gap:.5rem}@media (max-width: 767px){.table-container{padding:0}.table-responsive{overflow-x:visible}.table-responsive .table thead{display:none}.table-responsive .table tbody{display:block}.table-responsive .table tbody tr{display:block;margin-bottom:1rem;border:2px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 3px #00000014}.table-responsive .table tbody tr:hover{background:#fff;box-shadow:0 4px 16px #6366f114}.table-responsive .table tbody tr td{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e2e8f0;gap:.5rem}.table-responsive .table tbody tr td:before{content:attr(data-label);font-weight:600;color:#64748b;text-transform:uppercase;font-size:.75rem;letter-spacing:.025em;flex-shrink:0;min-width:100px}.table-responsive .table tbody tr td:last-child{border-bottom:none}.table-responsive .table tbody tr td:first-child{background:#f8fafc;font-weight:700}.table-actions{justify-content:flex-start;width:100%;flex-wrap:wrap}.table-actions .btn-icon{flex:1;min-width:44px}.pagination{flex-direction:column;gap:1rem}.pagination .pagination-info{width:100%;text-align:center}.pagination .pagination-buttons{width:100%;justify-content:center}}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1040;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease-out}@media (max-width: 767px){.modal-backdrop{padding:0;align-items:center}}.modal{--modal-max-width: 720px;width:min(var(--modal-max-width),100vw - 4rem);max-height:92vh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:0;background:transparent;box-shadow:none;border-radius:0;animation:slideUp .3s ease-out}.modal>*{flex:1 1 auto;min-width:0}.modal.modal-sm{--modal-max-width: 520px}.modal.modal-lg{--modal-max-width: 880px}.modal.modal-xl{--modal-max-width: 1080px}@media (max-width: 767px){.modal{--modal-max-width: 100%;width:100%;max-height:95vh;border-bottom-left-radius:0;border-bottom-right-radius:0}}.modal-wrapper{width:100%;max-height:min(92vh,900px);background:linear-gradient(145deg,#fffffffa,#f8fafcf0);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 60px #0f172a2e;border:1px solid rgba(226,232,240,.6);animation:modalFade .22s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@supports (max-height: 92dvh){.modal-wrapper{max-height:min(92dvh,900px)}}.modal-wrapper form{display:flex;flex-direction:column;height:100%}@media (max-width: 1024px){.modal-wrapper{max-height:90vh;border-radius:16px}}@media (max-width: 767px){.modal-wrapper{max-height:95vh;border-radius:16px 16px 0 0;border:none}}@keyframes modalFade{0%{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(226,232,240,.6);background:linear-gradient(90deg,#6366f10f,#8b5cf60a);flex-shrink:0}.modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}.modal-header h3 i{font-size:1.5rem;color:#6366f1;flex-shrink:0}.modal-header .modal-title{margin:0;font-size:1.125rem;font-weight:700;color:#0f172a;display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.modal-header .modal-title i{font-size:22px;color:#6366f1}.modal-header .modal-close{display:inline-flex;gap:.5rem;border:none;font-size:.9375rem;font-weight:600;transition:all .25s ease;text-decoration:none;position:relative;overflow:hidden;width:44px;height:44px;padding:0;border-radius:50%;background:#fffc;border:1px solid rgba(226,232,240,.5);color:#64748b;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header .modal-close:disabled{opacity:.6;cursor:not-allowed}.modal-header .modal-close:not(:disabled):hover{transform:translateY(-2px)}.modal-header .modal-close:not(:disabled):active{transform:translateY(0)}.modal-header .modal-close:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444;transform:rotate(90deg)}.modal-header .modal-close:active{transform:rotate(90deg) scale(.95)}.modal-header .modal-close i{font-size:1.25rem}@media (max-width: 1024px){.modal-header{padding:1rem 1.5rem}.modal-header h3{font-size:1.125rem}.modal-header h3 i{font-size:1.25rem}}@media (max-width: 767px){.modal-header{padding:1rem;position:sticky;top:0;background:linear-gradient(90deg,#6366f114,#8b5cf60f);z-index:10;border-bottom:2px solid rgba(226,232,240,.7)}.modal-header h3{font-size:1rem;gap:.25rem}.modal-header h3 i{font-size:1.125rem}.modal-header .modal-close{width:40px;height:40px}.modal-header .modal-close i{font-size:1.125rem}}.modal-body{padding:2rem 1.5rem 3rem;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;background:#ffffffd1;scrollbar-gutter:stable both-edges;max-height:calc(92vh - 220px)}.modal-body::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}@supports (max-height: 92dvh){.modal-body{max-height:calc(92dvh - 220px)}}@media (max-width: 1024px){.modal-body{padding:1.5rem 1rem;max-height:calc(90vh - 200px)}}@media (max-width: 767px){.modal-body{padding:1rem;max-height:calc(95vh - 180px)}}.form-section{border:1px solid rgba(226,232,240,.6);border-radius:20px;padding:1.5rem;margin-bottom:1.5rem;background:#f8fafcbf;box-shadow:0 14px 34px #0f172a0d}.form-section:last-child{margin-bottom:0}.form-section .section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(99,102,241,.12)}.form-section .section-title i{font-size:1.125rem;color:#6366f1}@media (max-width: 1024px){.form-section{padding:1rem;border-radius:16px;margin-bottom:1rem}}@media (max-width: 767px){.form-section{padding:1rem .5rem;border-radius:12px}.form-section .section-title{font-size:.875rem;margin-bottom:1rem}.form-section .section-title i{font-size:1rem}}.form-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width: 1024px){.form-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 767px){.form-grid{gap:1rem;grid-template-columns:1fr}}.form-group-modal{display:flex;flex-direction:column;gap:.25rem;min-width:0}.form-group-modal.full-width{grid-column:1/-1}.form-group-modal.checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-group-modal.checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#6366f1}.form-group-modal.checkbox label{margin:0;cursor:pointer;text-transform:none;font-weight:400}.form-label-modal{font-size:.8125rem;font-weight:600;color:#64748b;letter-spacing:.025em;text-transform:uppercase;line-height:1.2}.form-label-modal .required{color:#ef4444;margin-left:2px}@media (max-width: 767px){.form-label-modal{font-size:.75rem}}.form-control,.form-textarea-modal,.form-group-modal input,.form-group-modal select,.form-group-modal textarea{width:100%;max-width:100%;border:2px solid rgba(226,232,240,.7);border-radius:16px;padding:12px 16px;font-size:.9375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#0f172a;background:#ffffffeb;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:0 6px 18px #0f172a0d;box-sizing:border-box;min-width:0}.form-control::placeholder,.form-textarea-modal::placeholder,.form-group-modal input::placeholder,.form-group-modal select::placeholder,.form-group-modal textarea::placeholder{color:#94a3b8;opacity:.7}.form-control:focus,.form-textarea-modal:focus,.form-group-modal input:focus,.form-group-modal select:focus,.form-group-modal textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a;transform:translateY(-1px)}.form-control:disabled,.form-textarea-modal:disabled,.form-group-modal input:disabled,.form-group-modal select:disabled,.form-group-modal textarea:disabled{background:#f1f5f999;color:#94a3b8;cursor:not-allowed}@media (max-width: 767px){.form-control,.form-textarea-modal,.form-group-modal input,.form-group-modal select,.form-group-modal textarea{padding:10px 12px;font-size:.875rem;border-radius:12px}.form-control:focus,.form-textarea-modal:focus,.form-group-modal input:focus,.form-group-modal select:focus,.form-group-modal textarea:focus{font-size:16px}}select.form-control,.form-group-modal select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.form-textarea-modal,.form-group-modal textarea{resize:vertical;min-height:100px;line-height:1.75}@media (max-width: 767px){.form-textarea-modal,.form-group-modal textarea{min-height:80px}}.form-error,.invalid-feedback{font-size:.75rem;color:#ef4444;display:flex;align-items:center;gap:.25rem;padding:6px 10px;background:#ef444414;border-radius:8px;margin-top:.25rem}.form-error i,.invalid-feedback i{font-size:.875rem}@media (max-width: 767px){.form-error,.invalid-feedback{font-size:.6875rem;padding:4px 8px}}.form-control.ng-invalid.ng-touched,.form-group-modal input.ng-invalid.ng-touched,.form-group-modal select.ng-invalid.ng-touched,.form-group-modal textarea.ng-invalid.ng-touched{border-color:#ef444499;box-shadow:0 0 0 3px #ef44441a}.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:1.5rem;border-top:1px solid rgba(226,232,240,.6);background:linear-gradient(180deg,#fffffff0,#f8fafce6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:0 0 auto;flex-wrap:wrap;z-index:1}.modal-footer .btn{min-height:44px;padding:0 1.5rem;font-size:.9375rem;font-weight:600}.modal-footer .modal-actions{display:flex;gap:.5rem;margin-left:auto}@media (max-width: 1024px){.modal-footer{padding:1rem;gap:.25rem}.modal-footer .btn{min-height:42px;padding:0 1rem;font-size:.875rem}}@media (max-width: 767px){.modal-footer{padding:1rem;flex-direction:column-reverse;position:sticky;bottom:0;background:linear-gradient(180deg,#fffffff5,#f8fafceb);border-top:2px solid rgba(226,232,240,.7);gap:.5rem}.modal-footer .btn{width:100%;min-height:48px;justify-content:center;font-size:.9375rem}.modal-footer .modal-actions{width:100%;flex-direction:column-reverse;margin-left:0;gap:.5rem}.modal-footer .modal-actions .btn{width:100%}}.full-width{grid-column:1/-1!important}.alerts-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:center}@media (max-width: 767px){.alerts-grid{grid-template-columns:1fr}}.list-container{max-width:100%;margin:0;background:#f8fafc;min-height:100vh;width:100%;overflow-x:hidden;box-sizing:border-box}@media (min-width: 1200px){.list-container{padding:2rem clamp(1.5rem,2vw,3rem)}}@media (min-width: 1600px){.list-container{padding:2rem clamp(2rem,3vw,3rem)}}@media (min-width: 1920px){.list-container{padding:2rem clamp(3rem,4vw,4rem)}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;width:100%;max-width:100%}.page-header .page-header-content{flex:1;min-width:0}.page-header .page-header-content .page-title{font-size:clamp(1.75rem,1.5rem + 2.5vw,2.75rem);font-weight:700;color:#0f172a;margin:0 0 .5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:clamp(.25rem,1.5vw,1rem);flex-wrap:wrap;word-break:break-word;line-height:1.3}.page-header .page-header-content .page-title i{font-size:clamp(1.5rem,1.3rem + 2.2vw,2.4rem);flex-shrink:0}.page-header .page-header-content .page-subtitle{font-size:clamp(1.05rem,.95rem + .6vw,1.25rem);color:#64748b;margin:0;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}@media (min-width: 768px) and (max-width: 1023px){.page-header{gap:.5rem}.page-header .page-header-content .page-title{font-size:clamp(1.5rem,1.25rem + 2vw,2.25rem);gap:.5rem}.page-header .page-header-content .page-subtitle{font-size:clamp(.95rem,.85rem + .5vw,1.1rem)}}@media (max-width: 767px){.page-header{flex-direction:column;align-items:stretch;gap:.5rem}.page-header .page-header-content .page-title{font-size:clamp(1.3rem,1.15rem + 1.5vw,1.85rem);gap:.25rem}.page-header .page-header-content .page-title i{font-size:clamp(1.25rem,1.1rem + 1.3vw,1.7rem)}.page-header .page-header-content .page-subtitle{font-size:clamp(.95rem,.9rem + .4vw,1.05rem)}.page-header button{width:100%}}.btn-toggle-filters{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 24px;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none;overflow:hidden;width:100%;background:#fff;color:#0f172a;border:2px solid #e2e8f0;margin-bottom:1rem;position:relative;display:flex}.btn-toggle-filters:disabled{opacity:.6;cursor:not-allowed}.btn-toggle-filters:not(:disabled):hover{transform:translateY(-2px)}.btn-toggle-filters:not(:disabled):active{transform:translateY(0)}.btn-toggle-filters:hover{background:#f8fafc;border-color:#6366f1}.btn-toggle-filters .filter-count{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#ef4444;font-size:8px;animation:pulse 2s ease-in-out infinite}@media (min-width: 768px) and (max-width: 1023px){.btn-toggle-filters{display:none}}.filters-bar{background:#fff;border-radius:16px;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:1.5rem;margin-bottom:1.5rem}.filters-bar:hover{box-shadow:0 12px 32px #6366f11f}@media (max-width: 768px){.filters-bar{display:none}.filters-bar.show{display:block;animation:slideDown .3s ease}}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;align-items:start}@media (min-width: 1440px){.filters-grid{grid-template-columns:repeat(5,minmax(200px,1fr))}}@media (min-width: 1024px) and (max-width: 1439px){.filters-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.filters-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.filters-grid{grid-template-columns:1fr;gap:.5rem}}.filter-group{display:flex;flex-direction:column}.filter-group label{display:flex;align-items:center;gap:.25rem;font-size:13px;font-weight:600;color:#64748b;margin-bottom:.5rem;margin-top:.5rem;white-space:nowrap}.filter-group label i{font-size:14px;color:#6366f1;flex-shrink:0}.filter-group select,.filter-group input{width:100%;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;transition:all .15s ease;background:#fff;cursor:pointer;margin-bottom:.25rem;margin-top:.25rem}.filter-group select:hover,.filter-group input:hover{border-color:#c3d0e0}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.filter-group select::placeholder,.filter-group input::placeholder{color:#94a3b8;font-style:italic}.filter-group input[type=text]{cursor:text}.btn-reset-filters{display:inline-flex;gap:.5rem;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none;position:relative;overflow:hidden;padding:10px 20px;background:#64748b;color:#fff;border:2px solid #e2e8f0;font-size:.8125rem;display:flex;align-items:center;gap:.25rem;justify-content:center;margin-top:auto;grid-column:-2;justify-self:end}.btn-reset-filters:disabled{opacity:.6;cursor:not-allowed}.btn-reset-filters:not(:disabled):hover{transform:translateY(-2px)}.btn-reset-filters:not(:disabled):active{transform:translateY(0)}.btn-reset-filters i{font-size:12px}.btn-reset-filters:hover{background:#f1f5f9;color:#6366f1;border-color:#6366f1}.btn-reset-filters:hover i{animation:spin .5s ease}@media (max-width: 767px){.btn-reset-filters{width:100%;margin-top:1rem}}.stats-grid{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}@media (max-width: 767px){.stats-grid{flex-direction:column}}.loading-container{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;padding:2rem}.loading-container .spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;animation:spin .8s linear infinite}.loading-container p{margin:0;color:#64748b;font-weight:600}.table-container{background:#fff;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:0;overflow:hidden;border:1px solid rgba(226,232,240,.55);border-radius:20px;box-shadow:0 24px 55px #0f172a14}.table-container:hover{box-shadow:0 12px 32px #6366f11f}.table-responsive{width:100%;overflow-x:auto}.table-responsive::-webkit-scrollbar{width:8px;height:8px}.table-responsive::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:#94a3b8}.table{width:100%;border-collapse:collapse}.table thead{background:linear-gradient(90deg,#6366f112,#8b5cf60d)}.table thead th{text-align:left;padding:18px 20px;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:#5c6b80;border-bottom:1px solid rgba(226,232,240,.5);white-space:nowrap}.table tbody tr{transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.table tbody tr:nth-child(2n){background:#f8fafc59}.table tbody tr:hover{background:#6366f114;transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.table tbody tr td{padding:18px 22px;border-bottom:1px solid rgba(226,232,240,.45);color:#0f172a;font-size:.8125rem;vertical-align:middle}.table tbody tr td:first-child{font-weight:600}.table tbody tr td[data-label]{position:relative}.table-actions{display:flex;gap:.5rem}.table-actions .btn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.stat-badge{padding:12px 1.5rem;border-radius:12px;font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:.25s ease;cursor:pointer;flex:1;min-width:140px}.stat-badge:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f114}.stat-badge.total{background:linear-gradient(135deg,#6366f126,#8b5cf626);color:#6366f1;border:1.5px solid rgba(99,102,241,.3)}.stat-badge.success,.stat-badge.operationnel{background:linear-gradient(135deg,#10b98126,#05966926);color:#10b981;border:1.5px solid rgba(16,185,129,.3)}.stat-badge.warning,.stat-badge.progress{background:linear-gradient(135deg,#f59e0b26,#d9770626);color:#f59e0b;border:1.5px solid rgba(245,158,11,.3)}.stat-badge.danger,.stat-badge.late{background:linear-gradient(135deg,#ef444426,#dc262626);color:#ef4444;border:1.5px solid rgba(239,68,68,.3)}.stat-badge.danger i,.stat-badge.late i{animation:pulse 2s ease-in-out infinite}.stat-badge.info{background:linear-gradient(135deg,#3b82f626,#2563eb26);color:#3b82f6;border:1.5px solid rgba(59,130,246,.3)}@media (max-width: 767px){.stat-badge{justify-content:center}}.items-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media (min-width: 1400px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem}}@media (min-width: 1600px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:3rem}}@media (min-width: 1920px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}}.item-card{border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;background:#fff;border:2px solid #e2e8f0;padding:0;position:relative;overflow:hidden;animation:fadeIn .4s ease;transition:all .15s ease}.item-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#6366f1;opacity:0;transition:.15s ease}.item-card.expanded{border-color:#6366f1}.item-card.expanded:before{opacity:1}.item-card:hover{box-shadow:0 12px 32px #6366f11f}.item-header{padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.item-header:hover{background:#f8fafc}.item-body{padding:0 1.5rem 1.5rem;display:none;animation:slideDown .3s ease}.item-body.show{display:block}.item-footer{padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.5rem}.items-table-view{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:0;overflow:hidden}.items-table-view:hover{box-shadow:0 12px 32px #6366f11f}.items-table-view .table-responsive{overflow-x:auto}.items-table-view .table-responsive::-webkit-scrollbar{width:8px;height:8px}.items-table-view .table-responsive::-webkit-scrollbar-track{background:#f8fafc;border-radius:4px}.items-table-view .table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.items-table-view .table-responsive::-webkit-scrollbar-thumb:hover{background:#94a3b8}.items-table-view table{width:100%;border-collapse:collapse}.items-table-view table thead{background:#f8fafc}.items-table-view table thead th{padding:.5rem 1rem;text-align:left;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;white-space:nowrap}@media (max-width: 767px){.items-table-view table thead th{padding:.25rem .5rem;font-size:10px}}.items-table-view table tbody tr{transition:background-color .15s ease}.items-table-view table tbody tr:hover{background:#f8fafc}.items-table-view table tbody tr.alert-row{background:#ef44440d;border-left:3px solid #ef4444}.items-table-view table tbody tr.alert-row:hover{background:#ef444414}.items-table-view table tbody tr td{padding:.5rem 1rem;border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:.8125rem;vertical-align:middle}@media (max-width: 767px){.items-table-view table tbody tr td{padding:.25rem .5rem;font-size:.75rem}}.items-table-view table tbody tr:last-child td{border-bottom:none}@media (max-width: 767px){.items-table-view .table-responsive{display:none}}.items-cards-view{display:none}@media (max-width: 767px){.items-cards-view{display:grid;gap:1rem}}.item-card-mobile{border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:1rem;background:#fff;border:2px solid #e2e8f0}.item-card-mobile:hover{box-shadow:0 12px 32px #6366f11f}.item-card-mobile.alert-card{border-color:#ef4444;background:#ef444405}.item-card-mobile .card-header-mobile{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.item-card-mobile .card-header-mobile .card-title-mobile{font-weight:700;font-size:.9375rem;color:#0f172a}.item-card-mobile .card-header-mobile .card-badges-mobile{display:flex;gap:.25rem;flex-wrap:wrap}.item-card-mobile .card-body-mobile{display:grid;gap:.5rem;margin-bottom:1rem}.item-card-mobile .card-body-mobile .card-row-mobile{display:flex;justify-content:space-between;font-size:.8125rem}.item-card-mobile .card-body-mobile .card-row-mobile .label{color:#64748b;font-weight:600}.item-card-mobile .card-body-mobile .card-row-mobile .value{color:#0f172a;font-weight:500;text-align:right}.item-card-mobile .card-actions-mobile{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;border-top:1px solid #e2e8f0}.item-actions{display:flex;gap:.5rem;align-items:center}@media (max-width: 767px){.item-actions{flex-wrap:wrap;justify-content:flex-start}}.btn-icon-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none;position:relative;overflow:hidden;width:36px;height:36px;padding:0;border-radius:50%;background:#f8fafc;color:#64748b}.btn-icon-action:disabled{opacity:.6;cursor:not-allowed}.btn-icon-action:not(:disabled):hover{transform:translateY(-2px)}.btn-icon-action:not(:disabled):active{transform:translateY(0)}.btn-icon-action:hover{background:#6366f1;color:#fff}.btn-icon-action.btn-view:hover{background:#3b82f6}.btn-icon-action.btn-edit:hover{background:#f59e0b}.btn-icon-action.btn-delete:hover{background:#ef4444}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.status-badge i{font-size:10px}.status-badge.status-active,.status-badge.status-operationnel{background:#10b9811a;color:#10b981}.status-badge.status-inactive,.status-badge.status-hors-service{background:#94a3b81a;color:#94a3b8}.status-badge.status-warning,.status-badge.status-en-maintenance{background:#f59e0b1a;color:#f59e0b}.status-badge.status-danger,.status-badge.status-en-panne{background:#ef44441a;color:#ef4444}.status-badge.status-info{background:#3b82f61a;color:#3b82f6}.status-badge.status-disponible{background:#10b9811f;color:#10b981}.status-badge.status-en-preparation{background:#f59e0b24;color:#f59e0b}.status-badge.status-en-livraison{background:#3b82f624;color:#3b82f6}.status-badge.status-en-rupture{background:#ef444424;color:#ef4444}.status-badge.status-controle-qualite{background:#8b5cf624;color:#8b5cf6}.etat-neuf{background:#10b9811a;color:#10b981}.etat-bon{background:#3b82f61a;color:#3b82f6}.etat-moyen{background:#f59e0b1a;color:#f59e0b}.etat-mauvais{background:#ef44441a;color:#ef4444}.etat-a-remplacer{background:#ef444426;color:#ef4444;font-weight:700}.equipement-info,.item-info,.zone-info,.lot-info,.produit-info{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.equipement-info .equipement-icon,.equipement-info .item-icon,.equipement-info .zone-icon,.equipement-info .lot-icon,.equipement-info .produit-icon,.item-info .equipement-icon,.item-info .item-icon,.item-info .zone-icon,.item-info .lot-icon,.item-info .produit-icon,.zone-info .equipement-icon,.zone-info .item-icon,.zone-info .zone-icon,.zone-info .lot-icon,.zone-info .produit-icon,.lot-info .equipement-icon,.lot-info .item-icon,.lot-info .zone-icon,.lot-info .lot-icon,.lot-info .produit-icon,.produit-info .equipement-icon,.produit-info .item-icon,.produit-info .zone-icon,.produit-info .lot-icon,.produit-info .produit-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2em;color:#fff;flex-shrink:0}.equipement-info .equipement-icon.four,.equipement-info .item-icon.four,.equipement-info .zone-icon.four,.equipement-info .lot-icon.four,.equipement-info .produit-icon.four,.item-info .equipement-icon.four,.item-info .item-icon.four,.item-info .zone-icon.four,.item-info .lot-icon.four,.item-info .produit-icon.four,.zone-info .equipement-icon.four,.zone-info .item-icon.four,.zone-info .zone-icon.four,.zone-info .lot-icon.four,.zone-info .produit-icon.four,.lot-info .equipement-icon.four,.lot-info .item-icon.four,.lot-info .zone-icon.four,.lot-info .lot-icon.four,.lot-info .produit-icon.four,.produit-info .equipement-icon.four,.produit-info .item-icon.four,.produit-info .zone-icon.four,.produit-info .lot-icon.four,.produit-info .produit-icon.four{background:linear-gradient(135deg,#f59e0b,#d97706)}.equipement-info .equipement-icon.refrigerateur,.equipement-info .item-icon.refrigerateur,.equipement-info .zone-icon.refrigerateur,.equipement-info .lot-icon.refrigerateur,.equipement-info .produit-icon.refrigerateur,.item-info .equipement-icon.refrigerateur,.item-info .item-icon.refrigerateur,.item-info .zone-icon.refrigerateur,.item-info .lot-icon.refrigerateur,.item-info .produit-icon.refrigerateur,.zone-info .equipement-icon.refrigerateur,.zone-info .item-icon.refrigerateur,.zone-info .zone-icon.refrigerateur,.zone-info .lot-icon.refrigerateur,.zone-info .produit-icon.refrigerateur,.lot-info .equipement-icon.refrigerateur,.lot-info .item-icon.refrigerateur,.lot-info .zone-icon.refrigerateur,.lot-info .lot-icon.refrigerateur,.lot-info .produit-icon.refrigerateur,.produit-info .equipement-icon.refrigerateur,.produit-info .item-icon.refrigerateur,.produit-info .zone-icon.refrigerateur,.produit-info .lot-icon.refrigerateur,.produit-info .produit-icon.refrigerateur{background:linear-gradient(135deg,#3b82f6,#2563eb)}.equipement-info .equipement-icon.congelateur,.equipement-info .item-icon.congelateur,.equipement-info .zone-icon.congelateur,.equipement-info .lot-icon.congelateur,.equipement-info .produit-icon.congelateur,.item-info .equipement-icon.congelateur,.item-info .item-icon.congelateur,.item-info .zone-icon.congelateur,.item-info .lot-icon.congelateur,.item-info .produit-icon.congelateur,.zone-info .equipement-icon.congelateur,.zone-info .item-icon.congelateur,.zone-info .zone-icon.congelateur,.zone-info .lot-icon.congelateur,.zone-info .produit-icon.congelateur,.lot-info .equipement-icon.congelateur,.lot-info .item-icon.congelateur,.lot-info .zone-icon.congelateur,.lot-info .lot-icon.congelateur,.lot-info .produit-icon.congelateur,.produit-info .equipement-icon.congelateur,.produit-info .item-icon.congelateur,.produit-info .zone-icon.congelateur,.produit-info .lot-icon.congelateur,.produit-info .produit-icon.congelateur{background:linear-gradient(135deg,#06b6d4,#0891b2)}.equipement-info .equipement-icon.cuisiniere,.equipement-info .item-icon.cuisiniere,.equipement-info .zone-icon.cuisiniere,.equipement-info .lot-icon.cuisiniere,.equipement-info .produit-icon.cuisiniere,.item-info .equipement-icon.cuisiniere,.item-info .item-icon.cuisiniere,.item-info .zone-icon.cuisiniere,.item-info .lot-icon.cuisiniere,.item-info .produit-icon.cuisiniere,.zone-info .equipement-icon.cuisiniere,.zone-info .item-icon.cuisiniere,.zone-info .zone-icon.cuisiniere,.zone-info .lot-icon.cuisiniere,.zone-info .produit-icon.cuisiniere,.lot-info .equipement-icon.cuisiniere,.lot-info .item-icon.cuisiniere,.lot-info .zone-icon.cuisiniere,.lot-info .lot-icon.cuisiniere,.lot-info .produit-icon.cuisiniere,.produit-info .equipement-icon.cuisiniere,.produit-info .item-icon.cuisiniere,.produit-info .zone-icon.cuisiniere,.produit-info .lot-icon.cuisiniere,.produit-info .produit-icon.cuisiniere{background:linear-gradient(135deg,#ef4444,#dc2626)}.equipement-info .equipement-icon.lave-vaisselle,.equipement-info .item-icon.lave-vaisselle,.equipement-info .zone-icon.lave-vaisselle,.equipement-info .lot-icon.lave-vaisselle,.equipement-info .produit-icon.lave-vaisselle,.item-info .equipement-icon.lave-vaisselle,.item-info .item-icon.lave-vaisselle,.item-info .zone-icon.lave-vaisselle,.item-info .lot-icon.lave-vaisselle,.item-info .produit-icon.lave-vaisselle,.zone-info .equipement-icon.lave-vaisselle,.zone-info .item-icon.lave-vaisselle,.zone-info .zone-icon.lave-vaisselle,.zone-info .lot-icon.lave-vaisselle,.zone-info .produit-icon.lave-vaisselle,.lot-info .equipement-icon.lave-vaisselle,.lot-info .item-icon.lave-vaisselle,.lot-info .zone-icon.lave-vaisselle,.lot-info .lot-icon.lave-vaisselle,.lot-info .produit-icon.lave-vaisselle,.produit-info .equipement-icon.lave-vaisselle,.produit-info .item-icon.lave-vaisselle,.produit-info .zone-icon.lave-vaisselle,.produit-info .lot-icon.lave-vaisselle,.produit-info .produit-icon.lave-vaisselle{background:linear-gradient(135deg,#10b981,#059669)}.equipement-info .equipement-icon.friteuse,.equipement-info .item-icon.friteuse,.equipement-info .zone-icon.friteuse,.equipement-info .lot-icon.friteuse,.equipement-info .produit-icon.friteuse,.item-info .equipement-icon.friteuse,.item-info .item-icon.friteuse,.item-info .zone-icon.friteuse,.item-info .lot-icon.friteuse,.item-info .produit-icon.friteuse,.zone-info .equipement-icon.friteuse,.zone-info .item-icon.friteuse,.zone-info .zone-icon.friteuse,.zone-info .lot-icon.friteuse,.zone-info .produit-icon.friteuse,.lot-info .equipement-icon.friteuse,.lot-info .item-icon.friteuse,.lot-info .zone-icon.friteuse,.lot-info .lot-icon.friteuse,.lot-info .produit-icon.friteuse,.produit-info .equipement-icon.friteuse,.produit-info .item-icon.friteuse,.produit-info .zone-icon.friteuse,.produit-info .lot-icon.friteuse,.produit-info .produit-icon.friteuse{background:linear-gradient(135deg,#f97316,#ea580c)}.equipement-info .equipement-icon.plaque-induction,.equipement-info .item-icon.plaque-induction,.equipement-info .zone-icon.plaque-induction,.equipement-info .lot-icon.plaque-induction,.equipement-info .produit-icon.plaque-induction,.item-info .equipement-icon.plaque-induction,.item-info .item-icon.plaque-induction,.item-info .zone-icon.plaque-induction,.item-info .lot-icon.plaque-induction,.item-info .produit-icon.plaque-induction,.zone-info .equipement-icon.plaque-induction,.zone-info .item-icon.plaque-induction,.zone-info .zone-icon.plaque-induction,.zone-info .lot-icon.plaque-induction,.zone-info .produit-icon.plaque-induction,.lot-info .equipement-icon.plaque-induction,.lot-info .item-icon.plaque-induction,.lot-info .zone-icon.plaque-induction,.lot-info .lot-icon.plaque-induction,.lot-info .produit-icon.plaque-induction,.produit-info .equipement-icon.plaque-induction,.produit-info .item-icon.plaque-induction,.produit-info .zone-icon.plaque-induction,.produit-info .lot-icon.plaque-induction,.produit-info .produit-icon.plaque-induction{background:linear-gradient(135deg,#a855f7,#9333ea)}.equipement-info .equipement-icon.hotte,.equipement-info .item-icon.hotte,.equipement-info .zone-icon.hotte,.equipement-info .lot-icon.hotte,.equipement-info .produit-icon.hotte,.item-info .equipement-icon.hotte,.item-info .item-icon.hotte,.item-info .zone-icon.hotte,.item-info .lot-icon.hotte,.item-info .produit-icon.hotte,.zone-info .equipement-icon.hotte,.zone-info .item-icon.hotte,.zone-info .zone-icon.hotte,.zone-info .lot-icon.hotte,.zone-info .produit-icon.hotte,.lot-info .equipement-icon.hotte,.lot-info .item-icon.hotte,.lot-info .zone-icon.hotte,.lot-info .lot-icon.hotte,.lot-info .produit-icon.hotte,.produit-info .equipement-icon.hotte,.produit-info .item-icon.hotte,.produit-info .zone-icon.hotte,.produit-info .lot-icon.hotte,.produit-info .produit-icon.hotte{background:linear-gradient(135deg,#64748b,#475569)}.equipement-info .equipement-icon.trancheuse,.equipement-info .item-icon.trancheuse,.equipement-info .zone-icon.trancheuse,.equipement-info .lot-icon.trancheuse,.equipement-info .produit-icon.trancheuse,.item-info .equipement-icon.trancheuse,.item-info .item-icon.trancheuse,.item-info .zone-icon.trancheuse,.item-info .lot-icon.trancheuse,.item-info .produit-icon.trancheuse,.zone-info .equipement-icon.trancheuse,.zone-info .item-icon.trancheuse,.zone-info .zone-icon.trancheuse,.zone-info .lot-icon.trancheuse,.zone-info .produit-icon.trancheuse,.lot-info .equipement-icon.trancheuse,.lot-info .item-icon.trancheuse,.lot-info .zone-icon.trancheuse,.lot-info .lot-icon.trancheuse,.lot-info .produit-icon.trancheuse,.produit-info .equipement-icon.trancheuse,.produit-info .item-icon.trancheuse,.produit-info .zone-icon.trancheuse,.produit-info .lot-icon.trancheuse,.produit-info .produit-icon.trancheuse{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.equipement-info .equipement-icon.mixeur,.equipement-info .item-icon.mixeur,.equipement-info .zone-icon.mixeur,.equipement-info .lot-icon.mixeur,.equipement-info .produit-icon.mixeur,.item-info .equipement-icon.mixeur,.item-info .item-icon.mixeur,.item-info .zone-icon.mixeur,.item-info .lot-icon.mixeur,.item-info .produit-icon.mixeur,.zone-info .equipement-icon.mixeur,.zone-info .item-icon.mixeur,.zone-info .zone-icon.mixeur,.zone-info .lot-icon.mixeur,.zone-info .produit-icon.mixeur,.lot-info .equipement-icon.mixeur,.lot-info .item-icon.mixeur,.lot-info .zone-icon.mixeur,.lot-info .lot-icon.mixeur,.lot-info .produit-icon.mixeur,.produit-info .equipement-icon.mixeur,.produit-info .item-icon.mixeur,.produit-info .zone-icon.mixeur,.produit-info .lot-icon.mixeur,.produit-info .produit-icon.mixeur{background:linear-gradient(135deg,#6366f1,#4f46e5)}.equipement-info .equipement-icon.batteur,.equipement-info .item-icon.batteur,.equipement-info .zone-icon.batteur,.equipement-info .lot-icon.batteur,.equipement-info .produit-icon.batteur,.item-info .equipement-icon.batteur,.item-info .item-icon.batteur,.item-info .zone-icon.batteur,.item-info .lot-icon.batteur,.item-info .produit-icon.batteur,.zone-info .equipement-icon.batteur,.zone-info .item-icon.batteur,.zone-info .zone-icon.batteur,.zone-info .lot-icon.batteur,.zone-info .produit-icon.batteur,.lot-info .equipement-icon.batteur,.lot-info .item-icon.batteur,.lot-info .zone-icon.batteur,.lot-info .lot-icon.batteur,.lot-info .produit-icon.batteur,.produit-info .equipement-icon.batteur,.produit-info .item-icon.batteur,.produit-info .zone-icon.batteur,.produit-info .lot-icon.batteur,.produit-info .produit-icon.batteur{background:linear-gradient(135deg,#ec4899,#db2777)}.equipement-info .equipement-icon.balance,.equipement-info .item-icon.balance,.equipement-info .zone-icon.balance,.equipement-info .lot-icon.balance,.equipement-info .produit-icon.balance,.item-info .equipement-icon.balance,.item-info .item-icon.balance,.item-info .zone-icon.balance,.item-info .lot-icon.balance,.item-info .produit-icon.balance,.zone-info .equipement-icon.balance,.zone-info .item-icon.balance,.zone-info .zone-icon.balance,.zone-info .lot-icon.balance,.zone-info .produit-icon.balance,.lot-info .equipement-icon.balance,.lot-info .item-icon.balance,.lot-info .zone-icon.balance,.lot-info .lot-icon.balance,.lot-info .produit-icon.balance,.produit-info .equipement-icon.balance,.produit-info .item-icon.balance,.produit-info .zone-icon.balance,.produit-info .lot-icon.balance,.produit-info .produit-icon.balance{background:linear-gradient(135deg,#14b8a6,#0d9488)}.equipement-info .equipement-icon.thermometre,.equipement-info .item-icon.thermometre,.equipement-info .zone-icon.thermometre,.equipement-info .lot-icon.thermometre,.equipement-info .produit-icon.thermometre,.item-info .equipement-icon.thermometre,.item-info .item-icon.thermometre,.item-info .zone-icon.thermometre,.item-info .lot-icon.thermometre,.item-info .produit-icon.thermometre,.zone-info .equipement-icon.thermometre,.zone-info .item-icon.thermometre,.zone-info .zone-icon.thermometre,.zone-info .lot-icon.thermometre,.zone-info .produit-icon.thermometre,.lot-info .equipement-icon.thermometre,.lot-info .item-icon.thermometre,.lot-info .zone-icon.thermometre,.lot-info .lot-icon.thermometre,.lot-info .produit-icon.thermometre,.produit-info .equipement-icon.thermometre,.produit-info .item-icon.thermometre,.produit-info .zone-icon.thermometre,.produit-info .lot-icon.thermometre,.produit-info .produit-icon.thermometre{background:linear-gradient(135deg,#f43f5e,#e11d48)}.equipement-info .equipement-details,.equipement-info .item-details,.equipement-info .zone-details,.equipement-info .lot-details,.equipement-info .produit-details,.item-info .equipement-details,.item-info .item-details,.item-info .zone-details,.item-info .lot-details,.item-info .produit-details,.zone-info .equipement-details,.zone-info .item-details,.zone-info .zone-details,.zone-info .lot-details,.zone-info .produit-details,.lot-info .equipement-details,.lot-info .item-details,.lot-info .zone-details,.lot-info .lot-details,.lot-info .produit-details,.produit-info .equipement-details,.produit-info .item-details,.produit-info .zone-details,.produit-info .lot-details,.produit-info .produit-details{display:flex;flex-direction:column;gap:4px}.equipement-info .equipement-details .equipement-name,.equipement-info .equipement-details .item-name,.equipement-info .equipement-details .zone-name,.equipement-info .equipement-details .lot-name,.equipement-info .equipement-details .produit-name,.equipement-info .item-details .equipement-name,.equipement-info .item-details .item-name,.equipement-info .item-details .zone-name,.equipement-info .item-details .lot-name,.equipement-info .item-details .produit-name,.equipement-info .zone-details .equipement-name,.equipement-info .zone-details .item-name,.equipement-info .zone-details .zone-name,.equipement-info .zone-details .lot-name,.equipement-info .zone-details .produit-name,.equipement-info .lot-details .equipement-name,.equipement-info .lot-details .item-name,.equipement-info .lot-details .zone-name,.equipement-info .lot-details .lot-name,.equipement-info .lot-details .produit-name,.equipement-info .produit-details .equipement-name,.equipement-info .produit-details .item-name,.equipement-info .produit-details .zone-name,.equipement-info .produit-details .lot-name,.equipement-info .produit-details .produit-name,.item-info .equipement-details .equipement-name,.item-info .equipement-details .item-name,.item-info .equipement-details .zone-name,.item-info .equipement-details .lot-name,.item-info .equipement-details .produit-name,.item-info .item-details .equipement-name,.item-info .item-details .item-name,.item-info .item-details .zone-name,.item-info .item-details .lot-name,.item-info .item-details .produit-name,.item-info .zone-details .equipement-name,.item-info .zone-details .item-name,.item-info .zone-details .zone-name,.item-info .zone-details .lot-name,.item-info .zone-details .produit-name,.item-info .lot-details .equipement-name,.item-info .lot-details .item-name,.item-info .lot-details .zone-name,.item-info .lot-details .lot-name,.item-info .lot-details .produit-name,.item-info .produit-details .equipement-name,.item-info .produit-details .item-name,.item-info .produit-details .zone-name,.item-info .produit-details .lot-name,.item-info .produit-details .produit-name,.zone-info .equipement-details .equipement-name,.zone-info .equipement-details .item-name,.zone-info .equipement-details .zone-name,.zone-info .equipement-details .lot-name,.zone-info .equipement-details .produit-name,.zone-info .item-details .equipement-name,.zone-info .item-details .item-name,.zone-info .item-details .zone-name,.zone-info .item-details .lot-name,.zone-info .item-details .produit-name,.zone-info .zone-details .equipement-name,.zone-info .zone-details .item-name,.zone-info .zone-details .zone-name,.zone-info .zone-details .lot-name,.zone-info .zone-details .produit-name,.zone-info .lot-details .equipement-name,.zone-info .lot-details .item-name,.zone-info .lot-details .zone-name,.zone-info .lot-details .lot-name,.zone-info .lot-details .produit-name,.zone-info .produit-details .equipement-name,.zone-info .produit-details .item-name,.zone-info .produit-details .zone-name,.zone-info .produit-details .lot-name,.zone-info .produit-details .produit-name,.lot-info .equipement-details .equipement-name,.lot-info .equipement-details .item-name,.lot-info .equipement-details .zone-name,.lot-info .equipement-details .lot-name,.lot-info .equipement-details .produit-name,.lot-info .item-details .equipement-name,.lot-info .item-details .item-name,.lot-info .item-details .zone-name,.lot-info .item-details .lot-name,.lot-info .item-details .produit-name,.lot-info .zone-details .equipement-name,.lot-info .zone-details .item-name,.lot-info .zone-details .zone-name,.lot-info .zone-details .lot-name,.lot-info .zone-details .produit-name,.lot-info .lot-details .equipement-name,.lot-info .lot-details .item-name,.lot-info .lot-details .zone-name,.lot-info .lot-details .lot-name,.lot-info .lot-details .produit-name,.lot-info .produit-details .equipement-name,.lot-info .produit-details .item-name,.lot-info .produit-details .zone-name,.lot-info .produit-details .lot-name,.lot-info .produit-details .produit-name,.produit-info .equipement-details .equipement-name,.produit-info .equipement-details .item-name,.produit-info .equipement-details .zone-name,.produit-info .equipement-details .lot-name,.produit-info .equipement-details .produit-name,.produit-info .item-details .equipement-name,.produit-info .item-details .item-name,.produit-info .item-details .zone-name,.produit-info .item-details .lot-name,.produit-info .item-details .produit-name,.produit-info .zone-details .equipement-name,.produit-info .zone-details .item-name,.produit-info .zone-details .zone-name,.produit-info .zone-details .lot-name,.produit-info .zone-details .produit-name,.produit-info .lot-details .equipement-name,.produit-info .lot-details .item-name,.produit-info .lot-details .zone-name,.produit-info .lot-details .lot-name,.produit-info .lot-details .produit-name,.produit-info .produit-details .equipement-name,.produit-info .produit-details .item-name,.produit-info .produit-details .zone-name,.produit-info .produit-details .lot-name,.produit-info .produit-details .produit-name{font-weight:600;font-size:.9375rem;color:#0f172a}.equipement-info .equipement-details .equipement-meta,.equipement-info .equipement-details .item-meta,.equipement-info .equipement-details .zone-meta,.equipement-info .equipement-details .lot-meta,.equipement-info .equipement-details .produit-meta,.equipement-info .item-details .equipement-meta,.equipement-info .item-details .item-meta,.equipement-info .item-details .zone-meta,.equipement-info .item-details .lot-meta,.equipement-info .item-details .produit-meta,.equipement-info .zone-details .equipement-meta,.equipement-info .zone-details .item-meta,.equipement-info .zone-details .zone-meta,.equipement-info .zone-details .lot-meta,.equipement-info .zone-details .produit-meta,.equipement-info .lot-details .equipement-meta,.equipement-info .lot-details .item-meta,.equipement-info .lot-details .zone-meta,.equipement-info .lot-details .lot-meta,.equipement-info .lot-details .produit-meta,.equipement-info .produit-details .equipement-meta,.equipement-info .produit-details .item-meta,.equipement-info .produit-details .zone-meta,.equipement-info .produit-details .lot-meta,.equipement-info .produit-details .produit-meta,.item-info .equipement-details .equipement-meta,.item-info .equipement-details .item-meta,.item-info .equipement-details .zone-meta,.item-info .equipement-details .lot-meta,.item-info .equipement-details .produit-meta,.item-info .item-details .equipement-meta,.item-info .item-details .item-meta,.item-info .item-details .zone-meta,.item-info .item-details .lot-meta,.item-info .item-details .produit-meta,.item-info .zone-details .equipement-meta,.item-info .zone-details .item-meta,.item-info .zone-details .zone-meta,.item-info .zone-details .lot-meta,.item-info .zone-details .produit-meta,.item-info .lot-details .equipement-meta,.item-info .lot-details .item-meta,.item-info .lot-details .zone-meta,.item-info .lot-details .lot-meta,.item-info .lot-details .produit-meta,.item-info .produit-details .equipement-meta,.item-info .produit-details .item-meta,.item-info .produit-details .zone-meta,.item-info .produit-details .lot-meta,.item-info .produit-details .produit-meta,.zone-info .equipement-details .equipement-meta,.zone-info .equipement-details .item-meta,.zone-info .equipement-details .zone-meta,.zone-info .equipement-details .lot-meta,.zone-info .equipement-details .produit-meta,.zone-info .item-details .equipement-meta,.zone-info .item-details .item-meta,.zone-info .item-details .zone-meta,.zone-info .item-details .lot-meta,.zone-info .item-details .produit-meta,.zone-info .zone-details .equipement-meta,.zone-info .zone-details .item-meta,.zone-info .zone-details .zone-meta,.zone-info .zone-details .lot-meta,.zone-info .zone-details .produit-meta,.zone-info .lot-details .equipement-meta,.zone-info .lot-details .item-meta,.zone-info .lot-details .zone-meta,.zone-info .lot-details .lot-meta,.zone-info .lot-details .produit-meta,.zone-info .produit-details .equipement-meta,.zone-info .produit-details .item-meta,.zone-info .produit-details .zone-meta,.zone-info .produit-details .lot-meta,.zone-info .produit-details .produit-meta,.lot-info .equipement-details .equipement-meta,.lot-info .equipement-details .item-meta,.lot-info .equipement-details .zone-meta,.lot-info .equipement-details .lot-meta,.lot-info .equipement-details .produit-meta,.lot-info .item-details .equipement-meta,.lot-info .item-details .item-meta,.lot-info .item-details .zone-meta,.lot-info .item-details .lot-meta,.lot-info .item-details .produit-meta,.lot-info .zone-details .equipement-meta,.lot-info .zone-details .item-meta,.lot-info .zone-details .zone-meta,.lot-info .zone-details .lot-meta,.lot-info .zone-details .produit-meta,.lot-info .lot-details .equipement-meta,.lot-info .lot-details .item-meta,.lot-info .lot-details .zone-meta,.lot-info .lot-details .lot-meta,.lot-info .lot-details .produit-meta,.lot-info .produit-details .equipement-meta,.lot-info .produit-details .item-meta,.lot-info .produit-details .zone-meta,.lot-info .produit-details .lot-meta,.lot-info .produit-details .produit-meta,.produit-info .equipement-details .equipement-meta,.produit-info .equipement-details .item-meta,.produit-info .equipement-details .zone-meta,.produit-info .equipement-details .lot-meta,.produit-info .equipement-details .produit-meta,.produit-info .item-details .equipement-meta,.produit-info .item-details .item-meta,.produit-info .item-details .zone-meta,.produit-info .item-details .lot-meta,.produit-info .item-details .produit-meta,.produit-info .zone-details .equipement-meta,.produit-info .zone-details .item-meta,.produit-info .zone-details .zone-meta,.produit-info .zone-details .lot-meta,.produit-info .zone-details .produit-meta,.produit-info .lot-details .equipement-meta,.produit-info .lot-details .item-meta,.produit-info .lot-details .zone-meta,.produit-info .lot-details .lot-meta,.produit-info .lot-details .produit-meta,.produit-info .produit-details .equipement-meta,.produit-info .produit-details .item-meta,.produit-info .produit-details .zone-meta,.produit-info .produit-details .lot-meta,.produit-info .produit-details .produit-meta{font-size:.8125rem;color:#64748b;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;flex-wrap:wrap}.equipement-info .equipement-details .equipement-meta span:not(:last-child):after,.equipement-info .equipement-details .item-meta span:not(:last-child):after,.equipement-info .equipement-details .zone-meta span:not(:last-child):after,.equipement-info .equipement-details .lot-meta span:not(:last-child):after,.equipement-info .equipement-details .produit-meta span:not(:last-child):after,.equipement-info .item-details .equipement-meta span:not(:last-child):after,.equipement-info .item-details .item-meta span:not(:last-child):after,.equipement-info .item-details .zone-meta span:not(:last-child):after,.equipement-info .item-details .lot-meta span:not(:last-child):after,.equipement-info .item-details .produit-meta span:not(:last-child):after,.equipement-info .zone-details .equipement-meta span:not(:last-child):after,.equipement-info .zone-details .item-meta span:not(:last-child):after,.equipement-info .zone-details .zone-meta span:not(:last-child):after,.equipement-info .zone-details .lot-meta span:not(:last-child):after,.equipement-info .zone-details .produit-meta span:not(:last-child):after,.equipement-info .lot-details .equipement-meta span:not(:last-child):after,.equipement-info .lot-details .item-meta span:not(:last-child):after,.equipement-info .lot-details .zone-meta span:not(:last-child):after,.equipement-info .lot-details .lot-meta span:not(:last-child):after,.equipement-info .lot-details .produit-meta span:not(:last-child):after,.equipement-info .produit-details .equipement-meta span:not(:last-child):after,.equipement-info .produit-details .item-meta span:not(:last-child):after,.equipement-info .produit-details .zone-meta span:not(:last-child):after,.equipement-info .produit-details .lot-meta span:not(:last-child):after,.equipement-info .produit-details .produit-meta span:not(:last-child):after,.item-info .equipement-details .equipement-meta span:not(:last-child):after,.item-info .equipement-details .item-meta span:not(:last-child):after,.item-info .equipement-details .zone-meta span:not(:last-child):after,.item-info .equipement-details .lot-meta span:not(:last-child):after,.item-info .equipement-details .produit-meta span:not(:last-child):after,.item-info .item-details .equipement-meta span:not(:last-child):after,.item-info .item-details .item-meta span:not(:last-child):after,.item-info .item-details .zone-meta span:not(:last-child):after,.item-info .item-details .lot-meta span:not(:last-child):after,.item-info .item-details .produit-meta span:not(:last-child):after,.item-info .zone-details .equipement-meta span:not(:last-child):after,.item-info .zone-details .item-meta span:not(:last-child):after,.item-info .zone-details .zone-meta span:not(:last-child):after,.item-info .zone-details .lot-meta span:not(:last-child):after,.item-info .zone-details .produit-meta span:not(:last-child):after,.item-info .lot-details .equipement-meta span:not(:last-child):after,.item-info .lot-details .item-meta span:not(:last-child):after,.item-info .lot-details .zone-meta span:not(:last-child):after,.item-info .lot-details .lot-meta span:not(:last-child):after,.item-info .lot-details .produit-meta span:not(:last-child):after,.item-info .produit-details .equipement-meta span:not(:last-child):after,.item-info .produit-details .item-meta span:not(:last-child):after,.item-info .produit-details .zone-meta span:not(:last-child):after,.item-info .produit-details .lot-meta span:not(:last-child):after,.item-info .produit-details .produit-meta span:not(:last-child):after,.zone-info .equipement-details .equipement-meta span:not(:last-child):after,.zone-info .equipement-details .item-meta span:not(:last-child):after,.zone-info .equipement-details .zone-meta span:not(:last-child):after,.zone-info .equipement-details .lot-meta span:not(:last-child):after,.zone-info .equipement-details .produit-meta span:not(:last-child):after,.zone-info .item-details .equipement-meta span:not(:last-child):after,.zone-info .item-details .item-meta span:not(:last-child):after,.zone-info .item-details .zone-meta span:not(:last-child):after,.zone-info .item-details .lot-meta span:not(:last-child):after,.zone-info .item-details .produit-meta span:not(:last-child):after,.zone-info .zone-details .equipement-meta span:not(:last-child):after,.zone-info .zone-details .item-meta span:not(:last-child):after,.zone-info .zone-details .zone-meta span:not(:last-child):after,.zone-info .zone-details .lot-meta span:not(:last-child):after,.zone-info .zone-details .produit-meta span:not(:last-child):after,.zone-info .lot-details .equipement-meta span:not(:last-child):after,.zone-info .lot-details .item-meta span:not(:last-child):after,.zone-info .lot-details .zone-meta span:not(:last-child):after,.zone-info .lot-details .lot-meta span:not(:last-child):after,.zone-info .lot-details .produit-meta span:not(:last-child):after,.zone-info .produit-details .equipement-meta span:not(:last-child):after,.zone-info .produit-details .item-meta span:not(:last-child):after,.zone-info .produit-details .zone-meta span:not(:last-child):after,.zone-info .produit-details .lot-meta span:not(:last-child):after,.zone-info .produit-details .produit-meta span:not(:last-child):after,.lot-info .equipement-details .equipement-meta span:not(:last-child):after,.lot-info .equipement-details .item-meta span:not(:last-child):after,.lot-info .equipement-details .zone-meta span:not(:last-child):after,.lot-info .equipement-details .lot-meta span:not(:last-child):after,.lot-info .equipement-details .produit-meta span:not(:last-child):after,.lot-info .item-details .equipement-meta span:not(:last-child):after,.lot-info .item-details .item-meta span:not(:last-child):after,.lot-info .item-details .zone-meta span:not(:last-child):after,.lot-info .item-details .lot-meta span:not(:last-child):after,.lot-info .item-details .produit-meta span:not(:last-child):after,.lot-info .zone-details .equipement-meta span:not(:last-child):after,.lot-info .zone-details .item-meta span:not(:last-child):after,.lot-info .zone-details .zone-meta span:not(:last-child):after,.lot-info .zone-details .lot-meta span:not(:last-child):after,.lot-info .zone-details .produit-meta span:not(:last-child):after,.lot-info .lot-details .equipement-meta span:not(:last-child):after,.lot-info .lot-details .item-meta span:not(:last-child):after,.lot-info .lot-details .zone-meta span:not(:last-child):after,.lot-info .lot-details .lot-meta span:not(:last-child):after,.lot-info .lot-details .produit-meta span:not(:last-child):after,.lot-info .produit-details .equipement-meta span:not(:last-child):after,.lot-info .produit-details .item-meta span:not(:last-child):after,.lot-info .produit-details .zone-meta span:not(:last-child):after,.lot-info .produit-details .lot-meta span:not(:last-child):after,.lot-info .produit-details .produit-meta span:not(:last-child):after,.produit-info .equipement-details .equipement-meta span:not(:last-child):after,.produit-info .equipement-details .item-meta span:not(:last-child):after,.produit-info .equipement-details .zone-meta span:not(:last-child):after,.produit-info .equipement-details .lot-meta span:not(:last-child):after,.produit-info .equipement-details .produit-meta span:not(:last-child):after,.produit-info .item-details .equipement-meta span:not(:last-child):after,.produit-info .item-details .item-meta span:not(:last-child):after,.produit-info .item-details .zone-meta span:not(:last-child):after,.produit-info .item-details .lot-meta span:not(:last-child):after,.produit-info .item-details .produit-meta span:not(:last-child):after,.produit-info .zone-details .equipement-meta span:not(:last-child):after,.produit-info .zone-details .item-meta span:not(:last-child):after,.produit-info .zone-details .zone-meta span:not(:last-child):after,.produit-info .zone-details .lot-meta span:not(:last-child):after,.produit-info .zone-details .produit-meta span:not(:last-child):after,.produit-info .lot-details .equipement-meta span:not(:last-child):after,.produit-info .lot-details .item-meta span:not(:last-child):after,.produit-info .lot-details .zone-meta span:not(:last-child):after,.produit-info .lot-details .lot-meta span:not(:last-child):after,.produit-info .lot-details .produit-meta span:not(:last-child):after,.produit-info .produit-details .equipement-meta span:not(:last-child):after,.produit-info .produit-details .item-meta span:not(:last-child):after,.produit-info .produit-details .zone-meta span:not(:last-child):after,.produit-info .produit-details .lot-meta span:not(:last-child):after,.produit-info .produit-details .produit-meta span:not(:last-child):after{content:"\2022";margin-left:.5rem;color:#94a3b8}.temperature-display{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;font-weight:600;color:#0f172a}.temperature-display i{color:#3b82f6}.temperature-display.alert{color:#ef4444}.temperature-display.alert i{color:#ef4444;animation:pulse 2s ease-in-out infinite}.date-display{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;font-size:.8125rem;color:#64748b}.date-display i{color:#6366f1}.date-display.urgent{color:#ef4444;font-weight:600}.date-display.urgent i{color:#ef4444;animation:pulse 2s ease-in-out infinite}.alert-row{background:#ef44440d!important;border-left:4px solid #ef4444}.alert-row:hover{background:#ef444414!important}.empty-state{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:4rem 1.5rem;text-align:center;color:#94a3b8}.empty-state:hover{box-shadow:0 12px 32px #6366f11f}.empty-state i{font-size:64px;margin-bottom:1.5rem;opacity:.3}.empty-state h3{font-size:1.125rem;margin-bottom:.5rem;color:#64748b}.empty-state p{margin-bottom:1.5rem}.loading-container{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;padding:4rem;text-align:center}.loading-container:hover{box-shadow:0 12px 32px #6366f11f}.loading-container .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-container p{color:#94a3b8;font-size:.8125rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.pagination{padding:1.5rem;box-shadow:0 4px 16px #6366f114;transition:box-shadow .25s ease;background:#fff;border-radius:20px;padding:1.5rem 2rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center;border:1px solid rgba(226,232,240,.4);box-shadow:0 12px 32px #0f172a14;margin-top:1.5rem}.pagination:hover{box-shadow:0 12px 32px #6366f11f}.pagination .pagination-info{font-size:.8125rem;color:#64748b;font-weight:500;letter-spacing:.01em}@media (max-width: 767px){.pagination .pagination-info{width:100%;text-align:center;order:-1}}.pagination .pagination-buttons{display:flex;gap:.25rem;align-items:center}.pagination .pagination-buttons .btn{min-width:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid rgba(226,232,240,.4);border-radius:16px;font-size:.8125rem;font-weight:600;color:#64748b;background:#fff;transition:all .15s ease;cursor:pointer;box-shadow:0 2px 8px #0f172a0a}.pagination .pagination-buttons .btn i{font-size:.95rem}.pagination .pagination-buttons .btn:hover:not(:disabled){border-color:#8b5cf699;color:#8b5cf6;background:#8b5cf60d;transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf626}.pagination .pagination-buttons .btn:disabled{opacity:.4;cursor:not-allowed;border-color:#e2e8f04d}.pagination .pagination-buttons .btn.active{background:linear-gradient(135deg,#8b5cf6,#743cf4);color:#fff;border-color:#8b5cf6;box-shadow:0 8px 20px #8b5cf64d;transform:translateY(-2px);font-weight:700}.pagination .pagination-buttons .btn.active:hover{transform:translateY(-2px)}.pagination .pagination-buttons .btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.pagination .pagination-size{display:flex;align-items:center;gap:1rem;padding:.5rem 1.5rem;border-radius:20px;background:#f8fafc4d;border:1px solid rgba(226,232,240,.25);transition:all .15s ease}.pagination .pagination-size:hover{background:#f8fafc80;border-color:#e2e8f066}.pagination .pagination-size label{font-size:.8125rem;color:#64748b;font-weight:500;white-space:nowrap;letter-spacing:.02em}.pagination .pagination-size select{padding:8px 28px 8px 12px;border-radius:12px;border:1px solid rgba(226,232,240,.35);background:#fff;color:#0f172a;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .15s ease;appearance:none;min-width:65px;box-shadow:0 1px 3px #0f172a0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.pagination .pagination-size select:hover{border-color:#8b5cf666;box-shadow:0 2px 6px #0f172a14}.pagination .pagination-size select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.pagination .pagination-size select option{background:#fff;color:#0f172a;padding:.25rem}@media (max-width: 767px){.pagination .pagination-size{width:100%;justify-content:center}}.container{max-width:1400px;margin:0 auto;padding:0 1rem}@media (max-width: 767px){.container{padding:0 .5rem}}@media (min-width: 1024px){.container{padding:0 1.5rem}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.d-flex{display:flex}.flex-column{flex-direction:column}@media (max-width: 767px){.page-header,.filters-bar,.table-card,.card,.content-card{padding:.5rem!important;margin:.25rem 0!important}}@media (max-width: 767px){.form-container,.form-card{padding:.5rem!important}.form-container .form-group,.form-card .form-group{margin-bottom:1rem}}*{box-sizing:border-box}input,select,textarea,button{max-width:100%}.align-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}
