@import '../shared.css';

/* CyberDesk — Module Cybersécurité Clients — accent bleu France (DSFR) */
:root {
  --cyber:#000091; --cyber-dark:#000074;
  --accent-mod: var(--cyber);
  --accent-mod-dark: var(--cyber-dark);
  --accent-mod-bg: rgba(0,0,145,.07);
  --accent-mod-bd: rgba(0,0,145,.3);
}

body::before {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background: var(--navy);
}

/* ── LAYOUT ── */
.cyber-layout { display:flex; flex-direction:column; min-height:100vh; position:relative; z-index:1; }
.cyber-body   { display:flex; flex:1; min-height:0; }
.cyber-main   { flex:1; overflow-y:auto; padding:24px 28px; }
.cyber-view   { display:none; }
.cyber-view.active { display:block; }

/* ── TOPBAR ── */
.cyber-topbar         { position:sticky; top:0; z-index:100; background:#ffffff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:14px; padding:0 20px; height:58px; flex-shrink:0; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.cyber-back-btn       { font-size:.76rem; color:var(--mut); border:1px solid var(--line); border-radius:8px; padding:4px 11px; font-family:var(--ff-mono); transition:.15s; }
.cyber-back-btn:hover { color:var(--txt); border-color:var(--line2); background:rgba(0,0,0,.03); }
.cyber-topbar-brand    { font-family:var(--ff-disp); font-weight:800; font-size:1rem; color:var(--txt); }
.cyber-topbar-subtitle { font-size:.72rem; color:var(--mut); font-family:var(--ff-mono); }
.cyber-topbar-right    { margin-left:auto; display:flex; align-items:center; gap:10px; }

/* ── SIDEBAR ── */
.cyber-sidebar { width:220px; flex-shrink:0; border-right:1px solid var(--line); background:#fafafa; display:flex; flex-direction:column; overflow:hidden; }
.sidebar-contact-item { border-radius:0; margin:0; padding:8px 14px; border-left:2px solid transparent; border-right:none; border-top:none; border-bottom:none; }
.sidebar-contact-item.active { background:rgba(0,0,145,.07); border-left-color:var(--cyber); border-right-color:transparent; border-top-color:transparent; border-bottom-color:transparent; }
.sidebar-score-mini { margin-left:auto; font-family:var(--ff-mono); font-size:.68rem; font-weight:700; flex-shrink:0; }

/* ── SUBNAV ── */
.cyber-subnav { width:190px; flex-shrink:0; border-right:1px solid var(--line); background:#fafafa; padding:14px 0; display:flex; flex-direction:column; gap:2px; }

/* ── PRIORITÉS ── */
.prio-critique { color:var(--alert); }
.prio-haute    { color:var(--warn); }
.prio-normale  { color:var(--cyber); }
.prio-basse    { color:var(--mut); }

/* ── TOAST ── */
#cyber-toast { position:fixed; bottom:24px; right:24px; z-index:500; font-family:var(--ff-mono); font-size:.8rem; padding:10px 18px; border-radius:10px; background:var(--ok-bg); border:1px solid var(--ok-bd); color:var(--ok); opacity:0; transform:translateY(8px); transition:.25s; pointer-events:none; box-shadow:0 6px 20px rgba(0,0,0,.1); }
#cyber-toast.show { opacity:1; transform:translateY(0); }
#cyber-toast.err  { background:var(--alert-bg); border-color:var(--alert-bd); color:var(--alert); }

@media (max-width:768px) {
  .cyber-sidebar { display:none; }
  .cyber-subnav  { width:160px; }
  .cyber-main    { padding:16px; }
}
