/* Interface Gestionnaire — application privée, sans habillage WordPress. */

.lpt-app-wrap { display:flex; min-height:100vh; background:#191a1d; color:#f2f2f3; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; margin:-1px 0 0 0; }
.lpt-app-wrap a { color:inherit; }

.lpt-app-sidebar { width:230px; flex-shrink:0; background:#000; padding:20px 0; }
.lpt-app-brand { padding:0 22px 20px; font-size:18px; font-weight:700; letter-spacing:.5px; border-bottom:1px solid #2b2b2f; margin-bottom:10px; }
.lpt-app-brand span { color:#C3002F; }
.lpt-app-nav a { display:flex; align-items:center; gap:10px; padding:13px 22px; text-decoration:none; color:#c9c9cc; font-size:14px; border-left:3px solid transparent; }
.lpt-app-nav a:hover { background:#141416; color:#fff; }
.lpt-app-nav a.active { background:#141416; color:#fff; border-left-color:#C3002F; font-weight:600; }
.lpt-app-nav .lpt-app-icon { font-size:16px; width:18px; text-align:center; }

.lpt-app-content { flex:1; padding:30px 36px; max-width:1200px;  min-width:0;}
.lpt-app-content h1 { margin:0 0 22px; font-size:24px; }
.lpt-app-content h2 { font-size:16px; text-transform:uppercase; letter-spacing:.5px; color:#9a9aa0; margin:28px 0 12px; }

.lpt-app-card { background:#232327; border-radius:14px; padding:20px 22px; }
.lpt-app-cards-grid { display:flex; flex-wrap:wrap; gap:16px; }

.lpt-app-kpis { display:flex; flex-wrap:wrap; gap:14px; }
.lpt-app-kpi { background:#232327; border-radius:14px; padding:16px 20px; min-width:150px; flex:1; }
.lpt-app-kpi strong { display:block; font-size:26px; color:#C3002F; line-height:1.3; }
.lpt-app-kpi span { color:#9a9aa0; font-size:13px; }

.lpt-app-bar-row { display:flex; align-items:center; gap:10px; margin:8px 0; font-size:13px; }
.lpt-app-bar-label { width:110px; color:#c9c9cc; flex-shrink:0; }
.lpt-app-bar-track { flex:1; background:#33333a; border-radius:7px; height:14px; overflow:hidden; }
.lpt-app-bar-fill { background:#C3002F; height:100%; border-radius:7px; }
.lpt-app-bar-value { width:40px; text-align:right; color:#9a9aa0; flex-shrink:0; }

.lpt-app-event-card { background:#232327; border-radius:14px; padding:20px 22px; width:280px; }
.lpt-app-event-card h3 { margin:0 0 6px; font-size:17px; }
.lpt-app-event-card .lpt-app-meta { color:#9a9aa0; font-size:13px; margin-bottom:12px; }
.lpt-app-event-card .lpt-app-stat-line { display:flex; justify-content:space-between; font-size:13px; padding:4px 0; border-top:1px solid #303035; }

.lpt-app-btn { background:#C3002F; color:#fff; border:none; border-radius:9px; padding:11px 20px; font-weight:600; font-size:14px; cursor:pointer; text-decoration:none; display:inline-block; }
.lpt-app-btn:hover { background:#a30027; color:#fff; }
.lpt-app-btn-ghost { background:transparent; border:1px solid #444; color:#c9c9cc; }
.lpt-app-btn-small { padding:6px 12px; font-size:12px; }

.lpt-app-table { width:100%; border-collapse:collapse; font-size:13px;  display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.lpt-app-table th { text-align:left; color:#9a9aa0; font-weight:600; padding:9px 10px; border-bottom:1px solid #303035; white-space:nowrap; }
.lpt-app-table td { padding:11px 10px; border-bottom:1px solid #2a2a2e; white-space:nowrap; }

.lpt-app-badge { display:inline-block; padding:3px 11px; border-radius:20px; font-size:11px; font-weight:600; }
.lpt-app-badge-ok { background:rgba(46,160,67,.18); color:#4bd167; }
.lpt-app-badge-warn { background:rgba(230,161,20,.18); color:#e6a114; }
.lpt-app-badge-danger { background:rgba(195,0,47,.18); color:#ff5c7a; }
.lpt-app-badge-muted { background:rgba(154,154,160,.18); color:#9a9aa0; }

.lpt-app-form input[type=text], .lpt-app-form input[type=email], .lpt-app-form select { background:#141416; border:1px solid #3a3a3f; color:#f2f2f3; border-radius:8px; padding:10px 12px; font-size:14px; width:100%; max-width:360px; margin-bottom:12px; }
.lpt-app-form label { display:block; font-size:13px; color:#c9c9cc; margin-bottom:4px; }
.lpt-app-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.lpt-app-filters a { padding:6px 14px; border-radius:20px; background:#232327; color:#c9c9cc; text-decoration:none; font-size:13px; }
.lpt-app-filters a.active { background:#C3002F; color:#fff; }

.lpt-app-login { max-width:360px; margin:80px auto; text-align:center; }

@media (max-width: 780px) {
    .lpt-app-wrap { flex-direction:column; }
    .lpt-app-sidebar { width:100%; padding:0; }
    .lpt-app-brand { display:none; }
    .lpt-app-nav { display:flex; overflow-x:auto; }
    .lpt-app-nav a { flex-direction:column; gap:4px; padding:10px 14px; font-size:11px; border-left:none; border-bottom:3px solid transparent; white-space:nowrap; }
    .lpt-app-nav a.active { border-left:none; border-bottom-color:#C3002F; }
    .lpt-app-content { padding:18px; }
    .lpt-app-event-card { width:100%; }
}

.lpt-app-scanner-fullscreen { position:fixed; inset:0; background:#000; z-index:99999; display:flex; flex-direction:column; }
.lpt-app-scanner-fullscreen video { width:100%; flex:1; object-fit:cover; }
.lpt-app-scanner-topbar { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:#000; }
.lpt-app-scanner-topbar a { color:#fff; text-decoration:none; font-size:14px; }
#lpt-app-scanner-result { padding:18px; background:#111; min-height:120px; }
.lpt-app-scan-idle { text-align:center; color:#9a9aa0; padding:20px; }
.lpt-app-scan-result { text-align:center; border-radius:14px; padding:18px; }
.lpt-app-scan-label { font-size:20px; font-weight:700; margin-bottom:10px; }
.lpt-app-scan-info { font-size:14px; color:#e5e5e7; margin-bottom:14px; }
.lpt-app-scan-valide .lpt-app-scan-label { color:#4bd167; }
.lpt-app-scan-deja_utilise .lpt-app-scan-label { color:#e6a114; }
.lpt-app-scan-annule .lpt-app-scan-label,.lpt-app-scan-invalide .lpt-app-scan-label { color:#ff5c7a; }
.lpt-app-scan-result .lpt-app-btn { margin:4px; }
