:root {
  color-scheme: dark;
  --bg: #0f241b;
  --panel: #173329;
  --line: #4f6d5b;
  --text: #e8ecda;
  --muted: #b7cab4;
  --primary: #7dd38a;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  min-height: 100vh;
  font-family: 'Noto Sans KR', Arial, sans-serif;
  background: radial-gradient(circle at top, #1f4434, var(--bg));
  color: var(--text);
}
.admin-shell {
  width: min(1060px, calc(100% - 24px));
  margin: 20px auto;
  padding: 20px;
  border: 1px solid var(--line);
  background: color-mix(in oklab, var(--panel) 90%, black 10%);
  border-radius: 12px;
}
.admin-head h1 { margin: 0 0 8px; }
.admin-head p { margin-top: 0; color: var(--muted); line-height: 1.6; }
h2 { margin: 22px 0 8px; }
label { display: block; margin: 12px 0; font-size: 14px; color: var(--muted); }
textarea {
  width: 100%;
  margin-top: 6px;
  min-height: 52px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0a1812;
  color: var(--text);
  padding: 10px;
  font-family: 'Noto Sans KR', Arial, sans-serif;
  font-size: 14px;
}
.editor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
.text-item { display: block; }
button {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  color: var(--text);
  background: #1d3a2b;
  cursor: pointer;
}
button:hover { filter: brightness(1.1); }
button.warn { color: #ffd0d0; border-color: #7d3939; background: #3b1818; }
button.primary { background: #2b5d40; border-color: #5b9c64; }
.action-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.status { padding: 10px; border-radius: 8px; background: #122a1f; border: 1px dashed var(--line); min-height: 36px; }
.notice {
  color: #f7d28e;
}
[hidden]{display:none!important}input,select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;margin:8px 0 18px}button{margin:5px 8px 5px 0}details{border:1px solid var(--line);padding:16px;margin:14px 0;border-radius:8px}summary{cursor:pointer;font-weight:bold}details label{display:block;margin:16px 0}.action-row{position:sticky;top:0;background:var(--bg);padding:12px 0;z-index:2}#login-form{max-width:380px}#status{white-space:pre-line;color:#d8cc89;padding:10px 0}section{margin-top:32px}
