/* Admin panel — reuses tokens from ../../assets/css/style.css (loaded first) */

body{ background:var(--ivory-dim); }

.admin-shell{ display:flex; min-height:100vh; }

.admin-side{
  width:250px; flex-shrink:0; background:var(--navy-deep); color:var(--ivory);
  display:flex; flex-direction:column; position:sticky; top:0; height:100vh;
}
.admin-side__brand{ display:flex; align-items:center; gap:.6rem; padding:1.5rem 1.25rem; border-bottom:1px solid rgba(201,162,39,.2); }
.admin-side__brand svg{ color:var(--gold); }
.admin-side__brand b{ font-family:var(--font-display); font-size:1.15rem; }
.admin-side__brand span{ display:block; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; color:var(--gold-light); text-transform:uppercase; }

.admin-nav{ flex:1; padding:1.25rem .75rem; }
.admin-nav a{
  display:flex; align-items:center; gap:.65rem; padding:.7rem .9rem; border-radius:9px;
  color:rgba(247,244,236,.72); font-weight:600; font-size:.9rem; margin-bottom:.25rem;
  transition:background .15s, color .15s;
}
.admin-nav a:hover{ background:rgba(201,162,39,.12); color:var(--gold-light); }
.admin-nav a.is-active{ background:var(--gold); color:var(--navy-deep); }

.admin-side__foot{ padding:1.1rem; border-top:1px solid rgba(201,162,39,.2); font-size:.82rem; }
.admin-side__foot a{ color:var(--gold-light); font-weight:600; }

.admin-main{ flex:1; min-width:0; }
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem 2rem; background:var(--white); border-bottom:1px solid var(--line-navy);
  position:sticky; top:0; z-index:10;
}
.admin-topbar h1{ font-size:1.3rem; }
.admin-topbar__view a{ font-size:.85rem; font-weight:700; color:var(--navy-deep); border-bottom:2px solid var(--gold); }

.admin-content{ padding:2rem; max-width:980px; }

.admin-cards{ display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); margin-bottom:2rem; }
.admin-card{ background:var(--white); border:1px solid var(--line-navy); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow-card); }
.admin-card b{ display:block; font-family:var(--font-display); font-size:1.9rem; color:var(--navy-deep); }
.admin-card span{ font-size:.85rem; color:var(--slate); }

.admin-panel{ background:var(--white); border:1px solid var(--line-navy); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-card); margin-bottom:1.75rem; }
.admin-panel h2{ font-size:1.15rem; margin-bottom:.35rem; }
.admin-panel > p.hint{ color:var(--slate); font-size:.88rem; margin-bottom:1.5rem; }

.tabs{ display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1.5rem; border-bottom:1px solid var(--line-navy); }
.tabs a{
  padding:.65rem 1.1rem; font-size:.88rem; font-weight:700; color:var(--slate);
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.tabs a.is-active{ color:var(--navy-deep); border-color:var(--gold); }

.price-editor-row{ display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:.75rem; align-items:center; margin-bottom:.75rem; }
.price-editor-row input{ width:100%; padding:.65rem .75rem; border:1.5px solid var(--line-navy); border-radius:8px; background:var(--ivory); font-size:.88rem; }
.price-editor-row input:focus{ outline:none; border-color:var(--gold); background:var(--white); }
.row-remove{
  width:34px; height:34px; border-radius:8px; border:1.5px solid var(--line-navy); background:var(--white);
  color:#9c2b2b; font-weight:700; font-size:1rem; line-height:1;
}
.row-remove:hover{ background:#fbeaea; border-color:#f0c2c2; }
.price-editor-head{ display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:.75rem; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); margin-bottom:.6rem; }

.admin-table{ width:100%; border-collapse:collapse; }
.admin-table th, .admin-table td{ padding:.85rem .9rem; text-align:left; font-size:.87rem; border-bottom:1px solid var(--line-navy); vertical-align:top; }
.admin-table thead th{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); }
.admin-table tbody tr:hover{ background:var(--ivory-dim); }

.login-shell{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--navy-deep); padding:1.5rem; }
.login-card{ width:100%; max-width:380px; background:var(--white); border-radius:var(--radius); padding:2.25rem; box-shadow:var(--shadow-lift); }
.login-card__brand{ display:flex; align-items:center; gap:.6rem; margin-bottom:1.75rem; color:var(--navy-deep); }
.login-card__brand svg{ color:var(--gold); }
.login-card h1{ font-size:1.3rem; margin-bottom:.35rem; }
.login-card p.hint{ color:var(--slate); font-size:.85rem; margin-bottom:1.5rem; }

@media(max-width:820px){
  .admin-shell{ flex-direction:column; }
  .admin-side{ width:100%; height:auto; position:static; flex-direction:row; flex-wrap:wrap; }
  .admin-side__brand{ border:none; }
  .admin-nav{ display:flex; flex-wrap:wrap; padding:.75rem; }
  .admin-nav a{ margin-right:.4rem; }
  .admin-side__foot{ display:none; }
  .admin-content{ padding:1.25rem; }
  .price-editor-row, .price-editor-head{ grid-template-columns:1fr; }
}
