/* ─── Matériaux section ─── */
/* Stats band */
.inv-stats-band{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.5rem;}
.inv-stat{background:var(--white);border-radius:var(--radius-md);padding:1.1rem 1.3rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;}
.inv-stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy);}
.inv-stat.conso::before{background:var(--muted);}
.inv-stat.equip::before{background:var(--blue);}
.inv-stat-num{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:800;color:var(--navy);line-height:1;}
.inv-stat.conso .inv-stat-num{color:var(--muted);}
.inv-stat.equip .inv-stat-num{color:var(--blue);}
.inv-stat-lbl{font-size:11.5px;font-weight:600;color:var(--muted);}
.inv-stat-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:28px;opacity:0.12;}
/* filter pills */
.mat-pill{padding:7px 15px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:white;color:var(--muted);font-size:12px;font-family:'Montserrat',sans-serif;font-weight:600;cursor:pointer;transition:all 0.15s;touch-action:manipulation;white-space:nowrap;}
.mat-pill:hover{border-color:var(--navy);color:var(--navy);background:var(--navy-light);}
.mat-pill.active{background:var(--navy);color:white;border-color:var(--navy);}
/* cat section */
.mat-cat-section{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow-sm);}
.mat-cat-hdr{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border);border-left:5px solid;}
.mat-cat-hdr-icon{font-size:17px;line-height:1;}
.mat-cat-hdr-name{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;flex:1;}
.mat-cat-hdr-count{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;border:1.5px solid;opacity:0.9;}
/* item rows */
.mat-row{display:grid;grid-template-columns:1fr 140px 165px 76px;padding:11px 18px;border-bottom:1px solid var(--border);align-items:center;font-size:13px;transition:background 0.12s,border-left-color 0.12s;border-left:5px solid transparent;}
.mat-row:last-child{border-bottom:none;}
.mat-row:hover{background:var(--navy-light) !important;border-left-color:var(--navy) !important;}
.mat-row.even{background:var(--surface);}
.mat-row-name{font-weight:600;font-size:13.5px;color:var(--text);}
/* badges */
.mat-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;border:1.5px solid;}
.mat-badge-conso{background:#f1f5f9;color:#475569;border-color:#cbd5e1;}
.mat-badge-equip{background:#dbeafe;color:#1e40af;border-color:#93c5fd;}
.mat-type-btn{cursor:pointer;font-family:'Montserrat',sans-serif;transition:opacity 0.15s,transform 0.1s;}
.mat-type-btn:hover{opacity:0.75;transform:scale(0.97);}
.mat-type-btn:active{transform:scale(0.93);}
.mat-type-btn.saving{opacity:0.5;pointer-events:none;}
/* table header */
.mat-thead{display:grid;grid-template-columns:1fr 140px 165px 76px;background:var(--surface-2);padding:8px 18px;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);}
.mat-actions{display:flex;gap:5px;justify-content:flex-end;}
/* type segmented control in modal */
.type-toggle{display:flex;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--border);background:var(--surface-2);}
.type-toggle-btn{flex:1;padding:12px 8px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;font-family:'Montserrat',sans-serif;transition:background 0.15s,color 0.15s;line-height:1.4;}
.type-toggle-btn:hover{background:var(--navy-light);color:var(--navy);}
.type-toggle-btn.on{background:var(--navy);color:white;}
.type-toggle-btn.on:hover{background:var(--blue);}
/* ─── Réparations section ─── */
.rep-stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem;}
.rep-stat{background:var(--white);border-radius:var(--radius-md);padding:1rem 1.2rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:3px;}
.rep-stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;}
.rep-stat.urgent::before{background:#cc2200;}
.rep-stat.moyen::before{background:#e67e00;}
.rep-stat.encours::before{background:#0055b3;}
.rep-stat.total::before{background:var(--navy);}
.rep-stat-num{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:800;line-height:1;}
.rep-stat.urgent .rep-stat-num{color:#cc2200;}
.rep-stat.moyen .rep-stat-num{color:#e67e00;}
.rep-stat.encours .rep-stat-num{color:#0055b3;}
.rep-stat.total .rep-stat-num{color:var(--navy);}
.rep-stat-lbl{font-size:11px;font-weight:600;color:var(--muted);}
.rep-stat-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:26px;opacity:0.1;}
.prio-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;border:1.5px solid;}
.prio-urgent{background:#fff0ee;color:#cc2200;border-color:#ffb3a3;}
.prio-moyen{background:#fff7ee;color:#e67e00;border-color:#f0c070;}
.prio-bas{background:#edf7ed;color:#1a6b1a;border-color:#b3d9b3;}
.statut-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;border:1.5px solid;}
.statut-ouvert{background:#e8eef6;color:#003366;border-color:#b3c8e8;}
.statut-encours{background:#e8f0ff;color:#1a3a7a;border-color:#93c5fd;}
.statut-resolu{background:#edf7ed;color:#1a6b1a;border-color:#b3d9b3;}
.rep-row{display:grid;grid-template-columns:56px 90px 90px 1fr 120px 110px 60px;padding:10px 16px;border-bottom:1px solid var(--border);align-items:center;font-size:13px;transition:background 0.12s;cursor:pointer;}
.rep-row:hover{background:var(--navy-light);}
.rep-row:last-child{border-bottom:none;}
.rep-row.even{background:var(--surface);}
.rep-thead{display:grid;grid-template-columns:56px 90px 90px 1fr 120px 110px 60px;background:var(--surface-2);padding:8px 16px;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;}
.ticket-section{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);padding:1rem;margin-bottom:1rem;}
.ticket-section-title{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:10px;}
.piece-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;}
.piece-row:last-child{margin-bottom:0;}
.statut-btn{padding:8px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--white);font-size:12px;font-family:'Montserrat',sans-serif;font-weight:700;cursor:pointer;transition:all 0.15s;flex:1;}
.statut-btn.active-ouvert{background:#003366;color:white;border-color:#003366;}
.statut-btn.active-en_cours{background:#0055b3;color:white;border-color:#0055b3;}
.statut-btn.active-resolu{background:#3aaa35;color:white;border-color:#3aaa35;}
/* taille tags in modal */
.taille-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:var(--navy-light);border:1.5px solid var(--navy);color:var(--navy);font-size:12px;font-weight:700;}
.taille-tag button{background:none;border:none;color:var(--navy);cursor:pointer;font-size:15px;line-height:1;padding:0;opacity:0.6;}
.taille-tag button:hover{opacity:1;}
/* taille badge in list */
.mat-tailles-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;background:#f0fdf4;border:1px solid #86efac;color:#166534;font-size:10px;font-weight:700;margin-left:5px;vertical-align:middle;}

/* ─── Mobile: mat-row → card layout ─── */
@media(max-width:768px){
  .mat-thead{display:none !important;}
  .mat-row{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    padding:10px 12px !important;
    gap:2px 10px;
    align-items:start;
  }
  .mat-row>div:nth-child(1){grid-column:1;grid-row:1;align-self:center;}
  .mat-row>div:nth-child(2){grid-column:1;grid-row:2;margin-top:4px;}
  .mat-row>div:nth-child(3){grid-column:2;grid-row:1/3;align-self:center;}
  .mat-row>div:nth-child(4){
    grid-column:1/-1;grid-row:3;
    display:flex;gap:6px;margin-top:6px;
    padding-top:6px;border-top:1px solid var(--border);
  }
  .mat-row-name{font-size:14px !important;}
  .inv-stats-band{grid-template-columns:1fr 1fr !important;}
}

