.admin-page{
  min-height:100%;
  background:
    radial-gradient(900px 420px at 50% -140px, rgba(13,59,46,.75), transparent 70%),
    var(--black);
}
[hidden]{ display:none !important }
.admin-topbar{ position:sticky; top:0; z-index:50; background:rgba(13,59,46,.96); border-bottom:2px solid var(--red); backdrop-filter:blur(10px) }
.admin-topbar__inner{ min-height:72px; display:flex; align-items:center; gap:18px; padding-block:12px }
.admin-topbar h1{ margin:0; font-size:clamp(1.25rem,3vw,1.65rem) }
.admin-kicker{ margin:0 0 3px; color:rgba(255,255,255,.68); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem }
.admin-back{ color:var(--white); text-decoration:none; background:var(--red); border-radius:12px; padding:9px 12px; font-weight:700 }
.admin-main{ padding-block:clamp(24px,5vw,52px) }
.admin-panel{ max-width:1040px; margin:auto; padding:clamp(20px,4vw,34px); background:linear-gradient(180deg,#113328,#0b1f19); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); box-shadow:var(--shadow) }
.admin-panel h2{ margin:.1rem 0 .35rem; font-size:clamp(1.45rem,4vw,2rem) }
.admin-login{ max-width:520px }
.admin-form{ display:grid; gap:16px; margin-top:24px }
.admin-form label,.admin-search,.admin-cover{ display:grid; gap:7px; color:rgba(255,255,255,.82); font-weight:650; font-size:.92rem }
.admin-form input,.admin-tools input,.admin-price{
  width:100%; min-height:48px; border:1px solid rgba(255,255,255,.16); border-radius:12px;
  background:#071712; color:var(--white); padding:10px 12px; font:inherit;
}
.admin-form input:focus,.admin-tools input:focus,.admin-price:focus{ outline:3px solid rgba(213,48,48,.48); border-color:var(--red) }
.admin-primary,.admin-secondary{
  min-height:46px; border:0; border-radius:12px; padding:10px 16px; color:var(--white); font:inherit; font-weight:750; cursor:pointer;
}
.admin-primary{ background:var(--red); box-shadow:0 5px 14px rgba(213,48,48,.25) }
.admin-secondary{ background:#173d31; border:1px solid rgba(255,255,255,.14) }
.admin-primary:disabled{ opacity:.6; cursor:wait }
.admin-message{ min-height:1.4em; margin:12px 0 0; color:rgba(255,255,255,.78) }
.admin-message--error{ color:#ff9e9e }
.admin-message--success{ color:#9ce0b7 }
.admin-editor-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px }
.admin-tools{ display:grid; gap:14px; margin:24px 0 }
.admin-catalog{ display:grid; gap:18px }
.admin-section{ margin:0; border:1px solid rgba(255,255,255,.09); border-radius:15px; padding:14px; background:rgba(0,0,0,.16) }
.admin-section legend{ padding:0 8px; font-weight:800; font-size:1.05rem }
.admin-group-title{ margin:12px 4px 7px; color:rgba(255,255,255,.68); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em }
.admin-items{ display:grid; gap:8px }
.admin-item{ display:grid; grid-template-columns:minmax(0,1fr) 104px; align-items:center; gap:14px; padding:10px; border-radius:12px; background:rgba(255,255,255,.035) }
.admin-item__name{ min-width:0 }
.admin-item__name strong{ display:block; overflow-wrap:anywhere }
.admin-item__name span{ display:block; margin-top:2px; color:rgba(255,255,255,.62); font-size:.82rem }
.admin-price{ min-height:42px; text-align:right }
.admin-savebar{
  position:sticky; bottom:0; z-index:20; display:flex; align-items:center; justify-content:flex-end; gap:18px;
  margin:24px -10px -10px; padding:12px; background:rgba(7,23,18,.95); border:1px solid rgba(255,255,255,.09);
  border-radius:14px; backdrop-filter:blur(10px);
}
.admin-savebar .admin-message{ margin:0; margin-right:auto }
@media (min-width:720px){
  .admin-tools{ grid-template-columns:minmax(0,1fr) 180px; align-items:end }
  .admin-items{ grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width:520px){
  .admin-panel{ padding:18px 14px }
  .admin-item{ grid-template-columns:minmax(0,1fr) 88px; gap:8px; padding:9px 7px }
  .admin-savebar{ flex-direction:column; align-items:stretch }
  .admin-savebar .admin-message{ margin-right:0 }
}
