/* Layout partagé : le contenu suit la largeur disponible sur chaque appareil. */
@media screen {
  .layout{grid-template-columns:240px minmax(0,1fr)}
  .content,.content>*,.card,.split>*,.form-grid>*,.toolbar>*{min-width:0}
  .content img,.content video,.content canvas{max-width:100%}
  .content h1,.content h2,.content h3,.content p,.content dd{overflow-wrap:anywhere}
  .content input,.content select,.content textarea{min-width:0;max-width:100%}
  .content a,.content button,.content label,.content summary{overflow-wrap:anywhere}
  .digital-detail-tabs,.supplier-mail-supplier-tabs,.supplier-mail-category-tabs{flex-wrap:wrap;overflow-x:visible}
  .digital-detail-tab,.supplier-mail-supplier-tabs button,.supplier-mail-category-tabs button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

/* Le panneau latéral réduit aussi la place sur un ordinateur étroit. */
@media screen and (max-width:1360px) {
  .all-plan-week-board,.ip-week-board,.ip-team-week{overflow-x:visible}
  .all-plan-week-heading,.ip-week-heading{display:none}
  .all-plan-week-board .all-plan-group-heading,.all-plan-week-row,.ip-week-row,
  .ip-week-board.with-friday .ip-week-row{min-width:0}
  .all-plan-week-row,.ip-week-row{display:block}
  .all-plan-week-days,.ip-week-days,.ip-week-board.with-friday .ip-week-days,
  .ip-team-week-days{min-width:0;grid-template-columns:minmax(0,1fr)}
  .all-plan-week-row>header,.ip-week-row>header{border-right:0;border-bottom:1px solid var(--line)}
  .all-plan-week-cell,.ip-week-cell,.ip-team-week-day{min-width:0;min-height:78px;border-right:0;border-bottom:1px solid var(--line)}
  .all-plan-week-cell:last-child,.ip-week-cell:last-child,.ip-team-week-day:last-child{border-bottom:0}
  .all-plan-mobile-day,.ip-mobile-day{display:block}
}

@media screen and (max-width:1600px) {
  .inventory-desktop{display:none}
  .inventory-mobile{display:grid;gap:12px}
  .inventory-item-card{grid-template-columns:minmax(0,1fr);min-width:0;background:#fff}
  .inventory-item-card>.inventory-row-actions{margin-top:8px}
  .inventory-item-card .inventory-row-actions{flex-wrap:wrap}
}

@media screen and (max-width:1100px) {
  .ip-toolbar,.calendar-toolbar{grid-template-columns:minmax(0,1fr)}
  .ip-heading,.ip-toolbar>#ip-new,.ip-search,.ip-period-actions,.ip-modes,
  .calendar-toolbar>div:first-child,.calendar-toolbar>#cal-new,
  .calendar-search,.calendar-actions,.calendar-modes{grid-column:1/-1;grid-row:auto}
  .ip-toolbar>#ip-new{justify-self:stretch}
  .ip-period-actions,.calendar-actions{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%}
  .ip-date-picker,.calendar-date-control{min-width:0}
  .ip-modes,.calendar-modes{flex-wrap:wrap}
  .calendar-grid.day .cal-event{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:none;gap:2px 5px;padding:9px}
  .calendar-grid.day .cal-event-time{grid-area:1/1}
  .calendar-grid.day .cal-event-status{grid-area:1/2}
  .calendar-grid.day .cal-event-client{grid-column:1/-1;grid-row:2}
  .calendar-grid.day .cal-event-address,.calendar-grid.day .cal-phone,
  .calendar-grid.day .confirmation-state{grid-area:auto;grid-column:1/-1}
}

@media screen and (max-width:1360px) {
  .calendar-grid.week,.calendar-grid.week.five-days{grid-template-columns:minmax(0,1fr)}
  .calendar-grid.week .cal-day{min-height:0;padding:0;border-right:0;border-bottom:1px solid var(--line)}
  .calendar-grid.week .cal-day:last-child{border-bottom:0}
}

@media screen and (max-width:850px) {
  .layout{display:block}
  .content{width:100%;max-width:100%;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
  .calendar-legend,.ip-filter-list,.ip-status-list{flex-wrap:wrap;overflow-x:visible}
  .inventory-photos,.workflow-photos{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));overflow-x:visible}
  .inventory-photo,.workflow-photos .photo-card{min-width:0;width:auto;flex:auto}
  .inventory-photo img,.workflow-photos img{width:100%;height:auto}
  .digital-trade-products label,.stock-label-print{white-space:normal}
}

/* Les tableaux éditables deviennent des fiches lisibles sans défilement latéral. */
@media screen and (max-width:1360px) {
  .responsive-record-table,.responsive-record-table tbody,.responsive-record-table tr,.responsive-record-table td{display:block;width:100%;min-width:0}
  .responsive-record-table thead{display:none}
  .responsive-record-table tr{margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .responsive-record-table tr:last-child{margin-bottom:0}
  .responsive-record-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .responsive-record-table td:last-child{border-bottom:0}
  .responsive-record-table td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
  .responsive-record-table td input,.responsive-record-table td select{width:100%;min-width:0}
  .responsive-record-table .actions{flex-wrap:wrap}
  .responsive-record-table .actions .btn{flex:1 1 120px}
}

/* Une ligne par jour reste lisible, même sur les mois chargés. */
@media screen and (max-width:1100px) {
  .all-plan-month-board,.ip-month-board{overflow-x:visible}
  .all-plan-month-weekdays,.ip-month-weekdays{display:none}
  .all-plan-month-grid,.ip-month-grid{min-width:0;grid-template-columns:minmax(0,1fr)}
  .all-plan-month-day,.ip-month-day{min-width:0;min-height:66px;border-right:0}
  .all-plan-month-day.outside,.ip-month-day.outside{display:none}
  .all-plan-month-day>header,.ip-month-day>header{display:none}
  .all-plan-month-day::before,.ip-month-day::before{display:block;margin-bottom:6px;color:var(--navy);font-size:13px;font-weight:850}
  .all-plan-month-day::before{content:attr(aria-label)}
  .ip-month-day::before{content:attr(data-ip-date)}
  .calendar-grid.month{grid-template-columns:minmax(0,1fr)}
  .calendar-grid.month .cal-day{min-width:0;min-height:66px;padding:10px;border-right:0}
  .calendar-grid.month .cal-day.outside{display:none}
  .calendar-grid.month .cal-event small,.calendar-grid.month .cal-event span{display:block}
}

@media screen and (max-width:440px) {
  .responsive-record-table td{grid-template-columns:minmax(0,1fr);gap:4px}
  .toolbar .actions{max-width:100%;flex-wrap:wrap}
}
