.admin-body { background: #eef3f5; }
.admin-shell { max-width: 980px; margin: 0 auto; padding: 24px clamp(14px,4vw,32px) 48px; display: grid; gap: 18px; }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: clamp(18px,3vw,28px); box-shadow: var(--shadow); }
.admin-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 12px; }
.admin-form { display: grid; gap: 18px; }
.admin-form fieldset { margin: 0; border: 1px solid var(--line); border-radius: 10px; padding: 16px; }
.admin-form legend { padding: 0 8px; font-weight: 900; color: var(--blue); }
.admin-form label { display: grid; gap: 7px; font-weight: 800; color: #33444d; }
.admin-form input, .admin-form textarea, .admin-form select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfd; }
.admin-form textarea { min-height: 90px; resize: vertical; }
.two-grid, .three-grid { display: grid; gap: 12px; }
.two-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.three-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.post-rows, .custom-sections, .important-link-rows { display: grid; gap: 10px; margin-bottom: 10px; }
.post-card {
  border: 1px solid #d7e1ea;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
  background: #fff;
}
.post-card-grid {
  display: grid;
  grid-template-columns: 80px 220px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.detail-table-wrap { overflow-x: auto; }
.detail-table { width: 100%; border-collapse: collapse; }
.detail-table th, .detail-table td { padding: 6px; vertical-align: middle; border-bottom: 1px solid var(--line); }
.detail-table th { color: var(--blue); font-size: 12px; text-align: left; }
.detail-table input { min-height: 36px; }
.detail-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.post-card-footer { display: flex; justify-content: flex-end; margin-top: 10px; }
.mini-action { min-height: 34px; padding: 6px 10px; border: 1px solid rgba(15,118,110,.32); border-radius: 6px; background: white; color: var(--green); cursor: pointer; font-weight: 900; }
.mini-delete { min-width: 28px; min-height: 28px; border: 1px solid #f0c2c7; border-radius: 6px; color: var(--red); background: #fff5f6; cursor: pointer; font-weight: 900; }
.custom-section, .post-detail-section, .requirement-section, .important-link-row { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfb; }
.custom-section, .post-detail-section, .requirement-section { display: grid; gap: 12px; }
.important-link-row, .important-tool-row { display: grid; grid-template-columns: 1fr 150px 1fr 150px auto; gap: 10px; align-items: end; }
.checkbox-label { display: flex !important; align-items: center; gap: 8px !important; min-height: 42px; }
.checkbox-label input { width: auto; min-height: auto; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-status, .admin-help { color: var(--muted); font-weight: 700; }
.admin-help a { color: var(--blue); }
.published-list { display: grid; gap: 10px; }
.published-item { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfb; }
.published-item p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.published-actions { display: flex; gap: 8px; }

@media (max-width: 760px) {
  .two-grid, .three-grid, .post-card-grid, .important-link-row, .important-tool-row { grid-template-columns: 1fr; }
  .admin-head { flex-direction: column; }
}
