.admin-shell { display: grid; gap: 1.5rem; }
.admin-editor { max-width: 980px; }
.admin-note { font-size: .98rem; max-width: 62ch; }
.admin-shell > .success,
.admin-editor > .success {
  display: block;
  margin-bottom: 1.1rem;
  background: rgba(74, 222, 128, 0.18);
  border: 1px solid rgba(34, 197, 94, 0.28);
  box-shadow: inset 3px 0 0 rgba(34, 197, 94, 0.34);
}
.profile-editor-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .8fr); gap: 1.25rem; align-items: start; }
.profile-preview-card { padding: 1.5rem; position: sticky; top: 6.5rem; }
.profile-preview-avatar-wrap { margin-bottom: 1rem; }
.profile-preview-avatar { width: 96px; height: 96px; border-radius: 999px; object-fit: cover; background: #eef2f7; display: block; }
.profile-preview-avatar--placeholder { background: linear-gradient(135deg, #e5eff5 0%, #f8fafc 100%); border: 1px solid #d7deea; }
.profile-preview-name { margin: 0 0 .35rem; font-size: 1.5rem; }
.profile-preview-tagline { margin: 0 0 .9rem; color: #526277; font-size: .98rem; }
.profile-preview-bio { margin: 0; color: #334155; line-height: 1.8; }
.admin-row-actions { display: inline-flex; align-items: center; gap: .75rem; }
.admin-row-actions a, .admin-row-actions button { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; color: #526277; }
.admin-row-actions a:hover, .admin-row-actions button:hover { color: #1f2937; }
.admin-inline-form { display: inline-flex; margin: 0; }
.button-link-danger { background: none; border: 0; padding: 0; cursor: pointer; }
.login-shell {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 3rem 0 1rem;
}
.login-card {
  width: 100%;
  max-width: 520px;
  padding: 1.5rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(197, 198, 207, 0.32);
  border-radius: 18px;
}
.editor-meta { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-bottom: .5rem; }
.editor-status-panel { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1rem 0 1.25rem; padding: 1rem 1.1rem; border: 1px solid #d7deea; border-radius: 16px; background: #f8fafc; }
.editor-status-panel--published { border-color: rgba(22, 101, 52, 0.18); background: rgba(22, 101, 52, 0.05); }
.editor-status-panel--draft { border-color: rgba(245, 158, 11, 0.24); background: rgba(245, 158, 11, 0.08); }
.editor-status-title { margin: 0 0 .25rem; font-weight: 700; }
.editor-status-note { margin: 0; }
.editor-readiness { margin: 0 0 1.25rem; padding: 1rem 1.1rem; border: 1px solid #d7deea; border-radius: 16px; background: #f8fafc; }
.editor-readiness__header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: .75rem; }
.editor-readiness__eyebrow { margin: 0 0 .2rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #526277; }
.editor-readiness__summary { margin: 0; font-weight: 700; color: #131d21; }
.editor-readiness__meta { font-size: .9rem; color: #52606d; white-space: nowrap; }
.editor-readiness__list { margin: 0; padding: 0; list-style: none; display: grid; gap: .45rem; }
.editor-readiness__item { display: flex; align-items: flex-start; gap: .55rem; color: #334155; }
.editor-readiness__item::before { content: ''; width: .65rem; height: .65rem; margin-top: .35rem; border-radius: 999px; background: #94a3b8; flex: 0 0 auto; }
.editor-readiness__item--warning::before { background: #dc2626; }
.editor-readiness__item--caution::before { background: #d97706; }
.editor-readiness__item--good::before { background: #16a34a; }
.form-section-title, .page-title { margin: 0; }
.page-title { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.1; }
.editor-action-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid #d7deea; }
.action-heading { margin: 0 0 .2rem; font-weight: 700; }
.action-note { margin: 0; max-width: 46ch; }
.dek-field { min-height: 120px; }
.field-hint { margin: .45rem 0 0; font-size: .92rem; }
.editor-url-preview { margin-top: .7rem; padding: .8rem .95rem; border: 1px solid #d7deea; border-radius: 14px; background: #f8fafc; }
.editor-url-preview__label { margin: 0 0 .25rem; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #526277; }
.editor-url-preview code { display: inline-block; overflow-wrap: anywhere; color: #224ed8; }
.cover-image-card { display: grid; grid-template-columns: minmax(140px, 25%) minmax(0, 1fr); gap: 1rem; margin-top: .8rem; padding: 1rem; border: 1px solid #d7deea; border-radius: 16px; background: #f8fafc; align-items: start; }
.cover-image-card__media { width: 100%; }
.cover-image-card__preview-button { display: grid; gap: .55rem; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left; }
.cover-image-card__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; border: 1px solid #d7deea; background: #eef2f7; }
.cover-image-card__zoom-hint { font-size: .82rem; font-weight: 600; color: #224ed8; }
.cover-image-card__body { min-width: 0; }
.cover-image-card__label { margin: 0 0 .35rem; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #526277; }
.cover-image-card__path { margin: 0 0 .8rem; color: #526277; }
.cover-image-card__path code { display: inline-block; overflow-wrap: anywhere; }
.cover-image-lightbox { width: min(92vw, 1100px); max-width: 1100px; padding: 0; border: 0; border-radius: 18px; background: transparent; }
.cover-image-lightbox::backdrop { background: rgba(15, 23, 42, 0.78); backdrop-filter: blur(2px); }
.cover-image-lightbox__inner { position: relative; padding: 1rem; border-radius: 18px; background: #0f172a; box-shadow: 0 24px 80px rgba(15, 23, 42, 0.45); }
.cover-image-lightbox__inner img { display: block; max-width: 100%; max-height: 82vh; margin: 0 auto; border-radius: 12px; }
.cover-image-lightbox__close { position: absolute; top: .8rem; right: .8rem; width: 2.25rem; height: 2.25rem; border: 0; border-radius: 999px; background: rgba(255,255,255,0.14); color: #fff; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.checkbox-row { display: flex; gap: .6rem; align-items: center; margin-top: 1rem; font-weight: 600; padding: .9rem 1rem; border: 1px solid #d7deea; border-radius: 14px; background: #f8fafc; }
.checkbox-row input { width: auto; margin: 0; }
.checkbox-row--inline { margin-top: 0; width: fit-content; }
.checkbox-row--danger { border-color: rgba(220, 38, 38, 0.18); background: rgba(220, 38, 38, 0.04); }
.empty-admin-state { padding: 1rem 0; }
.admin-list-intro { padding-bottom: .75rem; border-bottom: 1px solid #d7deea; margin-bottom: .75rem; }
.admin-list-intro .admin-note { margin: 0; }
.admin-filter-bar { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: .85rem; }
.admin-filter-chip { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .45rem .8rem; border-radius: 999px; border: 1px solid #d7deea; background: #f8fafc; color: #334155; font-weight: 600; text-decoration: none; transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
.admin-filter-chip:hover { background: #eef2f7; border-color: #c3cedd; }
.admin-filter-chip--active { background: rgba(34, 78, 216, 0.08); border-color: rgba(34, 78, 216, 0.24); color: #224ed8; box-shadow: inset 0 0 0 1px rgba(34, 78, 216, 0.08); }
.admin-filter-chip__count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; padding: .08rem .38rem; border-radius: 999px; background: rgba(15, 23, 42, 0.08); color: inherit; font-size: .82rem; line-height: 1.2; }
.admin-filter-chip--active .admin-filter-chip__count { background: rgba(34, 78, 216, 0.14); }
.admin-editor .card { padding: 1.5rem; }
.admin-editor form > label:first-of-type { margin-top: 0; }
.admin-editor textarea#body { min-height: 420px; }
.admin-editor input[type=text],
.admin-editor textarea,
.admin-editor select,
.login-card input[type=email],
.login-card input[type=password] { background: #fcfdff; }
.admin-editor input[type=file] {
  width: 100%;
  padding: .7rem .85rem;
  border: 1px solid #d7deea;
  border-radius: 12px;
  background: #fcfdff;
  color: #334155;
}
.admin-editor input[type=file]::file-selector-button {
  margin-right: .85rem;
  padding: .55rem .8rem;
  border: 1px solid #d7deea;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.admin-editor .ck.ck-editor {
  margin-top: .35rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d7deea;
  background: #fcfdff;
}
.admin-editor .ck.ck-toolbar {
  border: 0;
  border-bottom: 1px solid #d7deea;
  background: #f8fafc;
  padding: .55rem .65rem;
}
.admin-editor .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content {
  border: 0 !important;
  border-bottom: 1px solid #d7deea !important;
  box-shadow: none !important;
  background: #f8fafc;
}
.admin-editor .ck.ck-toolbar .ck-button,
.admin-editor .ck.ck-toolbar .ck-dropdown__button {
  border-radius: 10px;
}
.admin-editor .ck.ck-toolbar .ck-button:hover,
.admin-editor .ck.ck-toolbar .ck-dropdown__button:hover {
  background: #eef2f7;
}
.admin-editor .ck.ck-editor__main > .ck-editor__editable {
  border: 0;
  background: #fcfdff;
  padding: 1.35rem 1.45rem;
  color: #131d21;
}
.admin-editor .ck.ck-editor__main > .ck-editor__editable.ck-focused {
  box-shadow: inset 0 0 0 2px rgba(62, 81, 122, 0.12);
}
.admin-editor .ck-editor__editable_inline {
  min-height: 560px;
}
.admin-editor .ck-content {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #131d21;
}
.admin-editor .ck-content > *:first-child {
  margin-top: 0;
}
.admin-editor .ck-content p {
  margin: 0 0 1.1rem;
}
.admin-editor .ck-content h2,
.admin-editor .ck-content h3,
.admin-editor .ck-content h4 {
  color: #263a61;
  font-weight: 200;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 1.8rem 0 .8rem;
}
.admin-editor .ck-content h2 { font-size: 2rem; }
.admin-editor .ck-content h3 { font-size: 1.6rem; }
.admin-editor .ck-content h4 { font-size: 1.3rem; }
.admin-editor .ck-content blockquote {
  border-left: 3px solid rgba(62, 81, 122, 0.25);
  margin: 2rem 0;
  padding: .35rem 0 .35rem 1.25rem;
  color: #3e517a;
  font-style: italic;
}
.admin-editor .ck-content a {
  color: #3e517a;
  text-decoration-color: rgba(117, 119, 127, 0.35);
  text-underline-offset: .16em;
}
.admin-editor .ck-content ul,
.admin-editor .ck-content ol {
  margin: 0 0 1.1rem 1.4rem;
}
.admin-editor .ck-content figure.image {
  margin: 1.6rem 0;
}
.admin-editor .ck-content figure.image img {
  border-radius: 10px;
}
.admin-editor .ck-content pre,
.admin-editor .ck-content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.admin-editor .ck-content pre {
  background: #1f2937;
  color: #e5eef8;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  overflow-x: auto;
  line-height: 1.7;
}
.admin-editor .ck-content code {
  background: rgba(62, 81, 122, 0.08);
  padding: .12rem .35rem;
  border-radius: 6px;
  font-size: .95em;
}
.admin-editor .ck-content pre code {
  background: transparent;
  padding: 0;
  border-radius: 0;
  color: inherit;
}
.admin-editor .ck-content figcaption {
  color: #5d5e64;
  font-size: .92rem;
  margin-top: .5rem;
}
.admin-shell table { table-layout: fixed; }
.admin-shell th:nth-child(1) { width: 24%; }
.admin-shell th:nth-child(2) { width: 14%; }
.admin-shell th:nth-child(3) { width: 14%; }
.admin-shell th:nth-child(4) { width: 20%; }
.admin-shell th:nth-child(5) { width: 18%; }
.admin-shell th:nth-child(6) { width: 10%; }
.admin-content-row td { transition: background-color .16s ease, box-shadow .16s ease; }
.admin-content-row--published td { background: rgba(22, 101, 52, 0.025); }
.admin-content-row--draft td { background: rgba(245, 158, 11, 0.05); }
.admin-content-row td:first-child { box-shadow: inset 3px 0 0 transparent; }
.admin-content-row--published td:first-child { box-shadow: inset 3px 0 0 rgba(22, 101, 52, 0.32); }
.admin-content-row--draft td:first-child { box-shadow: inset 3px 0 0 rgba(245, 158, 11, 0.42); }
.admin-shell td strong { display: inline-block; margin-bottom: .2rem; }
.admin-content-meta { font-size: .84rem; color: #52606d; }
.admin-content-row--draft .admin-content-meta { color: #8a5a00; }
.admin-content-row--published .admin-content-meta { color: #166534; }
.admin-shell td:last-child { text-align: right; }
.admin-row-actions { display: inline-flex; gap: .75rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 820px) {
  .cover-image-card { grid-template-columns: 1fr; }
  .editor-action-bar,
  .editor-status-panel,
  .editor-readiness__header { align-items: flex-start; flex-direction: column; }
  .profile-editor-grid { grid-template-columns: 1fr; }
  .profile-preview-card { position: static; }
  .admin-shell table,
  .admin-shell thead,
  .admin-shell tbody,
  .admin-shell tr,
  .admin-shell th,
  .admin-shell td { display: block; width: 100%; }
  .admin-shell thead { display: none; }
  .admin-shell tr { padding: 1rem 0; border-bottom: 1px solid #d7deea; }
  .admin-shell td { border-bottom: 0; padding: .3rem 0; }
  .admin-shell td:last-child { text-align: left; padding-top: .75rem; }
}
