/* 2026-11-03 업무 화면 밀도: 기존 브랜드·상태색·초점 표시를 재사용한다. */
@media (min-width: 901px) {
  .layout { grid-template-columns: 240px minmax(0, 1fr); gap: 16px; }
  .sidebar { padding: 12px; }
  .content { max-width: 1120px; }
  .detail > .panel { padding: 16px; }
  .campaign-card { padding: 10px 12px; }
  .session-card { margin: 8px 0; padding: 10px; }
  .field { margin: 8px 0; gap: 4px; }
  .detail { gap: 12px; }
  .primary, .secondary, .danger { min-height: 40px; padding: 6px 12px; font-size: 15px; }
  .icon-button { min-width: 36px; min-height: 36px; }
  .panel-jump-link, .panel-toggle, .panel-controls-button { min-height: 36px; }
}
h2 { font-size: 22px; }
h3 { font-size: 18px; }
.field span, label { font-size: 14px; }
.campaign-card, .campaign-list, .meta { font-size: 14px; }
.detail p, .detail li, .notice { font-size: 15px; }
.muted, .empty-state { font-size: 14px; }
input:not([type="checkbox"]):not([type="radio"]), textarea, select { font-size: 16px; }
@media (max-width: 760px), (pointer: coarse) {
  .primary, .secondary, .danger, .icon-button, .panel-toggle, .panel-controls-button, .panel-jump-link { min-height: 44px; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height: 44px; }
}
