/* ===== PANEL ADMIN REDISEÑADO v3 ===== */
.admin-hero { background: linear-gradient(145deg,#0a1a10 0%,#0f2d18 40%,#1B6B3A 100%); color:white; padding:16px 16px 0; position:relative; overflow:hidden; }
.admin-hero::before { content:''; position:absolute; right:-50px; top:-60px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(255,209,102,.18) 0%,transparent 70%); }
.admin-hero::after { content:''; position:absolute; left:-30px; bottom:-40px; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%); }
.admin-title-row { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:14px; }
.admin-title { font-size:20px; font-weight:950; letter-spacing:-.5px; }
.admin-sub { font-size:11px; opacity:.72; font-weight:600; margin-top:2px; display:flex; align-items:center; gap:5px; }
.admin-header-btns { display:flex; gap:8px; align-items:center; }
.admin-kpi-row { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding-bottom:14px; }
.admin-kpi { background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.13); border-radius:16px; padding:11px 8px 10px; text-align:center; cursor:pointer; transition:background .15s; }
.admin-kpi:active { background:rgba(255,255,255,.18); }
.admin-kpi b { display:block; font-size:20px; font-weight:950; line-height:1; color:white; font-family:'Nunito',sans-serif; }
.admin-kpi span { display:block; font-size:9px; opacity:.75; font-weight:800; margin-top:4px; text-transform:uppercase; letter-spacing:.05em; }
.admin-kpi.alert b { color:#FFD166; }
.admin-tabs-modern { position:relative; z-index:1; display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; border-top:1px solid rgba(255,255,255,.10); padding-top:10px; padding-bottom:10px; }
.admin-tabs-modern::-webkit-scrollbar { display:none; }
.admin-mobile-nav { display:none; position:relative; z-index:2; padding:0 0 12px; }
.admin-mobile-nav label { display:block; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.68); margin-bottom:6px; }
.admin-mobile-select { width:100%; min-height:44px; border:1px solid rgba(255,255,255,.22); border-radius:14px; padding:0 40px 0 13px; background:rgba(255,255,255,.12); color:white; font:800 13px 'Plus Jakarta Sans',sans-serif; outline:none; }
.admin-mobile-select option,.admin-mobile-select optgroup { color:#102016; background:white; }
.admin-notif-card { background:white; border:1px solid rgba(15,25,35,.07); border-radius:20px; padding:16px; box-shadow:var(--sombra); margin-bottom:14px; }
.admin-audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:8px 0 16px; }
.admin-audience { position:relative; }
.admin-audience input { position:absolute; opacity:0; pointer-events:none; }
.admin-audience span { display:flex; min-height:54px; align-items:center; gap:9px; border:1.5px solid var(--gris2); border-radius:14px; padding:10px 11px; color:var(--texto2); background:#fff; font-size:12px; font-weight:850; cursor:pointer; }
.admin-audience input:checked + span { border-color:var(--verde); background:var(--verde3); color:var(--verde2); box-shadow:0 0 0 2px rgba(27,107,58,.08); }
.admin-audience span b { font-size:18px; }
@media(max-width:640px){
  .admin-title { font-size:18px; }
  .admin-hero { padding:13px 12px 0; }
  .admin-kpi-row { gap:6px; }
  .admin-kpi { padding:9px 4px; border-radius:13px; }
  .admin-kpi b { font-size:17px; }
  .admin-kpi span { font-size:8px; }
}
.admin-sec { display:flex; align-items:center; justify-content:space-between; margin:0 0 12px; }
.admin-sec h3 { font-size:13px; font-weight:900; color:var(--texto); text-transform:uppercase; letter-spacing:.07em; }
.admin-sec small { font-size:11px; color:var(--texto3); font-weight:700; }
.admin-search-bar { background:white; border:1.5px solid var(--gris2); border-radius:14px; padding:11px 14px; display:flex; align-items:center; gap:10px; margin-bottom:14px; box-shadow:0 1px 6px rgba(0,0,0,.05); }
.admin-search-bar input { border:none; outline:none; flex:1; font-size:13px; font-family:'Plus Jakarta Sans',sans-serif; color:var(--texto); background:transparent; font-weight:500; }
.admin-search-bar input::placeholder { color:var(--texto3); }
.admin-user-card { background:white; border:1px solid rgba(15,25,35,.06); border-radius:18px; padding:14px; margin-bottom:10px; box-shadow:var(--sombra); }
.admin-user-top { display:flex; gap:12px; align-items:flex-start; }
.admin-avatar { width:48px; height:48px; border-radius:15px; background:var(--gris); display:flex; align-items:center; justify-content:center; font-size:22px; overflow:hidden; flex-shrink:0; border:1px solid var(--gris2); }
.admin-user-info { flex:1; min-width:0; }
.admin-user-name { font-size:15px; font-weight:900; color:var(--texto); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-user-meta { font-size:11px; color:var(--texto2); font-weight:600; margin-top:3px; line-height:1.45; }
.admin-user-badges { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.admin-user-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; border-top:1px solid var(--gris2); padding-top:10px; }
.admin-user-actions .btn { width:auto; padding:8px 12px; font-size:11px; box-shadow:none; border-radius:20px; }
.admin-stat-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.admin-stat-box { background:white; border-radius:16px; padding:14px; box-shadow:var(--sombra); border:1px solid rgba(0,0,0,.04); text-align:center; }
.admin-stat-box b { display:block; font-size:26px; font-weight:950; color:var(--verde); font-family:'Nunito',sans-serif; }
.admin-stat-box span { font-size:10px; color:var(--texto3); font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-top:4px; display:block; }
.admin-alert { background:linear-gradient(135deg,#fff7ed,#fffbeb); border:1px solid #fed7aa; color:#7c2d12; border-radius:16px; padding:12px 14px; font-size:12px; font-weight:700; line-height:1.45; margin-bottom:14px; }
.admin-alert.success { background:var(--verde3); border-color:var(--verde4); color:var(--verde2); }
.admin-alert.info { background:#EFF6FF; border-color:#BFDBFE; color:#1e40af; }
.tab-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; background:var(--rojo); color:white; border-radius:9px; font-size:9px; font-weight:900; padding:0 4px; margin-left:4px; vertical-align:middle; }
.admin-filter-row { display:flex; gap:8px; margin-bottom:14px; }
.admin-filter-row .finput { flex:1; }
.admin-filter-row select { flex-shrink:0; width:auto; padding:11px 30px 11px 12px; font-size:12px; }
.admin-section-card { background:white; border:1px solid rgba(15,25,35,.06); border-radius:18px; padding:14px; box-shadow:var(--sombra); margin-bottom:14px; }
.admin-finanzas-hero { background:linear-gradient(135deg,var(--verde2),var(--verde)); border-radius:20px; padding:18px; margin-bottom:16px; color:white; position:relative; overflow:hidden; }
.admin-finanzas-hero::before { content:'💰'; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:56px; opacity:.18; }
.admin-fin-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-fin-box { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:12px; }
.admin-fin-box small { font-size:9px; opacity:.75; font-weight:900; text-transform:uppercase; letter-spacing:.07em; display:block; margin-bottom:4px; }
.admin-fin-box b { font-size:20px; font-weight:950; display:block; }
.admin-bar-wrap { display:flex; flex-direction:column; gap:8px; }
.admin-bar-item { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; font-size:12px; }
.admin-bar-label { font-weight:700; color:var(--texto2); white-space:nowrap; font-size:11px; }
.admin-bar-track { height:10px; background:var(--gris2); border-radius:999px; overflow:hidden; }
.admin-bar-fill { height:100%; background:var(--verde); border-radius:999px; transition:width .4s ease; }
.admin-bar-val { font-weight:900; color:var(--verde); font-size:12px; white-space:nowrap; }
.admin-activity-item { display:flex; gap:10px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--gris2); }
.admin-activity-item:last-child { border-bottom:none; }
.admin-activity-dot { width:32px; height:32px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.admin-activity-txt strong { display:block; font-size:12px; font-weight:900; color:var(--texto); }
.admin-activity-txt span { font-size:11px; color:var(--texto2); font-weight:600; }
.admin-toggle-row { display:flex; align-items:center; justify-content:space-between; background:white; border-radius:14px; padding:14px; border:1px solid var(--gris2); box-shadow:var(--sombra); margin-bottom:10px; }
.admin-toggle-label strong { font-size:13px; font-weight:900; display:block; }
.admin-toggle-label span { font-size:11px; color:var(--texto2); font-weight:600; }
.admin-switch { width:48px; height:26px; border-radius:999px; border:none; cursor:pointer; position:relative; transition:background .2s; flex-shrink:0; }
.admin-switch-ball { width:20px; height:20px; background:white; border-radius:50%; position:absolute; top:3px; transition:left .2s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.admin-export-btn { display:flex; align-items:center; gap:8px; background:white; border:1.5px solid var(--gris2); border-radius:14px; padding:10px 14px; font-size:12px; font-weight:800; color:var(--texto2); cursor:pointer; width:100%; margin-bottom:10px; box-shadow:var(--sombra); }
.admin-export-btn:active { background:var(--gris); }
.admin-main { flex:1; min-width:0; }
.admin-main h4 { font-size:15px; font-weight:950; margin:0 0 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-line { font-size:11px; color:var(--texto2); font-weight:650; line-height:1.45; margin-top:2px; }
.admin-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.admin-actions .btn { width:auto; padding:8px 11px; font-size:11px; box-shadow:none; }
.admin-money { font-size:18px; font-weight:950; color:var(--verde); }
.admin-live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#22c55e; animation:pulse-dot 1.8s ease-in-out infinite; }
/* compat */
.admin-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.admin-quick { background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.12); border-radius:15px; padding:10px 8px; min-width:0; }
.admin-quick b { display:block; font-size:18px; font-weight:950; line-height:1; }
.admin-quick span { display:block; font-size:9px; opacity:.8; font-weight:800; margin-top:5px; text-transform:uppercase; letter-spacing:.04em; }
.admin-profile-card { background:white; border:1px solid rgba(15,25,35,.06); border-radius:20px; padding:14px; box-shadow:var(--sombra); margin-bottom:12px; display:flex; gap:12px; align-items:flex-start; }
@media (max-width:420px){ .admin-kpi-row{grid-template-columns:repeat(2,1fr);} .admin-quick-grid{grid-template-columns:repeat(2,1fr);} .admin-stat-row{grid-template-columns:1fr;} .admin-fin-grid{grid-template-columns:1fr;} }



