/* ── 도윤사 관리자 데모 — 현대 neutral UI (레이아웃 유지) ── */

.unrimsa-admin-app {
  --unrimsa-admin-bg: #f7f7f7;
  --unrimsa-admin-surface: #ffffff;
  --unrimsa-admin-surface-subtle: #f3f3f3;
  --unrimsa-admin-surface-hover: #ececec;
  --unrimsa-admin-text: #1a1a1a;
  --unrimsa-admin-text-muted: #5c5c5c;
  --unrimsa-admin-text-subtle: #8a8a8a;
  --unrimsa-admin-border: #e0e0e0;
  --unrimsa-admin-border-strong: #c8c8c8;

  --unrimsa-admin-primary: #1a1a1a;
  --unrimsa-admin-primary-hover: #333333;
  --unrimsa-admin-primary-text: #ffffff;

  --unrimsa-admin-danger: #c0392b;
  --unrimsa-admin-danger-hover: #a93226;
  --unrimsa-admin-danger-soft: #fdf2f2;
  --unrimsa-admin-success: #2e6b4a;
  --unrimsa-admin-success-soft: #eef5f0;
  --unrimsa-admin-success-text: #2e6b4a;
  --unrimsa-admin-warning: #9a6700;
  --unrimsa-admin-focus: #1a1a1a;

  --unrimsa-admin-content-width: 1120px;
  --unrimsa-admin-sidebar-width: 260px;
  --unrimsa-admin-topbar-height: 52px;

  --unrimsa-admin-radius-sm: 6px;
  --unrimsa-admin-radius-md: 8px;
  --unrimsa-admin-radius-lg: 10px;
  --unrimsa-admin-radius-full: 999px;

  --unrimsa-admin-font-sans: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --unrimsa-admin-text-xs: 11px;
  --unrimsa-admin-text-sm: 12px;
  --unrimsa-admin-text-base: 14px;
  --unrimsa-admin-text-md: 15px;
  --unrimsa-admin-text-lg: 16px;
  --unrimsa-admin-text-xl: 20px;
  --unrimsa-admin-text-2xl: 24px;

  --unrimsa-admin-shadow-sm: 0 1px 2px rgba(24, 24, 27, 0.04);
  --unrimsa-admin-shadow-md: 0 4px 12px rgba(24, 24, 27, 0.06);
  --unrimsa-admin-shadow-lg: 0 16px 40px rgba(24, 24, 27, 0.08);

  --unrimsa-admin-space-1: 4px;
  --unrimsa-admin-space-2: 8px;
  --unrimsa-admin-space-3: 12px;
  --unrimsa-admin-space-4: 16px;
  --unrimsa-admin-space-5: 20px;
  --unrimsa-admin-space-6: 24px;
  --unrimsa-admin-space-7: 32px;
  --unrimsa-admin-space-8: 40px;

  min-height: 100vh;
  background: var(--unrimsa-admin-bg);
  color: var(--unrimsa-admin-text-muted);
  font-family: var(--unrimsa-admin-font-sans);
  font-size: var(--unrimsa-admin-text-base);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.unrimsa-admin-app *,
.unrimsa-admin-app *::before,
.unrimsa-admin-app *::after {
  box-sizing: border-box;
}

/* ── Layout (프로젝트 관리자 패턴) ── */
.unrimsa-admin-layout {
  display: flex;
  min-height: 100vh;
}

.unrimsa-admin-sidebar {
  width: var(--unrimsa-admin-sidebar-width);
  flex-shrink: 0;
  background: var(--unrimsa-admin-surface);
  border-right: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-sidebar__brand {
  padding: 20px 20px 16px;
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-sidebar__title {
  margin: 0;
  font-size: var(--unrimsa-admin-text-lg);
  font-weight: 600;
  color: var(--unrimsa-admin-text);
  line-height: 1.35;
}

.unrimsa-admin-sidebar__status {
  margin: 6px 0 0;
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text-subtle);
}

.unrimsa-admin-sidebar-overlay {
  display: none;
}

.unrimsa-admin-nav {
  padding: 12px;
}

.unrimsa-admin-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-admin-nav__link {
  display: block;
  padding: 8px 12px;
  color: var(--unrimsa-admin-text-muted);
  text-decoration: none;
  font-size: var(--unrimsa-admin-text-sm);
  font-weight: 500;
  border-radius: var(--unrimsa-admin-radius-sm);
  text-align: left;
}

.unrimsa-admin-nav__link:hover {
  background: var(--unrimsa-admin-surface-subtle);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-nav__link.is-active {
  background: var(--unrimsa-admin-surface-subtle);
  color: var(--unrimsa-admin-text);
  font-weight: 600;
}

.unrimsa-admin-nav__link:focus-visible {
  outline: 2px solid var(--unrimsa-admin-focus);
  outline-offset: 2px;
}

.unrimsa-admin-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* ── Topbar ── */
.unrimsa-admin-topbar {
  flex-shrink: 0;
  background: var(--unrimsa-admin-surface);
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-topbar__inner {
  display: flex;
  align-items: center;
  gap: var(--unrimsa-admin-space-3);
  min-height: var(--unrimsa-admin-topbar-height);
  padding: 0 20px;
}

.unrimsa-admin-topbar__label {
  flex: 1;
  margin: 0;
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text-subtle);
}

.unrimsa-admin-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-sm);
  background: var(--unrimsa-admin-surface);
  cursor: pointer;
  gap: 4px;
  flex-direction: column;
}

.unrimsa-admin-menu-toggle span {
  display: block;
  width: 16px;
  height: 2px;
  background: var(--unrimsa-admin-text);
}

.unrimsa-admin-menu-toggle:focus-visible {
  outline: 2px solid var(--unrimsa-admin-focus);
  outline-offset: 2px;
}

.unrimsa-admin-main {
  flex: 1;
  padding: var(--unrimsa-admin-space-5) 20px var(--unrimsa-admin-space-7);
  max-width: calc(var(--unrimsa-admin-content-width) + 80px);
}

/* ── Typography — Figma admin: title 20px, body 14px, caption 12px ── */
.unrimsa-admin-page-title {
  font-size: var(--unrimsa-admin-text-xl);
  font-weight: 600;
  color: var(--unrimsa-admin-text);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 0;
}

.unrimsa-admin-page-desc {
  margin: 6px 0 0;
  color: var(--unrimsa-admin-text-muted);
  font-size: var(--unrimsa-admin-text-sm);
  max-width: 52ch;
  line-height: 1.55;
}

.unrimsa-admin-section-title {
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 600;
  color: var(--unrimsa-admin-text);
  letter-spacing: -0.01em;
  margin: 0;
}

.unrimsa-admin-section-sub {
  margin: 2px 0 0;
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text-subtle);
}

.unrimsa-admin-meta {
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text-subtle);
}

.unrimsa-admin-link-btn {
  background: none;
  border: none;
  padding: 0;
  color: var(--unrimsa-admin-text-muted);
  font-size: var(--unrimsa-admin-text-sm);
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}

.unrimsa-admin-link-btn:hover {
  color: var(--unrimsa-admin-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Home hero — 관리 UI 스케일 (마케팅 히어로 X) ── */
.unrimsa-admin-hero {
  margin-bottom: var(--unrimsa-admin-space-6);
  padding: 0 0 var(--unrimsa-admin-space-5);
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-hero__eyebrow {
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--unrimsa-admin-text-subtle);
  margin: 0 0 var(--unrimsa-admin-space-3);
}

.unrimsa-admin-hero__question {
  font-size: var(--unrimsa-admin-text-2xl);
  font-weight: 600;
  color: var(--unrimsa-admin-text);
  line-height: 1.35;
  letter-spacing: -0.025em;
  margin: 0;
  max-width: 22ch;
}

.unrimsa-admin-hero__desc {
  margin: var(--unrimsa-admin-space-3) 0 0;
  max-width: 480px;
  font-size: var(--unrimsa-admin-text-sm);
  line-height: 1.55;
  color: var(--unrimsa-admin-text-muted);
}

/* ── Task grid ── */
.unrimsa-admin-task-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--unrimsa-admin-space-2);
  margin-bottom: var(--unrimsa-admin-space-6);
}

.unrimsa-admin-task-card {
  display: flex;
  align-items: center;
  gap: var(--unrimsa-admin-space-3);
  padding: var(--unrimsa-admin-space-4);
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  text-align: left;
  cursor: pointer;
  min-height: 64px;
  color: var(--unrimsa-admin-text);
  transition: background 0.15s, border-color 0.15s;
}

.unrimsa-admin-task-card:hover {
  background: var(--unrimsa-admin-surface-subtle);
  border-color: var(--unrimsa-admin-border-strong);
}

.unrimsa-admin-task-card:hover .unrimsa-admin-task-card__arrow {
  transform: translateX(3px);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-task-card:focus-visible {
  outline: 2px solid var(--unrimsa-admin-focus);
  outline-offset: 2px;
}

.unrimsa-admin-task-card__num {
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  color: var(--unrimsa-admin-text-subtle);
  min-width: 20px;
  font-variant-numeric: tabular-nums;
}

.unrimsa-admin-task-card__title {
  flex: 1;
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 500;
  letter-spacing: -0.01em;
}

.unrimsa-admin-task-card__arrow {
  color: var(--unrimsa-admin-text-subtle);
  font-size: 14px;
  transition: transform 0.15s, color 0.15s;
}

/* ── Activity ── */
.unrimsa-admin-section-head {
  margin-bottom: var(--unrimsa-admin-space-3);
}

.unrimsa-admin-breadcrumb {
  margin: 0 0 6px;
}

.unrimsa-admin-recent {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  padding: var(--unrimsa-admin-space-4) var(--unrimsa-admin-space-5);
}

.unrimsa-admin-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-admin-activity-list li {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: var(--unrimsa-admin-space-3);
  padding: var(--unrimsa-admin-space-3) 0;
  border-bottom: 1px solid var(--unrimsa-admin-border);
  align-items: center;
  font-size: var(--unrimsa-admin-text-sm);
}

.unrimsa-admin-activity-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.unrimsa-admin-activity-list li:first-child {
  padding-top: 0;
}

.unrimsa-admin-activity-list__action {
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  color: var(--unrimsa-admin-text-muted);
  background: var(--unrimsa-admin-surface-subtle);
  padding: 3px 7px;
  border-radius: var(--unrimsa-admin-radius-sm);
  text-align: center;
}

.unrimsa-admin-activity-list__title {
  font-weight: 500;
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-activity-list__time {
  font-size: var(--unrimsa-admin-text-xs);
  color: var(--unrimsa-admin-text-subtle);
  white-space: nowrap;
}

.unrimsa-admin-demo-tools {
  margin-top: var(--unrimsa-admin-space-6);
}

/* ── Page header ── */
.unrimsa-admin-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--unrimsa-admin-space-4);
  margin-bottom: var(--unrimsa-admin-space-5);
  padding-bottom: var(--unrimsa-admin-space-4);
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

/* ── Buttons ── */
.unrimsa-admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--unrimsa-admin-space-2);
  min-height: 44px;
  padding: 0 16px;
  font-family: inherit;
  font-size: var(--unrimsa-admin-text-sm);
  font-weight: 600;
  border-radius: var(--unrimsa-admin-radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
}

.unrimsa-admin-btn:active {
  transform: scale(0.99);
}

.unrimsa-admin-btn--sm {
  min-height: 32px;
  padding: 0 10px;
  font-size: var(--unrimsa-admin-text-xs);
}

.unrimsa-admin-btn--primary {
  background: var(--unrimsa-admin-primary);
  color: var(--unrimsa-admin-primary-text);
  border-color: var(--unrimsa-admin-primary);
}

.unrimsa-admin-btn--primary:hover {
  background: var(--unrimsa-admin-primary-hover);
  border-color: var(--unrimsa-admin-primary-hover);
}

.unrimsa-admin-btn--secondary {
  background: var(--unrimsa-admin-surface);
  color: var(--unrimsa-admin-text);
  border-color: var(--unrimsa-admin-border);
}

.unrimsa-admin-btn--secondary:hover {
  background: var(--unrimsa-admin-surface-subtle);
  border-color: var(--unrimsa-admin-border-strong);
}

.unrimsa-admin-btn--ghost {
  background: transparent;
  color: var(--unrimsa-admin-text-muted);
  border-color: transparent;
  min-height: 32px;
}

.unrimsa-admin-btn--ghost:hover {
  background: var(--unrimsa-admin-surface-hover);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-btn--danger {
  background: var(--unrimsa-admin-danger);
  color: #fff;
  border-color: var(--unrimsa-admin-danger);
}

.unrimsa-admin-btn--danger:hover {
  background: var(--unrimsa-admin-danger-hover);
}

.unrimsa-admin-btn--danger-text {
  color: var(--unrimsa-admin-danger);
}

.unrimsa-admin-btn--danger-text:hover {
  background: var(--unrimsa-admin-danger-soft);
}

.unrimsa-admin-btn:focus-visible {
  outline: 2px solid var(--unrimsa-admin-focus);
  outline-offset: 2px;
}

/* ── Badges ── */
.unrimsa-admin-badge {
  display: inline-block;
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  padding: 3px 8px;
  border-radius: var(--unrimsa-admin-radius-full);
  border: none;
  background: var(--unrimsa-admin-surface-hover);
  color: var(--unrimsa-admin-text-muted);
  white-space: nowrap;
}

.unrimsa-admin-badge--published {
  background: var(--unrimsa-admin-success-soft);
  color: var(--unrimsa-admin-success-text);
}

.unrimsa-admin-badge--hidden,
.unrimsa-admin-badge--draft {
  background: #f4f4f5;
  color: var(--unrimsa-admin-text-muted);
}

.unrimsa-admin-badge--important {
  background: var(--unrimsa-admin-primary);
  color: #fff;
}

.unrimsa-admin-badge--category {
  background: #f4f4f5;
  color: var(--unrimsa-admin-text-muted);
  font-weight: 500;
}

.unrimsa-admin-badge--featured {
  position: absolute;
  top: var(--unrimsa-admin-space-3);
  left: var(--unrimsa-admin-space-3);
  background: rgba(9, 9, 11, 0.85);
  color: #fff;
  backdrop-filter: blur(4px);
}

/* ── Lists ── */
.unrimsa-admin-list-wrap {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  overflow: hidden;
}

.unrimsa-admin-list-header {
  display: grid;
  gap: var(--unrimsa-admin-space-3);
  padding: 10px var(--unrimsa-admin-space-4);
  background: var(--unrimsa-admin-surface-subtle);
  border-bottom: 1px solid var(--unrimsa-admin-border);
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  color: var(--unrimsa-admin-text-subtle);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.unrimsa-admin-list-header--popup { grid-template-columns: 80px 1fr 100px 100px 220px; }
.unrimsa-admin-list-header--notice { grid-template-columns: 72px 56px 1fr 96px 96px 96px 200px; }
.unrimsa-admin-list-header--youtube { grid-template-columns: 72px 96px 1fr 96px 180px; }

.unrimsa-admin-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-admin-list-item {
  display: grid;
  gap: var(--unrimsa-admin-space-3);
  padding: 12px var(--unrimsa-admin-space-4);
  border-bottom: 1px solid var(--unrimsa-admin-border);
  align-items: center;
  background: var(--unrimsa-admin-surface);
  font-size: var(--unrimsa-admin-text-sm);
  transition: background 0.12s;
}

.unrimsa-admin-list-item:hover {
  background: var(--unrimsa-admin-surface-subtle);
}

.unrimsa-admin-list-item:last-child {
  border-bottom: none;
}

.unrimsa-admin-list-header--popup + .unrimsa-admin-list .unrimsa-admin-list-item {
  grid-template-columns: 80px 1fr 100px 100px 220px;
}

.unrimsa-admin-list-header--notice + .unrimsa-admin-list .unrimsa-admin-list-item {
  grid-template-columns: 72px 56px 1fr 96px 96px 96px 200px;
}

.unrimsa-admin-list-header--youtube + .unrimsa-admin-list .unrimsa-admin-list-item {
  grid-template-columns: 72px 96px 1fr 96px 180px;
}

.unrimsa-admin-list-cell--title {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.unrimsa-admin-list-cell--actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.unrimsa-admin-list-empty {
  padding: var(--unrimsa-admin-space-8);
  text-align: center;
  color: var(--unrimsa-admin-text-muted);
  border: none;
}

.unrimsa-admin-yt-thumb {
  display: block;
  object-fit: cover;
  border-radius: var(--unrimsa-admin-radius-sm);
  border: 1px solid var(--unrimsa-admin-border);
}

/* ── Forms ── */
.unrimsa-admin-form {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  padding: 0 var(--unrimsa-admin-space-5);
}

.unrimsa-admin-form-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: var(--unrimsa-admin-space-4);
  padding: var(--unrimsa-admin-space-4) 0;
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-form-row:last-of-type {
  border-bottom: none;
}

.unrimsa-admin-form-label label {
  font-weight: 600;
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-form-hint {
  margin: var(--unrimsa-admin-space-1) 0 0;
  font-size: 12px;
  color: var(--unrimsa-admin-text-subtle);
  font-weight: 400;
  line-height: 1.5;
}

.unrimsa-admin-required {
  color: var(--unrimsa-admin-danger);
  font-size: 12px;
  font-weight: 500;
}

.unrimsa-admin-form-field input[type="text"],
.unrimsa-admin-form-field input[type="url"],
.unrimsa-admin-form-field input[type="date"],
.unrimsa-admin-form-field input[type="time"],
.unrimsa-admin-form-field input[type="file"],
.unrimsa-admin-form-field select,
.unrimsa-admin-form-field textarea {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: var(--unrimsa-admin-text-sm);
  border: 1px solid var(--unrimsa-admin-border-strong);
  border-radius: var(--unrimsa-admin-radius-sm);
  background: var(--unrimsa-admin-surface);
  color: var(--unrimsa-admin-text);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.unrimsa-admin-form-field input:hover,
.unrimsa-admin-form-field select:hover,
.unrimsa-admin-form-field textarea:hover {
  border-color: var(--unrimsa-admin-text-subtle);
}

.unrimsa-admin-form-field textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.55;
}

.unrimsa-admin-form-field input:focus-visible,
.unrimsa-admin-form-field select:focus-visible,
.unrimsa-admin-form-field textarea:focus-visible {
  outline: none;
  border-color: var(--unrimsa-admin-border-strong);
  box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.08);
}

.unrimsa-admin-field-error {
  margin: var(--unrimsa-admin-space-2) 0 0;
  font-size: 13px;
  color: var(--unrimsa-admin-danger);
  font-weight: 500;
}

.unrimsa-admin-checkbox {
  display: flex;
  align-items: center;
  gap: var(--unrimsa-admin-space-2);
  min-height: 44px;
  cursor: pointer;
  font-size: 14px;
}

.unrimsa-admin-checkbox input {
  width: 18px;
  height: 18px;
  accent-color: var(--unrimsa-admin-primary);
}

.unrimsa-admin-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--unrimsa-admin-space-3);
  padding: var(--unrimsa-admin-space-5) var(--unrimsa-admin-space-6);
  margin: 0 calc(-1 * var(--unrimsa-admin-space-6));
  border-top: 1px solid var(--unrimsa-admin-border);
  background: var(--unrimsa-admin-surface-subtle);
  border-radius: 0 0 var(--unrimsa-admin-radius-lg) var(--unrimsa-admin-radius-lg);
}

.unrimsa-admin-form-actions [data-cancel] {
  margin-left: auto;
}

.unrimsa-admin-attach-area {
  padding: var(--unrimsa-admin-space-5);
  border: 1px dashed var(--unrimsa-admin-border-strong);
  border-radius: var(--unrimsa-admin-radius-md);
  background: var(--unrimsa-admin-surface-subtle);
}

/* ── Image preview ── */
.unrimsa-admin-image-preview {
  margin-top: var(--unrimsa-admin-space-3);
  max-width: 480px;
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  background: var(--unrimsa-admin-surface-subtle);
  min-height: 120px;
  overflow: hidden;
}

.unrimsa-admin-image-preview img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: cover;
}

.unrimsa-admin-image-placeholder {
  display: block;
  padding: var(--unrimsa-admin-space-5);
  font-size: 13px;
  color: var(--unrimsa-admin-text-muted);
}

/* ── Banner preview ── */
.unrimsa-admin-banner-preview-section {
  margin-bottom: var(--unrimsa-admin-space-6);
}

.unrimsa-admin-portal-preview__caption {
  margin-bottom: var(--unrimsa-admin-space-3);
}

.unrimsa-admin-portal-preview__box {
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-lg);
  overflow: hidden;
}

.unrimsa-admin-portal-preview .portal-hero__box {
  display: block;
  min-height: 360px;
}

.unrimsa-admin-portal-preview .ai-portal {
  min-height: 360px;
}

.unrimsa-admin-field-hint {
  margin-top: 6px;
  font-size: var(--unrimsa-admin-text-xs);
  color: var(--unrimsa-admin-text-muted);
  line-height: 1.45;
}

.unrimsa-admin-portal-preview--compact .ai-portal__inner {
  padding: 16px;
}

.unrimsa-admin-save-view__message {
  margin: 0 0 var(--unrimsa-admin-space-3);
  font-size: var(--unrimsa-admin-text-base);
  line-height: 1.55;
}

.unrimsa-admin-save-view__hint {
  margin: 0;
  font-size: var(--unrimsa-admin-text-sm);
  color: var(--unrimsa-admin-text-muted);
  line-height: 1.5;
}

.unrimsa-admin-save-view__footer {
  justify-content: flex-end;
  gap: var(--unrimsa-admin-space-3);
}

.unrimsa-admin-modal--save-view .unrimsa-admin-modal__title {
  color: var(--unrimsa-admin-success, #3f6c4f);
}

/* legacy banner preview (modal fallback) */
.unrimsa-admin-banner-preview {
  position: relative;
  min-height: 220px;
  background: linear-gradient(135deg, #a1a1aa 0%, #52525b 50%, #3f3f46 100%) center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  border-radius: var(--unrimsa-admin-radius-lg);
  overflow: hidden;
  border: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-banner-preview__content {
  width: 100%;
  padding: var(--unrimsa-admin-space-7) var(--unrimsa-admin-space-6);
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
  color: #fff;
}

.unrimsa-admin-banner-preview__content h2 {
  font-size: var(--unrimsa-admin-text-xl);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.25;
}

.unrimsa-admin-banner-preview__content p {
  margin: var(--unrimsa-admin-space-2) 0 var(--unrimsa-admin-space-4);
  font-size: var(--unrimsa-admin-text-sm);
  opacity: 0.92;
  max-width: 480px;
}

.unrimsa-admin-preview-btn {
  display: inline-block;
  padding: 8px 14px;
  background: #fff;
  color: var(--unrimsa-admin-text);
  font-size: var(--unrimsa-admin-text-xs);
  font-weight: 600;
  border-radius: var(--unrimsa-admin-radius-sm);
}

/* ── Schedule ── */
.unrimsa-admin-schedule-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: var(--unrimsa-admin-space-4);
  align-items: start;
}

.unrimsa-admin-calendar-panel {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-lg);
  padding: var(--unrimsa-admin-space-5);
  box-shadow: var(--unrimsa-admin-shadow-sm);
}

.unrimsa-admin-calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--unrimsa-admin-space-4);
}

.unrimsa-admin-calendar-title {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.02em;
}

.unrimsa-admin-calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 4px;
  font-size: 11px;
  text-align: center;
  color: var(--unrimsa-admin-text-subtle);
  font-weight: 600;
}

.unrimsa-admin-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.unrimsa-admin-cal-day {
  aspect-ratio: 1;
  min-height: 36px;
  border: none;
  border-radius: var(--unrimsa-admin-radius-sm);
  background: transparent;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
  color: var(--unrimsa-admin-text);
  font-weight: 500;
  transition: background 0.12s;
}

.unrimsa-admin-cal-day:hover {
  background: var(--unrimsa-admin-surface-hover);
}

.unrimsa-admin-cal-day--empty {
  pointer-events: none;
}

.unrimsa-admin-cal-day.has-event {
  font-weight: 700;
  position: relative;
}

.unrimsa-admin-cal-day.has-event::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--unrimsa-admin-text-muted);
}

.unrimsa-admin-cal-day.is-selected {
  background: var(--unrimsa-admin-primary);
  color: #fff;
  font-weight: 600;
}

.unrimsa-admin-cal-day.is-selected.has-event::after {
  background: #fff;
}

.unrimsa-admin-cal-day:focus-visible {
  outline: 2px solid var(--unrimsa-admin-focus);
  outline-offset: 1px;
}

.unrimsa-admin-filter {
  margin-top: var(--unrimsa-admin-space-5);
  padding-top: var(--unrimsa-admin-space-5);
  border-top: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-filter label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: var(--unrimsa-admin-space-2);
  color: var(--unrimsa-admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.unrimsa-admin-filter select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--unrimsa-admin-border-strong);
  border-radius: var(--unrimsa-admin-radius-md);
  font-family: inherit;
  background: var(--unrimsa-admin-surface);
}

.unrimsa-admin-schedule-list-panel {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-lg);
  padding: var(--unrimsa-admin-space-5) var(--unrimsa-admin-space-6);
  box-shadow: var(--unrimsa-admin-shadow-sm);
}

.unrimsa-admin-schedule-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-admin-schedule-card {
  padding: var(--unrimsa-admin-space-4) 0;
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-schedule-card:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.unrimsa-admin-schedule-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--unrimsa-admin-space-2);
  margin-bottom: var(--unrimsa-admin-space-2);
}

.unrimsa-admin-schedule-card__head strong {
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 600;
}

.unrimsa-admin-schedule-card__desc {
  margin: var(--unrimsa-admin-space-2) 0;
  color: var(--unrimsa-admin-text-muted);
  font-size: 14px;
}

.unrimsa-admin-schedule-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  margin-top: var(--unrimsa-admin-space-2);
}

/* ── Gallery ── */
.unrimsa-admin-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--unrimsa-admin-space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-admin-gallery-card {
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-lg);
  overflow: hidden;
  box-shadow: var(--unrimsa-admin-shadow-sm);
  transition: box-shadow 0.2s, transform 0.2s;
}

.unrimsa-admin-gallery-card:hover {
  box-shadow: var(--unrimsa-admin-shadow-md);
  transform: translateY(-1px);
}

.unrimsa-admin-gallery-card__thumb {
  position: relative;
  aspect-ratio: 4/3;
  background: linear-gradient(145deg, #f4f4f5, #e4e4e7);
  overflow: hidden;
}

.unrimsa-admin-gallery-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.unrimsa-admin-gallery-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 120px;
  background: linear-gradient(145deg, #f4f4f5, #e4e4e7);
  color: var(--unrimsa-admin-text-subtle);
  font-size: 13px;
  font-weight: 500;
}

.unrimsa-admin-gallery-card__body {
  padding: var(--unrimsa-admin-space-4) var(--unrimsa-admin-space-5);
}

.unrimsa-admin-gallery-card__body h3 {
  font-size: var(--unrimsa-admin-text-sm);
  font-weight: 600;
  margin: var(--unrimsa-admin-space-2) 0;
}

.unrimsa-admin-gallery-card__body p {
  font-size: 13px;
  color: var(--unrimsa-admin-text-muted);
  margin: 0 0 var(--unrimsa-admin-space-3);
  line-height: 1.5;
}

.unrimsa-admin-gallery-card__meta {
  display: flex;
  align-items: center;
  gap: var(--unrimsa-admin-space-2);
}

.unrimsa-admin-gallery-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}

.unrimsa-admin-yt-preview img {
  margin-top: var(--unrimsa-admin-space-3);
  max-width: 320px;
  border-radius: var(--unrimsa-admin-radius-md);
  border: 1px solid var(--unrimsa-admin-border);
}

/* ── Modal ── */
.unrimsa-admin-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--unrimsa-admin-space-4);
  background: rgba(9, 9, 11, 0.4);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.2s;
}

.unrimsa-admin-modal-overlay.is-open {
  opacity: 1;
}

.unrimsa-admin-modal {
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow: auto;
  background: var(--unrimsa-admin-surface);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-lg);
  box-shadow: var(--unrimsa-admin-shadow-lg);
}

.unrimsa-admin-modal--wide {
  max-width: 920px;
}

.unrimsa-admin-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--unrimsa-admin-space-5);
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-modal__title {
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-modal__close {
  width: 40px;
  height: 40px;
  border: none;
  background: var(--unrimsa-admin-surface-hover);
  border-radius: var(--unrimsa-admin-radius-md);
  font-size: 20px;
  cursor: pointer;
  color: var(--unrimsa-admin-text-muted);
  transition: background 0.12s;
}

.unrimsa-admin-modal__close:hover {
  background: var(--unrimsa-admin-border);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-modal__body {
  padding: var(--unrimsa-admin-space-5);
}

.unrimsa-admin-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--unrimsa-admin-space-3);
  padding: var(--unrimsa-admin-space-4) var(--unrimsa-admin-space-5);
  border-top: 1px solid var(--unrimsa-admin-border);
  background: var(--unrimsa-admin-surface-subtle);
  border-radius: 0 0 var(--unrimsa-admin-radius-lg) var(--unrimsa-admin-radius-lg);
}

.unrimsa-admin-confirm-text {
  font-size: 15px;
  line-height: 1.65;
  color: var(--unrimsa-admin-text-muted);
}

/* ── Toast ── */
.unrimsa-admin-toast-root {
  position: fixed;
  bottom: var(--unrimsa-admin-space-5);
  right: var(--unrimsa-admin-space-5);
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: var(--unrimsa-admin-space-2);
  pointer-events: none;
}

.unrimsa-admin-toast {
  padding: 12px 20px;
  background: var(--unrimsa-admin-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  border-radius: var(--unrimsa-admin-radius-md);
  box-shadow: var(--unrimsa-admin-shadow-md);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s, transform 0.3s;
}

.unrimsa-admin-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.unrimsa-admin-toast--error {
  background: var(--unrimsa-admin-danger);
}

.unrimsa-admin-toast--success {
  background: var(--unrimsa-admin-primary);
}

/* ── Site preview modal ── */
.unrimsa-admin-site-preview__note {
  font-size: 13px;
  color: var(--unrimsa-admin-text-muted);
  margin: 0 0 var(--unrimsa-admin-space-4);
  padding: var(--unrimsa-admin-space-4);
  background: var(--unrimsa-admin-surface-subtle);
  border-radius: var(--unrimsa-admin-radius-md);
}

.unrimsa-admin-site-preview__banner {
  min-height: 140px;
  padding: var(--unrimsa-admin-space-5);
  background: linear-gradient(135deg, #a1a1aa, #3f3f46) center/cover;
  color: #fff;
  margin-bottom: var(--unrimsa-admin-space-5);
  border-radius: var(--unrimsa-admin-radius-md);
}

.unrimsa-admin-site-preview__section {
  margin-bottom: var(--unrimsa-admin-space-5);
  padding-bottom: var(--unrimsa-admin-space-4);
  border-bottom: 1px solid var(--unrimsa-admin-border);
}

.unrimsa-admin-site-preview__section h3 {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--unrimsa-admin-space-3);
}

.unrimsa-admin-site-preview__section ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.unrimsa-admin-site-preview__section li {
  padding: 10px 0;
  border-bottom: 1px solid var(--unrimsa-admin-border);
  font-size: 14px;
}

.unrimsa-admin-site-preview__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: var(--unrimsa-admin-space-2);
}

.unrimsa-admin-site-preview__gallery img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--unrimsa-admin-radius-sm);
}

.unrimsa-admin-site-preview__youtube {
  display: flex;
  flex-wrap: wrap;
  gap: var(--unrimsa-admin-space-4);
}

.unrimsa-admin-site-preview__popup {
  padding: var(--unrimsa-admin-space-4);
  border: 1px solid var(--unrimsa-admin-border);
  border-radius: var(--unrimsa-admin-radius-md);
  margin-bottom: var(--unrimsa-admin-space-2);
}

.unrimsa-admin-popup-preview h3,
.unrimsa-admin-notice-preview h3,
.unrimsa-admin-schedule-preview h3 {
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0 0 var(--unrimsa-admin-space-3);
  color: var(--unrimsa-admin-text);
}

.unrimsa-admin-popup-preview__img {
  width: 100%;
  border-radius: var(--unrimsa-admin-radius-md);
  margin-bottom: var(--unrimsa-admin-space-4);
}

.unrimsa-admin-popup-preview--image .unrimsa-admin-popup-preview__frame {
  max-width: 360px;
  margin: 0 auto;
  border-radius: var(--unrimsa-admin-radius-md);
  overflow: hidden;
  box-shadow: var(--unrimsa-admin-shadow-lg);
}

.unrimsa-admin-popup-preview--image .unrimsa-admin-popup-preview__img {
  display: block;
  width: 100%;
  margin: 0;
  border-radius: 0;
}

.unrimsa-admin-popup-preview__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 360px;
  margin: 0 auto;
  padding: 10px 12px;
  background: #1a1a1a;
  color: #f6f4ef;
  font-size: 12px;
  border-radius: 0 0 var(--unrimsa-admin-radius-sm) var(--unrimsa-admin-radius-sm);
}

.unrimsa-admin-image-preview--popup img {
  max-height: 320px;
  object-fit: contain;
}

/* ── Preview page ── */
.unrimsa-preview-body {
  margin: 0;
  background: #fafafa;
  font-family: "Noto Sans KR", sans-serif;
  font-size: 14px;
  color: #52525b;
  -webkit-font-smoothing: antialiased;
}

.unrimsa-preview-app {
  max-width: 1120px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  border-left: 1px solid #ececef;
  border-right: 1px solid #ececef;
}

.unrimsa-preview-header {
  background: #fff;
  border-bottom: 1px solid #ececef;
  position: sticky;
  top: 0;
  z-index: 10;
}

.unrimsa-preview-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
}

.unrimsa-preview-logo {
  font-size: var(--unrimsa-admin-text-base);
  font-weight: 600;
  color: #18181b;
  letter-spacing: -0.01em;
}

.unrimsa-preview-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  background: #f3f3f3;
  color: #5c5c5c;
  border-radius: 999px;
}

.unrimsa-preview-hero {
  min-height: 280px;
  background: linear-gradient(135deg, #a1a1aa, #3f3f46) center/cover no-repeat;
  display: flex;
  align-items: flex-end;
}

.unrimsa-preview-hero__inner {
  width: 100%;
  padding: 48px 24px 32px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
  color: #fff;
}

.unrimsa-preview-hero h1 {
  font-size: var(--unrimsa-admin-text-2xl);
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.3;
}

.unrimsa-preview-hero p {
  margin: 8px 0 16px;
  font-size: var(--unrimsa-admin-text-sm);
  opacity: 0.9;
  max-width: 480px;
}

.unrimsa-preview-cta {
  display: inline-block;
  padding: 8px 14px;
  background: #fff;
  color: #18181b;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
}

.unrimsa-preview-cta--sm {
  padding: 8px 14px;
  font-size: 12px;
}

.unrimsa-preview-main {
  padding: 32px 24px 48px;
}

.unrimsa-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--unrimsa-admin-space-4);
  margin-bottom: var(--unrimsa-admin-space-5);
}

.unrimsa-preview-block {
  padding: var(--unrimsa-admin-space-5);
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #ececef;
}

.unrimsa-preview-block h2 {
  font-size: var(--unrimsa-admin-text-sm);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
  color: #222;
}

.unrimsa-preview-notices {
  list-style: none;
  margin: 0;
  padding: 0;
}

.unrimsa-preview-notices li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e4e4e7;
  font-size: 14px;
}

.unrimsa-preview-notices li:last-child {
  border-bottom: none;
}

.unrimsa-preview-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  background: #18181b;
  color: #fff;
  border-radius: 999px;
}

.unrimsa-preview-date {
  margin-left: auto;
  color: #a1a1aa;
  font-size: 12px;
}

.unrimsa-preview-schedule {
  width: 100%;
  font-size: 13px;
  border-collapse: collapse;
}

.unrimsa-preview-schedule th,
.unrimsa-preview-schedule td {
  padding: 8px 0;
  border-bottom: 1px solid #e4e4e7;
  text-align: left;
}

.unrimsa-preview-schedule th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #a1a1aa;
  font-weight: 600;
}

.unrimsa-preview-gallery {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.unrimsa-preview-gallery figure {
  margin: 0;
}

.unrimsa-preview-gallery img,
.unrimsa-preview-placeholder {
  aspect-ratio: 4/3;
  width: 100%;
  object-fit: cover;
  background: #e7e5e4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #71717a;
}

.unrimsa-preview-gallery figcaption {
  font-size: 11px;
  margin-top: 6px;
  color: #71717a;
}

.unrimsa-preview-youtube {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.unrimsa-preview-youtube article img {
  border-radius: 10px;
  width: 100%;
}

.unrimsa-preview-youtube article h3 {
  font-size: 14px;
  font-weight: 600;
  margin: 10px 0 4px;
}

.unrimsa-preview-youtube article p {
  font-size: 13px;
  color: #71717a;
  margin: 0;
}

.unrimsa-preview-empty {
  color: #a1a1aa;
  font-size: 14px;
}

.unrimsa-preview-footer {
  background: #fafafa;
  color: #71717a;
  padding: 24px;
  text-align: center;
  font-size: 13px;
  border-top: 1px solid #e4e4e7;
}

.unrimsa-preview-footer a {
  color: #09090b;
  font-weight: 600;
}

.unrimsa-preview-popup-layer {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 50;
  max-width: calc(100vw - 48px);
}

.unrimsa-preview-popup {
  width: 360px;
  max-width: 100%;
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 20px;
  font-size: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.unrimsa-preview-popup img {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 12px;
}

.unrimsa-preview-popup h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 8px;
}

.unrimsa-preview-meta {
  display: block;
  margin-top: 12px;
  font-size: 12px;
  color: #a1a1aa;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .unrimsa-admin-task-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .unrimsa-admin-schedule-layout {
    grid-template-columns: 1fr;
  }

  .unrimsa-preview-grid {
    grid-template-columns: 1fr;
  }

  .unrimsa-preview-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .unrimsa-admin-menu-toggle {
    display: flex;
  }

  .unrimsa-admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(280px, 88vw);
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.2s ease;
    overflow-y: auto;
    box-shadow: var(--unrimsa-admin-shadow-lg);
  }

  .unrimsa-admin-sidebar.is-open {
    transform: translateX(0);
  }

  .unrimsa-admin-main {
    padding: var(--unrimsa-admin-space-5) var(--unrimsa-admin-space-4);
  }

  .unrimsa-admin-topbar__inner {
    padding: 0 var(--unrimsa-admin-space-4);
  }

  .unrimsa-admin-hero__question {
    max-width: none;
    font-size: var(--unrimsa-admin-text-xl);
  }

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

  .unrimsa-admin-page-header {
    flex-direction: column;
  }

  .unrimsa-admin-form {
    padding: 0 var(--unrimsa-admin-space-4);
  }

  .unrimsa-admin-form-row {
    grid-template-columns: 1fr;
    gap: var(--unrimsa-admin-space-2);
  }

  .unrimsa-admin-form-actions {
    margin: 0 calc(-1 * var(--unrimsa-admin-space-4));
    padding-left: var(--unrimsa-admin-space-4);
    padding-right: var(--unrimsa-admin-space-4);
    flex-direction: column;
    align-items: stretch;
  }

  .unrimsa-admin-form-actions .unrimsa-admin-btn {
    width: 100%;
  }

  .unrimsa-admin-form-actions [data-cancel] {
    margin-left: 0;
    order: 10;
  }

  .unrimsa-admin-list-header {
    display: none;
  }

  .unrimsa-admin-list-item {
    grid-template-columns: 1fr !important;
    gap: var(--unrimsa-admin-space-2);
  }

  .unrimsa-admin-list-cell[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--unrimsa-admin-text-subtle);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
  }

  .unrimsa-admin-list-cell--actions {
    padding-top: var(--unrimsa-admin-space-3);
    border-top: 1px solid var(--unrimsa-admin-border);
  }

  .unrimsa-admin-activity-list li {
    grid-template-columns: 1fr;
    gap: var(--unrimsa-admin-space-1);
  }

  .unrimsa-admin-activity-list__action {
    justify-self: start;
  }

  .unrimsa-preview-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .unrimsa-preview-popup-layer {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  .unrimsa-preview-popup {
    width: 100%;
  }
}

.unrimsa-admin-sidebar-overlay.is-visible {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 45;
  background: rgba(0, 0, 0, 0.35);
}

/* ── Split editor + live preview (legacy; preview pane removed) ── */

html:has(.unrimsa-admin-app--split),
body:has(.unrimsa-admin-app--split) {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.unrimsa-admin-app--split {
  height: 100vh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.unrimsa-admin-mobile-tabs {
  display: none;
}

.unrimsa-admin-editor-shell {
  flex: 1;
  display: flex;
  min-height: 0;
  width: 100%;
}

.unrimsa-admin-editor-pane {
  width: 100%;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  display: flex;
  flex-direction: column;
  background: var(--unrimsa-admin-bg);
  overflow: hidden;
}

.unrimsa-admin-app--split .unrimsa-admin-editor-pane .unrimsa-admin-layout {
  flex: 1;
  min-height: 0;
  height: 100%;
}

.unrimsa-admin-app--split .unrimsa-admin-editor-pane .unrimsa-admin-main {
  overflow-y: auto;
}

.unrimsa-admin-preview-pane {
  display: none !important;
}
