/*! Task’in — © 2026 Fandry Ekwalla. Tous droits réservés. Copie, modification et diffusion interdites sans autorisation écrite (voir LICENSE). */
/* W7 · Vue d’ensemble Admin filtrable (js/34-admin-cockpit.js) */
.aoc{display:grid;gap:14px;margin-bottom:16px;color:var(--text)}
.aoc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.aoc-crumb{font-size:11.5px;color:var(--text3)}
.aoc-head h2{margin:2px 0 0;font-size:22px;letter-spacing:-.01em}
.aoc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aoc-upd{font-size:11.5px;color:var(--text3)}
.aoc-btn{font:600 12px var(--font);padding:6px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}
.aoc-btn:hover{border-color:var(--ocean);color:var(--ocean-ink)}
.aoc-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(15,23,42,.04);min-width:0}
.aoc-loading,.aoc-err{color:var(--text2);font-size:13px}
.aoc-err{border-color:var(--amber);background:var(--amber-dim)}
.aoc-empty{color:var(--text3);font-size:12.5px;margin:8px 0}

/* Filtres */
.aoc-filters{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 14px}
.aoc-fg{display:flex;align-items:center;gap:7px}
.aoc-fl{font-size:11.5px;color:var(--text2);font-weight:600}
.aoc-inp{width:auto!important;min-width:0;padding:5px 8px!important;font-size:12px!important;height:auto!important}
.aoc-x{border:0;background:none;color:var(--text3);font-size:16px;cursor:pointer;padding:0 4px}
.aoc-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.aoc-seg button{border:0;background:var(--surface);padding:6px 10px;font:500 12px var(--font);color:var(--text2);cursor:pointer}
.aoc-seg button+button{border-left:1px solid var(--border)}
.aoc-seg button.on{background:var(--ocean-dim);color:var(--ocean-ink);font-weight:600}
.aoc-fsum{margin-left:auto;font-size:11.5px;color:var(--ocean-ink);background:var(--ocean-dim);border-radius:20px;padding:4px 10px;font-weight:600}

/* Points d'attention */
.aoc-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.aoc-al{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--c);border-radius:12px;padding:10px 12px}
.aoc-al b{display:block;font-size:12.5px}
.aoc-al span{color:var(--text2);font-size:11.5px}
.aoc-ic{font-size:15px;line-height:1.2;color:var(--c)}

/* Tuiles */
.aoc-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.aoc-tile{display:flex;flex-direction:column;text-align:left;border-left:4px solid var(--accent);cursor:pointer;font:inherit;color:inherit}
.aoc-tile:hover{box-shadow:0 4px 14px rgba(15,23,42,.08)}
.aoc-tl{font-size:12px;color:var(--text2);font-weight:500}
.aoc-tile-row{display:flex;justify-content:space-between;align-items:flex-end;gap:6px;margin-top:4px}
.aoc-tile-row>span:first-child{display:flex;flex-direction:column;min-width:0}
.aoc-big{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.aoc-sub{font-size:11.5px;color:var(--text2);margin-top:2px}
.aoc-spark{flex-shrink:0}
.aoc-split{display:flex;gap:12px;margin-top:auto;padding-top:9px;border-top:1px solid var(--surface2);font-size:11.5px;font-weight:600}
.aoc-tile .aoc-split{margin-top:10px}
.aoc-split span{display:flex;align-items:center;gap:5px}
.aoc-split em,.aoc-gph em{font-style:normal;font-size:9.5px;font-weight:700;border-radius:4px;padding:1px 5px}
.aoc-pf{background:#DBEAFE;color:#1D4ED8}.aoc-pb{background:#EDE9FE;color:#6D28D9}.aoc-pr{background:#FEF3C7;color:#B45309}
.aoc-up{color:#16A34A}.aoc-dn{color:#DC2626}.aoc-warn{color:#D97706}

/* Cartes à graphique */
.aoc-ct{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.aoc-ct h3{margin:0;font-size:14.5px}
.aoc-ct small{color:var(--text3);font-weight:400;font-size:11.5px;margin-left:6px}
.aoc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aoc-grid21{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.aoc-grid21.aoc-top{align-items:start}
.aoc-col{display:grid;gap:14px;align-content:start;min-width:0}
.aoc svg text{font-family:var(--font)}
.aoc-ax{font-size:10.5px;fill:var(--text3)}
.aoc-pole{font-weight:700;fill:var(--text2)}
.aoc-grid{stroke:var(--border);stroke-width:1}
.aoc-sep{stroke:var(--border);stroke-width:1.5}
.aoc-avg{stroke:var(--text);stroke-width:1.2;stroke-dasharray:4 4}
.aoc-hit{fill:transparent}
.aoc-hitg.is-tipped .aoc-hit{fill:var(--surface2)}
.aoc-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text2);margin-top:4px}
.aoc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.aoc-legend i.dash{width:14px;height:0;border-top:2px dashed var(--text);border-radius:0;vertical-align:3px}
.aoc-hl{font-size:11.5px;color:var(--text2);font-weight:600;margin:4px 0 0}
.aoc-note{font-size:11px;color:var(--text3);margin:10px 0 0;line-height:1.5}

/* Flux */
.aoc-flux{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:8px}
.aoc-step{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface2);display:flex;flex-direction:column;min-width:0}
.aoc-step.done{background:color-mix(in srgb,#16A34A 8%,var(--surface));border-color:color-mix(in srgb,#16A34A 35%,var(--border))}
.aoc-sn{width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text2)}
.aoc-step.done .aoc-sn{background:#16A34A;border-color:#16A34A;color:#fff}
.aoc-sl{font-size:11.5px;color:var(--text2);margin:7px 0 2px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aoc-sv{font-size:12px;color:var(--text3)}.aoc-sv b{font-size:17px;color:var(--text)}
.aoc-bar{display:block;height:5px;border-radius:4px;background:var(--border);margin-top:7px;overflow:hidden}
.aoc-bar i{display:block;height:100%;border-radius:4px;background:var(--ocean)}
.aoc-step.done .aoc-bar i{background:#16A34A}

/* Écart à l'objectif */
.aoc-gp+.aoc-gp{margin-top:14px;padding-top:12px;border-top:1px solid var(--surface2)}
.aoc-gph,.aoc-gr{display:grid;grid-template-columns:minmax(80px,110px) 70px 80px 1fr 64px;gap:8px;align-items:center}
.aoc-gph{font-size:10.5px;color:var(--text3);margin-bottom:4px}
.aoc-gph em{justify-self:start}.aoc-gc{grid-column:4/6;text-align:center}
.aoc-gr{font-size:12.5px;padding:5px 0}
.aoc-gl{color:var(--text2)}.aoc-go{color:var(--text3)}
.aoc-dv{position:relative;height:10px;background:var(--surface2);border-radius:5px}
.aoc-dv i{position:absolute;top:0;height:100%;border-radius:3px}
.aoc-dv .mid{left:50%;width:1.5px;background:var(--text3);border-radius:0}
.aoc-dv .pos{background:#16A34A}.aoc-dv .neg{background:#DC2626}
.aoc-gr small{font-weight:700;text-align:right;font-size:11.5px}

/* À traiter */
.aoc-count{background:var(--amber-dim);color:#B45309;font-size:11px;font-weight:700;border-radius:20px;padding:2px 8px;margin-left:8px}
.aoc-live{font-size:11px;color:var(--text3)}
.aoc-todo{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}
.aoc-todo:first-of-type{border-top:0}
.aoc-tag{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap}
.aoc-tl2{flex:1;font-size:12.5px;min-width:0}

/* OSC, tickets, motifs */
.aoc-minis{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.aoc-mt{font-size:12px;color:var(--text2);font-weight:600;display:flex;align-items:center;gap:7px}
.aoc-mt i{width:10px;height:10px;border-radius:3px}
.aoc-mt b{margin-left:auto;font-size:17px;color:var(--text)}
.aoc-mt small{color:var(--text3);font-weight:400}
.aoc-trust{font-size:12px;color:var(--text2)}
.aoc-dwrap{display:flex;align-items:center;gap:16px}
.aoc-dnv{font-size:22px;font-weight:700;fill:var(--text)}
.aoc-dns{font-size:11px;fill:var(--text3)}
.aoc-dls{flex:1;display:grid;gap:7px}
.aoc-dl{display:flex;align-items:center;gap:8px;font-size:12px}
.aoc-dl i{width:10px;height:10px;border-radius:3px}
.aoc-dl span{flex:1;color:var(--text2)}
.aoc-dl small{color:var(--text3);width:36px;text-align:right}
.aoc-agebar{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;margin:6px 0 10px}
.aoc-agebar i{display:block;height:100%}
.aoc-agel{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text2);flex-wrap:wrap}
.aoc-agel i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.aoc-agel b{color:var(--text);margin-left:6px}
.aoc-mot{display:grid;grid-template-columns:minmax(100px,150px) 1fr 44px 64px;align-items:center;gap:8px;margin-top:9px;font-size:12px}
.aoc-ml{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aoc-mbar{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}
.aoc-mbar i{display:block;height:100%;background:var(--ocean);border-radius:4px}
.aoc-mot b{text-align:right}
.aoc-mot small{font-size:11px;font-weight:600;text-align:right;color:var(--text3)}

/* Blocs existants repliés */
.ao-legacy{background:var(--surface);border:1px dashed var(--border2);border-radius:14px;padding:0}
.ao-legacy>summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;flex-direction:column;gap:3px}
.ao-legacy>summary::-webkit-details-marker{display:none}
.ao-legacy>summary b::before{content:'▸ ';color:var(--text3)}
.ao-legacy[open]>summary b::before{content:'▾ '}
.ao-legacy>summary span{font-size:12px;color:var(--text2)}
.ao-legacy[open]{padding-bottom:14px}
.ao-legacy[open]>.admin-overview-shell{padding:0 14px}
.ao-legacy .admin-overview-controls{display:none}

@media (max-width:1700px){.aoc-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1280px){.aoc-flux{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:960px){.aoc-grid2,.aoc-grid21{grid-template-columns:1fr}.aoc-minis{grid-template-columns:1fr}.aoc-fsum{margin-left:0}}
@media (max-width:640px){.aoc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.aoc-flux{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Export PDF : seule la vue d'ensemble est imprimée */
@media print{
  body.aoc-printing *{visibility:hidden}
  body.aoc-printing #ao-cockpit,body.aoc-printing #ao-cockpit *{visibility:visible}
  body.aoc-printing #ao-cockpit{position:absolute;left:0;top:0;width:100%}
  body.aoc-printing .aoc-actions,body.aoc-printing .aoc-filters button,body.aoc-printing [data-aoc-open].aoc-btn{display:none}
}
