/* ===== ATLAS ADMIN · Console Technicien (fiche enrichie) =====
   Transforme la fiche technicien en console CRM complète.
   Étend atlas-admin.css + atlas-cockpit.css. Préfixe .tcx- */

/* drawer élargi en mode console */
.ac-drawer.tech-console{width:min(760px,98vw)}

/* ---------- bannière statut ---------- */
.tcx-status{display:flex;align-items:center;gap:14px;padding:15px 17px;border-radius:15px;margin-bottom:18px;
  border:1px solid var(--line2);background:linear-gradient(150deg,rgba(18,34,78,.55),rgba(10,20,52,.6));position:relative;overflow:hidden}
.tcx-status::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.tcx-status.s-dispo::before{background:linear-gradient(180deg,var(--green),#16a34a);box-shadow:0 0 18px 1px rgba(34,197,94,.6)}
.tcx-status.s-route::before{background:linear-gradient(180deg,#ff9a5a,var(--orange));box-shadow:0 0 18px 1px rgba(255,107,26,.6)}
.tcx-status.s-site::before{background:linear-gradient(180deg,var(--blue-l),var(--blue));box-shadow:0 0 18px 1px rgba(96,165,250,.6)}
.tcx-status.s-off::before{background:linear-gradient(180deg,#cfd9ee,#94a3b8)}
.tcx-status .ts-orb{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2)}
.tcx-status.s-dispo .ts-orb{background:rgba(34,197,94,.12)}
.tcx-status.s-route .ts-orb{background:rgba(255,107,26,.12)}
.tcx-status.s-site .ts-orb{background:rgba(96,165,250,.12)}
.tcx-status.s-off .ts-orb{background:rgba(207,217,238,.1)}
.tcx-status .ts-orb .led{width:16px;height:16px}
.tcx-status .ts-b{flex:1;min-width:0}
.tcx-status .ts-b h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:#fff}
.tcx-status .ts-b p{font-size:.78rem;color:var(--mid);margin-top:2px}
.tcx-status .ts-eta{text-align:right;flex-shrink:0}
.tcx-status .ts-eta .te-v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:#fff}
.tcx-status .ts-eta .te-l{font-size:.64rem;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}

/* ---------- stat grid compacte ---------- */
.tcx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
@media(max-width:560px){.tcx-stats{grid-template-columns:repeat(2,1fr)}}
.tcx-stat{padding:13px;border-radius:13px;border:1px solid var(--line);background:rgba(8,16,40,.4);text-align:center}
.tcx-stat .tt-v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.3rem;color:#fff;letter-spacing:-.5px;line-height:1}
.tcx-stat .tt-l{font-size:.66rem;color:var(--dim);margin-top:5px;text-transform:uppercase;letter-spacing:.4px}
.tcx-stat .tt-v.g{color:#4ade80}.tcx-stat .tt-v.o{color:#ff9a5a}.tcx-stat .tt-v.r{color:var(--red)}.tcx-stat .tt-v.gold{color:var(--gold)}.tcx-stat .tt-v.v{color:var(--violet)}.tcx-stat .tt-v.b{color:var(--blue-l)}

/* ---------- grille actions rapides ---------- */
.tcx-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
@media(max-width:560px){.tcx-actions{grid-template-columns:repeat(2,1fr)}}
.tcx-act{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;border-radius:13px;border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(18,34,78,.45),rgba(10,20,52,.5));color:var(--txt);font-size:.74rem;font-weight:600;text-align:center;transition:.18s;cursor:pointer}
.tcx-act svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.tcx-act .ta-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:.18s}
.tcx-act:hover{transform:translateY(-2px);border-color:var(--line2);box-shadow:var(--sh-soft)}
.tcx-act.a-blue .ta-ic{background:rgba(37,99,235,.16);color:var(--blue-l)}
.tcx-act.a-violet .ta-ic{background:rgba(168,130,255,.16);color:var(--violet)}
.tcx-act.a-green .ta-ic{background:rgba(34,197,94,.16);color:#4ade80}
.tcx-act.a-cyan .ta-ic{background:rgba(34,211,238,.16);color:#67e8f9}
.tcx-act.a-gold .ta-ic{background:rgba(245,158,11,.16);color:var(--gold)}
.tcx-act.a-red .ta-ic{background:rgba(248,113,113,.16);color:var(--red)}
.tcx-act.a-red:hover{border-color:rgba(248,113,113,.4)}

/* ---------- communication ---------- */
.tcx-comm-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:16px}
.tcx-comm-btn{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(8,16,40,.4);cursor:pointer;transition:.18s;text-align:left}
.tcx-comm-btn:hover{border-color:var(--line2);background:rgba(96,165,250,.08);transform:translateX(2px)}
.tcx-comm-btn .cb-ic{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.tcx-comm-btn .cb-ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}
.tcx-comm-btn .cb-b h5{font-size:.84rem;font-weight:600;color:var(--txt)}
.tcx-comm-btn .cb-b p{font-size:.7rem;color:var(--dim)}
.tcx-comm-btn.c-call .cb-ic{background:rgba(34,197,94,.14);color:#4ade80}
.tcx-comm-btn.c-msg .cb-ic{background:rgba(37,99,235,.14);color:var(--blue-l)}
.tcx-comm-btn.c-mail .cb-ic{background:rgba(168,130,255,.14);color:var(--violet)}
.tcx-comm-btn.c-notif .cb-ic{background:rgba(245,158,11,.14);color:var(--gold)}
.tcx-comm-row{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.tcx-comm-row:last-child{border-bottom:0}
.tcx-comm-row .cr-ic{width:32px;height:32px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(96,165,250,.12)}
.tcx-comm-row .cr-ic svg{width:15px;height:15px;stroke:var(--blue-l);fill:none;stroke-width:2}
.tcx-comm-row .cr-b{flex:1;min-width:0}
.tcx-comm-row .cr-b h5{font-size:.82rem;font-weight:600;color:var(--txt)}
.tcx-comm-row .cr-b .cr-d{font-size:.7rem;color:var(--dim);margin-top:1px}

/* ---------- certifications groupées ---------- */
.tcx-cert-grp{margin-bottom:14px}
.tcx-cert-grp h5{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:var(--mid);margin-bottom:8px}
.tcx-cert-grp .cg-led{width:9px;height:9px;border-radius:50%}
.tcx-cert-pills{display:flex;flex-wrap:wrap;gap:7px}
.tcx-cert-empty{font-size:.78rem;color:var(--dim)}

/* ---------- cartons qualité ---------- */
.tcx-cartons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
.tcx-carton{padding:16px 12px;border-radius:14px;text-align:center;border:1px solid}
.tcx-carton .tc-v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.7rem;line-height:1}
.tcx-carton .tc-l{font-size:.68rem;margin-top:6px;font-weight:600}
.tcx-carton.v{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.3)}.tcx-carton.v .tc-v,.tcx-carton.v .tc-l{color:#4ade80}
.tcx-carton.o{background:rgba(255,107,26,.08);border-color:rgba(255,107,26,.3)}.tcx-carton.o .tc-v,.tcx-carton.o .tc-l{color:#ff9a5a}
.tcx-carton.r{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.3)}.tcx-carton.r .tc-v,.tcx-carton.r .tc-l{color:var(--red)}

/* ---------- planning ---------- */
.tcx-day{margin-bottom:16px}
.tcx-day-h{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.tcx-day-h h5{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.9rem;color:#fff}
.tcx-day-h .dh-n{font-size:.64rem;font-weight:700;color:var(--mid);background:rgba(96,165,250,.12);padding:2px 9px;border-radius:50px}
.tcx-day-h .dh-line{flex:1;height:1px;background:linear-gradient(90deg,var(--line2),transparent)}
.tcx-slot{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(8,16,40,.4);margin-bottom:8px}
.tcx-slot .sl-time{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.82rem;color:var(--blue-l);width:48px;flex-shrink:0}
.tcx-slot .sl-b{flex:1;min-width:0}
.tcx-slot .sl-b h6{font-size:.84rem;font-weight:600;color:var(--txt)}
.tcx-free{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:14px;border:1px dashed rgba(34,197,94,.4);background:rgba(34,197,94,.06)}
.tcx-free .tf-ic{width:38px;height:38px;border-radius:11px;background:rgba(34,197,94,.14);color:#4ade80;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tcx-free .tf-ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.tcx-free .tf-b h5{font-size:.86rem;font-weight:700;color:#4ade80}
.tcx-free .tf-b p{font-size:.74rem;color:var(--mid)}

/* ---------- localisation mini-map ---------- */
.tcx-mini-map{position:relative;height:210px;border-radius:14px;overflow:hidden;border:1px solid var(--line2);margin-bottom:14px;
  background:linear-gradient(160deg,#0a1638,#07112c);background-image:linear-gradient(rgba(96,165,250,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.07) 1px,transparent 1px);background-size:34px 34px}
.tcx-mini-map::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(37,99,235,.16),transparent 70%)}
.tcx-loc-tag{position:absolute;left:13px;top:13px;display:inline-flex;align-items:center;gap:7px;background:rgba(6,12,32,.8);border:1px solid var(--line2);border-radius:50px;padding:6px 12px;font-size:.7rem;font-weight:700;color:#fff;z-index:3}

/* ---------- notes ---------- */
.tcx-note{padding:14px 16px;border-radius:13px;border:1px solid var(--line);background:rgba(8,16,40,.4);margin-bottom:11px}
.tcx-note .tn-h{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;color:var(--mid);margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}
.tcx-note .tn-h svg{width:14px;height:14px;stroke:var(--violet);fill:none;stroke-width:2}
.tcx-note p{font-size:.84rem;color:var(--txt);line-height:1.6}
.tcx-note textarea{width:100%;background:rgba(8,16,40,.5);border:1px solid var(--line2);border-radius:11px;padding:11px 13px;color:var(--txt);font-size:.84rem;font-family:inherit;resize:vertical;min-height:64px;transition:.2s}
.tcx-note textarea:focus{outline:0;border-color:var(--blue-l);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.tcx-note-save{margin-top:9px;display:flex;justify-content:flex-end}

/* light mode */
body.theme-light .tcx-status,body.theme-light .tcx-stat,body.theme-light .tcx-act,body.theme-light .tcx-comm-btn,body.theme-light .tcx-slot,body.theme-light .tcx-note,body.theme-light .tcx-mini-map{background:linear-gradient(160deg,#fff,#f5f9ff)!important;border-color:rgba(13,31,92,.08)}
body.theme-light .tcx-status .ts-b h4,body.theme-light .tcx-stat .tt-v,body.theme-light .tcx-day-h h5,body.theme-light .tcx-slot .sl-b h6,body.theme-light .tcx-note p,body.theme-light .tcx-status .ts-eta .te-v{color:#0d1f5c}
body.theme-light .tcx-mini-map{background-image:linear-gradient(rgba(13,31,92,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(13,31,92,.05) 1px,transparent 1px)!important}
