/* Layout: cockpit HUD — rail de navigation à gauche, télémétrie en haut, panneau de travail, tiroir de fiche à droite */
:root{
  --ink:#0a0f1f; --panel:#111a33; --panel-2:#16224a; --line:#26356b;
  --text:#e6ebff; --muted:#8e9bc9; --accent:#8b9cff; --accent-2:#5de4ff;
  --ok:#3ddc97; --warn:#ffb547; --bad:#ff5d73; --hold:#b48cff; --li:#4ea3ff;
  --display:"Chakra Petch","Bahnschrift","Segoe UI",system-ui,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono","Cascadia Mono","Consolas",monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--ink);color:var(--text);font:14px/1.5 var(--body);overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);height:100%}
.side{background:linear-gradient(180deg,#0d1430,#0a0f1f);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;padding:18px 14px}
.brand{display:flex;gap:10px;align-items:center}
.radar{width:42px;height:42px;border-radius:50%;flex:none;position:relative;border:1px solid var(--line);
  background:radial-gradient(circle,transparent 30%,rgba(93,228,255,.1) 31%,transparent 32%,transparent 62%,rgba(93,228,255,.1) 63%,transparent 64%),var(--panel)}
.radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(93,228,255,.55),transparent 70deg);animation:sweep 3.2s linear infinite}
.radar::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--warn);top:11px;left:26px;box-shadow:0 0 8px var(--warn)}
@keyframes sweep{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.radar::before{animation:none}}
.logo{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.logo span{color:var(--accent)}
.op{color:var(--muted);font-size:11px;letter-spacing:.05em;margin-top:3px}
.navlist{display:flex;flex-direction:column;gap:3px}
.navlist button{display:flex;justify-content:space-between;align-items:center;gap:8px;background:transparent;border:1px solid transparent;padding:9px 10px;text-align:left;font-family:var(--display);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.navlist button:hover{color:var(--text);border-color:var(--line)}
.navlist button[aria-current="true"]{color:var(--ink);background:var(--accent)}
.navlist .n{font-family:var(--mono);font-size:11px;padding:0 6px;border:1px solid currentColor;opacity:.85}
.countdown{margin-top:auto;border:1px solid var(--line);background:var(--panel);padding:12px;position:relative}
.countdown .big{font-family:var(--display);font-size:34px;font-weight:700;color:var(--warn);line-height:1}
.countdown .big.crit{color:var(--bad)}
.countdown small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.bar{height:4px;background:var(--panel-2);margin-top:8px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--warn))}
.main{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:
  radial-gradient(900px 400px at 90% -10%,rgba(139,156,255,.12),transparent 60%),
  linear-gradient(rgba(139,156,255,.03) 1px,transparent 1px) 0 0/100% 28px,var(--ink)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px 0;flex-wrap:wrap}
.topbar h1{font-family:var(--display);font-size:24px;margin:0;letter-spacing:.06em;text-transform:uppercase}
.topacts{display:flex;gap:8px;align-items:center}
.search{background:var(--panel-2);border:1px solid var(--line);padding:7px 10px;width:260px}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px 22px 0}
.stat{padding:10px 12px;display:flex;flex-direction:column}
.stat b{font-family:var(--mono);font-size:22px;font-weight:600;line-height:1.1}
.stat span{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.s-ok b{color:var(--ok)}.s-warn b{color:var(--warn)}.s-bad b{color:var(--bad)}.s-acc b{color:var(--accent-2)}
.view{flex:1;overflow:auto;padding:16px 22px 40px;display:flex;flex-direction:column;gap:14px}
.hud{position:relative;background:var(--panel);border:1px solid var(--line)}
.hud::before,.hud::after,.countdown::before,.countdown::after{content:"";position:absolute;width:10px;height:10px;border-color:var(--accent);border-style:solid;pointer-events:none}
.hud::before,.countdown::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.hud::after,.countdown::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.btn{border:1px solid var(--line);background:var(--panel-2);padding:7px 12px;font-size:13px;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;text-decoration:none}
.btn:hover{border-color:var(--accent)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}
.btn.go{background:var(--ok);color:var(--ink);border-color:var(--ok);font-weight:600}
.btn.li{background:transparent;border-color:var(--li);color:var(--li)}
.btn.ghost{background:transparent}
.btn.danger{border-color:var(--bad);color:var(--bad);background:transparent}
.btn.sm{padding:4px 9px;font-size:12px}
.section-title{font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;display:flex;align-items:center;gap:10px}
.section-title::after{content:"";flex:1;height:1px;background:var(--line)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.box{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.empty{color:var(--muted);padding:18px;border:1px dashed var(--line);text-align:center}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:10px 12px;background:var(--panel-2);border-left:3px solid var(--warn);align-items:center}
.row.call{border-left-color:var(--accent-2)}.row.li{border-left-color:var(--li)}.row.ok{border-left-color:var(--ok)}
.row h4{margin:0;font-size:14px;font-weight:600;cursor:pointer}.row h4:hover{color:var(--accent)}
.meta{color:var(--muted);font-size:12px}
.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{border:1px solid var(--line);background:transparent;padding:4px 10px;font-size:12px;color:var(--muted)}
.chip[aria-pressed="true"]{color:var(--text);border-color:var(--accent);background:rgba(139,156,255,.15)}
.tablewrap{overflow:auto;border:1px solid var(--line);background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:860px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid rgba(38,53,107,.6);vertical-align:middle}
th{font-family:var(--display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;position:sticky;top:0;background:var(--panel)}
tbody tr{cursor:pointer}tbody tr:hover{background:var(--panel-2)}
td.co{font-weight:600}td .sub{display:block;color:var(--muted);font-size:12px;font-weight:400}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);text-transform:uppercase;padding:2px 8px;border:1px solid currentColor;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;background:currentColor}
.p-envoye{color:var(--accent)}.p-attente{color:var(--warn)}.p-refus{color:var(--bad)}.p-entretien{color:var(--accent-2)}.p-signe{color:var(--ok)}.p-plus-tard{color:var(--hold)}.p-demarcher{color:var(--muted)}.p-offre{color:var(--accent-2)}.p-li{color:var(--li)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.card{padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.card h3{margin:0;font-size:16px;font-weight:600;cursor:pointer}.card h3:hover{color:var(--accent)}
.pitch{font-size:13px;color:#c7cff2;border-left:2px solid var(--line);padding-left:10px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;align-items:center}
.prio{font-family:var(--mono);font-size:10px;color:var(--ink);background:var(--warn);padding:1px 6px;white-space:nowrap}
.tag{font-family:var(--mono);font-size:10px;padding:1px 6px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.okk{color:var(--ok);border-color:var(--ok)}.tag.bad{color:var(--bad);border-color:var(--bad)}
.phone{font-family:var(--mono);font-size:13px;color:var(--accent-2)}
.mail{font-family:var(--mono);font-size:12px;color:var(--ok);word-break:break-all}
.chk{display:flex;gap:8px;align-items:center;font-size:13px}
/* drawer & modal */
.scrim{position:fixed;inset:0;background:rgba(5,8,18,.65);z-index:20}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,100%);z-index:21;background:var(--panel);border-left:1px solid var(--accent);overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.modal{position:fixed;inset:24px;z-index:31;background:var(--panel);border:1px solid var(--accent);display:flex;flex-direction:column;overflow:hidden}
.modal .mhead{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);gap:10px}
.modal .mbody{flex:1;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 18px}
.modal .mfoot{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.scrim.top{z-index:30}
h2.t{font-family:var(--display);font-size:20px;margin:0;letter-spacing:.04em}
.dhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
label.f{display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:0}
label.f input,label.f select,label.f textarea{background:var(--panel-2);border:1px solid var(--line);padding:7px 9px;font-size:14px;letter-spacing:0;text-transform:none;color:var(--text);width:100%}
label.f textarea{min-height:80px;resize:vertical;line-height:1.45}
textarea.tall{min-height:260px!important}
.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;background:var(--panel-2);border:1px solid var(--line);position:relative}
.contact input,.contact select{background:var(--ink);border:1px solid var(--line);padding:5px 8px;font-size:13px;width:100%}
.contact .rm{position:absolute;top:-10px;right:-6px}
.note{color:var(--muted);font-size:12px}
.warnbox{border:1px solid var(--warn);color:var(--warn);padding:8px 10px;font-size:13px}
.okbox{border:1px solid var(--ok);color:var(--ok);padding:8px 10px;font-size:13px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:var(--accent);color:var(--ink);padding:8px 16px;font-weight:600;z-index:50;max-width:80vw}
.toast.err{background:var(--bad);color:#fff}
.confirm{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--warn);font-size:13px}
.counter{font-family:var(--mono);font-size:11px;color:var(--muted)}.counter.over{color:var(--bad)}
.settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:1100px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.two,.settings,.modal .mbody{grid-template-columns:minmax(0,1fr)}}
/* ---------- version web ---------- */
.login{position:fixed;inset:0;display:grid;place-items:center;padding:16px}
.login form{width:min(380px,100%);padding:22px}
.sugg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:10px 12px;background:var(--panel-2);border-left:3px solid var(--accent-2);align-items:start}
.sugg.reponse{border-left-color:var(--ok)}.sugg.linkedin,.sugg.alerte{border-left-color:var(--li)}.sugg.entreprise{border-left-color:var(--accent)}.sugg.scam{border-left-color:var(--bad);opacity:.8}
.sugg h4{margin:0;font-size:14px;font-weight:600}
.sugg .desc{font-size:12px;color:#c7cff2;margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sugg select{background:var(--ink);border:1px solid var(--line);padding:3px 6px;font-size:12px}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:13px}
.kv span:nth-child(odd){color:var(--muted)}
@media (max-width:760px){
  body{overflow:auto}
  .shell{grid-template-columns:minmax(0,1fr);height:auto}
  .side{position:sticky;top:0;z-index:5;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px;gap:10px}
  .side .brand .op{display:none}
  .navlist{flex-direction:row;overflow-x:auto;width:100%;gap:4px}
  .navlist button{white-space:nowrap;padding:6px 8px;font-size:12px}
  .countdown{margin:0;padding:6px 10px;order:2}
  .countdown .big{font-size:20px}.countdown small,.countdown .bar{display:none}
  .main{overflow:visible}.view{overflow:visible;padding:12px}
  .topbar{padding:12px 12px 0}.topbar h1{font-size:18px}.search{width:100%}.topacts{width:100%}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px 0}
  .modal{inset:0}.drawer{width:100%}
  .sugg{grid-template-columns:auto minmax(0,1fr)}.sugg .acts{grid-column:1/-1;justify-content:flex-start}
}
[hidden]{display:none!important}

.copygrid{display:flex;flex-wrap:wrap;gap:6px}.copygrid .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.copygrid .btn b{color:var(--accent-2);font-weight:600;margin-right:6px}
.via{font-size:11px;color:var(--muted);font-family:var(--mono)}.dorks{margin-top:6px;font-size:12px;color:var(--muted)}.dorks summary{cursor:pointer}.dorks code{display:block;font-family:var(--mono);font-size:11px;color:var(--accent-2);padding:2px 0;word-break:break-all}
.found{flex-wrap:wrap;justify-content:flex-start;gap:4px 8px}.found>*{flex:0 0 auto;max-width:100%}.found .mail{word-break:break-all}.found .via{flex:1 1 100%;padding-left:26px}
.found input[type=checkbox]{width:auto!important;margin:0}
