/* ====================================================
   ADMIN — админ-панель + баннер ошибки загрузки
   ==================================================== */

/* ---------- ADMIN ---------- */
#adminPage {
  min-height:100vh;
  padding:40px 0 100px;
}
.admin-tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.admin-tab {
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  cursor:pointer;
  font-family:'Poppins',sans-serif;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:rgba(255,255,255,.02);
}
.admin-tab.active {
  background:var(--orange);
  color:#161513;
  border-color:var(--orange);
  font-weight:700;
}
.admin-section {
  display:none;
}
.admin-section.active {
  display:block;
}
.admin-box {
  padding:32px;
  margin-bottom:24px;
}
.admin-box h3 {
  margin-bottom:6px;
  font-size:18px;
}
.admin-box .hint {
  color:var(--muted);
  font-size:13px;
  margin-bottom:20px;
}
.days-grid {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.day-toggle {
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  cursor:pointer;
  font-family:'Poppins',sans-serif;
  font-size:13px;
}
.day-toggle.active {
  background:var(--orange);
  color:#161513;
  border-color:var(--orange);
  font-weight:700;
}
.admin-row {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.admin-row .field {
  min-width:160px;
}
.booking-item-wrap {
  border-bottom:1px solid var(--line);
}
.booking-item-wrap:last-child {
  border-bottom:none;
}
.booking-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 0;
  flex-wrap:wrap;
  font-size:14px;
}
.booking-item .bi-meta {
  font-family:'Poppins',sans-serif;
  font-size:12px;
  color:var(--muted);
}
.lock-screen {
  max-width:360px;
  margin:120px auto;
  text-align:center;
  padding:40px;
}
.lock-screen input {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:20px 0;
  text-align:center;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  color:var(--white);
  padding:14px 16px;
  border-radius:var(--radius);
  font-family:'Poppins',sans-serif;
  font-size:16px;
}
.lock-screen input:focus {
  outline:none;
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(244,144,30,.15);
}
.lock-screen input::placeholder {
  color:var(--muted);
}
.ed-item {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  margin-bottom:14px;
  background:rgba(255,255,255,.02);
}
#daysGrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  min-width:0;
}
#daysGrid .ed-item {
  margin-bottom:0;
  min-width:0;
}
@media(max-width:640px) {
  #daysGrid {
    grid-template-columns:1fr;
  }
}
.ed-item-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}
.ed-item-head span {
  font-family:'Poppins',sans-serif;
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.ed-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  min-width:0;
}
.ed-grid > div {
  min-width:0;
}
.ed-grid .full {
  grid-column:1/-1;
}
@media(max-width:640px) {
  .ed-grid {
    grid-template-columns:1fr;
  }
}
.ed-grid label {
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:6px;
}
.ed-grid input,.ed-grid textarea {
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  color:var(--white);
  padding:10px 12px;
  border-radius:var(--radius);
  font-family:'Poppins',sans-serif;
  font-size:14px;
}
.ed-grid textarea {
  min-height:140px;
  resize:vertical;
}
.img-upload {
  display:flex;
  align-items:center;
  gap:12px;
}
.img-thumb {
  width:64px;
  height:48px;
  object-fit:cover;
  border-radius:2px;
  border:1px solid var(--line);
  background:#111;
  flex-shrink:0;
}
.img-upload input[type=file] {
  font-size:12px;
  color:var(--muted);
}
.save-bar {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:10px;
}
.save-msg {
  font-family:'Poppins',sans-serif;
  font-size:12px;
  color:var(--orange-light);
}

/* ---------- LOAD ERROR BANNER ---------- */
.load-error {
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(10,11,14,.92);
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.load-error-box {
  max-width:420px;
  text-align:center;
  background:var(--glass-bg-2);
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  padding:36px 30px;
}
.load-error-box b {
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:18px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--orange);
  margin-bottom:12px;
}
.load-error-box p {
  color:var(--muted);
  font-size:14px;
  margin-bottom:22px;
}