/* Dragon Bay admin — dashboard chrome (uses tokens from styles.css) */

body.admin-body{
  background:var(--sand);
  min-height:100vh;
}

/* ---------- Login screen ---------- */
.login-screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.login-card{
  background:#fff;
  border-radius:var(--radius);
  padding:44px 40px;
  max-width:380px;
  width:100%;
  box-shadow:0 20px 50px -20px rgba(14,43,43,0.3);
  text-align:center;
}
.login-card h1{font-size:24px;margin-bottom:8px;}
.login-card p{color:var(--ink-soft);font-size:14px;margin-bottom:24px;}
.login-card input[type="password"]{
  width:100%;
  padding:13px 16px;
  border-radius:10px;
  border:1px solid rgba(14,43,43,0.18);
  font-size:15px;
  margin-bottom:14px;
}
.login-card .btn{width:100%;justify-content:center;}
.login-error{color:var(--coral-dark);font-size:13px;margin-top:10px;min-height:18px;}

/* ---------- Dashboard shell ---------- */
.admin-shell{display:none;}
.admin-shell.visible{display:block;}

.admin-topbar{
  background:var(--sea-deep);
  color:#fff;
  padding:18px clamp(20px,4vw,48px);
  display:flex;align-items:center;justify-content:space-between;
}
.admin-topbar .brand{font-family:"Fraunces", serif;font-size:18px;font-weight:600;}
.admin-topbar a.view-site{color:rgba(255,255,255,0.8);font-size:13px;text-decoration:none;}
.admin-topbar a.view-site:hover{color:#fff;}

.admin-tabs{
  display:flex;gap:4px;flex-wrap:wrap;
  padding:16px clamp(20px,4vw,48px) 0;
  background:var(--sand);
  border-bottom:1px solid rgba(14,43,43,0.1);
}
.admin-tab{
  padding:11px 18px;
  border-radius:10px 10px 0 0;
  font-size:14px;font-weight:500;
  color:var(--ink-soft);
  cursor:pointer;
  border:none;background:transparent;
}
.admin-tab.active{background:#fff;color:var(--ink);font-weight:600;}

.admin-main{
  padding:32px clamp(20px,4vw,48px) 80px;
  max-width:1000px;
  margin:0 auto;
}
.admin-panel{display:none;}
.admin-panel.active{display:block;}

.admin-card{
  background:#fff;
  border-radius:var(--radius);
  padding:26px 28px;
  margin-bottom:22px;
  box-shadow:0 1px 3px rgba(14,43,43,0.08);
}
.admin-card h2{font-size:18px;margin-bottom:4px;}
.admin-card .card-sub{color:var(--ink-soft);font-size:13px;margin-bottom:18px;}

.field-row{margin-bottom:16px;}
.field-row:last-child{margin-bottom:0;}
.field-row label{
  display:block;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.field-row input[type="text"],
.field-row input[type="number"],
.field-row textarea{
  width:100%;
  padding:11px 13px;
  border-radius:8px;
  border:1px solid rgba(14,43,43,0.18);
  font-size:14px;
  font-family:inherit;
  color:var(--ink);
  background:#fff;
}
.field-row textarea{min-height:88px;resize:vertical;}
.field-row input:focus,.field-row textarea:focus{outline:2px solid var(--sea-light);outline-offset:1px;}
.field-inline{display:flex;align-items:center;gap:10px;}
.field-inline label{margin:0;}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:640px){.two-col{grid-template-columns:1fr;}}

.photo-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.photo-preview{
  width:140px;height:100px;
  border-radius:8px;
  background:var(--sand-dim);
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--ink-soft);
  flex-shrink:0;
}
.photo-controls{display:flex;flex-direction:column;gap:8px;}
.photo-controls input[type="file"]{font-size:13px;}

.card-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
.btn-sm{padding:9px 16px;font-size:13px;}
.btn-danger{background:transparent;color:var(--coral-dark);border:1px solid var(--coral-dark);}
.btn-danger:hover{background:var(--coral-dark);color:#fff;}

.item-list{display:flex;flex-direction:column;gap:16px;}
.item-edit-card{border:1px solid rgba(14,43,43,0.1);border-radius:12px;padding:20px;}
.item-edit-card.inactive{opacity:0.55;}

.status-line{font-size:13px;margin-top:10px;min-height:16px;}
.status-line.ok{color:var(--sea);}
.status-line.err{color:var(--coral-dark);}

.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px,1fr));gap:14px;}
.gallery-admin-item{position:relative;border-radius:10px;overflow:hidden;background:var(--sand-dim);aspect-ratio:1;background-size:cover;background-position:center;}
.gallery-admin-item .g-delete{
  position:absolute;top:6px;right:6px;
  background:rgba(14,43,43,0.75);color:#fff;border:none;
  width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;
}
.gallery-admin-item .g-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
  color:#fff;font-size:11px;padding:14px 8px 6px;
}

.theme-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px,1fr));gap:14px;margin-top:4px;}
.theme-option{
  position:relative;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
  border-radius:12px;
  border:2px solid rgba(14,43,43,0.12);
  background:#fff;
  cursor:pointer;
  font-family:inherit;
  transition:border-color 0.15s ease, transform 0.15s ease;
}
.theme-option:hover{border-color:var(--sea-light);}
.theme-option.active{border-color:var(--sea);}
.theme-option:disabled{opacity:0.6;cursor:default;}
.theme-swatches{display:flex;gap:6px;}
.theme-swatches span{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(14,43,43,0.15);}
.theme-option-label{font-size:15px;font-weight:600;color:var(--ink);}
.theme-option-desc{font-size:12.5px;line-height:1.5;color:var(--ink-soft);}
.theme-active-badge{
  position:absolute;top:14px;right:14px;
  background:var(--sea);color:#fff;
  font-size:10px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;
}

.release-entry .release-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.release-badge{
  flex-shrink:0;
  background:var(--sea-deep);
  color:#fff;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.02em;
  padding:5px 12px;
  border-radius:999px;
}
.release-entry h2{margin-bottom:2px;}
.release-date{font-size:12px;color:var(--ink-soft);}
.release-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.release-list li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.55;
  color:var(--ink-soft);
}
.release-list li::before{
  content:"";
  position:absolute;
  left:2px;top:8px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--coral);
}

.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--ink);color:#fff;
  padding:12px 22px;border-radius:999px;
  font-size:13px;
  opacity:0;pointer-events:none;
  transition:opacity 0.2s ease;
  z-index:100;
}
.toast.show{opacity:1;}
.toast.error{background:var(--coral-dark);}
