/* ====== Mowgli Espace Client / Suivi Équipe — styles applicatifs ====== */
body{padding-top:0; background:var(--bg)}

.app-nav{position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:14px var(--pad-x); background:rgba(26,29,36,.95); backdrop-filter:blur(16px); border-bottom:1px solid var(--line)}
.app-nav .brand{font-family:var(--grotesk); font-weight:800; font-size:16px; letter-spacing:-.02em; display:flex; align-items:center; gap:10px}
.app-nav .brand .dot{width:8px; height:8px; border-radius:50%; background:var(--orange)}
.app-nav .who{display:flex; align-items:center; gap:14px; font-size:13px; color:var(--ink-mute)}
.app-nav form{display:inline}
.btn-logout{font-family:var(--sans); font-size:12.5px; font-weight:700; color:var(--ink-soft); background:rgba(255,255,255,.06); border:1px solid var(--line); padding:7px 14px; border-radius:999px; cursor:pointer}
.btn-logout:hover{background:rgba(255,255,255,.1)}

.shell{max-width:1180px; margin:0 auto; padding:32px var(--pad-x) 80px}

/* --- Login --- */
.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px}
.login-card{width:100%; max-width:400px; background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:36px}
.login-card h1{font-family:var(--grotesk); font-weight:800; font-size:22px; letter-spacing:-.02em; margin:0 0 6px}
.login-card p.sub{color:var(--ink-mute); font-size:13.5px; margin:0 0 26px}
.field{margin-bottom:16px}
.field label{display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-bottom:6px}
.field input{width:100%; padding:11px 14px; border-radius:10px; background:var(--bg-2); border:1px solid var(--line-2); color:var(--ink); font-size:14.5px; font-family:var(--sans)}
.field input:focus{outline:2px solid var(--orange); outline-offset:1px}
.btn-block{width:100%; padding:12px; border-radius:10px; background:var(--orange); color:#1a1208; font-weight:800; font-size:14.5px; border:0; cursor:pointer; margin-top:6px}
.btn-block:hover{background:var(--orange-2)}
.err-msg{background:rgba(255,90,90,.12); border:1px solid rgba(255,90,90,.35); color:#ff9d9d; padding:10px 14px; border-radius:10px; font-size:13px; margin-bottom:16px}
.demo-creds{margin-top:22px; padding:14px; border-radius:12px; background:rgba(255,255,255,.03); border:1px dashed var(--line-2); font-size:12px; color:var(--ink-mute); line-height:1.7}

/* --- Cards (repris de la maquette) --- */
.ec-top{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:28px}
.ec-top h1{font-family:var(--grotesk); font-weight:800; font-size:clamp(22px,3vw,30px); letter-spacing:-.02em; margin:6px 0 4px}
.ec-pack-chip{display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:999px; background:var(--orange-soft); border:1px solid rgba(255,107,44,.35); color:var(--orange-2); font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:700}
.ec-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:18px}
@media (max-width:900px){.ec-grid{grid-template-columns:1fr}}
.card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:24px}
.card h3{font-family:var(--grotesk); font-size:16px; font-weight:800; letter-spacing:-.01em; margin:0 0 16px; display:flex; align-items:center; gap:10px}
.rot-num{display:flex; align-items:baseline; gap:8px; margin-bottom:12px}
.rot-num b{font-family:var(--grotesk); font-size:36px; font-weight:900; letter-spacing:-.02em; line-height:1}
.rot-num span{color:var(--ink-mute); font-size:13.5px}
.bar-track{height:9px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; margin-bottom:10px}
.bar-fill{height:100%; border-radius:999px; background:linear-gradient(90deg,var(--blue-deep),var(--blue))}
.bar-fill.over{background:linear-gradient(90deg,#ff6b2c,#ff8a4d)}
.rot-legend{display:flex; justify-content:space-between; font-size:12px; color:var(--ink-mute)}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
.stat-mini{padding:12px; border-radius:12px; background:var(--surface-2); text-align:center}
.stat-mini b{display:block; font-family:var(--grotesk); font-size:20px; font-weight:800}
.stat-mini span{display:block; margin-top:3px; font-size:11px; color:var(--ink-mute)}
.full-span{grid-column:1/-1}

table.ec-table{width:100%; border-collapse:collapse; font-size:13px}
table.ec-table th{text-align:left; font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-mute); padding:0 8px 8px; font-weight:600}
table.ec-table td{padding:10px 8px; border-top:1px solid var(--line); vertical-align:middle}
.status-pill{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:700}
.status-pill.pret{background:rgba(74,222,128,.14); color:#5ef08f}
.status-pill.preparation{background:rgba(43,179,255,.14); color:var(--blue)}
.status-pill.attente{background:rgba(255,255,255,.08); color:var(--ink-mute)}
.dot-s{width:6px; height:6px; border-radius:50%; background:currentColor}

.hist-item{display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--line)}
.hist-item:first-child{border-top:0}
.hist-body{flex:1; min-width:0}
.hist-body b{font-size:13px; display:block}
.hist-body span{font-size:11.5px; color:var(--ink-mute)}
.hist-time{font-family:var(--mono); font-size:11px; color:var(--ink-mute); white-space:nowrap}

/* --- Admin --- */
.admin-grid{display:grid; grid-template-columns:1fr 340px; gap:18px}
@media (max-width:980px){.admin-grid{grid-template-columns:1fr}}
.veh-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-top:1px solid var(--line)}
.veh-row:first-child{border-top:0}
.veh-info b{display:block; font-size:14px}
.veh-info span{font-size:12px; color:var(--ink-mute)}
.btn-mini{font-family:var(--sans); font-size:12px; font-weight:700; padding:7px 13px; border-radius:8px; border:1px solid var(--line-2); background:rgba(255,255,255,.04); color:var(--ink); cursor:pointer}
.btn-mini.primary{background:var(--orange); border-color:var(--orange); color:#1a1208}
.btn-mini:hover{opacity:.85}
select, input[type=text]{font-family:var(--sans); background:var(--bg-2); border:1px solid var(--line-2); color:var(--ink); border-radius:8px; padding:8px 10px; font-size:13.5px}
.mini-form{display:grid; gap:10px; margin-top:14px}
.mini-form label{font-size:11.5px; color:var(--ink-mute); font-weight:700; display:block; margin-bottom:4px}

.timer-chip{font-family:var(--mono); font-size:11px; padding:3px 9px; border-radius:999px; background:rgba(255,107,44,.12); color:var(--orange-2)}
.empty{color:var(--ink-mute); font-size:13px; padding:16px 0; text-align:center}

.table-wrap{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch}
.table-wrap table.ec-table{min-width:520px}

/* ====== Responsive — tablette (≤980px déjà couvert par ec-grid/admin-grid) ====== */
@media (max-width:980px){
  .shell{padding-top:24px}
}

/* ====== Responsive — tablette portrait / grand mobile ====== */
@media (max-width:700px){
  .app-nav{padding:12px var(--pad-x); flex-wrap:wrap; row-gap:10px}
  .app-nav .who{flex-wrap:wrap; gap:10px; font-size:12.5px; width:100%; justify-content:flex-end}
  .card{padding:18px; border-radius:16px}
  .ec-top{margin-bottom:20px}
  .ec-top h1{font-size:22px}
  .stat-row{gap:8px}
  .stat-mini{padding:10px}
  .stat-mini b{font-size:17px}
  .veh-row{flex-wrap:wrap; gap:10px}
  .veh-row > div:last-child{width:100%; justify-content:flex-start}
  .veh-row form{width:100%}
  .veh-row form .btn-mini, .veh-row > div:last-child form .btn-mini{width:100%}
  .mini-form .btn-mini{width:100%}
}

/* ====== Responsive — mobile ====== */
@media (max-width:480px){
  .app-nav .brand{font-size:14px}
  .app-nav .who{font-size:12px; gap:8px}
  .btn-logout{padding:6px 11px; font-size:11.5px}
  .login-card{padding:26px 22px; border-radius:18px}
  .stat-row{grid-template-columns:1fr 1fr}
  .stat-row .stat-mini:last-child{grid-column:1 / -1}
  .rot-num b{font-size:30px}
  table.ec-table{font-size:12px}
}
