/* 신청서 랜딩페이지 & 관리자 페이지 공용 스타일 - 디자인 확정안(옵션 A: 다크 네이비 + 골드) */
:root{
  --bg: #16222f;
  --panel: #1c2a3a;
  --panel-2: #24344a;
  --line: #3a4a60;
  --ink: #f2f3f5;
  --ink-dim: #b8c0cc;
  --gold: #d4b04a;
  --gold-2: #b8964a;
}
*{ box-sizing: border-box; }
body{ margin:0; background:var(--bg); font-family:'Noto Sans KR', system-ui, sans-serif; color:var(--ink); }
a{ color:var(--gold); }
::selection{ background: var(--gold); color:#1a1408; }

.wrap{ display:flex; flex-direction:column; align-items:center; width:100%; padding:64px 20px 96px; }
.header{ width:100%; max-width:640px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; margin-bottom:40px; }
.kicker{ display:flex; align-items:center; gap:10px; }
.kicker span{ font-size:13px; letter-spacing:0.3em; color:var(--gold); font-weight:500; }
h1{ font-family:'Song Myung', serif; font-size:30px; line-height:1.4; margin:6px 0 0; color:var(--ink); font-weight:400; }
.rule{ width:48px; height:1px; background:var(--gold); margin-top:8px; }

.notice{ width:100%; max-width:640px; background:var(--panel-2); border:1px solid var(--line); border-left:2px solid var(--gold); border-radius:2px; padding:22px 26px; margin-bottom:36px; }
.notice-title{ font-size:13px; font-weight:700; color:var(--gold); letter-spacing:0.08em; margin-bottom:10px; }
.notice-body{ font-size:13.5px; line-height:1.9; color:var(--ink-dim); white-space:pre-line; }

form{ width:100%; max-width:640px; }
.card{ background:var(--panel); border:1px solid var(--line); border-radius:3px; overflow:hidden; }
.field{ padding:22px 26px; border-bottom:1px solid var(--line); }
.field-label{ font-size:14.5px; font-weight:600; color:var(--ink); margin-bottom:4px; display:flex; gap:8px; }
.field-num{ color:var(--gold); font-family:'Song Myung', serif; min-width:26px; }
.req{ color:var(--gold); }
.note{ font-size:12px; color:var(--ink-dim); white-space:pre-line; margin:6px 0 10px; padding-left:34px; opacity:0.85; }

input[type="text"], textarea{ width:100%; margin-top:8px; background:var(--bg); border:1px solid var(--line); border-radius:2px; color:var(--ink); font-family:'Noto Sans KR', sans-serif; font-size:13.5px; padding:11px 12px; outline:none; }
textarea{ resize:vertical; min-height:70px; }
input[type="text"]:focus, textarea:focus{ border-color:var(--gold); }
input[type="text"]::placeholder, textarea::placeholder{ color:#6b7788; }
.char-count{ font-size:11px; color:var(--ink-dim); text-align:right; margin-top:4px; }

.pills{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pill-input{ position:absolute; opacity:0; width:0; height:0; }
.pill{ display:inline-block; padding:8px 16px; border:1px solid var(--line); border-radius:20px; font-size:13px; color:var(--ink-dim); background:var(--panel-2); cursor:pointer; transition:background .15s ease,color .15s ease,border-color .15s ease; }
.pill-input:checked + .pill{ background:var(--gold); border-color:var(--gold); color:#1a1408; font-weight:600; }
.pill-input:focus-visible + .pill{ outline:2px solid var(--gold); outline-offset:2px; }

.other-input{ display:none; width:100%; margin-top:10px; background:var(--bg); border:1px solid var(--gold); border-radius:2px; color:var(--ink); font-family:'Noto Sans KR', sans-serif; font-size:13.5px; padding:11px 12px; outline:none; }
.other-input.show{ display:block; }

button[type="submit"]{ width:100%; margin-top:28px; padding:17px; background:linear-gradient(180deg, var(--gold), var(--gold-2)); border:none; border-radius:2px; color:#1a1408; font-size:15px; font-weight:700; letter-spacing:0.05em; cursor:pointer; font-family:'Noto Sans KR', sans-serif; }
button[type="submit"]:disabled{ opacity:0.6; cursor:default; }

.status{ width:100%; max-width:640px; margin-top:16px; font-size:13px; text-align:center; color:var(--ink-dim); min-height:18px; }
.status.ok{ color:#8fcf8f; }
.status.err{ color:#e08a8a; }

.admin-entry{ width:100%; max-width:640px; display:flex; justify-content:center; margin-top:56px; }
.admin-entry a{ font-size:10px; color:var(--line); text-decoration:none; letter-spacing:0.05em; }

/* ---- 관리자 페이지 전용 ---- */
.admin-shell{ display:flex; flex-direction:column; align-items:center; padding:48px 20px 96px; }
.login-box{ width:100%; max-width:360px; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:32px; display:flex; flex-direction:column; gap:14px; }
.login-box h2{ font-family:'Song Myung', serif; font-weight:400; margin:0 0 6px; font-size:20px; }
.login-box input{ width:100%; background:var(--bg); border:1px solid var(--line); border-radius:2px; color:var(--ink); font-size:14px; padding:11px 12px; }
.login-box button{ padding:12px; background:var(--gold); border:none; border-radius:2px; color:#1a1408; font-weight:700; cursor:pointer; }
.login-err{ font-size:12.5px; color:#e08a8a; min-height:16px; }

.admin-grid{ width:100%; max-width:1180px; display:grid; grid-template-columns: 1fr 480px; gap:24px; align-items:start; }
@media (max-width: 980px){ .admin-grid{ grid-template-columns: 1fr; } }

.editor-panel{ background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:24px; }
.editor-panel h2{ font-family:'Song Myung', serif; font-weight:400; font-size:20px; margin:0 0 18px; }
.editor-section{ margin-bottom:28px; }
.editor-section h3{ font-size:13px; letter-spacing:0.05em; color:var(--gold); margin:0 0 10px; text-transform:uppercase; }
.editor-row{ margin-bottom:10px; }
.editor-row label{ display:block; font-size:12px; color:var(--ink-dim); margin-bottom:4px; }
.editor-row input[type="text"], .editor-row textarea, .editor-row select, .editor-row input[type="number"]{
  width:100%; background:var(--bg); border:1px solid var(--line); border-radius:3px; color:var(--ink); font-size:13px; padding:8px 10px; font-family:inherit;
}
.editor-row textarea{ min-height:56px; resize:vertical; }
.field-card{ border:1px solid var(--line); border-radius:5px; padding:16px; margin-bottom:14px; background:var(--panel-2); }
.field-card-title{ font-size:13px; font-weight:700; color:var(--ink); margin-bottom:10px; display:flex; gap:8px; align-items:center; }
.field-card-title .n{ color:var(--gold); }
.checkbox-row{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-dim); margin-top:8px; }

.preview-panel{ position:sticky; top:20px; background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:16px; max-height:88vh; overflow:auto; }
.preview-panel .wrap{ padding:24px 12px; }
.preview-label{ font-size:11px; letter-spacing:0.1em; color:var(--gold); margin-bottom:10px; text-transform:uppercase; }

.toolbar{ width:100%; max-width:1180px; display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.toolbar h1{ font-size:20px; margin:0; }
.publish-btn{ padding:11px 22px; background:var(--gold); border:none; border-radius:3px; color:#1a1408; font-weight:700; cursor:pointer; font-size:13.5px; }
.publish-btn:disabled{ opacity:0.5; cursor:default; }
.publish-status{ font-size:12.5px; color:var(--ink-dim); margin-left:12px; }
.publish-status.ok{ color:#8fcf8f; }
.publish-status.err{ color:#e08a8a; }

.btn-ghost-admin{ padding:10px 16px; background:transparent; border:1px solid var(--line); border-radius:3px; color:var(--ink-dim); cursor:pointer; font-size:13px; font-family:inherit; margin-left:8px; }
.btn-ghost-admin:hover{ border-color:var(--gold); color:var(--gold); }
