/* 관리자 살롱 운영 — 공지(admin-notices.css)와 같은 토큰·버튼 규칙을 쓴다. */
.salon-admin { min-width: 0; }
.salon-admin .btn-action:not(.btn-primary) { min-height: 44px; padding: 8px 12px; border: 1px solid var(--border-box-purple); border-radius: 8px; background: var(--bg-card-inner); color: var(--text-pure); font: inherit; font-size: 14px; cursor: pointer; }
.salon-admin .btn-action.btn-primary { min-height: 44px; }
.salon-admin .btn-action:disabled { opacity: .45; cursor: default; }
.salon-admin-badge { padding: 3px 10px; border-radius: 999px; border: 1px solid var(--neon-cyan); color: var(--neon-cyan); font-size: 12px; font-weight: 800; }
.salon-admin-summary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.salon-admin-summary-note { grid-column: 1 / -1; margin: 0; color: var(--text-sub); font-size: 13px; line-height: 1.5; }
.salon-admin-card { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 66px; padding: 10px 12px; border: 1px solid var(--border-box-purple); border-radius: 10px; color: var(--text-pure); background: var(--bg-card-inner); font: inherit; text-align: left; }
button.salon-admin-card { cursor: pointer; transition: transform .18s ease, border-color .18s ease, background-color .18s ease; }
button.salon-admin-card:hover, button.salon-admin-card[aria-pressed="true"] { transform: translateY(-1px); border-color: var(--neon-cyan); background: color-mix(in srgb, var(--neon-cyan) 6%, var(--bg-card-inner)); }
.salon-admin-card:focus-visible { outline: 3px solid var(--neon-cyan); outline-offset: 3px; }
.salon-admin-card.is-initial { animation: salon-summary-enter .42s ease var(--salon-summary-delay, 0ms) both; }
.salon-admin-icon { display: inline-grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; border: 1px solid color-mix(in srgb, var(--neon-cyan) 26%, var(--border-box-purple)); border-radius: 9px; background: color-mix(in srgb, var(--neon-cyan) 7%, var(--bg-card-inner)); font-size: 15px !important; }
.salon-admin-label { flex: 1 1 auto; min-width: 0; color: var(--text-sub); font-size: 13px; line-height: 1.4; }
.salon-admin-card strong { margin-left: auto; color: var(--text-pure); font-size: 20px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.salon-admin-card[data-tone="urgent"] { border-color: color-mix(in srgb, var(--neon-pink) 45%, var(--border-box-purple)); background: color-mix(in srgb, var(--neon-pink) 7%, var(--bg-card-inner)); }
.salon-admin-card[data-tone="urgent"] strong { color: var(--neon-pink); }
.salon-admin-card[data-tone="care"] strong { color: var(--neon-purple); }
.salon-admin-card[data-tone="recent"] strong { color: var(--neon-cyan); }
@keyframes salon-summary-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.salon-admin-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 18px 0 10px; }
.salon-admin-toolbar label { display: grid; gap: 6px; min-width: 0; color: var(--text-sub); font-size: 14px; }
.salon-admin-toolbar label:first-child { flex: 1 1 200px; }
.salon-admin-toolbar input, .salon-admin-toolbar select { min-width: 0; min-height: 44px; width: 100%; font-size: 14px; }
#salon-admin-status[data-kind="bad"] { color: var(--pink-ink, var(--neon-pink)); font-weight: 700; }
.salon-admin-list { min-width: 0; }
.salon-admin-row { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "tags meta" "main main" "actions actions"; gap: 10px 14px; align-items: center; margin: 10px 0; padding: 14px; border: 1px solid var(--border-box-purple); border-radius: 12px; background: var(--bg-card-inner); font-size: 13px; }
.salon-admin-row[data-state="hidden"] { opacity: .82; }
.salon-admin-row[data-state="deleted"] { opacity: .6; }
.salon-admin-tags, .salon-admin-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--text-sub); line-height: 1.6; min-width: 0; }
.salon-admin-tags { grid-area: tags; }
.salon-admin-meta { grid-area: meta; justify-content: flex-end; }
.salon-admin-kind { justify-self: start; padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--neon-cyan) 14%, transparent); color: var(--neon-cyan); font-weight: 800; }
.salon-admin-care { color: var(--pink-ink, var(--neon-pink)); font-weight: 800; }
.salon-admin-sample { color: var(--text-sub); border: 1px solid var(--border-box-purple); border-radius: 10px; padding: 0 6px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.salon-admin-main { grid-area: main; min-width: 0; }
.salon-admin-main-toggle { display: grid; justify-items: start; gap: 6px; width: 100%; min-width: 0; padding: 13px 15px; border: 1px solid var(--border-box-purple); border-radius: 10px; background: var(--bg-card-inner); color: var(--text-pure); font: inherit; text-align: left; cursor: pointer; }
.salon-admin-main-toggle:hover { border-color: var(--neon-cyan); background: color-mix(in srgb, var(--neon-cyan) 6%, var(--bg-card-inner)); }
.salon-admin-main-toggle:focus-visible, .salon-admin button:focus-visible { outline: 3px solid var(--neon-cyan); outline-offset: 3px; }
.salon-admin-title { display: block; color: var(--text-pure); font: 700 16px/1.55 var(--font-main); overflow-wrap: anywhere; }
.salon-admin-body { display: -webkit-box; width: 100%; margin: 0; color: var(--text-sub); font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.salon-admin-body.is-open { display: block; -webkit-line-clamp: unset; }
.salon-admin-expand-hint { color: var(--neon-cyan); font-size: 12px; font-weight: 700; }
.salon-admin-reason, .salon-admin-reports { margin: 4px 0 0; font-size: 12.5px; color: var(--text-sub); }
.salon-admin-reports { color: var(--pink-ink, var(--neon-pink)); font-weight: 700; }
.salon-admin-meta b { color: var(--text-pure); }
.salon-admin-state { font-weight: 700; }
.salon-admin-actions { grid-area: actions; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.salon-admin-reasonform { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.salon-admin-reasonform input { flex: 1 1 260px; min-height: 44px; }
.salon-admin-empty { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; padding: 24px 0; color: var(--text-sub); }
.salon-admin-empty p { flex: 1 1 220px; margin: 0; line-height: 1.6; }
.salon-admin-empty .btn-action { min-height: 44px; }
@media (max-width: 992px) {
  .salon-admin-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .salon-admin-row { grid-template-columns: minmax(0,1fr); grid-template-areas: "tags" "main" "meta" "actions"; gap: 9px; }
  .salon-admin-meta { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .salon-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salon-admin-card { min-height: 62px; padding: 9px; gap: 7px; }
  .salon-admin-card strong { font-size: 18px; }
  .salon-admin-main-toggle { padding: 12px; }
  .salon-admin-actions { justify-content: stretch; }
  .salon-admin-actions .btn-action { flex: 1 1 130px; }
  .salon-admin-empty { align-items: stretch; }
  .salon-admin-empty p { flex-basis: 100%; }
  .salon-admin-empty .btn-action { flex: 1 1 140px; }
}
@media (prefers-reduced-motion: reduce) {
  button.salon-admin-card { transition: none; }
  .salon-admin-card.is-initial { animation: none; }
  button.salon-admin-card:hover, button.salon-admin-card[aria-pressed="true"] { transform: none; }
}
/* One line per post; retain the detail DOM and any drafts when collapsed. */
.salon-admin-row { display: block; margin: 0; padding: 0; border-radius: 0; border-bottom: 0; }
.salon-admin-row:last-child { border-bottom: 1px solid var(--border-box-purple); }
.salon-admin-main-toggle { display: grid; grid-template-columns: 68px minmax(0,1fr) 90px 130px 70px 16px; align-items: center; gap: 10px; min-height: 48px; padding: 10px 12px; border: 0; border-radius: 0; }
.salon-admin-title { min-width: 0; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.salon-admin-row-author, .salon-admin-row-date { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-sub); font-size: 12px; }
.salon-admin-row-state, .salon-admin-row-kind { white-space: nowrap; font-size: 12px; }
.salon-admin-detail { display: grid; gap: 12px; padding: 16px; border-top: 1px solid var(--border-box-purple); }
.salon-admin-detail[hidden] { display: none; }
.salon-admin-detail :is(.salon-admin-tags, .salon-admin-main, .salon-admin-meta, .salon-admin-actions) { grid-area: auto; }
.salon-admin-detail .salon-admin-meta { justify-content: flex-start; }
@media (max-width: 850px) {
  .salon-admin-main-toggle { grid-template-columns: 58px minmax(0,1fr) 64px 14px; gap: 7px; }
  .salon-admin-row-author, .salon-admin-row-date { display: none; }
}
@media (max-width: 480px) {
  .salon-admin-main-toggle { padding: 10px 8px; grid-template-columns: 20px minmax(0,1fr) 54px 12px; }
  .salon-admin-row-kind { overflow: hidden; max-width: 20px; }
  .salon-admin-title { font-size: 13px; }
  .salon-admin-row-state { font-size: 11px; }
}
