/* ════════════════════════════════════════════════════════════════
   BOTI LAND — GUICHET INTERNE · css/admin.css
   Feuille dédiée à admin.html (hérite du système papier/encre).
   ════════════════════════════════════════════════════════════════ */

body.desk{
  min-height:100vh;
  background:var(--hors);
  background-image:radial-gradient(rgba(25,23,19,.055) 1px,transparent 1.4px);
  background-size:26px 26px;
}

.desk-head{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 4%;
  border-bottom:1.5px solid var(--encre);
  background:var(--papier);
}
.desk-head .head-tools{display:inline-flex;gap:18px}

.desk-main{padding:30px 4% 90px;max-width:1180px;margin:0 auto}

.gate-card{width:min(560px,100%);margin:8vh auto 0;transform:rotate(-.4deg)}
.gate-note{margin-bottom:20px;color:var(--encre-doux)}

/* ── onglets ────────────────────────────────────────────────── */
.desk-tabs{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1.5px solid var(--encre);padding-bottom:10px}
.tab-link{color:var(--encre-doux);text-underline-offset:5px}
.tab-link:hover{color:var(--rouge)}
.tab-link.cur{color:var(--encre);text-decoration:none;border-bottom:2px solid var(--rouge);padding-bottom:4px}
.tab-count{display:inline-block;min-width:20px;text-align:center;border:1.5px solid currentColor;padding:0 5px;margin-left:6px}

/* ── file d'attente ─────────────────────────────────────────── */
.queue{list-style:none;display:grid;gap:14px}
.q-row{border:1.5px solid var(--encre);background:var(--papier);box-shadow:4px 4px 0 rgba(25,23,19,.12)}
.q-row:nth-child(odd){transform:rotate(-.35deg)}
.q-row:nth-child(even){transform:rotate(.3deg)}
.q-open{display:grid;grid-template-columns:110px 140px 1fr auto;gap:14px;align-items:baseline;padding:14px 18px;color:inherit;text-decoration:none}
.q-open:hover{background:rgba(198,59,30,.05)}
.q-id{font-family:var(--mono);font-weight:600;letter-spacing:.08em;color:var(--rouge)}
.q-name{font-weight:500}
.q-desc{color:var(--encre-doux);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-badge{font-family:var(--mono);font-size:10px;letter-spacing:.14em;border:2px solid currentColor;padding:3px 8px;transform:rotate(-2deg)}
.q-badge.q-recu{color:var(--encre)}
.q-badge.q-cours{color:var(--soufre);border-color:#8a6d1f;color:#8a6d1f}
.q-badge.q-repondu{color:var(--vert-nuit);border-color:var(--vert-nuit)}
.q-badge.q-livre{color:#3f7a4d;border-color:#3f7a4d;background:rgba(63,122,77,.07)}
.q-badge.q-termine{color:#2c5237;border-color:#2c5237;background:rgba(44,82,55,.1)}
/* les dossiers restent cliquables au clavier et à la souris */
.q-row{cursor:pointer}
.q-row.q-repondu{opacity:.72}
.q-row.q-termine{opacity:.55}
.q-row.q-termine .q-name,.q-row.q-termine .q-desc{text-decoration:line-through;text-decoration-color:rgba(25,23,19,.45);text-decoration-thickness:1.5px}
.q-empty{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--encre-doux);padding:26px 4px;border:1px dashed var(--filet);text-align:center}

/* ── fiche ticket ───────────────────────────────────────────── */
.dm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}
.dm-block{margin-bottom:14px}
.dm-block p{font-size:15px;line-height:1.5}
.dm-desc{border-left:3px solid var(--rouge);padding:6px 12px;background:rgba(198,59,30,.05)}
.dm-stamp{top:58px;right:26px;transform:rotate(7deg)}
.dm-stamp.on{animation:stampIn2 .3s cubic-bezier(.2,1.6,.4,1) forwards}
.dm-close{position:absolute;bottom:18px;right:22px}

/* ── paiement dans la fiche ticket ─────────────────────────── */
.dm-pay-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.dm-pay-row .f-input{padding:8px 10px}

/* ── paiement (partagé guichet + visiteur) ────────────────── */
.pay-stamp{
  display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;
  border:2.5px solid var(--vert-nuit);color:var(--vert-nuit);
  padding:4px 12px;transform:rotate(-3deg);border-radius:3px;
}
.pay-stamp.du{border-color:var(--rouge);color:var(--rouge)}

/* ── suivi visiteur : badges & réponses (utilisé par index) ── */
.mt-list{list-style:none;display:grid;gap:16px;margin:16px 0 20px}
.mt-list li{border:1.5px solid var(--encre);padding:14px 16px;background:rgba(240,234,217,.5)}
.mt-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.mt-id{font-family:var(--mono);font-weight:600;letter-spacing:.08em;color:var(--rouge)}
.mt-badge{font-family:var(--mono);font-size:10px;letter-spacing:.14em;border:2px solid currentColor;padding:2px 8px;transform:rotate(-2deg)}
.mt-b-recu{color:var(--encre)}
.mt-b-cours{color:#8a6d1f}
.mt-b-repondu{color:var(--vert-nuit)}
.mt-b-termine{color:#2c5237;border-color:#2c5237;background:rgba(44,82,55,.1)}
.mt-date{margin-left:auto;color:var(--encre-doux)}
.mt-desc{margin-top:8px;color:var(--encre-doux);font-size:14px}
.mt-replies{list-style:none;margin-top:10px;display:grid;gap:8px}
.mt-reply{border-left:3px solid var(--vert-nuit);padding:6px 10px;background:rgba(63,122,77,.06);font-size:14px}
.mt-reply.mt-client{border-left-color:var(--encre);background:rgba(25,23,19,.05)}
.mt-reply .mono-xs{color:var(--encre-doux)}

/* ── discussion client ↔ guichet ─────────────────────────── */
#mtChat{border-top:1.5px solid var(--encre);margin-top:18px;padding-top:14px}
#mtChatList{max-height:260px;overflow:auto;padding-right:4px}
.mt-bubble{border:1.5px solid var(--encre);padding:10px 12px;background:rgba(240,234,217,.6);font-size:14px;line-height:1.5}
.mt-bubble.mt-b-staff{border-left:4px solid var(--vert-nuit);background:rgba(63,122,77,.07)}
.mt-bubble.mt-b-client{border-left:4px solid var(--encre);background:rgba(25,23,19,.04);margin-left:18px}
.mt-b-head{display:block;color:var(--encre-doux);margin-bottom:4px;letter-spacing:.1em}
.mt-none{color:var(--encre-doux);margin-top:8px}
.mt-empty{border:1px dashed var(--filet);padding:22px;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--encre-doux)}
.mt-search{margin-top:14px}
.mt-search .ink-link{display:inline-block;margin-top:10px}

@media (max-width:760px){
  .q-open{grid-template-columns:1fr 1fr;gap:8px}
  .q-desc{grid-column:1 / -1}
  .dm-grid{grid-template-columns:1fr}
}

/* ── T3.9 : badge non-lus « mes tickets » (page publique) ─────── */
.mt-unread-badge{
  display:inline-block;min-width:18px;text-align:center;
  font-family:var(--mono);font-size:10px;font-weight:600;
  background:var(--rouge);color:var(--papier);
  border-radius:9px;padding:2px 6px;margin-left:6px;
  vertical-align:2px;
}

/* ── compteur impayés en euros ───────────────────────────────── */
.tab-euro{
  color:var(--rouge-vif);font-weight:600;
  border:1.5px solid var(--rouge-vif);
  padding:1px 7px;border-radius:9px;margin-left:4px;
}
