/* ═══════════════════════════════════════════════════════════════════════════
 * ATHENA Recherche — Service client 3639 (R48)
 * Thèmes Océan / Crème : jetons --t-* d'athena.css (html.athena-outils).
 * ═══════════════════════════════════════════════════════════════════════════ */
html.app-3639, html.app-3639 body{ margin:0; min-height:100%; background:linear-gradient(180deg,var(--t-bg),var(--t-bg2)); color:var(--t-ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; }
html.app-3639 body{ min-height:100vh; min-height:100dvh; }
html.app-3639 body::after{ content:''; position:fixed; left:0; right:0; bottom:0; height:10px; z-index:1; pointer-events:none; opacity:.4;
  background:var(--t-meandre) repeat-x left center / 20px 10px; }
[hidden]{ display:none !important; }
:root{ --rec-h:112px; --rec-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; }

/* ═══ CONNEXION ════════════════════════════════════════════════════════ */
#rec-login{ min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:24px 16px 60px; box-sizing:border-box;
  background:var(--t-ciel); position:relative; }
#rec-login::before{ content:''; position:absolute; inset:0; pointer-events:none; opacity:.4;
  background:var(--t-meandre) repeat-x left 18px / 24px 12px, var(--t-meandre) repeat-x left calc(100% - 18px) / 24px 12px; }
.rl-carte{ position:relative; width:min(380px,100%); background:color-mix(in srgb,var(--t-surf) 94%,transparent); border:1px solid var(--t-ligne);
  border-radius:24px; padding:24px 22px 18px; text-align:center; box-shadow:var(--t-ombre2); animation:atqIn .6s var(--t-ease) both; }
.rl-carte.secoue{ animation:rlSecoue .45s; }
@keyframes rlSecoue{ 20%,60%{ transform:translateX(-7px); } 40%,80%{ transform:translateX(7px); } }
.rl-logo{ width:108px; height:108px; margin:0 auto 6px; border-radius:50%; display:grid; place-items:center; overflow:hidden;
  background:radial-gradient(circle at 50% 35%,var(--t-surf),var(--t-surf2)); border:2px solid var(--t-acc2); box-shadow:0 0 0 7px var(--t-surf3); }
.rl-carte h1{ margin:8px 0 0; font-family:var(--t-serif); font-size:26px; letter-spacing:.3em; color:var(--t-pri2); }
.rl-carte h1 span{ display:block; font-size:13px; letter-spacing:.42em; color:var(--t-acc); margin-top:2px; }
.rl-sous{ margin:6px 0 16px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--t-ink2); }
.rl-lbl{ display:block; font-size:12.5px; font-weight:700; color:var(--t-ink2); margin-bottom:10px; }
.rl-points{ display:flex; justify-content:center; gap:12px; margin-bottom:12px; }
.rl-points i{ width:14px; height:14px; border-radius:50%; border:2px solid var(--t-pri); transition:all .15s; }
.rl-points i.on{ background:var(--t-pri); transform:scale(1.1); }
#rl-code{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.rl-pave{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; max-width:270px; margin:0 auto; }
.rl-pave button{ height:56px; border-radius:16px; border:1px solid var(--t-ligne); background:var(--t-surf2); color:var(--t-ink); font:700 22px/1 var(--rec-font); cursor:pointer;
  transition:transform .1s, background .15s; touch-action:manipulation; }
.rl-pave button:active{ transform:scale(.94); background:var(--t-surf3); }
.rl-pave [data-k="ok"]{ background:var(--t-hero); color:var(--t-on-pri); border-color:transparent; }
.rl-err{ min-height:20px; margin-top:12px; font-size:13px; color:var(--t-ko); font-weight:600; }
.rl-pied{ margin-top:14px; font-size:11.5px; color:var(--t-ink2); letter-spacing:.04em; }
.rl-pied button{ border:0; background:none; color:var(--t-pri2); font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }

/* ═══ EN-TÊTE ET ONGLETS ═══════════════════════════════════════════════ */
.rec-hd{ position:fixed; top:0; left:0; right:0; z-index:30; display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; padding:10px 16px 0;
  background:color-mix(in srgb,var(--t-surf) 92%,transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--t-ligne); box-shadow:var(--t-ombre); }
.rec-logo{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; overflow:hidden; background:var(--t-surf2); border:2px solid var(--t-acc2); flex:0 0 44px; }
.rec-t b{ display:block; font-family:var(--t-serif); letter-spacing:.22em; font-size:17px; color:var(--t-pri2); }
.rec-t b em{ font-style:normal; color:var(--t-acc); }
.rec-t span{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-ink2); }
.rec-sp{ flex:1; }
.rec-live{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:5px 10px; border-radius:999px; background:var(--t-surf2); color:var(--t-ink2); border:1px solid var(--t-ligne2); }
.rec-live i{ width:8px; height:8px; border-radius:50%; background:var(--t-ink3); }
.rec-live.ok i{ background:var(--t-ok); box-shadow:0 0 8px var(--t-ok); } .rec-live.ko i{ background:var(--t-ko); }
.rec-agent, .rec-quit{ border:1px solid var(--t-ligne); background:var(--t-surf); color:var(--t-ink); border-radius:10px; padding:7px 11px; font-weight:700; font-size:12.5px; cursor:pointer; }
.rec-themes{ display:inline-flex; gap:2px; padding:3px; border-radius:999px; background:var(--t-surf2); border:1px solid var(--t-ligne); }
.rec-themes button{ border:0; background:none; padding:5px 7px; border-radius:999px; cursor:pointer; }
.rec-themes button[aria-pressed="true"]{ background:var(--t-surf); box-shadow:0 0 0 2px var(--t-pri) inset; }
.rec-themes i{ display:block; width:13px; height:13px; border-radius:50%; }
.rec-themes .o{ background:linear-gradient(135deg,#2B5CC0,#EBC879); } .rec-themes .c{ background:linear-gradient(135deg,#7B4A26,#E2B776); }
.rec-onglets{ flex-basis:100%; display:flex; gap:4px; margin-top:2px; }
.rec-onglets button{ position:relative; border:0; background:none; padding:10px 16px 12px; font:700 14px var(--rec-font); color:var(--t-ink2); cursor:pointer; border-bottom:3px solid transparent; }
.rec-onglets button[aria-selected="true"]{ color:var(--t-pri2); border-bottom-color:var(--t-acc); }
.rec-pastille{ display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; margin-left:4px; border-radius:999px; background:var(--t-ko); color:#fff; font-size:11px; }

/* La recherche ATHENA devient l'écran principal */
html.app-3639 #at-rech{ top:var(--rec-h); background:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; padding:14px 16px 24px; z-index:10; }
html.app-3639 #at-rech .atq-carte{ width:min(1100px,100%); max-height:calc(100vh - var(--rec-h) - 40px); max-height:calc(100dvh - var(--rec-h) - 40px); animation:none; }
html.app-3639 #at-rech .atq-x{ display:none; }
html.app-3639.at-modal body{ overflow:hidden; }
#at-rech .atq-actions .atq-dossier{ background:var(--t-acc2); color:var(--t-on-acc); border-color:transparent; }

/* ═══ DOSSIERS ═════════════════════════════════════════════════════════ */
.rec-section{ padding:calc(var(--rec-h) + 14px) 16px 40px; max-width:1180px; margin:0 auto; box-sizing:border-box; }
.rec-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:12px; }
.rec-k{ background:var(--t-surf); border:1px solid var(--t-ligne); border-radius:16px; padding:12px 14px; box-shadow:var(--t-ombre); border-left:4px solid var(--t-pri); }
.rec-k b{ display:block; font-size:24px; color:var(--t-ink); font-variant-numeric:tabular-nums; } .rec-k span{ font-size:11.5px; color:var(--t-ink2); font-weight:600; }
.rec-k.ko{ border-left-color:var(--t-ko); } .rec-k.warn{ border-left-color:var(--t-acc); } .rec-k.info{ border-left-color:#3A8F8F; } .rec-k.ok{ border-left-color:var(--t-ok); }
.rec-outils{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; }
.rec-q{ flex:1 1 280px; display:flex; align-items:center; gap:8px; background:var(--t-surf); border:1.5px solid var(--t-ligne); border-radius:12px; padding:0 12px; }
.rec-q:focus-within{ border-color:var(--t-pri); box-shadow:0 0 0 3px var(--t-surf3); }
.rec-q span{ color:var(--t-pri); font-size:18px; }
.rec-q input{ flex:1; border:0; outline:0; background:none; padding:10px 0; font:15px var(--rec-font); color:var(--t-ink); min-width:0; }
.rec-outils select, .rec-outils > button, .rec-acts button, .rec-btn, .rec-actions button, .rec-mini{ border:1px solid var(--t-ligne); background:var(--t-surf); color:var(--t-ink); border-radius:10px; padding:9px 12px; font:700 13px var(--rec-font); cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.rec-mini{ padding:4px 9px; font-size:11.5px; margin-left:8px; }
.rec-pri, button.rec-pri{ background:var(--t-hero) !important; color:var(--t-on-pri) !important; border-color:transparent !important; }
.rec-seg{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:12px; }
.rec-seg button{ border:1px solid var(--t-ligne2); background:var(--t-surf); color:var(--t-ink2); border-radius:999px; padding:6px 12px; font:700 12px var(--rec-font); cursor:pointer; }
.rec-seg button[aria-pressed="true"]{ background:var(--t-hero); color:var(--t-on-pri); border-color:transparent; }
.rec-liste{ display:flex; flex-direction:column; gap:8px; }
.rec-vide{ text-align:center; padding:40px 16px; color:var(--t-ink2); line-height:1.6; background:var(--t-surf); border:1px dashed var(--t-ligne); border-radius:16px; }
.rec-ligne{ display:grid; grid-template-columns:150px 1fr auto 190px; gap:12px; align-items:center; text-align:left; width:100%; cursor:pointer;
  background:var(--t-surf); border:1px solid var(--t-ligne); border-left:5px solid var(--t-pri); border-radius:14px; padding:11px 14px; color:var(--t-ink);
  box-shadow:var(--t-ombre); animation:atsK .35s both; font:inherit; }
.rec-ligne:hover{ border-color:var(--t-pri); transform:translateY(-1px); }
.rec-ligne.p-haute{ border-left-color:var(--t-acc); } .rec-ligne.p-urgente{ border-left-color:var(--t-ko); } .rec-ligne.p-basse{ border-left-color:var(--t-ink3); }
.rec-ligne b{ display:block; font-size:14px; } .rec-ligne small{ display:block; font-size:11.5px; color:var(--t-ink2); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rec-ligne code{ font-family:Consolas,monospace; font-size:11px; }
.rec-ligne .s, .rec-ligne .e{ display:flex; flex-wrap:wrap; gap:4px; justify-content:flex-end; }
i.st, i.dl, i.mv{ font-style:normal; font-size:11px; font-weight:800; padding:3px 9px; border-radius:999px; white-space:nowrap; }
i.st{ background:var(--t-surf2); color:var(--t-ink2); border:1px solid var(--t-ligne2); }
i.st-ouvert{ background:color-mix(in srgb,var(--t-pri) 12%,transparent); color:var(--t-pri2); }
i.st-enquete{ background:color-mix(in srgb,#3A8F8F 15%,transparent); color:#2c6f6f; }
i.st-attente_client, i.st-attente_site{ background:color-mix(in srgb,var(--t-acc) 15%,transparent); color:var(--t-acc); }
i.st-resolu{ background:var(--t-ok-bg); color:var(--t-ok); } i.st-clos{ background:var(--t-surf2); color:var(--t-ink3); }
i.dl.ok{ background:var(--t-ok-bg); color:var(--t-ok); } i.dl.warn{ background:color-mix(in srgb,var(--t-acc) 16%,transparent); color:var(--t-acc); }
i.dl.ko{ background:var(--t-ko-bg); color:var(--t-ko); } i.dl.info{ background:color-mix(in srgb,#3A8F8F 14%,transparent); color:#2c6f6f; }
i.mv{ background:#3A8F8F; color:#fff; animation:recPouls 2s ease-in-out infinite; }
@keyframes recPouls{ 50%{ box-shadow:0 0 0 5px rgba(58,143,143,.2); } }

/* ── Fenêtres (création, dossier, réponses types) ── */
.rec-modal{ position:fixed; inset:0; z-index:200; display:none; align-items:flex-start; justify-content:center; padding:4vh 16px 16px; overflow:auto;
  background:color-mix(in srgb,var(--t-ink) 40%,transparent); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); box-sizing:border-box; }
.rec-modal.on{ display:flex; }
.rec-carte{ width:min(860px,100%); background:var(--t-surf); color:var(--t-ink); border:1px solid var(--t-ligne); border-radius:22px; box-shadow:var(--t-ombre2);
  padding:16px 18px 20px; animation:atqIn .35s var(--t-ease) both; box-sizing:border-box; }
.rec-tete{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--t-ligne2); position:relative; }
.rec-tete::after{ content:''; position:absolute; left:0; bottom:-5px; width:140px; height:8px; opacity:.6; background:var(--t-meandre-or) repeat-x left center / 16px 8px; }
.rec-tete b{ font-family:var(--t-serif); font-size:19px; letter-spacing:.06em; color:var(--t-pri2); }
.rec-tete small{ display:block; font-size:12px; color:var(--t-ink2); margin-top:3px; }
.rec-x{ width:36px; height:36px; flex:0 0 36px; border-radius:50%; border:1px solid var(--t-ligne); background:var(--t-surf2); color:var(--t-ink); cursor:pointer; }
.rec-form fieldset{ border:1px solid var(--t-ligne2); border-radius:16px; padding:10px 12px 12px; margin:0 0 12px; display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.rec-form legend{ font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-pri); padding:0 6px; }
.rec-form label, .rec-barre-d label{ display:flex; flex-direction:column; gap:4px; font-size:11.5px; font-weight:700; color:var(--t-ink2); }
.rec-form .l2{ grid-column:1 / -1; }
.rec-form .aide{ font-weight:500; color:var(--t-ink3); }
.rec-form input, .rec-form select, .rec-form textarea, .rec-barre-d input, .rec-barre-d select, .rec-ajout select, .rec-ajout textarea, .rec-mtxt{
  border:1px solid var(--t-ligne); background:var(--t-surf2); color:var(--t-ink); border-radius:10px; padding:9px 10px; font:14px var(--rec-font); width:100%; box-sizing:border-box; }
.rec-form input:focus, .rec-form select:focus, .rec-form textarea:focus, .rec-ajout textarea:focus{ outline:none; border-color:var(--t-pri); box-shadow:0 0 0 3px var(--t-surf3); }
.rec-form [name="code_colis"]{ font-family:Consolas,monospace; font-size:16px; letter-spacing:.04em; }
.rec-trouve{ grid-column:1 / -1; font-size:12.5px; color:var(--t-ink2); min-height:4px; }
.rec-trouve.ok{ color:var(--t-ok); font-weight:700; }
.rec-actions{ display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:6px; align-items:center; }
.rec-barre-d{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; align-items:end; }
.rec-delais{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.rec-acts{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.rec-grille{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rec-carte section{ margin-top:12px; }
.rec-carte h4{ margin:0 0 8px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--t-pri); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rec-champs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:6px; }
.rec-champs div{ background:var(--t-surf2); border:1px solid var(--t-ligne2); border-radius:10px; padding:7px 9px; min-width:0; }
.rec-champs small{ display:block; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-ink2); }
.rec-champs b{ font-size:13.5px; word-break:break-word; } .rec-champs a{ color:var(--t-pri); }
.rec-suivi{ background:var(--t-surf2); border:1px solid var(--t-ligne2); border-radius:16px; padding:10px 12px; }
.rec-parcours{ list-style:none; margin:0; padding:0 0 0 18px; border-left:2px solid var(--t-pri); }
.rec-parcours li{ position:relative; padding:4px 0 8px 8px; }
.rec-parcours li::before{ content:''; position:absolute; left:-25px; top:7px; width:10px; height:10px; border-radius:50%; background:var(--t-surf); border:2px solid var(--t-pri); }
.rec-parcours li.nouv::before{ background:#3A8F8F; border-color:#3A8F8F; box-shadow:0 0 0 4px rgba(58,143,143,.2); }
.rec-parcours b{ display:block; font-size:13px; } .rec-parcours span{ font-size:12px; color:var(--t-ink2); }
.rec-arr{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; } .rec-arr span{ font-size:12px; background:var(--t-surf); border:1px solid var(--t-ligne2); border-radius:999px; padding:3px 9px; }
.rec-arr small{ color:var(--t-ink3); }
.rec-note{ margin:0; font-size:12.5px; color:var(--t-ink2); }
.rec-pieces{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:6px; }
.rec-pieces label{ display:flex; gap:8px; align-items:center; font-size:12.5px; background:var(--t-surf2); border:1px solid var(--t-ligne2); border-radius:10px; padding:7px 9px; cursor:pointer; }
.rec-pieces input{ accent-color:var(--t-ok); width:16px; height:16px; }
.rec-ajout{ display:grid; grid-template-columns:150px 1fr auto auto; gap:8px; align-items:start; margin-bottom:10px; }
.rec-photo{ display:grid; place-items:center; width:42px; height:40px; border-radius:10px; border:1px solid var(--t-ligne); background:var(--t-surf2); cursor:pointer; font-size:18px; }
.rec-journal{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:380px; overflow:auto; }
.rec-journal li{ display:flex; gap:10px; background:var(--t-surf2); border:1px solid var(--t-ligne2); border-radius:12px; padding:8px 10px; }
.rec-journal i{ font-style:normal; font-size:11.5px; font-weight:800; white-space:nowrap; color:var(--t-pri2); min-width:100px; }
.rec-journal span{ font-size:11px; color:var(--t-ink3); } .rec-journal p{ margin:3px 0 0; font-size:13px; line-height:1.45; }
.rec-journal img{ display:block; max-width:220px; max-height:180px; border-radius:8px; margin-top:6px; border:1px solid var(--t-ligne); }
.rec-issue{ border-top:1px dashed var(--t-ligne); padding-top:12px; }
.rec-mtxt{ font:13.5px/1.5 var(--rec-font); margin:10px 0; resize:vertical; }
.rec-toast{ position:fixed; left:50%; bottom:calc(24px + env(safe-area-inset-bottom)); transform:translate(-50%,20px); opacity:0; z-index:300; background:var(--t-ink); color:var(--t-surf);
  padding:10px 16px; border-radius:12px; font-weight:700; font-size:13px; box-shadow:var(--t-ombre2); transition:all .25s var(--t-ease); max-width:calc(100vw - 32px); }
.rec-toast.on{ opacity:1; transform:translate(-50%,0); } .rec-toast.ko{ background:var(--t-ko); color:#fff; }
#rec-install{ position:fixed; left:50%; bottom:calc(18px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:40; border:1px solid var(--t-acc2);
  background:var(--t-hero); color:var(--t-on-pri); border-radius:999px; padding:11px 20px; font:700 14px var(--rec-font); box-shadow:var(--t-ombre2); cursor:pointer; }

/* ═══ SMARTPHONE ═══════════════════════════════════════════════════════ */
@media (max-width:720px){
  :root{ --rec-h:104px; }
  .rec-hd{ padding:8px 12px 0; gap:6px 8px; }
  .rec-t b{ font-size:15px; letter-spacing:.14em; } .rec-t span{ font-size:9.5px; }
  .rec-live, .rec-themes{ display:none; }
  .rec-agent span{ display:none; }
  .rec-onglets button{ flex:1; padding:9px 6px 11px; }
  html.app-3639 #at-rech{ padding:0; }
  html.app-3639 #at-rech .atq-carte{ max-height:none; height:100%; border-radius:0; border:0; }
  .rec-section{ padding:calc(var(--rec-h) + 10px) 10px 30px; }
  .rec-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rec-ligne{ grid-template-columns:1fr auto; } .rec-ligne .c{ grid-column:1 / -1; grid-row:2; } .rec-ligne .e{ grid-column:1 / -1; justify-content:flex-start; } .rec-ligne .s{ justify-content:flex-end; }
  .rec-modal{ padding:0; } .rec-carte{ border-radius:0; min-height:100%; border:0; }
  .rec-grille{ grid-template-columns:1fr; }
  .rec-ajout{ grid-template-columns:1fr auto auto; } .rec-ajout select{ grid-column:1 / -1; }
}
@media print{ .rec-hd, #rec-install, .rec-modal{ display:none !important; } }
