/* ═══ SNAP+ — PANNEAU ADMIN ═══ */

/* === ADMIN === */

.admin-full{position:relative;z-index:10;min-height:100vh}

.admin-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;background:rgba(7,7,14,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.04)}

.admin-nav-left{display:flex;align-items:center;gap:10px}

.admin-nav-title{font-size:17px;font-weight:700}

.admin-nav-badge{padding:3px 10px;border-radius:6px;background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.15);font-size:10px;font-weight:800;color:var(--accent);letter-spacing:1px}

.admin-nav-right{display:flex;align-items:center;gap:14px}

.admin-nav-live{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--success)}

.admin-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);animation:pulse 2s ease-in-out infinite}

.admin-nav-logout{padding:6px 16px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--text2);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}

.admin-nav-logout:hover{background:rgba(255,255,255,.08);color:#fff}

.admin-container{max-width:1060px;margin:0 auto;padding:24px 24px 40px}

.admin-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}

.admin-stat-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:16px;transition:all .2s}

.admin-stat-card:hover{border-color:rgba(var(--accent-rgb),.08);transform:translateY(-1px)}

.admin-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}

.admin-stat-number{font-size:24px;font-weight:800;color:var(--accent);line-height:1.2}

.admin-stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:1px}

.admin-table-wrap{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:16px;overflow:hidden}

.admin-table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.04)}

.admin-table-title{font-size:14px;font-weight:700}

.admin-table-count{font-size:11px;color:var(--text3);font-weight:500}

.admin-table{max-height:calc(100vh - 260px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}

.admin-row{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.03);transition:all .15s;animation:rowIn .25s ease backwards}

.admin-row:hover{background:rgba(var(--accent-rgb),.015)}

.admin-row:last-child{border-bottom:none}

@keyframes rowIn{from{opacity:0;transform:translateX(-8px)}}

.admin-row-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#ff9500);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px rgba(var(--accent-rgb),.15)}

.admin-row-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

.admin-row-info{flex:1;min-width:0}

.admin-row-top{display:flex;align-items:center;gap:6px;margin-bottom:2px;flex-wrap:wrap}

.admin-row-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.admin-row-uname{font-size:10px;color:var(--text3)}

.admin-row-id{font-size:9px;font-weight:700;color:var(--accent);background:rgba(var(--accent-rgb),.06);padding:2px 6px;border-radius:4px}

.admin-row-details{display:flex;gap:10px;flex-wrap:wrap}

.admin-row-field{font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:3px}

.admin-row-field strong{color:var(--text2);font-weight:600}

.admin-row-field .op-tag{padding:1px 6px;border-radius:4px;font-size:9px;font-weight:600}

.op-orange{background:rgba(255,152,0,.1);color:#ff9800}

.op-sfr{background:rgba(239,68,68,.1);color:#ef4444}

.op-bouygues{background:rgba(59,130,246,.1);color:#3b82f6}

.op-free{background:rgba(34,197,94,.1);color:#22c55e}

.op-unknown{background:rgba(150,150,150,.1);color:#999}

.admin-row-code{display:flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 10px;border-radius:8px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.1)}

.admin-row-code-label{font-size:9px;color:var(--text3)}

.admin-row-code-val{font-size:14px;font-weight:800;color:var(--success);letter-spacing:3px}

.admin-row-actions{display:flex;gap:5px;flex-shrink:0}

.admin-btn{padding:7px 14px;border-radius:8px;border:none;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:3px}

.admin-btn-accept{background:var(--success);color:#fff}

.admin-btn-accept:hover{filter:brightness(1.1);transform:translateY(-1px)}

.admin-btn-reject{background:var(--error);color:#fff}

.admin-btn-reject:hover{filter:brightness(1.1);transform:translateY(-1px)}

.admin-btn-status{padding:5px 12px;border-radius:6px;border:none;font-size:10px;font-weight:600;cursor:default;font-family:inherit}

.admin-btn-status.accepted{background:rgba(34,197,94,.08);color:var(--success)}

.admin-btn-status.rejected{background:rgba(239,68,68,.08);color:var(--error)}

.admin-empty{text-align:center;padding:48px 20px}

.admin-empty-icon{font-size:36px;margin-bottom:10px;opacity:.3}

.admin-empty div:nth-child(2){font-size:14px;color:var(--text3);font-weight:600;margin-bottom:4px}

.admin-empty-sub{font-size:11px;color:var(--text3)}

/* Administration: matching surfaces and small-screen layout. */
.admin-stat-number { font-variant-numeric: tabular-nums; }
.admin-stat-card, .admin-table-wrap { background: var(--card-bg); border-color: var(--card-border); }
.admin-stat-card > *, .admin-row-info { min-width: 0; }
.admin-stat-label, .admin-row-uname, .admin-table-count { font-size: 12px; }
.admin-row-field { font-size: 12px; overflow-wrap: anywhere; }
.admin-table { scrollbar-gutter: stable; }
.admin-table-header { gap: 12px; flex-wrap: wrap; }
.admin-btn, .admin-nav-logout { min-height: 44px; font-size: 12px; }
.admin-btn-accept { color: #07150c; }
.admin-row-actions { flex-wrap: wrap; }
@media (max-width: 900px) {
  .admin-nav { padding-inline: 16px; }
  .admin-stats-row { grid-template-columns: repeat(2,1fr); }
  .admin-container { padding: 16px 12px 32px; }
  .admin-row { flex-wrap: wrap; gap: 8px; }
  .admin-row-code { width: 100%; }
  .admin-row-actions { width: 100%; justify-content: stretch; }
  .admin-row-actions .admin-btn { flex: 1; justify-content: center; }
}
@media (max-width: 480px) {
  .admin-nav { height: auto; min-height: 60px; padding-block: 10px; gap: 10px; flex-wrap: wrap; }
  .admin-nav-right { flex-wrap: wrap; gap: 10px; }
  .admin-stats-row { gap: 8px; }
  .admin-stat-card { padding: 12px; gap: 8px; flex-wrap: wrap; }
  .admin-stat-number { font-size: 22px; }
  .admin-row { padding: 16px; }
  .admin-row-info { flex-basis: calc(100% - 46px); }
}
