/* ======================== ACCES MANAGER ======================== */
.acces-manager { max-width:1400px; margin:20px auto; padding:20px; overflow:hidden; }
.acces-header { text-align:center; margin-bottom:2rem; }
.acces-header h1 { font-size:2rem; color:#1a1a1a; margin-bottom:.5rem; font-family:'Aboreto',serif; font-weight:400; display:flex; align-items:center; justify-content:center; gap:1rem; }
.acces-header p { font-size:1rem; color:#666; }
/* Stats */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-bottom:2rem; }
.stat-box { background:#fff; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,.1); text-align:center; border-left:4px solid #007bff; transition:transform .3s; }
.stat-box:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.15); }
.stat-box.pending { border-left-color:#ffc107; }
.stat-box.valid   { border-left-color:#28a745; }
.stat-box.users   { border-left-color:#6c757d; }
.stat-label { display:block; font-size:.85rem; color:#666; margin-bottom:.5rem; text-transform:uppercase; letter-spacing:.5px; }
.stat-value { display:block; font-size:2rem; font-weight:700; color:#1a1a1a; }
/* Tabs */
.acces-tabs { display:flex; gap:10px; margin-bottom:2rem; border-bottom:2px solid #eee; }
.acces-tab { padding:12px 24px; border:none; background:none; cursor:pointer; font-size:1rem; font-weight:600; color:#666; border-bottom:3px solid transparent; margin-bottom:-2px; transition:all .3s; display:flex; align-items:center; gap:.5rem; }
.acces-tab:hover { color:#007bff; }
.acces-tab.active { color:#007bff; border-bottom-color:#007bff; }
.tab-content { display:none; }
.tab-content.active { display:block; }
/* Controls */
.controls { background:#fff; padding:1.5rem; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,.1); margin-bottom:2rem; }
.filter-tabs { display:flex; gap:.75rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.filter-tab { padding:.75rem 1.5rem; border:2px solid #e0e0e0; background:#fff; border-radius:8px; cursor:pointer; font-size:.95rem; font-weight:600; transition:all .3s; display:inline-flex; align-items:center; gap:.5rem; color:#666; }
.filter-tab:hover { background:#f8f9fa; border-color:#007bff; color:#007bff; }
.filter-tab.active { background:linear-gradient(135deg,#007bff,#0056b3); border-color:#007bff; color:#fff; box-shadow:0 3px 8px rgba(0,123,255,.3); }
.search-container { position:relative; width:100%; max-width:400px; box-sizing:border-box; }
.search-container input { width:100%; padding:.75rem 2.5rem .75rem 1rem; border:2px solid #e0e0e0; border-radius:8px; font-size:.95rem; transition:all .3s; box-sizing:border-box; }
.search-container input:focus { outline:none; border-color:#007bff; box-shadow:0 0 0 3px rgba(0,123,255,.1); }
.search-container span { position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:#999; }
/* Grid */
.items-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr)); gap:1.5rem; }
/* Card */
.item-card { background:#fff; border:1px solid #eee; border-radius:12px; padding:0; transition:transform .3s,box-shadow .3s; box-shadow:0 2px 8px rgba(0,0,0,.1); overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.item-card:hover { box-shadow:0 6px 18px rgba(0,0,0,.15); transform:translateY(-4px); }
.item-card .card-header { display:flex; justify-content:space-between; align-items:center; padding:1rem; background:#f8f9fa; border-bottom:1px solid #eee; }
.item-card .card-header-name { font-weight:700; font-size:.95rem; color:#1a1a1a; margin:0; }
.item-card h3 { padding:0 1rem; font-size:1.1rem; margin:1rem 0 0; color:#1a1a1a; }
.item-card p { padding:0 1rem; font-size:.95rem; color:#666; margin:.5rem 0; display:flex; align-items:flex-start; gap:.5rem; line-height:1.5; word-break:break-word; overflow-wrap:break-word; }
.item-card p .pi { color:#999; min-width:16px; margin-top:2px; }
.item-card small { display:block; padding:0 1rem; font-size:.85rem; color:#999; margin:.5rem 0 0; }
.status-badge, .role-badge { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .75rem; border-radius:20px; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.status-badge.status-pending { background:linear-gradient(135deg,#ffc107,#e0a800); color:#000; box-shadow:0 2px 6px rgba(255,193,7,.3); }
.status-badge.status-valid   { background:linear-gradient(135deg,#28a745,#1e7e34); color:#fff; box-shadow:0 2px 6px rgba(40,167,69,.3); }
.status-badge.status-no-valid{ background:linear-gradient(135deg,#dc3545,#c82333); color:#fff; box-shadow:0 2px 6px rgba(220,53,69,.3); }
.role-badge.role-super-admin { background:linear-gradient(135deg,#ffc107,#e0a800); color:#000; box-shadow:0 2px 6px rgba(255,193,7,.3); }
.role-badge.role-admin       { background:linear-gradient(135deg,#007bff,#0056b3); color:#fff; box-shadow:0 2px 6px rgba(0,123,255,.3); }
.role-badge.role-contributeur{ background:linear-gradient(135deg,#17a2b8,#117a8b); color:#fff; box-shadow:0 2px 6px rgba(23,162,184,.3); }
.role-badge.role-visiteur    { background:linear-gradient(135deg,#6c757d,#495057); color:#fff; box-shadow:0 2px 6px rgba(108,117,125,.3); }
.user-initial { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#007bff,#0056b3); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:1.1rem; flex-shrink:0; }
.card-identity { display:flex; align-items:center; gap:.75rem; min-width:0; overflow:hidden; }
.card-identity-text .card-name  { font-weight:700; font-size:1rem; color:#1a1a1a; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.card-identity-text .card-email { font-size:.8rem; color:#888; display:block; margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.item-card .actions { display:flex; gap:.5rem; margin-top:auto; padding:1rem; border-top:1px solid #eee; flex-wrap:wrap; }
.item-card .actions button { padding:.5rem 1rem; border:none; border-radius:6px; cursor:pointer; font-size:.85rem; font-weight:600; transition:all .3s; flex:1 1 auto; min-width:70px; }
.item-card .actions .btn-view    { background:linear-gradient(135deg,#007bff,#0056b3); color:#fff; }
.item-card .actions .btn-view:hover    { background:linear-gradient(135deg,#0056b3,#004085); transform:translateY(-1px); }
.item-card .actions .btn-approve { background:linear-gradient(135deg,#28a745,#1e7e34); color:#fff; }
.item-card .actions .btn-approve:hover { transform:translateY(-1px); }
.item-card .actions .btn-reject  { background:linear-gradient(135deg,#dc3545,#c82333); color:#fff; }
.item-card .actions .btn-reject:hover  { transform:translateY(-1px); }
.item-card .actions .btn-edit    { background:linear-gradient(135deg,#007bff,#0056b3); color:#fff; }
.item-card .actions .btn-edit:hover    { background:linear-gradient(135deg,#0056b3,#004085); transform:translateY(-1px); }
.item-card .actions .btn-delete  { background:linear-gradient(135deg,#dc3545,#c82333); color:#fff; }
.item-card .actions .btn-delete:hover  { transform:translateY(-1px); }
