/* At-Pac B2B — design system (clair, épuré, professionnel) */
:root{
  --brand:#e9861e;          /* orange At-Pac (PAC) */
  --brand-dark:#cf7413;
  --brand-soft:#fff4e6;
  --ink:#23262b;            /* charbon (AT / auto) */
  --muted:#6b7280;
  --line:#e5e7eb;
  --line-strong:#d1d5db;
  --bg:#f4f5f7;
  --card:#ffffff;
  --ok:#15803d; --ok-bg:#ecfdf3;
  --err:#b42318; --err-bg:#fef3f2; --err-line:#fecdca;
  --ring:rgba(233,134,30,.28);
  --shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px -12px rgba(16,24,40,.18);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--brand-dark);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- boutons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;border-radius:10px;padding:11px 16px;font-size:15px;font-weight:600;
  cursor:pointer;transition:filter .15s,background .15s,border-color .15s}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px -12px var(--ring)}
.btn-primary:hover{filter:brightness(1.05);text-decoration:none}
.btn-ghost{background:#fff;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{background:#f9fafb;text-decoration:none}
.btn-block{width:100%}

/* ---- champs ---- */
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}
.input{width:100%;background:#fff;border:1px solid var(--line-strong);border-radius:10px;
  padding:11px 13px;font-size:15px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}

/* ---- alerts ---- */
.alert{border-radius:10px;padding:11px 13px;font-size:13.5px;margin-bottom:16px;border:1px solid}
.alert-err{background:var(--err-bg);border-color:var(--err-line);color:var(--err)}
.alert-ok{background:var(--ok-bg);border-color:#abefc6;color:var(--ok)}

/* ---- lang toggle ---- */
.lang{display:inline-flex;gap:2px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.lang a{padding:5px 11px;font-size:12.5px;color:var(--muted);text-decoration:none}
.lang a.active{background:var(--ink);color:#fff}

/* ================= AUTH (login) ================= */
.auth-wrap{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}
.auth-top{position:fixed;top:18px;right:20px}
.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:34px 32px 28px}
.auth-logo{display:block;height:42px;margin:0 auto 6px}
.auth-tag{text-align:center;color:var(--muted);font-size:12.5px;letter-spacing:.3px;margin-bottom:24px;
  text-transform:uppercase}
.auth-card h1{font-size:19px;text-align:center;margin:0 0 22px}
.auth-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin:2px 0 18px}
.check{display:inline-flex;align-items:center;gap:7px;color:var(--muted);cursor:pointer}
.check input{accent-color:var(--brand);width:15px;height:15px}
.auth-foot{margin-top:22px;text-align:center;font-size:12.5px;color:var(--muted)}

/* ================= APP (pages connectées) ================= */
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar-inner{max-width:1120px;margin:0 auto;height:60px;display:flex;align-items:center;
  justify-content:space-between;padding:0 22px}
.topbar-logo{height:32px;display:block}
.topbar-right{display:flex;align-items:center;gap:14px}
.user-chip{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.user-chip b{font-size:13.5px}
.user-chip span{font-size:12px;color:var(--muted)}
.container{max-width:1120px;margin:0 auto;padding:26px 22px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px 24px}
.card h2{margin:0 0 4px;font-size:18px}
.page-title{font-size:22px;margin:0 0 18px;font-weight:700}
.kv{font-size:14px} .kv .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;
  background:var(--brand-soft);color:var(--brand-dark)}
.badge-muted{background:#f3f4f6;color:#4b5563}

/* ===== Admin / rôles / mobile (v3) ===== */
.imp-bar{background:#fff4e6;border-bottom:1px solid #f0c489;color:#7a4a12;display:flex;
  align-items:center;justify-content:space-between;gap:12px;padding:9px 18px;font-size:13.5px}
.imp-back{border:1px solid #d98a2b;background:#fff;color:#8a4b12;border-radius:8px;padding:5px 12px;font-weight:600;cursor:pointer}
.navlink{color:var(--ink);font-weight:600;font-size:14px;padding:6px 10px;border-radius:8px;text-decoration:none;display:inline-block}
.navlink:hover{background:#f3f4f6;text-decoration:none}

.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);
  padding:12px 14px;border-bottom:1px solid var(--line);background:#fafbfc;white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#fcfcfd}

.pill{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:5px 13px;
  font-size:12.5px;font-weight:600;cursor:pointer;color:#4b5563}
.pill-on{background:var(--brand-soft);border-color:#f2c48b;color:var(--brand-dark)}

.toggle{width:40px;height:23px;border-radius:999px;border:0;background:#d1d5db;position:relative;
  cursor:pointer;padding:0;transition:background .15s;vertical-align:middle}
.toggle span{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.toggle.on{background:var(--brand)}
.toggle.on span{left:19px}

/* pagination Laravel */
nav[role=navigation] .flex{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
nav[role=navigation] a, nav[role=navigation] span{padding:6px 11px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;color:var(--ink);text-decoration:none}
nav[role=navigation] a:hover{background:#f3f4f6}

/* ===== responsive mobile ===== */
@media(max-width:720px){
  .container{padding:18px 14px}
  .topbar-inner{padding:0 14px;height:56px}
  .topbar-logo{height:28px}
  .user-chip{display:none}
  .page-title{font-size:19px}
  .tbl th:nth-child(2), .tbl td:nth-child(2){display:none} /* cache colonne secondaire sur petit écran */
}
