/* ============================================================
   LA BENÉFICA — ADMIN CSS
============================================================ */
:root{
  --crimson:#9B1C1C;--crimson-dk:#6B0F0F;--gold:#C9973A;
  --ivory:#FAF7F2;--ivory-dk:#EDE8DF;--charcoal:#1C1C1C;
  --mid-gray:#5A5A5A;--light-gray:#8A8A8A;--white:#fff;
  --shadow-sm:0 2px 8px rgba(0,0,0,.10);--shadow-md:0 6px 24px rgba(0,0,0,.14);
  --radius:4px;--ff-display:'Playfair Display',Georgia,serif;
  --ff-body:'Source Serif 4',Georgia,serif;
  --sidebar-w:220px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-body);background:#F0EDE8;color:var(--charcoal);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--crimson);text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}

/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--crimson-dk),var(--crimson));padding:24px}
.login-box{background:#fff;border-radius:8px;padding:40px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}
.login-logo{height:70px;margin:0 auto 16px;border-radius:4px}
.login-title{font-family:var(--ff-display);font-size:1.35rem;font-weight:700;color:var(--crimson);margin-bottom:4px}
.login-sub{font-size:.80rem;color:var(--light-gray);margin-bottom:28px}
.login-box .form-group{text-align:left;margin-bottom:16px}
.login-box .form-group label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mid-gray);margin-bottom:5px}
.login-box input{width:100%;padding:10px 13px;border:2px solid var(--ivory-dk);border-radius:var(--radius);font-family:var(--ff-body);font-size:.95rem;transition:border-color .2s}
.login-box input:focus{outline:none;border-color:var(--crimson)}
.login-btn{width:100%;padding:12px;background:var(--crimson);color:#fff;border:none;border-radius:var(--radius);font-family:var(--ff-body);font-size:.90rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-top:8px}
.login-btn:hover{background:var(--crimson-dk)}
.login-err{background:#FEE2E2;color:#991B1B;border-left:4px solid #DC2626;padding:10px 14px;border-radius:var(--radius);font-size:.84rem;font-weight:600;margin-bottom:14px;display:none}
.login-err.show{display:block}

/* LAYOUT */
.admin-layout{display:flex;min-height:100vh}
.admin-sidebar{width:var(--sidebar-w);background:var(--charcoal);flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-sidebar::-webkit-scrollbar{width:4px}
.admin-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
.sb-logo{padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}
.sb-logo img{height:38px;border-radius:3px;flex-shrink:0}
.sb-logo span{font-family:var(--ff-display);font-size:.90rem;font-weight:700;color:#fff;line-height:1.2}
.sb-section{padding:12px 0 4px 14px;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.sb-nav{padding:4px 8px}
.sb-link{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius);font-size:.80rem;font-weight:600;color:rgba(255,255,255,.70);cursor:pointer;transition:background .15s,color .15s;border:none;background:none;width:100%;text-align:left;text-decoration:none}
.sb-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sb-link.active{background:var(--crimson);color:#fff}
.sb-link .sb-icon{font-size:.90rem;width:18px;text-align:center;flex-shrink:0}
.sb-link .sb-badge{margin-left:auto;background:var(--crimson);color:#fff;font-size:.60rem;font-weight:700;padding:2px 7px;border-radius:10px}
.sb-link.active .sb-badge{background:rgba(255,255,255,.25)}
.sb-bottom{margin-top:auto;padding:14px 8px;border-top:1px solid rgba(255,255,255,.08)}

/* MAIN */
.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.admin-topbar{background:#fff;border-bottom:1px solid var(--ivory-dk);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);flex-shrink:0}
.topbar-title{font-family:var(--ff-display);font-size:1.05rem;font-weight:700;color:var(--charcoal)}
.topbar-right{display:flex;align-items:center;gap:12px}
.topbar-user{font-size:.78rem;color:var(--mid-gray)}
.topbar-user strong{color:var(--charcoal)}
.admin-content{padding:24px;flex:1;overflow-y:auto}
.admin-content::-webkit-scrollbar{width:5px}
.admin-content::-webkit-scrollbar-thumb{background:var(--ivory-dk);border-radius:2px}

/* CARDS/PANELS */
.panel{background:#fff;border-radius:6px;box-shadow:var(--shadow-sm);padding:22px 26px;margin-bottom:20px}
.panel-title{font-family:var(--ff-display);font-size:1.05rem;font-weight:700;color:var(--crimson);margin-bottom:4px;padding-bottom:12px;border-bottom:2px solid var(--ivory-dk);display:flex;align-items:center;gap:8px}
.panel-sub{font-size:.80rem;color:var(--light-gray);margin-bottom:16px;margin-top:4px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:20px}
.stat-card{background:#fff;border-radius:6px;padding:16px 18px;box-shadow:var(--shadow-sm);border-top:3px solid var(--crimson);text-align:center}
.stat-card.gold{border-top-color:var(--gold)}
.stat-card.green{border-top-color:#16A34A}
.stat-card.blue{border-top-color:#2563EB}
.stat-num{font-family:var(--ff-display);font-size:1.7rem;font-weight:700;color:var(--charcoal);line-height:1}
.stat-lbl{font-size:.70rem;color:var(--light-gray);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}

/* FORMS */
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mid-gray);margin-bottom:5px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:9px 12px;border:2px solid var(--ivory-dk);border-radius:var(--radius);font-size:.90rem;font-family:var(--ff-body);background:#fff;color:var(--charcoal);transition:border-color .2s;resize:vertical}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--crimson)}
.form-group textarea{min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-group .hint{font-size:.72rem;color:var(--light-gray);margin-top:4px}
.form-tabs{display:flex;gap:0;border-bottom:2px solid var(--ivory-dk);margin-bottom:18px}
.form-tab{padding:8px 18px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--light-gray);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}
.form-tab.active{color:var(--crimson);border-bottom-color:var(--crimson)}
.lang-panel{display:none}
.lang-panel.active{display:block}

/* TABLES */
.data-table{width:100%;border-collapse:collapse;font-size:.85rem}
.data-table thead tr{background:var(--charcoal);color:#fff}
.data-table thead th{padding:10px 14px;text-align:left;font-size:.70rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.data-table tbody tr:nth-child(odd){background:#fff}
.data-table tbody tr:nth-child(even){background:var(--ivory)}
.data-table tbody tr:hover{background:#FCF0F0}
.data-table td{padding:9px 14px;border-bottom:1px solid var(--ivory-dk);vertical-align:top;line-height:1.4}
.data-table .td-actions{display:flex;gap:6px;flex-wrap:wrap}
.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.68rem;font-weight:700;letter-spacing:.04em}
.badge-new{background:#DCFCE7;color:#166534}
.badge-read{background:#E0F2FE;color:#0369A1}
.badge-active{background:#DCFCE7;color:#166534}
.badge-inactive{background:#FEE2E2;color:#991B1B}
.badge-apadrina{background:#FCE7F3;color:#9D174D}
.badge-donar{background:#FEF9C3;color:#854D0E}
.badge-contacto{background:#E0F2FE;color:#075985}

/* TOGGLE SWITCH */
.toggle-wrap{display:flex;align-items:center;gap:10px}
.toggle{position:relative;width:40px;height:22px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:#CBD5E1;border-radius:11px;cursor:pointer;transition:background .2s}
.toggle-slider::before{content:'';position:absolute;width:16px;height:16px;top:3px;left:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked+.toggle-slider{background:var(--crimson)}
.toggle input:checked+.toggle-slider::before{transform:translateX(18px)}
.toggle-label{font-size:.84rem;color:var(--charcoal);font-weight:600}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 18px;border-radius:var(--radius);font-family:var(--ff-body);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;transition:background .15s;line-height:1;text-decoration:none}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn-primary{background:var(--crimson);color:#fff}
.btn-primary:hover{background:var(--crimson-dk)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#A67A28}
.btn-outline{background:transparent;color:var(--crimson);border:2px solid var(--crimson)}
.btn-outline:hover{background:var(--crimson);color:#fff}
.btn-danger{background:#DC2626;color:#fff}
.btn-danger:hover{background:#991B1B}
.btn-ghost{background:var(--ivory-dk);color:var(--charcoal)}
.btn-ghost:hover{background:#D5CEBC}
.btn-sm{padding:5px 12px;font-size:.70rem}
.btn-lg{padding:11px 24px;font-size:.85rem}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* MESSAGES */
.msg{padding:10px 14px;border-radius:var(--radius);font-size:.84rem;font-weight:600;margin-bottom:12px;display:none}
.msg.success{background:#DCFCE7;color:#166534;border-left:4px solid #16A34A;display:block}
.msg.error{background:#FEE2E2;color:#991B1B;border-left:4px solid #DC2626;display:block}
.msg.info{background:#E0F2FE;color:#075985;border-left:4px solid #2563EB;display:block}

/* ITEM CARD (news, faq, etc) */
.item-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 18px;margin-bottom:10px;border-left:4px solid var(--crimson)}
.item-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.item-card-title{font-family:var(--ff-display);font-size:.95rem;font-weight:700;color:var(--charcoal);line-height:1.3}
.item-card-meta{font-size:.74rem;color:var(--light-gray);margin-top:3px}
.item-card-actions{display:flex;gap:6px;flex-shrink:0}
.empty-state{text-align:center;padding:40px 24px;color:var(--light-gray);font-style:italic;font-size:.90rem}

/* SECTION TOGGLES */
.sections-list{display:flex;flex-direction:column;gap:10px}
.section-row{background:#fff;border-radius:var(--radius);padding:13px 18px;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:14px}
.section-info{flex:1;min-width:0}
.section-name{font-weight:700;color:var(--charcoal);font-size:.92rem}
.section-key{font-size:.72rem;color:var(--light-gray);margin-top:2px}

/* LEADS */
.lead-detail{font-size:.82rem;color:var(--mid-gray);line-height:1.65;margin-top:5px}
.lead-detail strong{color:var(--charcoal)}

/* DASHBOARD CHARTS PLACEHOLDER */
.chart-placeholder{background:var(--ivory);border-radius:var(--radius);padding:32px;text-align:center;color:var(--light-gray);font-style:italic;font-size:.88rem;border:2px dashed var(--ivory-dk)}

/* EXPORT BTNS */
.export-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* RESPONSIVE */
@media(max-width:768px){
  .admin-sidebar{display:none}
  .admin-sidebar.open{display:flex;position:fixed;z-index:1000;height:100vh}
  .form-row{grid-template-columns:1fr}
  .admin-content{padding:16px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .admin-topbar{padding:10px 16px}
}
