/* 07-admin.css — panel de administracion, panel lateral de edicion y toast */
/* ============ ADMIN ============ */
.admin-wrap{padding:calc(var(--nav-h) + 3rem) 0 5rem;min-height:100vh}
.login-card{max-width:430px;margin:8vh auto 0;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:2.4rem;position:relative;overflow:hidden}
.login-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}
.login-card h1{font-size:1.4rem;margin:1rem 0 .4rem}
.login-card .hint{font-family:var(--fm);font-size:.7rem;color:var(--ink-faint);letter-spacing:.08em;margin-top:1.4rem;border:1px dashed var(--line);border-radius:8px;padding:.6rem .8rem}
.field{margin-bottom:1.1rem;min-width:0}
.field label{display:block;font-family:var(--fm);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.45rem}
.field input,.field select,.field textarea{width:100%;background:rgba(3,18,25,.6);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:.75rem .9rem;font:inherit;font-size:.92rem;transition:border-color .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.field textarea{resize:vertical;min-height:90px}
.ad-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.4rem}
.ad-head h1{font-size:clamp(1.4rem,3vw,2rem)}
.ad-badge{font-family:var(--fm);font-size:.64rem;letter-spacing:.14em;color:var(--green);border:1px solid rgba(60,232,158,.4);border-radius:999px;padding:.35rem .8rem;text-transform:uppercase;display:inline-flex;gap:.5rem;align-items:center}
.ad-badge i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.ad-stats{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.8rem}
.ad-stat{border:1px solid var(--line-soft);border-radius:10px;background:rgba(6,36,46,.4);padding:.8rem 1.2rem;display:flex;align-items:baseline;gap:.7rem}
.ad-stat b{font-family:var(--fd);font-size:1.3rem;color:var(--green)}
.ad-stat span{font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.ad-layout{display:grid;grid-template-columns:230px 1fr;gap:2rem;align-items:start}
.ad-tabs{border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;position:sticky;top:calc(var(--nav-h) + 1rem)}
.ad-tabs button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:.6rem;padding:1rem 1.2rem;font-family:var(--fm);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--line-soft);transition:background .3s,color .3s}
.ad-tabs button:last-child{border-bottom:none}
.ad-tabs button.on{background:var(--green-soft);color:var(--green)}
.ad-tabs button:hover{color:var(--ink)}
.ad-tabs button span{font-size:.62rem;color:var(--ink-faint)}
.ad-tabs button.on span{color:var(--green)}
.ad-panel{border:1px solid var(--line-soft);border-radius:var(--r);background:rgba(6,36,46,.35);padding:1.6rem;min-width:0}
.ad-panel-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.ad-panel-top h2{font-size:1.1rem}
.ad-row{display:grid;grid-template-columns:64px 1fr auto auto;gap:1rem;align-items:center;padding:.8rem;border:1px solid var(--line-soft);border-radius:10px;margin-bottom:.7rem;background:rgba(3,18,25,.45);min-width:0;transition:border-color .3s,transform .3s var(--ease)}
.ad-row:hover{border-color:rgba(60,232,158,.3);transform:translateX(4px)}
.ad-row img{width:64px;height:44px;object-fit:cover;border-radius:6px}
.ad-row .t{min-width:0}
.ad-row .t b{display:block;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-row .t span{font-family:var(--fm);font-size:.62rem;color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase}
.pill{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px;border:1px solid}
.pill.pub{color:var(--green);border-color:rgba(60,232,158,.45)}
.pill.draft{color:var(--ink-faint);border-color:var(--line)}
.ad-act{display:flex;gap:.5rem}
.ad-act button{font-family:var(--fm);font-size:.66rem;letter-spacing:.1em;padding:.4rem .7rem;border:1px solid var(--line);border-radius:8px;color:var(--ink-dim);transition:all .3s}
.ad-act button:hover{color:var(--green);border-color:var(--green)}
.ad-act button.del:hover{color:#ff7a7a;border-color:#ff7a7a}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.media-item{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:rgba(3,18,25,.5);transition:border-color .3s,transform .3s var(--ease)}
.media-item:hover{border-color:rgba(60,232,158,.35);transform:translateY(-3px)}
.media-item img{aspect-ratio:4/3;object-fit:cover;width:100%}
.media-item button{width:100%;font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;padding:.5rem;color:var(--ink-dim)}
.media-item button:hover{color:var(--green)}
.sys-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.sys-row:last-of-type{border-bottom:none}
.sys-row .k{font-family:var(--fm);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.sys-row .v{font-family:var(--fm);font-size:.78rem;color:var(--ink)}
.sys-row .v.ok{color:var(--green)}
/* drawer */
#backdrop{position:fixed;inset:0;background:rgba(3,16,22,.62);backdrop-filter:blur(3px);z-index:135;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
#backdrop.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--bg1);border-left:1px solid var(--line);z-index:140;padding:2rem;overflow-y:auto;transform:translateX(102%);transition:transform .5s var(--ease)}
.drawer.open{transform:none}
.drawer h2{font-size:1.15rem;margin-bottom:1.6rem}
.drawer .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.drawer-actions{display:flex;gap:.8rem;margin-top:1.6rem}
.ed-prev{margin-top:.5rem;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;max-width:200px}
.ed-prev img{aspect-ratio:16/10;object-fit:cover;width:100%}
.switch{display:inline-flex;align-items:center;gap:.7rem;cursor:pointer}
.switch input{position:absolute;opacity:0}
.switch i{width:42px;height:24px;border-radius:999px;background:rgba(242,237,225,.15);position:relative;transition:background .3s;flex:none}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--ink);transition:transform .3s var(--ease),background .3s}
.switch input:checked+i{background:var(--green-dim)}
.switch input:checked+i::after{transform:translateX(18px);background:#04241a}
.switch span{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
/* toast */
#toast{position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%,140%);z-index:400;background:var(--bg1);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px;padding:.85rem 1.3rem;font-family:var(--fm);font-size:.76rem;letter-spacing:.06em;transition:transform .5s var(--ease);max-width:92vw}
#toast.show{transform:translate(-50%,0)}
/* reveal */
[data-reveal]{opacity:0;transform:translateY(26px)}
html.rm [data-reveal]{opacity:1;transform:none}
/* empty state */
.grid-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:var(--r);padding:3.5rem 2rem;text-align:center;color:var(--ink-faint);font-family:var(--fm);font-size:.8rem;letter-spacing:.12em}
.grid-empty b{color:var(--green);font-weight:500}

/* ---- AVISO DE CAMBIOS SIN PUBLICAR ---- */
.ad-alerta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;margin-bottom:1.6rem;padding:1rem 1.2rem;border:1px solid rgba(255,209,102,.4);border-left:3px solid #ffd166;border-radius:var(--r);background:rgba(255,209,102,.07)}
.ad-alerta b{color:#ffd166}
.ad-alerta span{color:var(--ink-dim);font-size:.88rem;flex:1 1 320px;min-width:0}
.ad-alerta .btn{flex:0 0 auto}
.ad-badge.warn{border-color:rgba(255,209,102,.45);color:#ffd166}
.ad-badge.warn i{background:#ffd166}

/* ---- NOTA EXPLICATIVA DEL PANEL SISTEMA ---- */
.sys-nota{padding:1.1rem 1.2rem;margin-bottom:1.2rem;border:1px solid var(--line-soft);border-radius:var(--r);background:rgba(7,48,60,.35)}
.sys-nota h3{font-size:.95rem;margin-bottom:.4rem}
.sys-nota p{color:var(--ink-dim);font-size:.88rem;line-height:1.6}
.sys-nota code,.sys-row code{font-family:var(--fm);font-size:.82em;padding:.1rem .35rem;border-radius:5px;background:rgba(242,237,225,.09);color:var(--green)}
