[hidden] {
  display: none !important;
}

.sidebar nav { min-height: 0; overflow-y: auto; }
.field-row > .field:first-child { margin-top: 18px; }
.notice { margin-top: 28px; padding: 18px 20px; border: 1px solid #d9d0ec; border-radius: 14px; color: #514862; background: #f4f0fb; }
.notice strong { color: var(--ink); }
.notice p { margin: 6px 0 0; font-size: 14px; }
.password-panel { max-width: 820px; }
.password-reset-section { margin-top: 30px; padding: 22px; border: 1px solid #d9d0ec; border-radius: 14px; background: #f8f5fd; }
.password-reset-section h3 { margin: 0; font-size: 20px; }

.article-editor-grid { grid-template-columns: minmax(0, 1fr) 320px; }
.article-composer { margin-top: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.article-toolbar { position: sticky; top: 0; z-index: 4; display: flex; flex-wrap: wrap; gap: 6px; padding: 10px; border-bottom: 1px solid var(--line); background: #f8f6fb; }
.article-toolbar button,.article-toolbar select { min-height: 38px; padding: 0 11px; border: 1px solid #d8d1e2; border-radius: 8px; color: #403849; background: #fff; font-size: 13px; font-weight: 750; }
.article-toolbar button:hover,.article-toolbar button.active { border-color: var(--purple); color: var(--purple2); background: #eee8ff; }
.article-toolbar .article-media-button { color: #fff; border-color: var(--purple2); background: var(--purple2); }
.article-toolbar-spacer { flex: 1; }
.article-rich-editor,.article-source { width: 100%; min-height: 500px; padding: 28px; border: 0; outline: 0; color: #403949; background: #fff; font: 17px/1.8 Georgia, serif; }
.article-rich-editor:empty::before { content: attr(data-placeholder); color: #aaa2b5; }
.article-source { resize: vertical; font: 14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; }
.article-rich-editor h2 { margin: 38px 0 12px; font: 800 30px/1.15 Inter,sans-serif; }
.article-rich-editor h3 { margin: 28px 0 10px; font: 800 23px/1.2 Inter,sans-serif; }
.article-rich-editor blockquote { margin: 25px 0; padding: 18px 24px; border-left: 4px solid var(--purple); background: var(--soft); }
.article-rich-editor img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.article-rich-editor figure { margin: 28px 0; }
.article-rich-editor figcaption { margin-top: 8px; color: var(--muted); font: 13px/1.5 Inter,sans-serif; }
.article-rich-editor .article-split { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; margin: 36px 0; padding: 12px; border: 1px dashed #cfc6df; border-radius: 12px; }
.article-rich-editor .article-split-right figure { order: 2; }
.article-rich-editor .article-split figure { margin: 0; }
.article-rich-editor .article-split-copy > :first-child { margin-top: 0; }
.article-preview { display: block; width: 100%; min-height: 560px; border: 0; border-top: 1px solid var(--line); background: #fff; }

@media (max-width: 1100px) { .article-editor-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) {
  .article-rich-editor,.article-source { min-height: 380px; padding: 20px; }
  .article-rich-editor .article-split { grid-template-columns: 1fr; }
  .article-rich-editor .article-split-right figure { order: 0; }
  .article-toolbar-spacer { display: none; }
}

body {
  font-size: 16px;
  line-height: 1.65;
}

.brand {
  font-size: 22px;
}

.brand small {
  font-size: 10px;
  line-height: 1.4;
}

.sidebar {
  width: 280px;
}

.app {
  grid-template-columns: 280px minmax(0, 1fr);
}

.sidebar nav {
  gap: 7px;
}

.sidebar nav button {
  min-height: 46px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.35;
}

.sidebar-user strong {
  font-size: 16px;
}

.sidebar-user span,
.sidebar-user button {
  font-size: 13px;
}

.workspace > header {
  min-height: 118px;
}

.workspace h1 {
  font-size: 38px;
  line-height: 1.15;
}

.eyebrow {
  font-size: 11px;
  line-height: 1.4;
}

.header-actions,
.header-actions a,
.save-state {
  font-size: 14px;
}

.panel h2 {
  font-size: 27px;
  line-height: 1.25;
}

.panel-description,
.list-card p,
.empty,
.loading {
  font-size: 15px;
  line-height: 1.7;
}

.list-card h3 {
  font-size: 18px;
  line-height: 1.4;
}

.stat strong {
  font-size: 38px;
}

.stat span {
  font-size: 14px;
}

.field label {
  font-size: 13px;
  line-height: 1.45;
}

.field input,
.field textarea,
.field select,
.inline-input {
  min-height: 50px;
  padding: 13px 15px;
  font-size: 16px;
  line-height: 1.5;
}

.field textarea {
  min-height: 130px;
}

.field textarea.rich {
  min-height: 340px;
  font-size: 15px;
  line-height: 1.65;
}

.primary,
.secondary,
.danger,
.icon-button {
  min-height: 44px;
  font-size: 14px;
}

.status {
  padding: 7px 10px;
  font-size: 11px;
  line-height: 1.3;
}

.status.UNPUBLISHED_CHANGES {
  color: #76510a;
  background: #fff1c7;
}

.status.PUBLISHING {
  color: #234c8d;
  background: #dcecff;
}

.status.PUBLISH_FAILED {
  color: #9f2948;
  background: #ffe0e8;
}

.table th {
  font-size: 11px;
}

.table td {
  font-size: 15px;
  line-height: 1.55;
}

.media-card strong {
  font-size: 14px;
  line-height: 1.4;
}

.media-card small,
.seo-preview small {
  font-size: 12px;
}

.seo-preview strong {
  font-size: 20px;
  line-height: 1.35;
}

.seo-preview p {
  font-size: 14px;
  line-height: 1.55;
}

.hero-slide-admin {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.hero-slide-preview {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 7;
  border-radius: 14px;
  background: #171226;
}

.hero-slide-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-mobile-preview {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 58px;
  height: 82px;
  overflow: hidden;
  border: 3px solid #fff;
  border-radius: 9px;
  background: #171226;
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
}

.hero-mobile-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-editor-preview {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 14px;
  margin-top: 18px;
}

.hero-editor-preview figure {
  margin: 0;
}

.hero-editor-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: 12px;
  background: #171226;
}

.hero-editor-preview figure:last-child img {
  aspect-ratio: 3 / 4;
}

.hero-editor-preview figcaption {
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
}

.login form {
  font-size: 16px;
}

.login h1 {
  font-size: clamp(40px, 5vw, 48px);
}

.login p {
  font-size: 16px;
  line-height: 1.65;
}

.login label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .08em;
}

.login input {
  min-height: 52px;
  padding: 14px 16px;
  font-size: 16px;
}

.login button {
  min-height: 52px;
  font-size: 16px;
}

.login .brand {
  font-size: 23px;
}

.login .brand small {
  font-size: 10px;
}

@media (max-width: 1100px) {
  .app {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .sidebar {
    width: 240px;
  }
}

@media (max-width: 760px) {
  .app {
    display: block;
  }

  .sidebar {
    width: 280px;
  }

  .workspace h1 {
    font-size: 31px;
  }

  .workspace > header {
    min-height: 96px;
  }

  .content {
    padding-inline: 18px;
  }

  .hero-slide-admin,
  .hero-editor-preview {
    grid-template-columns: 1fr;
  }
}
