.admin-body { min-height: 100vh; background: var(--paper); }
.admin-header { width: min(1240px, calc(100% - 72px)); min-height: 88px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.admin-header nav { display: flex; gap: 22px; }
.admin-header nav a { color: var(--muted); text-decoration: none; border-bottom: 1px solid var(--line); font-size: .82rem; }
.admin-main, .login-shell { width: min(1240px, calc(100% - 72px)); margin-inline: auto; }
.admin-intro { padding: 78px 0 56px; border-bottom: 1px solid var(--line); }
.admin-intro h1 { font-size: clamp(3.7rem, 8vw, 7.5rem); }
.admin-intro p:last-child { color: var(--muted); font-family: var(--serif); font-size: 1.3rem; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(310px, .6fr); gap: 54px; align-items: start; padding: 64px 0; }
.admin-card, .login-card { padding: clamp(28px, 4vw, 48px); background: var(--white); border: 1px solid var(--line); box-shadow: 0 18px 54px rgba(7,22,38,.055); }
.admin-card h2, .login-card h1 { margin: 0 0 30px; font-size: clamp(2rem, 4vw, 3.15rem); }
.admin-card label, .login-card label { display: grid; gap: 8px; margin-bottom: 20px; color: #536474; text-transform: uppercase; letter-spacing: .11em; font-size: .75rem; font-weight: 700; }
.admin-card input, .admin-card textarea, .admin-card select, .login-card input { width: 100%; padding: 13px 14px; color: var(--ink); background: var(--paper); border: 1px solid rgba(18,40,61,.22); border-radius: 0; font: 400 .96rem/1.55 var(--sans); text-transform: none; letter-spacing: 0; }
.admin-card input:focus, .admin-card textarea:focus, .admin-card select:focus, .login-card input:focus { outline: 2px solid rgba(187,147,70,.25); border-color: var(--gold); }
.admin-card textarea { resize: vertical; }
.article-editor-text { min-height: 420px; font-family: var(--serif) !important; font-size: 1.08rem !important; }
.admin-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: end; }
.admin-card button, .login-card button { min-height: 48px; padding: 0 21px; color: var(--white); background: var(--navy); border: 0; cursor: pointer; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }
.admin-list-item { padding: 24px 0; border-bottom: 1px solid var(--line); }
.admin-list-item > span, .inquiry-admin-item > div { color: #765c25; text-transform: uppercase; letter-spacing: .09em; font-size: .72rem; }
.admin-list-item h3 { margin: 8px 0; font-size: 1.28rem; }
.admin-actions { display: flex; align-items: center; gap: 16px; margin-top: 15px; }
.admin-actions form { margin-left: auto; }
.admin-actions a, .admin-actions button { min-height: auto; padding: 0; color: var(--muted); background: transparent; border: 0; border-bottom: 1px solid var(--line); text-decoration: none; text-transform: none; letter-spacing: 0; font-size: .78rem; }
.admin-message { margin: 30px 0 0; padding: 14px 18px; color: var(--ink); background: var(--ivory); border-left: 3px solid var(--gold); }
.admin-message.is-error { border-left-color: #a34f48; }
.inquiry-box { margin-bottom: 100px; }
.admin-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.admin-section-head h2 { margin-bottom: 0; }
.admin-section-head > span { color: var(--muted); font-size: .8rem; }
.inquiry-admin-item { padding: 30px 0; border-bottom: 1px solid var(--line); }
.inquiry-admin-item > div { display: flex; justify-content: space-between; gap: 20px; }
.inquiry-admin-item h3 { margin: 12px 0 0; font-size: 1.55rem; }
.inquiry-admin-item small { color: var(--muted); }
.inquiry-admin-item > p { max-width: 850px; color: #45596b; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(250px,.7fr) minmax(360px,.55fr); gap: 70px; align-items: center; }
.login-card { width: 100%; }

@media (max-width: 900px) {
  .admin-grid, .login-shell { grid-template-columns: 1fr; }
  .login-shell { padding: 55px 0; }
}

@media (max-width: 620px) {
  .admin-header, .admin-main, .login-shell { width: calc(100% - 32px); }
  .admin-header .brand-field { display: none; }
  .admin-header nav { gap: 12px; }
  .admin-form-row { grid-template-columns: 1fr; gap: 0; }
  .admin-section-head, .inquiry-admin-item > div { align-items: flex-start; flex-direction: column; }
}
