:root { --ink:#101a2b; --muted:#657285; --line:#dfe5e8; --soft:#f3f6f2; --blue:#2864dc; --green:#188358; --white:#fff; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:#f5f7f6; font-family:Manrope,ui-sans-serif,system-ui,sans-serif; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:245px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:28px 20px; color:white; background:#101a2b; }
.admin-brand { display:grid; gap:12px; color:white; text-decoration:none; }
.admin-brand img { width:145px; }
.admin-brand span { color:#95a6ba; font-size:.7rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.admin-sidebar nav { display:grid; gap:5px; margin-top:52px; }
.admin-sidebar nav button { padding:12px 13px; border:0; border-radius:6px; color:#b5c1cf; text-align:left; background:transparent; font-size:.82rem; font-weight:650; }
.admin-sidebar nav button:hover,.admin-sidebar nav button.is-active { color:white; background:#22324a; }
.admin-sidebar nav button.is-active { box-shadow:inset 3px 0 #59d79b; }
.view-site { margin-top:auto; padding:13px; border:1px solid rgba(255,255,255,.15); color:#b8c5d2; text-decoration:none; text-align:center; font-size:.75rem; }
.admin-main { min-width:0; }
.admin-topbar { position:sticky; z-index:10; top:0; display:flex; justify-content:space-between; gap:30px; align-items:center; padding:22px 34px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.95); backdrop-filter:blur(12px); }
.admin-topbar p { margin:0 0 4px; color:var(--muted); font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.admin-topbar h1 { margin:0; font-size:1.45rem; }
.admin-actions { display:flex; gap:16px; align-items:center; }
.admin-actions span { max-width:280px; color:var(--muted); font-size:.72rem; text-align:right; }
.admin-actions button,.primary-action { min-height:42px; padding:0 17px; border:0; border-radius:5px; color:white; background:var(--blue); font-size:.78rem; font-weight:780; }
.admin-actions button:disabled { opacity:.45; cursor:not-allowed; }
.admin-notice { margin:24px 34px 0; padding:14px 17px; border:1px solid #efc3c3; color:#8a2828; background:#fff0f0; font-size:.8rem; }
.admin-content { max-width:1180px; padding:34px; }
.section-intro { display:flex; justify-content:space-between; gap:25px; align-items:end; margin-bottom:25px; }
.section-intro h2 { margin:0 0 7px; font-size:1.25rem; }
.section-intro p { max-width:690px; margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.editor-card { padding:22px; border:1px solid var(--line); border-radius:8px; background:white; }
.editor-card.wide { grid-column:1/-1; }
.editor-card summary { display:flex; justify-content:space-between; gap:20px; align-items:center; cursor:pointer; list-style:none; }
.editor-card summary::-webkit-details-marker { display:none; }
.editor-card summary strong { font-size:.93rem; }
.editor-card summary span { color:var(--muted); font-size:.7rem; }
.editor-card[open] summary { padding-bottom:20px; border-bottom:1px solid var(--line); }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:20px; }
.field { display:grid; gap:7px; }
.field.wide { grid-column:1/-1; }
.field span { color:#405064; font-size:.69rem; font-weight:760; }
.field small { color:#8490a0; font-size:.62rem; line-height:1.45; }
.field input,.field textarea { width:100%; padding:11px 12px; border:1px solid #ced7dd; border-radius:5px; color:var(--ink); background:#fbfcfc; outline:none; font-size:.8rem; }
.field textarea { min-height:108px; resize:vertical; line-height:1.55; }
.field input:focus,.field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(40,100,220,.1); }
.item-actions { display:flex; justify-content:flex-end; margin-top:16px; }
.danger { padding:8px 11px; border:1px solid #e3b3b3; color:#9a3030; background:white; font-size:.68rem; }
.navigation-row { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; margin-bottom:12px; }
.navigation-row .danger { height:40px; }
.empty-state { padding:45px; border:1px dashed #bdc8ce; color:var(--muted); text-align:center; background:white; }
.advanced-editor { min-height:560px!important; font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important; font-size:.72rem!important; }
.apply-json { margin-top:12px; }
@media (max-width:850px) {
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { position:static; height:auto; }
  .admin-sidebar nav { grid-template-columns:1fr 1fr; margin-top:25px; }
  .view-site { margin-top:25px; }
  .admin-topbar { position:static; padding:20px; align-items:flex-start; }
  .admin-actions { align-items:flex-end; flex-direction:column; }
  .admin-content { padding:20px; }
  .editor-grid,.fields { grid-template-columns:1fr; }
  .editor-card.wide,.field.wide { grid-column:auto; }
}
@media (max-width:520px) {
  .admin-topbar { flex-direction:column; }
  .admin-actions { width:100%; align-items:stretch; }
  .admin-actions span { max-width:none; text-align:left; }
  .navigation-row { grid-template-columns:1fr; }
}
