/* ============================================================
   ASTRA GENESIS, 20-control-center.css
   v0.76.0, écran 1 « Centre de contrôle » : onglets PLANÈTE, CENTRE DE
   CONTRÔLE, MESSAGES, simulateur de combat. Cadre commun Quêtes
   (.qx-wrap, .qx-head, .qx-card, .qx-col, bouton héros,
   css/11-quests.css) ; l'onglet PLANÈTE garde ses styles
   (css/design-system.css), rien n'y est redéfini.
   Charte (CLAUDE.md) : fond #121C2B, bordure #1E2E40, focus teal
   #2DD4BF, arrondi 8-10, texte #E6EDF5, chiffres en JetBrains Mono.
   Accents dynamiques en SVG/CSS composité (transform, opacity,
   stroke-dashoffset), aucun WebGL ; html.fx-paused (onglet caché) et
   html.fx-reduced (effets réduits) les coupent.
   ============================================================ */

/* ---------- onglets et fondu enchaîné ---------- */
.cc-root{position:absolute;inset:0;--cc-fade:260ms;}
/* jetons de la charte, aussi portés par les modales (hors de l'écran) */
.cc-root, .cc-modal{--cc-field:#121C2B;--cc-line:#1E2E40;--cc-teal:#2DD4BF;--cc-text:#E6EDF5;}
.cc-pane{
  position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--cc-fade) ease, visibility 0s linear var(--cc-fade);
}
.cc-root[data-tab="planet"] > .cc-pane[data-pane="planet"],
.cc-root[data-tab="control"] > .cc-pane[data-pane="control"],
.cc-root[data-tab="messages"] > .cc-pane[data-pane="messages"]{
  opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--cc-fade) ease, visibility 0s;
}
/* fond partagé 1_1 (sinon 1, sinon champ d'étoiles), aucun voile */
.cc-stage{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
  background:var(--cc-bg, none) center / cover no-repeat;transition:opacity var(--cc-fade) ease;
}
.cc-root:not([data-tab="planet"]) > .cc-stage{opacity:1;}
.cc-tabs{
  position:absolute;z-index:60;top:calc(10px*var(--scale));left:50%;transform:translateX(-50%);margin:0;
}
.cc-tabs .pill-tab{font:inherit;font-family:var(--font-head);font-size:.72rem;position:relative;}
.cc-tabs .pill-tab:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px;}
.cc-tab-dot{position:absolute;top:3px;right:6px;width:7px;height:7px;border-radius:50%;background:#F59E0B;box-shadow:0 0 6px rgba(245,158,11,.8);}
.cc-tab-dot[hidden]{display:none;}
/* onglet PLANÈTE : la barre d'onglets occupe le haut du render, les
   widgets météo descendent d'une rangée (placement seul, aucune logique) */
.cc-root .dv2-fullbleed .dv2-render-widgets, .cc-root .dv2-render-widgets{top:calc(58px*var(--scale));}

/* ---------- en-tête des onglets CONTRÔLE et MESSAGES ---------- */
.cc-head{min-height:calc(40px*var(--scale));}
.cc-head .qx-head-txt{max-width:calc(50% - 280px*var(--scale));min-width:0;}
.cc-head .qx-head-txt h1{overflow:hidden;text-overflow:ellipsis;font-size:clamp(.82rem, 1.05vw, 1.15rem);}
.cc-head-ic{display:inline-flex;flex:none;width:34px;height:34px;color:var(--cc-teal);filter:drop-shadow(0 0 8px rgba(45,212,191,.55));}
.cc-head-ic svg{width:100%;height:100%;}
.cc-quote{max-width:min(320px, 24%);}
.cc-quote blockquote:empty{display:none;}

/* ---------- grille : gauche | centre | droite ---------- */
.cc-body{
  position:relative;z-index:20;flex:1 1 auto;min-height:0;
  display:grid;grid-template-columns:var(--qx-left-w) minmax(0,1fr) var(--qx-right-w);gap:var(--qx-gap);
}
.cc-center{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--qx-gap);}
.cc-center > .qx-card{flex:0 0 auto;}
.cc-center > .cc-flex:not(.collapsed){flex:1 1 auto;min-height:calc(220px*var(--scale));display:flex;flex-direction:column;}
.cc-center > .cc-flex:not(.collapsed) > .panel-body{flex:1 1 auto;min-height:0;}
.cc-wrap .panel-head{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.cc-head-btn{margin-left:auto;gap:6px;padding:3px 10px;}
.cc-btn-ic{display:inline-flex;}
.cc-btn-ic svg, .cc-head-btn svg{width:13px;height:13px;}
.cc-head-link{margin-left:auto;align-self:center;}
.cc-mt{margin-top:8px;}
.cc-sect{margin:10px 0 5px;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.cc-wrap button:focus-visible, .cc-modal button:focus-visible, .cc-wrap [role="button"]:focus-visible{outline:2px solid var(--cc-teal);outline-offset:2px;}
.cc-wrap .t-teal{--cc-t:#2DD4BF;}
.cc-wrap .t-amber, .cc-modal .t-amber{--cc-t:#F59E0B;}
.cc-wrap .t-rose, .cc-modal .t-rose{--cc-t:#F87171;}
.cc-wrap .t-violet{--cc-t:#A78BFA;}
.cc-modal .t-teal{--cc-t:#2DD4BF;}

/* segments (période, tri, type) */
.cc-seg{display:inline-flex;margin-left:auto;border:1px solid var(--cc-line);border-radius:8px;overflow:hidden;background:var(--cc-field);flex:none;}
.cc-seg button{
  font:inherit;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;padding:3px 9px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;
}
.cc-seg button + button{border-left:1px solid var(--cc-line);}
.cc-seg button:hover{color:var(--cc-teal);background:rgba(45,212,191,.08);}
.cc-seg button.on{color:#03251f;background:var(--cc-teal);}
.cc-seg.sm{margin-left:0;}

/* ---------- STATUT DÉFENSIF ---------- */
.cc-alert{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;
  padding:8px 10px;margin-bottom:6px;border-radius:10px;border:1px solid color-mix(in srgb, var(--cc-t) 45%, transparent);
  background:linear-gradient(100deg, color-mix(in srgb, var(--cc-t) 14%, transparent), transparent 80%);cursor:help;
}
.cc-alert-ic{grid-row:1 / span 2;display:inline-flex;width:30px;height:30px;color:var(--cc-t);}
.cc-alert-ic svg{width:100%;height:100%;}
.cc-alert-txt{display:flex;flex-direction:column;min-width:0;}
.cc-alert-txt small{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cc-t);}
.cc-alert-txt b{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cc-t);}
.cc-alert-txt em{font-style:normal;font-size:.64rem;color:var(--ink-2);}
.cc-alert .cc-segbar{grid-column:2;}
.cc-segbar{display:flex;gap:3px;}
.cc-segbar i{flex:1;height:6px;border-radius:2px;background:rgba(148,163,184,.18);transform:skewX(-18deg);}
.cc-segbar i.on{background:var(--cc-t);box-shadow:0 0 6px color-mix(in srgb, var(--cc-t) 60%, transparent);}
.cc-kv{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid rgba(30,46,64,.7);font-size:.68rem;color:var(--ink-2);}
.cc-kv span{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.05em;}
.cc-kv i{display:inline-flex;width:14px;height:14px;color:var(--cc-teal);}
.cc-kv i svg{width:100%;height:100%;}
.cc-kv b{font-family:var(--font-mono);font-weight:500;color:var(--cc-text);}
.cc-kv b.dim{color:var(--ink-3);font-family:var(--font-body);font-size:.64rem;}
.cc-kv[data-rich-tip]{cursor:help;}

/* ---------- POSTURE ---------- */
.cc-rule{margin:0 0 6px;font-size:.62rem;color:var(--ink-2);cursor:help;}
.cc-postures{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:6px;}
.cc-posture{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;min-width:0;
  font:inherit;font-family:var(--font-head);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.15;text-align:center;
  color:var(--ink-2);background:var(--cc-field);border:1px solid var(--cc-line);border-radius:9px;cursor:pointer;transition:border-color .15s, color .15s, box-shadow .15s;
}
.cc-posture i{display:inline-flex;width:18px;height:18px;}
.cc-posture i svg{width:100%;height:100%;}
.cc-posture:hover{color:var(--cc-teal);border-color:var(--cc-teal);}
.cc-posture.on{color:var(--cc-teal);border-color:var(--cc-teal);background:rgba(45,212,191,.12);box-shadow:0 0 0 2px rgba(45,212,191,.18), inset 0 0 18px rgba(45,212,191,.12);}
.cc-posture em{font-style:normal;font-family:var(--font-mono);font-size:.52rem;color:#F59E0B;letter-spacing:.04em;}
.cc-posture em.cur{color:var(--ink-3);}
.cc-postures.lg .cc-posture{padding:14px 6px;font-size:.72rem;}
.cc-postures.lg .cc-posture i{width:24px;height:24px;}
.cc-posture-desc{margin:8px 0 0;font-size:.66rem;line-height:1.4;color:var(--ink-2);}

/* ---------- ACTIVITÉ RÉCENTE ---------- */
.cc-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;}
.cc-activity li{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;font-size:.66rem;color:var(--ink-1);}
.cc-activity time{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-3);}
.cc-activity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-dot{width:7px;height:7px;border-radius:50%;background:var(--cc-teal);}
.cc-dot.l-amber{background:#F59E0B;}
.cc-dot.l-rose{background:#F87171;}
.cc-dot.c-menaces.l-cyan{background:#A78BFA;}

/* ---------- SITUATION TACTIQUE ---------- */
.cc-radar-body{position:relative;padding:6px !important;container-type:size;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cc-radar-body > .cc-radar-wrap{position:absolute;inset:6px;display:flex;align-items:center;justify-content:center;}
.cc-radar-frame{
  position:relative;aspect-ratio:var(--cc-ar, 1000 / 560);
  width:min(100%, calc((100cqh - 4px) * var(--cc-arw, 1000) / var(--cc-arh, 520)));max-height:100%;margin:auto;
}
.cc-radar-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.cc-ring{fill:none;stroke:rgba(45,212,191,.2);stroke-width:1.2;}
.cc-ring:nth-child(odd){stroke-dasharray:3 7;}
.cc-ring-platform{stroke:rgba(45,212,191,.65);stroke-width:2;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(45,212,191,.6));}
.cc-axis{stroke:rgba(45,212,191,.1);stroke-width:1;}
.cc-planet-ph{fill:#123049;}
.cc-planet-rim{fill:none;stroke:rgba(45,212,191,.55);stroke-width:1.5;}
.cc-planet-lbl{fill:var(--cc-text);font-family:var(--font-display);font-size:17px;letter-spacing:.14em;text-anchor:middle;paint-order:stroke;stroke:rgba(4,10,18,.85);stroke-width:4px;}
/* balayage : conic-gradient en rotation (transform composité) dans une
   ellipse obtenue par scaleY sur le parent */
.cc-sweep{
  position:absolute;left:calc((100% - var(--cc-sweep-w)) / 2);top:50%;width:var(--cc-sweep-w);aspect-ratio:1;
  transform:translateY(-50%) scaleY(var(--cc-tilt, .56));pointer-events:none;border-radius:50%;overflow:hidden;
}
.cc-sweep i{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(45,212,191,0) 0deg, rgba(45,212,191,0) 300deg, rgba(45,212,191,.22) 356deg, rgba(45,212,191,.45) 360deg);
  animation:ccSweep var(--cc-sweep-s, 9s) linear infinite;will-change:transform;
}
@keyframes ccSweep{to{transform:rotate(360deg);}}
.cc-traj{fill:none;stroke:var(--cc-f);stroke-width:2;stroke-dasharray:7 9;opacity:.8;animation:ccDash var(--cc-dash, 3s) linear infinite;}
@keyframes ccDash{to{stroke-dashoffset:-16;}}
.cc-blip{cursor:pointer;outline:none;}
.cc-blip-core{fill:var(--cc-f);stroke:#04080F;stroke-width:2;}
.cc-blip-halo{fill:color-mix(in srgb, var(--cc-f) 18%, transparent);stroke:color-mix(in srgb, var(--cc-f) 55%, transparent);stroke-width:1.2;transition:transform .2s;transform-box:fill-box;transform-origin:center;}
.cc-blip.k-pvp .cc-blip-core{fill:#EF4444;}
.cc-blip:hover .cc-blip-halo, .cc-blip:focus .cc-blip-halo{transform:scale(1.25);}
.cc-blip.sel .cc-blip-halo{stroke:#E6EDF5;stroke-width:2.2;transform:scale(1.3);}
.cc-blip text{text-anchor:middle;paint-order:stroke;stroke:rgba(4,10,18,.9);stroke-width:4px;stroke-linejoin:round;}
.cc-blip-name{fill:var(--cc-f);font-family:var(--font-head);font-weight:600;font-size:25px;letter-spacing:.04em;}
.cc-blip-cd{fill:var(--cc-text);font-family:var(--font-mono);font-size:22px;}
.cc-blip-org{fill:#94A3B8;font-family:var(--font-mono);font-size:16px;letter-spacing:.06em;text-transform:uppercase;}
html.fx-reduced .cc-sweep, html.fx-reduced .cc-sweep i{animation:none;}
html.fx-reduced .cc-sweep{display:none;}
html.fx-reduced .cc-traj{animation:none;}
html.fx-paused .cc-sweep i, html.fx-paused .cc-traj,
.cc-root:not([data-tab="control"]) .cc-sweep i, .cc-root:not([data-tab="control"]) .cc-traj{animation-play-state:paused;}
@media (prefers-reduced-motion: reduce){ .cc-sweep i, .cc-traj{animation:none;} }
.cc-legend{
  position:absolute;z-index:2;top:6px;left:8px;list-style:none;margin:0;padding:6px 9px;display:flex;flex-direction:column;gap:3px;
  font-size:.6rem;color:var(--ink-2);background:rgba(4,8,16,.55);border:1px solid rgba(30,46,64,.7);border-radius:8px;
}
.cc-legend li{display:flex;align-items:center;gap:7px;}
.cc-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;}
.cc-legend .lg-home{border:2px solid var(--cc-teal);}
.cc-legend .lg-pve{background:#F59E0B;box-shadow:0 0 0 2px rgba(245,158,11,.25);}
.cc-legend .lg-pvp{background:#EF4444;box-shadow:0 0 0 2px rgba(239,68,68,.25);}
.cc-legend .lg-traj{height:0;border-radius:0;border-top:2px dashed #F59E0B;width:14px;}
.cc-legend .lg-orbit{border:1px dashed rgba(45,212,191,.7);}
.cc-danger{
  position:absolute;z-index:2;right:8px;bottom:6px;padding:6px 10px;min-width:170px;cursor:help;
  background:rgba(4,8,16,.7);border:1px solid rgba(30,46,64,.9);border-radius:8px;
}
.cc-danger small{display:block;font-family:var(--font-mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
.cc-danger-row{display:flex;align-items:center;gap:10px;}
.cc-danger-row > span{flex:1;min-width:90px;}
.cc-danger-row b{font-family:var(--font-display);font-size:1.3rem;}
.cc-danger-row b.t-teal{color:#2DD4BF;}
.cc-danger-row b.t-amber{color:#F59E0B;}
.cc-danger-row b.t-rose{color:#F87171;}

/* ---------- INCURSIONS ANNONCÉES ---------- */
.cc-chips{display:flex;gap:5px;margin-left:auto;overflow-x:auto;min-width:0;}
.cc-chip{
  flex:none;font:inherit;font-family:var(--font-mono);font-size:.6rem;padding:3px 9px;border-radius:8px;cursor:pointer;
  color:var(--ink-2);background:var(--cc-field);border:1px solid var(--cc-line);transition:border-color .15s, color .15s;
}
.cc-chip b{font-weight:500;color:var(--ink-1);}
.cc-chip small{color:var(--ink-3);}
.cc-chip:hover{color:var(--cc-teal);border-color:var(--cc-teal);}
.cc-chip.on{color:var(--cc-teal);border-color:var(--cc-teal);background:rgba(45,212,191,.12);}
.cc-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(calc(230px*var(--scale)), 1fr));gap:8px;}
.cc-card{
  container-type:inline-size;
  position:relative;display:flex;flex-direction:column;gap:5px;padding:8px 10px;min-width:0;cursor:pointer;
  border-radius:10px;border:1px solid color-mix(in srgb, var(--cc-f) 40%, #1E2E40);
  background:linear-gradient(160deg, color-mix(in srgb, var(--cc-f) 14%, transparent), rgba(4,8,16,.6) 60%);
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.cc-card:hover{border-color:var(--cc-f);transform:translateY(-1px);}
.cc-card.sel{border-color:var(--cc-f);box-shadow:0 0 0 2px color-mix(in srgb, var(--cc-f) 35%, transparent), 0 0 18px color-mix(in srgb, var(--cc-f) 25%, transparent);}
.cc-card-top{display:flex;align-items:center;gap:8px;min-width:0;cursor:help;}
.cc-card-ic{flex:none;display:inline-flex;width:30px;height:30px;padding:5px;border-radius:8px;color:var(--cc-f);background:rgba(4,8,16,.6);border:1px solid color-mix(in srgb, var(--cc-f) 45%, transparent);}
.cc-card-ic svg{width:100%;height:100%;}
.cc-card-names{display:flex;flex-direction:column;min-width:0;flex:1;}
.cc-card-names b{font-family:var(--font-head);font-weight:600;font-size:.82rem;color:var(--cc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-card-sub{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;}
.cc-card-cd{font-family:var(--font-mono);font-size:.72rem;color:var(--cc-f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cc-act-main .l-short{display:none;}
.cc-atk{flex:none;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:#F87171;padding:2px 7px;border:1px solid rgba(248,113,113,.45);border-radius:7px;}
.cc-atk b{font-size:.74rem;}
.cc-card-foot{display:flex;align-items:center;gap:8px;min-width:0;}
.cc-card-desc{margin:0;font-size:.64rem;line-height:1.35;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-rec{font-size:.6rem;color:var(--ink-3);}
.cc-rec b{font-family:var(--font-mono);font-weight:500;color:#F59E0B;padding:1px 6px;border:1px solid rgba(245,158,11,.45);border-radius:6px;margin-left:4px;}
.cc-rec b.ok{color:var(--cc-teal);border-color:rgba(45,212,191,.5);}
/* une seule rangée : action principale + trois actions ; sous 380 px de
   carte, les trois secondaires passent en icône (libellé en tooltip) */
.cc-card-acts{display:flex;gap:5px;margin-top:2px;}
.cc-card-acts .btn{justify-content:center;gap:5px;padding:4px 7px;font-size:.6rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cc-card-acts .btn svg{flex:none;width:12px;height:12px;}
.cc-card-acts .cc-act-main{flex:1 1 auto;}
@container (max-width: 380px){
  .cc-card-acts .cc-act-sub span{display:none;}
  .cc-card-acts .cc-act-sub{flex:none;width:30px;padding:4px 0;}
}
@container (max-width: 260px){
  .cc-act-main .l-long{display:none;}
  .cc-act-main .l-short{display:inline;}
}

/* ---------- STATISTIQUES, GRAPHIQUE, HISTORIQUE ---------- */
.cc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.cc-tile, .msg-tile{
  display:flex;align-items:center;gap:8px;padding:7px 8px;min-width:0;border-radius:9px;
  background:var(--cc-field);border:1px solid var(--cc-line);
}
.cc-tile i, .msg-tile i{flex:none;display:inline-flex;width:20px;height:20px;color:var(--cc-t, var(--cc-teal));}
.cc-tile i svg, .msg-tile i svg{width:100%;height:100%;}
.cc-tile span, .msg-tile span{display:flex;flex-direction:column;min-width:0;}
.cc-tile small, .msg-tile small{font-size:.54rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);line-height:1.2;}
.cc-tile b, .msg-tile b{font-family:var(--font-mono);font-weight:500;font-size:.9rem;color:var(--cc-t, var(--cc-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-chart-legend{list-style:none;margin:0 0 4px;padding:0;display:flex;gap:10px;flex-wrap:wrap;font-size:.58rem;color:var(--ink-2);}
.cc-chart-legend li{display:flex;align-items:center;gap:5px;}
.cc-chart-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;}
.cc-chart-legend b{font-family:var(--font-mono);font-weight:500;color:var(--ink-1);}
.cc-chart{display:block;width:100%;height:calc(110px*var(--scale));}
.cc-chart-axis{stroke:rgba(148,163,184,.3);stroke-width:1;}
.cc-chart-ticks text{fill:#94A3B8;font-family:var(--font-mono);font-size:8px;text-anchor:middle;}
.cc-b-held{fill:#2DD4BF;background:#2DD4BF;}
.cc-b-lost{fill:#F87171;background:#F87171;}
.cc-b-off{fill:#F59E0B;background:#F59E0B;}
.cc-empty{padding:14px 0;text-align:center;}
.cc-table{width:100%;border-collapse:collapse;font-size:.64rem;}
.cc-table th{font-family:var(--font-mono);font-weight:500;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:4px 5px;border-bottom:1px solid var(--cc-line);}
.cc-table td{padding:5px;border-bottom:1px solid rgba(30,46,64,.55);color:var(--ink-1);vertical-align:middle;}
.cc-table tbody tr[data-cc-act]{cursor:pointer;}
.cc-table tbody tr[data-cc-act]:hover td{background:rgba(45,212,191,.06);}
.cc-table .mono, .cc-table td.mono{font-family:var(--font-mono);}
.cc-table .pos, .cc-sim-cmp .pos{color:#4ADE80;}
.cc-table .neg, .cc-sim-cmp .neg{color:#F87171;}
.cc-table .z{color:var(--ink-3);}
.cc-tgt{display:inline-flex;align-items:center;gap:5px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-tgt svg{flex:none;width:12px;height:12px;color:var(--cc-f, var(--ink-2));}
.cc-res{font-family:var(--font-mono);font-size:.54rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:6px;border:1px solid;}
.cc-res.win{color:#2DD4BF;border-color:rgba(45,212,191,.5);background:rgba(45,212,191,.1);}
.cc-res.loss{color:#F87171;border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.1);}

/* ---------- modales (garnison, posture, historique, simulateur) ---------- */
.cc-modal{display:flex;flex-direction:column;gap:6px;color:var(--cc-text, #E6EDF5);}
.cc-modal .qx-hint{font-size:.68rem;}
.cc-sim-col > .cc-seg{align-self:flex-start;}
.cc-modal-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;}
.cc-modal-acts .btn{gap:6px;}

/* ---------- simulateur ---------- */
.cc-sim-note{display:flex;gap:7px;align-items:center;margin:0;padding:6px 10px;border-radius:8px;font-size:.68rem;color:#F59E0B;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.08);}
.cc-sim-note svg{flex:none;width:14px;height:14px;}
.cc-sim-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;}
.cc-sim-col{min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;background:rgba(4,8,16,.45);border:1px solid #1E2E40;}
.cc-sim-col h3{margin:0;font-family:var(--font-head);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#E6EDF5;display:flex;align-items:center;gap:8px;}
.cc-sim-mod{font-style:normal;font-family:var(--font-mono);font-size:.56rem;color:#F59E0B;letter-spacing:.04em;}
.cc-field{display:flex;flex-direction:column;gap:4px;font-size:.62rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;}
.cc-range-row{display:flex;align-items:center;gap:8px;}
.cc-select, .cc-num{
  font:inherit;font-size:.74rem;text-transform:none;letter-spacing:0;color:#E6EDF5;background:#121C2B;
  border:1px solid #1E2E40;border-radius:8px;padding:5px 8px;outline:none;transition:border-color .15s, box-shadow .15s;
}
.cc-select{appearance:none;-webkit-appearance:none;padding-right:26px;cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, #2DD4BF 50%), linear-gradient(135deg, #2DD4BF 50%, transparent 50%);
  background-position:calc(100% - 13px) 50%, calc(100% - 8px) 50%;background-size:5px 5px;background-repeat:no-repeat;}
.cc-select option{background:#121C2B;color:#E6EDF5;}
.cc-select:hover, .cc-num:hover{border-color:#2B4560;}
.cc-select:focus-visible, .cc-num:focus{border-color:#2DD4BF;box-shadow:0 0 0 2px rgba(45,212,191,.2);}
.cc-select:disabled{opacity:.55;cursor:not-allowed;}
.cc-num{font-family:var(--font-mono);width:78px;text-align:right;-moz-appearance:textfield;}
.cc-num::-webkit-outer-spin-button, .cc-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cc-range{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:18px;background:transparent;cursor:pointer;}
.cc-range::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:#1E2E40;}
.cc-range::-moz-range-track{height:4px;border-radius:3px;background:#1E2E40;}
.cc-range::-moz-range-progress{height:4px;border-radius:3px;background:#2DD4BF;}
.cc-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:#2DD4BF;border:2px solid #04080F;box-shadow:0 0 6px rgba(45,212,191,.6);}
.cc-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#2DD4BF;border:2px solid #04080F;}
.cc-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(45,212,191,.2);}
.cc-range:focus-visible{outline:2px solid #2DD4BF;outline-offset:2px;border-radius:4px;}
.cc-sim-units{display:flex;flex-direction:column;gap:5px;}
.cc-sim-unit{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.7rem;color:#E6EDF5;}
.cc-sim-unit small{color:var(--ink-3);font-family:var(--font-mono);font-size:.58rem;}
.cc-stepper{display:inline-flex;align-items:center;gap:3px;}
.cc-stepper button{width:24px;height:26px;font:inherit;color:#2DD4BF;background:#121C2B;border:1px solid #1E2E40;border-radius:7px;cursor:pointer;}
.cc-stepper button:hover{border-color:#2DD4BF;}
.cc-stepper .cc-num{width:64px;padding:4px 6px;}
.cc-sim-sect{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.cc-sim-ships{display:flex;flex-wrap:wrap;gap:5px;}
.cc-sim-postures{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.62rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;}
.cc-sim-kpis{display:grid;grid-template-columns:repeat(6, minmax(0,1fr));gap:6px;}
.cc-sim-kpi{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:9px;background:#121C2B;border:1px solid #1E2E40;cursor:help;}
.cc-sim-kpi small{font-size:.54rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);line-height:1.2;}
.cc-sim-kpi b{font-family:var(--font-mono);font-weight:500;font-size:.92rem;color:var(--cc-t, #E6EDF5);}
.cc-sim-cmp{margin-top:6px;}
.cc-sim-cmp tr.on td{background:rgba(45,212,191,.08);}
.cc-sim-cmp small{font-family:var(--font-mono);font-size:.56rem;margin-left:3px;}
@media (max-width: 1100px){ .cc-sim-grid{grid-template-columns:1fr;} .cc-sim-kpis{grid-template-columns:repeat(3, minmax(0,1fr));} }

/* ---------- MESSAGES ---------- */
.msg-cats{display:flex;flex-direction:column;gap:3px;}
.msg-cat{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 8px;
  font:inherit;font-size:.72rem;text-align:left;color:var(--ink-1);background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer;
  transition:border-color .15s, background .15s;
}
.msg-cat i{display:inline-flex;width:16px;height:16px;color:var(--cc-c, var(--cc-teal));}
.msg-cat i svg{width:100%;height:100%;}
.msg-cat span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-cat b{font-family:var(--font-mono);font-weight:500;font-size:.66rem;color:var(--ink-2);}
.msg-cat em{font-style:normal;font-family:var(--font-mono);font-size:.58rem;color:#03251f;background:var(--cc-teal);border-radius:7px;padding:0 5px;}
.msg-cat:hover{border-color:#1E2E40;background:rgba(45,212,191,.05);}
.msg-cat.on{border-color:var(--cc-teal);background:rgba(45,212,191,.12);}
.c-menaces{--cc-c:#F87171;}
.c-energie{--cc-c:#FACC15;}
.c-economie{--cc-c:#F59E0B;}
.c-construction{--cc-c:#60A5FA;}
.c-expeditions{--cc-c:#2DD4BF;}
.c-diplomatie{--cc-c:#A78BFA;}
.c-all{--cc-c:#2DD4BF;}
.msg-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 2px;
  font:inherit;font-size:.68rem;color:var(--ink-1);background:transparent;border:0;cursor:pointer;
}
.msg-toggle i{position:relative;flex:none;width:30px;height:16px;border-radius:9px;background:#121C2B;border:1px solid #1E2E40;transition:background .15s, border-color .15s;}
.msg-toggle i::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#64748B;transition:transform .15s, background .15s;}
.msg-toggle:hover i{border-color:#2DD4BF;}
.msg-toggle.on i{background:rgba(45,212,191,.2);border-color:#2DD4BF;}
.msg-toggle.on i::after{transform:translateX(14px);background:#2DD4BF;}
.msg-kpis{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:8px;}
.msg-kpi{
  display:flex;align-items:center;gap:10px;padding:8px 10px;min-width:0;font:inherit;text-align:left;cursor:pointer;
  border-radius:10px;background:var(--cc-field);border:1px solid color-mix(in srgb, var(--cc-t) 30%, #1E2E40);color:var(--cc-text);
  transition:border-color .15s;
}
.msg-kpi:hover:not(:disabled){border-color:var(--cc-t);}
.msg-kpi:disabled{cursor:default;}
.msg-kpi i{flex:none;display:inline-flex;width:26px;height:26px;color:var(--cc-t);}
.msg-kpi i svg{width:100%;height:100%;}
.msg-kpi span{display:flex;flex-direction:column;min-width:0;}
.msg-kpi b{font-family:var(--font-mono);font-weight:500;font-size:1.2rem;color:var(--cc-t);line-height:1.1;}
.msg-kpi small{font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);}
.msg-kpi em{font-style:normal;font-family:var(--font-mono);font-size:.56rem;color:var(--ink-3);}
.msg-tools{display:flex;align-items:center;gap:8px;margin-left:auto;}
.msg-tools .btn{padding:3px 10px;}
.msg-feed{overflow-y:auto;display:flex;flex-direction:column;gap:4px;}
.msg-row{
  display:grid;grid-template-columns:auto auto minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;
  border-radius:9px;border:1px solid rgba(30,46,64,.7);background:rgba(4,8,16,.35);transition:border-color .15s, background .15s;
}
.msg-row:hover{border-color:#2B4560;background:rgba(45,212,191,.05);}
.msg-row.sel{border-color:var(--cc-teal);background:rgba(45,212,191,.1);}
.msg-row.unread{box-shadow:inset 3px 0 0 var(--cc-teal);}
.msg-row.unread .msg-row-txt b{color:#FFFFFF;}
.msg-row:not(.unread) .msg-row-txt b{font-weight:500;color:var(--ink-1);}
.msg-row time{font-size:.6rem;color:var(--ink-3);white-space:nowrap;}
.msg-row-ic{display:inline-flex;width:18px;height:18px;color:var(--cc-c, var(--cc-teal));}
.msg-row-ic svg{width:100%;height:100%;}
.msg-row-txt{display:flex;flex-direction:column;min-width:0;}
.msg-row-txt b{font-family:var(--font-head);font-weight:600;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-row.l-rose .msg-row-txt b{color:#F87171;}
.msg-row-txt small{font-size:.62rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-chip{font-family:var(--font-mono);font-size:.54rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:6px;color:var(--cc-c, var(--ink-2));border:1px solid color-mix(in srgb, var(--cc-c, #94A3B8) 50%, transparent);white-space:nowrap;}
.msg-clip{display:inline-flex;width:14px;height:14px;color:var(--ink-2);}
.msg-clip svg{width:100%;height:100%;}
.msg-detail{display:flex;flex-direction:column;gap:6px;}
.msg-detail-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;}
.msg-detail-top .msg-row-ic{width:26px;height:26px;}
.msg-detail-top b{display:block;font-family:var(--font-head);font-size:.86rem;color:var(--cc-text);}
.msg-detail-top small{font-size:.6rem;color:var(--ink-3);}
.msg-detail.l-rose .msg-detail-top b{color:#F87171;}
.msg-detail-txt{margin:0;font-size:.7rem;line-height:1.45;color:var(--ink-1);}
.msg-tiles{display:grid;grid-template-columns:repeat(auto-fit, minmax(84px, 1fr));gap:6px;}
.msg-tiles .msg-tile{flex-direction:column;align-items:flex-start;gap:3px;}
.msg-tiles .msg-tile i{width:15px;height:15px;}
.msg-rewards{display:grid;grid-template-columns:1fr;gap:6px;}
.msg-tile b{font-size:.78rem;white-space:normal;}
.msg-detail-acts .btn{font-size:.6rem;padding:5px 6px;}
.msg-detail .mr-detail{margin:6px 0 0;padding-left:16px;font-size:.62rem;color:var(--ink-2);}
.msg-detail-acts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;}
.msg-detail-acts .btn{justify-content:center;}
.msg-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.msg-agenda button{
  display:grid;grid-template-columns:auto 16px minmax(0,1fr) 12px;align-items:center;gap:8px;width:100%;padding:6px 8px;
  font:inherit;font-size:.66rem;text-align:left;color:var(--ink-1);background:rgba(4,8,16,.35);border:1px solid rgba(30,46,64,.7);border-radius:8px;cursor:pointer;
}
.msg-agenda button:hover{border-color:var(--cc-t);}
.msg-agenda i{display:inline-flex;width:16px;height:16px;color:var(--cc-t);}
.msg-agenda i svg{width:100%;height:100%;}
.msg-ag-cd{font-size:.6rem;color:var(--cc-t);min-width:78px;}
.msg-ag-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-ag-go{display:inline-flex;width:12px;height:12px;color:var(--ink-3);transform:rotate(-90deg);}
.msg-ag-go svg{width:100%;height:100%;}
.cc-modal .msg-agenda .t-teal{--cc-t:#2DD4BF;}
.cc-modal .msg-agenda .t-amber{--cc-t:#F59E0B;}
.cc-modal .msg-agenda .t-rose{--cc-t:#F87171;}
.notif-inbox-link{width:100%;justify-content:center;margin:0 0 10px;}

/* ---------- étroit : colonnes empilées au-delà du plein cadre ---------- */
@media (max-width: 1500px){
  .msg-kpis{grid-template-columns:repeat(2, minmax(0,1fr));}
  .cc-head .qx-head-txt p{display:none;}
}
