:root { --bg:#f2f4f3; --surface:#fff; --text:#17211b; --muted:#667169; --line:#dce3de; --green:#147943; --green-dark:#0d5931; --red:#aa3232; --radius:14px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif; line-height:1.5; }
.wrap { width:min(1100px,calc(100% - 32px)); margin-inline:auto; }
.admin-header { background:#172a20; color:#fff; padding:30px 0; }
.admin-header .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.admin-header h1 { margin:3px 0 0; font-size:1.6rem; }
.eyebrow,.section-no { margin:0; color:#65d99a; font-size:.72rem; font-weight:800; letter-spacing:.13em; }
nav { display:flex; align-items:center; gap:14px; }
nav a { color:#dbe9e0; font-size:.9rem; text-decoration:none; }
nav form { margin:0; }
.admin-main { padding:28px 0 64px; }
.panel,.guide { margin-bottom:20px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.panel-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.panel h2,.guide h2 { margin:3px 0 0; font-size:1.25rem; }
.section-no { color:var(--green); }
.count { color:var(--muted); font-size:.85rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid.compact { grid-template-columns:repeat(3,1fr); }
.full { grid-column:1/-1; }
label span { display:block; margin-bottom:6px; color:var(--muted); font-size:.8rem; font-weight:700; }
input,textarea,select,button,.button { width:100%; border:1px solid #cbd5ce; border-radius:9px; background:#fff; color:var(--text); font:inherit; padding:10px 12px; }
input:focus,textarea:focus { outline:3px solid rgba(20,121,67,.13); border-color:var(--green); }
button,.button { width:auto; background:var(--green); border-color:var(--green); color:#fff; font-weight:800; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover { background:var(--green-dark); }
.ghost { background:transparent; color:inherit; border-color:#aebbb3; }
.admin-header .ghost { border-color:#536c5e; }
.check { display:flex; align-items:center; gap:8px; }
.check input { width:18px; height:18px; }
.check span { margin:0; }
.actions,.action-list,.row-actions { display:flex; align-items:center; gap:10px; }
.actions form,.action-list form,.row-actions form { margin:0; }
.alert { margin-bottom:16px; padding:12px 15px; border-radius:9px; font-size:.9rem; }
.alert.success { background:#e6f6ec; color:#155d34; }
.alert.error { background:#fff0f0; color:#8a2828; border:1px solid #f0caca; }
.table-wrap { overflow-x:auto; margin-top:24px; }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th,td { padding:13px 10px; border-bottom:1px solid var(--line); text-align:left; }
th { color:var(--muted); font-size:.75rem; }
td small { display:block; color:var(--muted); }
.status { padding:3px 8px; border-radius:99px; font-size:.75rem; font-weight:700; }
.status.on { color:#146039; background:#e5f6eb; }
.status.off { color:#777; background:#eee; }
.row-actions a,.text-danger { width:auto; padding:0; border:0; background:none; color:var(--green); font-size:.85rem; text-decoration:none; font-weight:700; }
.text-danger { color:var(--red); }
.empty-row { text-align:center; color:var(--muted); padding:30px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.stats div { padding:16px; background:#f5f8f6; border-radius:10px; }
.stats span { display:block; color:var(--muted); font-size:.75rem; }
.stats strong { display:block; margin-top:5px; font-size:1.05rem; }
.results { list-style:none; padding:0; border-top:1px solid var(--line); }
.results li { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.danger-zone { border-color:#ebd2d2; }
button.danger { background:var(--red); border-color:var(--red); }
.guide { background:#e8eeea; color:#405047; font-size:.88rem; }
.guide li { margin:8px 0; }
code { word-break:break-all; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:#e9efeb; }
.login-card { width:min(420px,100%); padding:34px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 20px 60px rgba(23,42,32,.12); }
.login-card h1 { margin:8px 0 24px; }
.login-card label { display:block; margin-bottom:14px; }
.login-card button { width:100%; margin-top:8px; }
.help { color:var(--muted); font-size:.8rem; }
.back-link { display:block; margin-top:20px; text-align:center; color:var(--muted); font-size:.85rem; }
@media(max-width:760px) {
    .admin-header .wrap { align-items:flex-start; flex-direction:column; }
    .form-grid,.form-grid.compact,.stats { grid-template-columns:1fr; }
    .full { grid-column:auto; }
    .panel { padding:18px; }
    .action-list { align-items:stretch; flex-direction:column; }
    .action-list button { width:100%; }
}
