/* Admin panel — reutiliza tokens de style.css */
body.admin{background:var(--black-2);}

/* ---- login gate ---- */
.gate{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
}
.gate-box{
  width:100%;max-width:380px;background:var(--black);border:1px solid var(--line);
  border-radius:4px;padding:40px 34px;text-align:center;
}
.gate-box img{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;}
.gate-box h1{font-size:1.3rem;color:var(--cream);margin-bottom:6px;}
.gate-box p{color:var(--muted);font-size:.88rem;margin-bottom:24px;}
.field{text-align:left;margin-bottom:16px;}
.field label{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light);margin-bottom:7px;}
.field input, .field select, .field textarea{
  width:100%;background:var(--black-3);border:1px solid var(--line);color:var(--cream);
  padding:12px 14px;border-radius:3px;font-family:'Jost',sans-serif;font-size:.94rem;
}
.field textarea{resize:vertical;min-height:80px;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--gold);}
.gate-error{color:#e58a8a;font-size:.82rem;margin-top:10px;display:none;}
.gate .btn{width:100%;justify-content:center;margin-top:6px;}

/* ---- admin shell ---- */
.admin-shell{display:none;}
.admin-shell.active{display:block;}
.admin-top{
  position:sticky;top:0;z-index:10;background:rgba(11,9,8,.95);border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);padding:16px 0;
}
.admin-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.admin-top .brand{display:flex;align-items:center;gap:12px;}
.admin-top .brand img{width:38px;height:38px;border-radius:50%;}
.admin-top .brand span{font-family:'Playfair Display',serif;color:var(--cream);font-size:1.05rem;}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap;}
.admin-actions .btn{padding:10px 16px;font-size:.7rem;}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);}

.admin-main{padding:40px 0 100px;}
.banner{
  background:var(--black-3);border:1px solid var(--line);border-left:3px solid var(--gold);
  padding:16px 20px;border-radius:3px;color:var(--muted);font-size:.88rem;margin-bottom:32px;line-height:1.6;
}
.banner strong{color:var(--gold-light);}

.tabs{display:flex;gap:8px;margin-bottom:28px;border-bottom:1px solid var(--line);}
.tab-btn{
  background:none;border:none;color:var(--muted);padding:12px 18px;cursor:pointer;
  font-size:.85rem;letter-spacing:.04em;border-bottom:2px solid transparent;transition:all .2s ease;
}
.tab-btn.active{color:var(--gold-light);border-color:var(--gold);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.panel-card{background:var(--black);border:1px solid var(--line);border-radius:4px;padding:28px;margin-bottom:24px;}
.panel-card h3{color:var(--cream);font-size:1.1rem;margin-bottom:20px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:1/-1;}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap;}
.toolbar h3{color:var(--cream);}

.p-table{width:100%;border-collapse:collapse;}
.p-table th{
  text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light);
  padding:10px 12px;border-bottom:1px solid var(--line);
}
.p-table td{padding:12px;border-bottom:1px solid rgba(201,162,76,.14);vertical-align:middle;font-size:.9rem;color:var(--cream);}
.p-table img{width:46px;height:46px;object-fit:cover;border-radius:3px;}
.p-table .muted{color:var(--muted);}
.row-actions{display:flex;gap:8px;}
.icon-btn{
  background:var(--black-3);border:1px solid var(--line);color:var(--muted);width:32px;height:32px;
  border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.icon-btn:hover{border-color:var(--gold);color:var(--gold-light);}
.icon-btn.danger:hover{border-color:#c0555a;color:#e58a8a;}
.badge{
  font-size:.68rem;padding:4px 9px;border-radius:20px;border:1px solid var(--line);color:var(--muted);
}
.badge.on{color:#8fd19e;border-color:rgba(143,209,158,.4);}
.badge.off{color:#c9a24c;border-color:var(--line);}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-bg.open{display:flex;}
.modal{background:var(--black);border:1px solid var(--line);border-radius:4px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;padding:30px;}
.modal h3{color:var(--cream);margin-bottom:20px;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;}
.img-preview{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:1px solid var(--line);margin-top:10px;background:var(--black-3);}
.toggle-row{display:flex;align-items:center;gap:10px;}
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--gold);color:#141009;padding:13px 22px;border-radius:4px;font-size:.88rem;
  opacity:0;pointer-events:none;transition:all .3s ease;z-index:300;font-weight:500;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media (max-width:720px){
  .form-grid{grid-template-columns:1fr;}
  .p-table{display:block;overflow-x:auto;white-space:nowrap;}
}
