/* admin-layout-fix.css — 관리자 페이지 전용 레이아웃 */

/* ── 기본 배경 ── */
body:has(.admin-layout) {
  background: var(--color-bg);
}

body:has(.admin-layout) .app-shell,
body:has(.admin-layout) .site-main,
body:has(.admin-layout) .page-container {
  background: var(--color-bg) !important;
}

body:has(.admin-layout) .site-main {
  border-right: 0 !important;
  box-shadow: none !important;
}

body:has(.admin-layout) .page-container {
  flex: 1;
  min-height: 0;
}

@media (min-width: 1024px) {
  /* 관리자 페이지에서 일반 사이드바 숨김 — 관리자 전용 사이드바만 표시 */
  body:has(.admin-layout) .site-sidebar {
    display: none !important;
  }

  body:has(.admin-layout) .site-main {
    overflow: hidden;
  }

  body:has(.admin-layout) .page-container {
    padding: 0 !important;
    height: 100vh;
    overflow: hidden;
  }

  body:has(.admin-layout) .admin-layout {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  body:has(.admin-layout) .admin-sidebar {
    height: 100vh;
  }

  body:has(.admin-layout) #admin-content {
    height: 100%;
    overflow-y: auto;
  }
}

/* ── 전체 레이아웃 (선/라인 스타일) ── */
.admin-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  min-height: calc(100vh - 56px);
  margin: 0 auto;
  background: var(--color-surface);
  border: 1px solid var(--color-border-light);
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}

/* ── 사이드바 ── */
.admin-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: calc(100vh - 56px);
  display: flex;
  flex-direction: column;
  background: var(--color-surface);
  border-right: 1px solid var(--color-border-light);
}

/* ── 브랜드 ── */
.admin-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 16px;
  border-bottom: 1px solid var(--color-border-light);
}

.admin-brand__logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-primary-bg);
}

.admin-brand__logo-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.admin-brand__title {
  font-size: 18px;
  font-weight: 950;
  color: var(--color-text-primary);
  letter-spacing: -0.5px;
  line-height: 1;
}

.admin-brand__sub {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 7px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  background: var(--color-primary);
  letter-spacing: 0.04em;
}

/* ── 내비게이션 ── */
.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 8px 0;
  flex: 1;
  overflow-y: auto;
}

/* 구분선 */
.admin-nav-divider {
  height: 1px;
  background: var(--color-border-light);
  margin: 6px 16px;
  flex-shrink: 0;
}

/* 메뉴 아이템 — 왼쪽 라인 인디케이터 스타일 */
.admin-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 16px;
  border-radius: 0;
  border-left: 3px solid transparent;
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.admin-menu-item:hover {
  background: var(--color-surface-2);
  color: var(--color-text-primary);
  border-left-color: var(--color-border);
}

.admin-menu-item.active {
  background: var(--color-primary-bg);
  color: var(--color-primary);
  border-left-color: var(--color-primary);
  font-weight: 800;
}

/* 구버전 separator 제거 */
.admin-menu-item[data-tab="ai"] { margin-top: 0; position: static; }
.admin-menu-item[data-tab="ai"]::before { display: none; }
.admin-menu-item[data-tab="myinfo"] { margin-top: 0; }

/* PC: 모바일용 짧은 라벨 숨김 */
.admin-label-short { display: none; }


/* ── 사이드바 하단 ── */
.admin-sidebar__footer {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--color-border-light);
  background: var(--color-surface);
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 프로필 — 카드 없이 플랫 */
.admin-profile-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px;
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: 10px;
  background: none;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

.admin-profile-card__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-primary-bg);
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.admin-profile-card__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-profile-card__info {
  min-width: 0;
}

.admin-profile-card__name {
  font-size: 13px;
  font-weight: 800;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-profile-card__role {
  margin-top: 1px;
  font-size: 10px;
  font-weight: 700;
  color: var(--color-primary);
}

/* 사이트 이동 버튼 — 플랫 텍스트 링크 스타일 */
.admin-goto-site-btn {
  width: 100%;
  padding: 6px 0;
  background: none;
  border: none;
  color: var(--color-text-muted);
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  transition: color var(--transition-fast);
}

.admin-goto-site-btn:hover {
  color: var(--color-primary);
}

/* ── 콘텐츠 영역 ── */
#admin-content {
  min-width: 0;
  padding: 32px 36px;
  background: var(--color-surface);
}

/* ── 섹션 타이틀 ── */
.admin-section-title {
  font-size: 20px;
  font-weight: 950;
  color: var(--color-text-primary);
  letter-spacing: -0.5px;
  margin-bottom: 20px;
}

/* ── 통계 카드 — 라인 스타일 ── */
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border-light);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.admin-stat-card {
  background: var(--color-surface);
  padding: 18px 16px;
  box-shadow: none;
  border: none;
  border-radius: 0;
}

.admin-type-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  padding: 14px 10px;
  box-shadow: none;
  text-align: center;
}

.admin-stat-card__num {
  font-size: 26px;
  font-weight: 950;
  color: var(--color-primary);
  line-height: 1;
}

.admin-stat-card__label {
  margin-top: 7px;
  font-size: 12px;
  font-weight: 800;
  color: var(--color-text-muted);
}

.admin-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.admin-type-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-type-card__icon {
  font-size: 22px;
  line-height: 1;
  margin-bottom: 7px;
}

.admin-type-card__count {
  font-size: 17px;
  font-weight: 950;
  color: var(--color-text-primary);
}

.admin-type-card__name {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 800;
  color: var(--color-text-muted);
}

.admin-type-card__today {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  color: var(--color-text-muted);
  opacity: 0.75;
}

/* ── 테이블 ── */
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.admin-table th,
.admin-table td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}

.admin-table th {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  font-size: 11px;
  font-weight: 900;
}

.admin-table__link {
  color: var(--color-primary);
  font-weight: 800;
}

.admin-table__muted,
.admin-table__empty {
  color: var(--color-text-muted);
}

.admin-status {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 900;
}

.admin-status--visible {
  background: var(--color-malhe-bg);
  color: var(--color-malhe-dark);
}

.admin-status--hidden {
  background: var(--color-warning-bg);
  color: #92400e;
}

/* ── 내 정보 탭 ── */
.admin-myinfo {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-myinfo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.admin-myinfo-section-title {
  font-size: 14px;
  font-weight: 800;
  color: var(--color-text-primary);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border-light);
}

.admin-myinfo-profile-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: 4px;
}

.admin-myinfo-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--color-primary-bg);
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.admin-myinfo-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-myinfo-role-badge {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  background: var(--color-primary-bg);
  color: var(--color-primary);
  font-size: 10px;
  font-weight: 800;
}

.admin-myinfo-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border-light);
}

.admin-myinfo-row:last-child {
  border-bottom: none;
}

.admin-myinfo-row__label {
  font-size: 13px;
  color: var(--color-text-muted);
  flex-shrink: 0;
}

.admin-myinfo-row__value {
  font-size: 13px;
  font-weight: 700;
  color: var(--color-text-primary);
  text-align: right;
}

/* ── 회원 탭 내 정보 아코디언 ── */
.admin-accordion {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  margin-bottom: 20px;
  overflow: hidden;
}

.admin-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  color: var(--color-text-primary);
  background: var(--color-surface-2);
  list-style: none;
  user-select: none;
}

.admin-accordion__summary::-webkit-details-marker { display: none; }

.admin-accordion__chevron {
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: transform var(--transition-fast);
}

.admin-accordion[open] .admin-accordion__chevron {
  transform: rotate(180deg);
}

.admin-accordion__body {
  padding: 16px;
  border-top: 1px solid var(--color-border-light);
}

/* ── 기타 ── */
.pwa-install-shortcut { color: var(--color-primary) !important; }

.account-action-footer {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap;
  text-align: center;
}

.account-action-footer #btn-logout,
.account-action-footer .account-install-btn {
  min-width: 96px;
  justify-content: center;
}

.account-action-footer .account-install-btn { margin-left: 0; }

/* PC에서 모바일 전용 관리자 프로필 카드 숨김 */
@media (min-width: 1024px) {
  .admin-mobile-profile-card {
    display: none !important;
  }
}

/* ── 다크 모드 ── */
[data-theme="dark"] body:has(.admin-layout),
[data-theme="dark"] body:has(.admin-layout) .app-shell,
[data-theme="dark"] body:has(.admin-layout) .site-main,
[data-theme="dark"] body:has(.admin-layout) .page-container {
  background: var(--color-bg) !important;
}

[data-theme="dark"] .admin-layout {
  background: var(--color-surface);
  border-color: var(--color-border);
}

[data-theme="dark"] #admin-content {
  background: var(--color-surface);
}

[data-theme="dark"] .admin-sidebar,
[data-theme="dark"] .admin-sidebar__footer {
  background: var(--color-surface);
}

[data-theme="dark"] .admin-stat-card,
[data-theme="dark"] .admin-type-card {
  background: var(--color-surface);
}

/* ── 모바일 (≤1023px) ── */
@media (max-width: 1023px) {
  body:has(.admin-layout) {
    overflow-x: hidden;
  }

  body:has(.admin-layout) .bottom-nav {
    display: none !important;
  }

  body:has(.admin-layout) .app-shell,
  body:has(.admin-layout) .site-main,
  body:has(.admin-layout) .page-container,
  body:has(.admin-layout) .admin-layout {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body:has(.admin-layout) .page-container {
    padding: 12px 12px calc(90px + env(safe-area-inset-bottom, 0)) !important;
  }

  .admin-layout {
    display: block;
    min-height: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: var(--color-bg);
    overflow: visible;
  }

  .admin-brand,
  .admin-sidebar__footer,
  .admin-nav-divider {
    display: none !important;
  }

  .admin-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 90;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: calc(66px + env(safe-area-inset-bottom, 0));
    display: block;
    transform: none !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.98);
    border-right: 0;
    border-top: 1px solid var(--color-border-light);
    box-shadow: 0 -8px 28px rgba(20, 20, 43, 0.10);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 0 0 env(safe-area-inset-bottom, 0) 0;
    box-sizing: border-box;
  }

  .admin-nav {
    width: 100% !important;
    max-width: 100vw !important;
    height: 66px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    justify-items: stretch;
    gap: 0;
    padding: 6px 8px 8px;
    margin: 0 auto;
    flex: none;
    overflow: visible;
    box-sizing: border-box;
  }

  .admin-menu-item--bottom { display: none !important; }

  .admin-menu-item {
    width: 100% !important;
    max-width: none !important;
    height: 52px;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    padding: 4px 1px;
    border-radius: 10px;
    border-left: none;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
    line-height: 1;
  }

  .admin-menu-item__icon {
    font-size: 18px;
    line-height: 1;
  }

  .admin-menu-item__label {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
    text-align: center;
  }

  .admin-menu-item:hover {
    background: var(--color-surface-2);
    border-left: none;
    color: var(--color-text-primary);
  }

  .admin-menu-item.active {
    background: var(--color-primary-bg);
    color: var(--color-primary);
    border-left: none;
  }

  /* 모바일: PC 전체 라벨 숨기고 짧은 라벨 표시 */
  .admin-label-full { display: none; }
  .admin-label-short {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  /* 모바일: PC 전체 라벨 숨기고 짧은 라벨 표시 */
  .admin-label-full { display: none; }
  .admin-label-short {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  #admin-content {
    min-height: calc(100vh - 130px);
    padding: 16px 14px 4px;
    background: var(--color-surface);
  }

  .admin-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
  }

  .admin-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-table {
    min-width: 720px;
  }

  .admin-myinfo-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .admin-menu-item {
    font-size: 9px;
    padding: 6px 1px;
  }

  .admin-menu-item__icon { font-size: 17px; }
}

@media (max-width: 340px) {
  .admin-menu-item { font-size: 8px; }
  .admin-menu-item__icon { font-size: 16px; }
}

[data-theme="dark"] body:has(.admin-layout) .admin-sidebar {
  background: rgba(37, 40, 64, 0.98);
  border-top-color: var(--color-border);
}

/* ── 신고·의견 서브탭 ── */
.admin-reports-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-sub-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--color-border-light);
  margin-top: 0;
}

.admin-sub-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border: none;
  background: none;
  color: var(--color-text-muted);
  font-size: 13px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.admin-sub-tab:hover { color: var(--color-text-primary); }
.admin-sub-tab.active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

.admin-sub-tab__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--color-danger);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

/* 의견·버그 아이템 */
.admin-feedback-item {
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border-light);
}
.admin-feedback-item:last-child { border-bottom: none; }

.admin-feedback-item__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.admin-feedback-item__title {
  font-size: 14px;
  font-weight: 800;
  color: var(--color-text-primary);
}
.admin-feedback-item__meta {
  font-size: 12px;
  color: var(--color-text-muted);
  margin-top: 3px;
}
.admin-feedback-item__message {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.65;
  margin-bottom: 8px;
}
.admin-feedback-item__line {
  font-size: 12px;
  color: var(--color-text-muted);
  margin-bottom: 4px;
}
.admin-feedback-item__actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.feedback-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
  flex-shrink: 0;
}
.feedback-status-badge--new { background: var(--color-primary-bg); color: var(--color-primary); }
.feedback-status-badge--reviewing { background: #fef3c7; color: #92400e; }
.feedback-status-badge--done { background: var(--color-success-bg, #f0fdf4); color: var(--color-success); }

/* ── PC 반응형 개선 ── */
@media (min-width: 1280px) {
  .admin-layout {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  #admin-content {
    padding: 36px 48px;
  }
}

@media (min-width: 1600px) {
  .admin-layout {
    grid-template-columns: 260px minmax(0, 1fr);
  }
  #admin-content {
    padding: 40px 60px;
  }
}

/* ── 모바일 5칸 그리드 확정 ── */
@media (max-width: 1023px) {
  .admin-nav {
    grid-template-columns: repeat(5, 1fr) !important;
  }
  /* feedback-actions가 주입한 버튼은 admin-nav에서 숨김 */
  .admin-nav [data-admin-feedback-tab] {
    display: none !important;
  }
}

/* ===== merged from admin-post-toolbar-fix.css ===== */
/* 관리자 게시물 검색 영역 보정 */
.admin-post-toolbar {
  display: flex !important;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  flex-wrap: nowrap !important;
}

.admin-post-toolbar__search,
.admin-post-toolbar #admin-post-search {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 38px;
  font-size: 13px;
}

.admin-post-toolbar__button,
.admin-post-toolbar #btn-post-search {
  flex: 0 0 auto;
  min-width: 72px;
  height: 38px;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .admin-post-toolbar {
    flex-wrap: wrap !important;
  }

  .admin-post-toolbar__search,
  .admin-post-toolbar #admin-post-search {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  .admin-post-toolbar__button,
  .admin-post-toolbar #btn-post-search {
    width: 100%;
  }
}

/* ===== merged from admin-mobile-nav-fix.css ===== */
/* 모바일 관리자 하단 메뉴 정리 */
@media (max-width: 1023px) {
  body:has(.admin-layout) .admin-menu-item[data-tab="ai"] {
    display: none !important;
  }

  body:has(.admin-layout) .admin-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

}

/* 관리자 글쓰기 바로가기 완전 숨김 */
.admin-menu-item--write-shortcut,
.admin-menu-item--pc-write,
[data-admin-pc-write-shortcut],
[data-admin-write-shortcut] {
  display: none !important;
}

/* ── 대시보드 ── */
.admin-dashboard {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.admin-dashboard-card {
  margin: 0;
}

.admin-card-head {
  font-size: 14px;
  font-weight: 900;
  color: var(--color-text-primary);
  margin-bottom: 14px;
  letter-spacing: -0.2px;
}

.admin-stat-card__icon {
  font-size: 20px;
  line-height: 1;
  margin-bottom: 8px;
}

/* 유형별 현황 카드 컬러 배리언트 */
.admin-type-card--primary {
  border-color: var(--color-primary);
  background: var(--color-primary-bg);
}
.admin-type-card--primary .admin-type-card__count {
  color: var(--color-primary);
}
.admin-type-card--golra {
  border-color: var(--color-golra-border);
  background: var(--color-golra-bg);
}
.admin-type-card--golra .admin-type-card__count {
  color: var(--color-golra-dark);
}
.admin-type-card--malhe {
  border-color: var(--color-malhe-border);
  background: var(--color-malhe-bg);
}
.admin-type-card--malhe .admin-type-card__count {
  color: var(--color-malhe-dark);
}
.admin-type-card--usgyo {
  border-color: var(--color-usgyo-border);
  background: var(--color-usgyo-bg);
}
.admin-type-card--usgyo .admin-type-card__count {
  color: var(--color-usgyo-dark);
}
.admin-type-card--neutral {
  border-color: var(--color-border-light);
  background: var(--color-surface-2);
}
.admin-type-card--neutral .admin-type-card__count {
  color: var(--color-text-secondary);
}

/* 최근 게시물 리스트 */
.admin-recent-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-recent-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border-light);
}
.admin-recent-item:last-child {
  border-bottom: none;
}

.admin-recent-item__type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60px;
}

.admin-recent-item__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-recent-item__title:hover {
  color: var(--color-primary);
}

.admin-recent-item__author {
  font-size: 11px;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.admin-empty-note {
  font-size: 13px;
  color: var(--color-text-muted);
  padding: 16px 0;
  text-align: center;
}

/* ── 내 정보 단일 컬럼 카드 ── */
.admin-myinfo-block {
  margin-bottom: 16px;
}
.admin-myinfo-block:last-child {
  margin-bottom: 0;
}

/* 기존 2단 그리드는 단일 컬럼으로 재정의 */
.admin-myinfo-grid {
  grid-template-columns: 1fr;
}
