/**
 * MageTicket
 *
 * Fichier        : public/assets/css/insights.css
 * Rôle           : Couche visuelle commune du reporting, de la recherche, des actifs/CMDB et des opérations terrain.
 * Auteur         : Régis KREMER
 * Version        : 0.33.1
 * Version projet : 0.33.0
 * Lot            : MAGETICKET REPORTING QUALITY PILOTAGE UX ACCESSIBILITY1
 * Base requise   : 0.33.0 + MAGETICKET COLLABORATION ERGONOMY DYNAMIC CONTROLS FINAL3
 * Créé le        : 2026-07-22
 * Modifié le     : 2026-07-24
 * Dépendances    : tokens.css, components.css, reporting.css, search.css, assets.css et field.css
 * Contraintes    : aucune règle métier ; thèmes clair/sombre ; bord à bord mobile/tablette ; aucun défilement horizontal subi.
 * Modifications  : retrait des responsabilités spécifiques au reporting, désormais entièrement détenues par reporting.css afin d’éviter les couches concurrentes.
 */

:is(.search-shell,.assets-shell,.field-shell){
  min-width:0;
  min-height:100%;
  height:auto;
  display:flex;
  flex-direction:column;
  background:transparent;
  color:var(--text);
}











:is(.search-main,.assets-main,.field-main){
  min-width:0;
  min-height:0;
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  padding:var(--space-3) var(--space-4) max(var(--space-4),var(--safe-bottom));
}

:is(.search-connection,.assets-connection,.field-connection){
  padding:10px 12px;
  border:1px solid var(--warning);
  border-left-width:4px;
  border-radius:var(--r-sm);
  background:var(--warning-soft);
  color:var(--text);
}

:is(.search-kpis,.assets-kpis,.field-kpis){
  min-width:0;
  display:grid;
  gap:var(--space-2);
}
.search-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.assets-kpis,.field-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}

:is(.search-kpis,.assets-kpis,.field-kpis)>article{
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:linear-gradient(145deg,var(--surface),var(--surface-soft));
  box-shadow:none;
}
:is(.search-kpis,.assets-kpis,.field-kpis)>article{padding:12px 14px}
:is(.search-kpis,.assets-kpis,.field-kpis)>article strong{font-size:var(--fs-xl);line-height:1}
:is(.search-kpis,.assets-kpis,.field-kpis)>article span{color:var(--muted)}

:is(.search-workspace,.assets-workspace,.field-workspace){
  min-width:0;
  min-height:420px;
  flex:1 1 auto;
  gap:var(--space-3);
  overflow:hidden;
}
.search-workspace{grid-template-columns:minmax(330px,.78fr) minmax(520px,1.22fr)}
.assets-workspace{grid-template-columns:minmax(320px,.9fr) minmax(320px,.8fr) minmax(340px,1fr)}
.field-workspace{grid-template-columns:minmax(360px,1.05fr) minmax(340px,.95fr) minmax(340px,.9fr)}

.operational-panel,
:is(.search-panel,.assets-panel,.field-panel){
  min-width:0;
  min-height:0;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-2) 68%,var(--surface)));
  box-shadow:none;
  overflow:hidden;
}
:is(.search-panel,.assets-panel,.field-panel)>header{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--surface-soft) 82%,transparent);
}
:is(.search-panel,.assets-panel,.field-panel)>header h2{margin:2px 0 0;font-size:var(--fs-lg)}
:is(.search-panel,.assets-panel,.field-panel)>header small{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase}

:is(.search-lower-grid,.assets-lower-grid,.field-lower-grid){
  min-width:0;
  margin-top:auto;
  gap:var(--space-3);
}

/* Reporting : styles déplacés dans reporting.css pour garantir une seule source de vérité. */

/* Recherche : commande centrale et résultats lisibles. */
.search-query-panel{overflow:visible}
.search-query-panel form{padding:var(--space-4)}
.search-box{grid-template-columns:minmax(0,1fr) auto}
.search-box input{min-width:0;font-size:var(--fs-md)}
.search-suggestions{position:absolute;left:var(--space-4);right:var(--space-4);margin-top:2px;box-shadow:var(--shadow-2)}
.search-results{min-width:0;padding:0 13px}
.search-result{grid-template-columns:42px minmax(0,1fr);gap:var(--space-3);padding:13px 0}
.search-result-icon{border-radius:var(--r-sm);background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--text)}
.search-result h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.search-result small{display:block;color:var(--muted);overflow-wrap:anywhere}
.search-duration{font-variant-numeric:tabular-nums;color:var(--muted)}
.search-compact-list button,.search-compact-list article{min-width:0}
.search-compact-list :is(strong,span,small,time){min-width:0;overflow-wrap:anywhere}

/* Actifs / CMDB : registre, dépendances et détail sans rupture. */
.assets-list>button,.service-list>button{min-width:0}
.assets-list>button>span,.service-list>button>span{min-width:0}
.assets-list strong,.assets-list small,.service-list strong,.service-list small{overflow-wrap:anywhere}
.assets-detail-content{height:100%}
.assets-detail-content dl{min-width:0}
.assets-detail-content dl>div{min-width:0}
.assets-detail-content dd{min-width:0;overflow-wrap:anywhere}
.connector-list article,.sync-list>div{min-width:0}
.connector-list article>div,.sync-list>div>span{min-width:0}
.connector-list small,.sync-list small{overflow-wrap:anywhere}

/* Terrain : planning, carte et actions opérationnelles. */
.field-filters{border-radius:var(--r-sm);grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto;gap:var(--space-2)}
.field-mission-list>button{min-width:0}
.field-mission-list>button>span{min-width:0}
.field-mission-list strong,.field-mission-list small{overflow-wrap:anywhere}
.field-map{background:radial-gradient(circle at 28% 18%,color-mix(in srgb,var(--info) 18%,transparent),transparent 38%),linear-gradient(145deg,var(--surface-soft),var(--surface))}
.field-route-explanation{background:var(--surface-soft)}
.field-detail-content{height:100%}
.field-bottom-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.field-resource-list>div,.field-resource-counts>div{min-width:0}
.field-resource-list>div>span:last-child{min-width:0}
.field-resource-list strong,.field-resource-list small{overflow-wrap:anywhere}

/* Compte rendu imprimable et lisible à l'écran. */
.field-report{
  width:min(100%,1040px);
  max-width:1040px;
  margin:var(--space-5) auto;
  padding:var(--space-6);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--surface);
  box-shadow:var(--shadow-1);
}
.field-report>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}
.field-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:var(--space-4) 0}
.field-report-summary>div{padding:10px 12px;border:1px solid var(--line);background:var(--surface-soft)}
.field-report-summary dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}
.field-report-summary dd{margin:4px 0 0;font-weight:var(--fw-title);overflow-wrap:anywhere}
.field-report-table{max-width:100%;overflow:auto}
.field-report table{min-width:640px}
.field-report table th{background:var(--surface-2);color:var(--muted)}
.field-report-meta{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}

@media (max-width:1280px){
  .assets-kpis,.field-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .search-workspace{grid-template-columns:1fr}
  .assets-workspace,.field-workspace{grid-template-columns:minmax(320px,1fr) minmax(0,1fr)}
  .assets-detail,.field-detail{grid-column:1/-1;min-height:420px}
  .search-lower-grid,.assets-lower-grid,.field-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.search-lower-grid,.assets-lower-grid,.field-lower-grid)>:last-child{grid-column:1/-1}
}

@media (max-width:900px){
  
  
  .field-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .field-filters>.button{min-height:var(--touch-target)}
  .field-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  :is(.search-main,.assets-main,.field-main){gap:0;padding:0 0 max(72px,var(--safe-bottom))}
  
  
  
  
  
  
  :is(.search-connection,.assets-connection,.field-connection){border-left:0;border-right:0;border-radius:0}
  .search-kpis,.assets-kpis,.field-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}
  :is(.search-kpis,.assets-kpis,.field-kpis)>article{border-width:0 0 1px 1px;border-radius:0}
  :is(.search-workspace,.assets-workspace,.field-workspace){display:flex;flex-direction:column;min-height:0;overflow:visible;gap:0}
  :is(.search-panel,.assets-panel,.field-panel){border-width:0 0 1px;border-radius:0;box-shadow:none}
  :is(.search-lower-grid,.assets-lower-grid,.field-lower-grid){display:flex;flex-direction:column;gap:0;min-height:auto}
  .search-query-panel form{padding:12px}
  .search-suggestions{left:12px;right:12px}
  .search-box,.search-filters{grid-template-columns:1fr}
  .search-result{grid-template-columns:34px minmax(0,1fr)}
  .assets-detail,.field-detail{min-height:0}
  .field-filters{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-right:0;border-radius:0}
  .field-bottom-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .field-report{width:100%;margin:0;padding:14px;border:0;border-radius:0;box-shadow:none}
  .field-report>header{grid-template-columns:auto minmax(0,1fr)}
  .field-report>header .no-print{grid-column:1/-1;width:100%}
  .field-report-summary{grid-template-columns:1fr 1fr}
  .field-report-table{overflow:auto}
}

@media (max-width:480px){
  .field-filters,.field-report-summary{grid-template-columns:1fr}
  .search-kpis,.assets-kpis,.field-kpis{grid-template-columns:1fr 1fr}
}

@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff!important;color:#000!important}
  body:has(.field-report) .app-shell-topbar,
  body:has(.field-report) .app-shell-sidebar,
  body:has(.field-report) .app-shell-footer,
  body:has(.field-report) .app-shell-mobile-navigation{display:none!important}
  body:has(.field-report) .app-shell-stage{display:block!important;overflow:visible!important}
  .field-report{width:auto;max-width:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#fff!important;color:#000!important;box-shadow:none}
  .field-report>header{break-after:avoid;border-color:#333}
  .field-report section{break-inside:avoid;border-color:#999}
  .field-report-summary>div{break-inside:avoid;background:#fff!important;border-color:#777}
  .field-report-table{overflow:visible}
  .field-report table{min-width:0;width:100%;font-size:var(--fs-xs)}
  .field-report th,.field-report td{border-color:#777!important;color:#000!important}
  .field-report>footer{break-before:avoid;color:#333}
  .no-print{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  :is(.search-shell,.assets-shell,.field-shell) *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

@media (forced-colors:active){
  :is(.search-panel,.assets-panel,.field-panel),:is(.search-kpis,.assets-kpis,.field-kpis)>article{border-color:CanvasText}
}
