.admin-shell {
  --admin-paper: #f5f3ed;
  --admin-ink: #172d32;
  --admin-muted: #61716e;
  --admin-line: #d5dcd5;
  --admin-blue: #456975;
  --admin-red: #a54235;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--admin-paper);
  color: var(--admin-ink);
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: 14px;
  line-height: 1.6;
}
.admin-shell *, .admin-shell *::before, .admin-shell *::after { box-sizing: border-box; }
.admin-shell a { color: inherit; text-decoration: none; }
.admin-shell button, .admin-shell input, .admin-shell textarea, .admin-shell select { font: inherit; }
.admin-shell button, .admin-shell select, .admin-shell input[type="checkbox"], .admin-shell input[type="file"] { cursor: pointer; }
.admin-shell button { color: inherit; }
.admin-shell h1, .admin-shell h2, .admin-shell h3, .admin-shell p { margin: 0; }
.admin-shell button:focus-visible, .admin-shell a:focus-visible, .admin-shell input:focus-visible, .admin-shell select:focus-visible, .admin-shell textarea:focus-visible { outline: 3px solid #a9c4c6; outline-offset: 3px; }
.admin-sidebar { background: var(--admin-ink); color: #f5f3ed; padding: 38px 24px 26px; display: flex; flex-direction: column; align-self: stretch; min-width: 0; }
.admin-brand { display: flex; align-items: center; gap: 11px; line-height: 1.45; font-weight: 600; font-size: 15px; }
.admin-brand-mark { display: grid; place-items: center; width: 38px; height: 44px; flex: 0 0 auto; border: 1px solid #85978f; font-family: "Songti SC", SimSun, serif; font-size: 25px; font-weight: 400; }
.admin-brand small { display: block; margin-top: 4px; color: #adbdb6; font-size: 11px; font-weight: 400; }
.admin-nav { display: grid; gap: 6px; margin-top: 51px; }
.admin-nav-link { display: flex; justify-content: space-between; align-items: center; gap: 7px; padding: 13px 12px; border-left: 2px solid transparent; }
.admin-nav-link small { color: #a5b6ae; font-size: 10px; white-space: nowrap; }
.admin-nav-link:hover { background: #233c40; }
.admin-nav-link.admin-is-active { background: #30494b; border-left-color: #e9e3cf; }
.admin-nav-link.admin-is-active small { color: #d9e0d9; }
.admin-identity { margin-top: 50px; border-top: 1px solid #405653; padding-top: 24px; }
.admin-identity label { display: block; color: #ccd5ce; font-size: 12px; margin-bottom: 9px; }
.admin-identity select { width: 100%; background: #233b3e; border: 1px solid #637972; border-radius: 2px; color: #fff; padding: 9px 8px; }
.admin-identity p { color: #b4c2ba; font-size: 11px; line-height: 1.8; margin-top: 12px; }
.admin-reset { margin-top: 25px; font-size: 11px; color: #b4c2ba; }
.admin-reset p { line-height: 1.8; margin-bottom: 8px; }
.admin-reset > div { display: flex; gap: 18px; }
.admin-reset button { color: #cfdbd1; background: transparent; border: 0; padding: 6px 0; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.admin-return { display: block; margin-top: auto; padding-top: 52px; font-size: 12px; color: #dce2d9 !important; }
.admin-main { padding: 28px 40px 70px; min-width: 0; max-width: 1600px; width: 100%; }
.admin-demo-notice { display: flex; align-items: flex-start; gap: 14px; padding: 12px 16px; background: #e7eae1; border: 1px solid #d7ded3; font-size: 11px; color: #53635d; }
.admin-demo-badge { white-space: nowrap; color: var(--admin-ink); border-right: 1px solid #b9c6ba; padding-right: 14px; font-size: 11px; font-weight: 600; }
.admin-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 36px 0 28px; }
.admin-page-heading h1 { font-family: "Songti SC", "STSong", SimSun, serif; font-size: 32px; font-weight: 500; letter-spacing: .025em; line-height: 1.3; }
.admin-page-heading p:not(.admin-overline) { color: var(--admin-muted); font-size: 12px; margin-top: 11px; }
.admin-overline { font-size: 11px; color: var(--admin-muted); margin-bottom: 8px !important; }
.admin-heading-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.admin-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 18px; background: var(--admin-ink); border: 1px solid var(--admin-ink); border-radius: 2px; color: #fff !important; font-size: 12px !important; font-weight: 500; line-height: 1.5; white-space: nowrap; text-decoration: none; }
.admin-button:hover { background: #2e4d50; border-color: #2e4d50; }
.admin-button-secondary { color: var(--admin-ink) !important; border-color: #aebcb4; background: transparent; }
.admin-button-secondary:hover { background: #e5e8df; border-color: #6c8178; }
.admin-counts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--admin-line); padding: 23px 0; margin-bottom: 25px; }
.admin-counts > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 25px; border-left: 1px solid var(--admin-line); }
.admin-counts > div:first-child { padding-left: 0; border-left: 0; }
.admin-counts > div:last-child { padding-right: 0; }
.admin-counts span { color: var(--admin-muted); font-size: 12px; }
.admin-counts strong { font-family: Georgia, "Songti SC", serif; font-size: 30px; font-weight: 400; line-height: 1; }
.admin-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 21px; }
.admin-filters input, .admin-filters select { min-height: 39px; color: var(--admin-ink); border: 1px solid #becbc1; background: #fbfaf6; border-radius: 2px; font-size: 12px; padding: 8px 10px; max-width: 100%; }
.admin-filters select { max-width: 155px; }
.admin-search { display: flex; flex: 1; min-width: 200px; max-width: 410px; }
.admin-search input { min-width: 0; flex: 1; border-radius: 2px 0 0 2px; }
.admin-search-button { border: 1px solid #becbc1; border-left: 0; background: #e7ebe3; padding: 7px 12px; font-size: 12px !important; border-radius: 0 2px 2px 0; white-space: nowrap; }
.admin-text-button { border: 0; padding: 5px 0; background: transparent; color: var(--admin-blue) !important; font-size: 12px !important; }
.admin-text-button:hover, .admin-row-actions > a:hover, .admin-row-actions > button:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-list-summary { display: flex; justify-content: space-between; color: var(--admin-muted); margin: 0 0 10px; font-size: 11px; }
.admin-content-list { border-top: 1px solid #aebeb3; }
.admin-content-table-head, .admin-content-row { display: grid; grid-template-columns: minmax(0, 1fr) 78px 115px 114px; gap: 18px; align-items: center; }
.admin-content-table-head { font-size: 10px; color: var(--admin-muted); padding: 12px 0; border-bottom: 1px solid var(--admin-line); }
.admin-content-row { padding: 22px 0; border-bottom: 1px solid var(--admin-line); }
.admin-content-title { display: flex; align-items: flex-start; gap: 13px; min-width: 0; }
.admin-content-title > div { min-width: 0; }
.admin-content-title > div > a { font-size: 14px; font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; }
.admin-content-title > div > a:hover { color: var(--admin-blue); }
.admin-content-title p { margin-top: 5px; color: var(--admin-muted); font-size: 11px; }
.admin-content-title small { display: block; font-size: 10px; color: var(--admin-muted); margin-top: 4px; overflow-wrap: anywhere; }
.admin-type-mark { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 42px; border: 1px solid #b1beb1; color: #567268; font-size: 10px; border-radius: 2px; }
.admin-type-video { background: #dde6e4; color: #426776; border-color: #c1d0cb; }
.admin-featured-label { color: #936742; border-left: 1px solid #c7cec3; margin-left: 8px; padding-left: 8px; }
.admin-status { display: inline-block; padding: 3px 8px; border-radius: 2px; font-size: 10px; font-weight: 400; white-space: nowrap; }
.admin-status-published { color: #32634c; background: #e1e9dc; }
.admin-status-draft { color: #8a6438; background: #eee7d5; }
.admin-status-offline { color: #6a7471; background: #e3e6df; }
.admin-content-row time { color: var(--admin-muted); font-size: 10px; line-height: 1.8; }
.admin-row-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.admin-row-actions > a, .admin-row-actions > button { padding: 5px 0; font-size: 11px !important; color: var(--admin-blue); background: transparent; border: 0; white-space: nowrap; }
.admin-empty { text-align: center; padding: 60px 25px; background: #eeefe7; color: var(--admin-muted); }
.admin-empty strong { display: block; font-size: 17px; color: var(--admin-ink); font-family: "Songti SC", SimSun, serif; font-weight: 500; }
.admin-empty p { font-size: 12px; margin-top: 10px; }
.admin-toast { display: flex; align-items: center; justify-content: space-between; gap: 15px; background: #e0e9dc; border-left: 3px solid #607e63; padding: 11px 15px; font-size: 12px; margin-top: 18px; }
.admin-toast-error { background: #f0e3d9; border-left-color: var(--admin-red); color: #843b31; }
.admin-toast button { border: 0; background: transparent; font-size: 20px; line-height: 1; padding: 3px 5px; }
.admin-back { display: inline-block; margin-bottom: 12px; color: var(--admin-muted) !important; font-size: 12px; }
.admin-row-actions .admin-delete-content { color:var(--error-ink,#a03529); }
.admin-editor-columns { display: grid; grid-template-columns: minmax(0, 1fr) 275px; gap: 24px; align-items: start; }
.admin-form-main, .admin-form-side { min-width: 0; }
.admin-panel { border: 1px solid var(--admin-line); padding: 25px; background: #faf9f5; border-radius: 2px; }
.admin-panel h2, .admin-section-heading h2 { font-family: "Songti SC", SimSun, serif; font-size: 19px; font-weight: 500; line-height: 1.5; margin-bottom: 23px; }
.admin-panel h3 { font-size: 13px; font-weight: 500; }
.admin-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 23px; font-size: 12px; color: var(--admin-ink); }
.admin-field > label { font-size: 12px; }
.admin-field > span:not(.admin-help), .admin-field > label > span { color: var(--admin-muted); font-size: 10px; font-weight: 400; margin-left: 3px; }
.admin-field input:not([type="checkbox"]), .admin-field textarea, .admin-field select { display: block; width: 100%; padding: 11px 12px; border: 1px solid #b7c5b9; background: #fffefa; color: var(--admin-ink); font-size: 13px; line-height: 1.7; border-radius: 2px; min-width: 0; }
.admin-field input[type="file"] { font-size: 11px; padding: 9px; background: #f1f2e9; }
.admin-field input[type="file"]::file-selector-button { font: inherit; background: #fffefa; border: 1px solid #b7c5b9; border-radius: 2px; padding: 6px 10px; color: var(--admin-ink); margin-right: 9px; cursor: pointer; }
.admin-field textarea { resize: vertical; min-height: 90px; }
.admin-field textarea.admin-body-input { font-family: "Songti SC", SimSun, serif; font-size: 15px; line-height: 1.95; }
.admin-field input::placeholder, .admin-field textarea::placeholder { color: #87968b; font-size: 12px; }
.admin-form-main > .admin-panel .admin-field:last-child { margin-bottom: 0; }
.admin-form-side { display: grid; gap: 17px; }
.admin-form-side .admin-panel { padding: 21px; }
.admin-form-side h2 { font-size: 17px; margin-bottom: 18px; }
.admin-form-side .admin-field { margin-bottom: 18px; }
.admin-form-side .admin-field input, .admin-form-side .admin-field select { font-size: 12px; padding: 9px 10px; }
.admin-check { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.75; cursor: pointer; }
.admin-check input { accent-color: var(--admin-ink); flex: 0 0 auto; width: 15px; height: 15px; margin: 3px 0 0; }
.admin-check span { min-width: 0; overflow-wrap: anywhere; }
.admin-check small { color: var(--admin-muted); font-size: 10px; }
.admin-checkbox-list { display: grid; gap: 13px; margin-top: 15px; }
.admin-feature-check { margin-block: 5px; }
.admin-help { font-size: 11px; color: var(--admin-muted); line-height: 1.8; }
.admin-small-link { display: inline-block; font-size: 11px; color: var(--admin-blue) !important; margin-top: 18px; text-decoration: underline !important; text-underline-offset: 3px; }
.admin-publish-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: stretch; }
.admin-publish-panel p { grid-column: 1 / -1; }
.admin-publish-panel .admin-button { min-width: 0; white-space: normal; text-align: center; }
.admin-publish-panel p { font-size: 11px; color: var(--admin-muted); line-height: 1.8; margin-bottom: 5px; }
.admin-form-error { padding: 14px 18px; border: 1px solid #d2ab92; border-left: 3px solid var(--admin-red); background: #f4e7dc; color: #853f32; font-size: 12px; margin-bottom: 20px; }
.admin-upload { display: flex; gap: 16px; align-items: flex-start; padding: 24px 18px; border: 1px dashed #9aae9f; background: #edf0e7; margin-top: 5px; }
.admin-upload-icon { display: grid; place-items: center; font-size: 24px; color: var(--admin-blue); width: 42px; height: 42px; border: 1px solid #a9beb0; border-radius: 50%; flex: 0 0 auto; }
.admin-upload > div { min-width: 0; width: 100%; }
.admin-upload strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.admin-upload p { font-size: 10px; color: var(--admin-muted); margin: 6px 0 12px; }
.admin-upload input { font-size: 10px !important; padding: 5px !important; }
.admin-media-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; font-size: 11px; color: var(--admin-muted); }
.admin-image-preview { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 14px; margin-top: 10px; }
.admin-image-preview img { display: block; width: 150px; max-width: 100%; height: 100px; object-fit: cover; background: #e6e9e0; border: 1px solid var(--admin-line); }
.admin-qr-preview img { width: 168px; height: 168px; object-fit: contain; background: #fff; padding: 8px; }
.admin-preview { border: 1px solid #b5c5ba; margin-top: 25px; background: #fbfaf6; }
.admin-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 17px 24px; background: #e4e9df; border-bottom: 1px solid #c6d0c4; }
.admin-section-heading h2 { font-size: 16px; margin: 0; }
.admin-section-heading span { font-size: 10px; color: var(--admin-muted); }
.admin-preview-body { padding: 30px 28px; }
.admin-preview-category { color: var(--admin-blue); font-size: 11px; margin-bottom: 13px !important; }
.admin-preview-body h3 { font-family: "Songti SC", SimSun, serif; font-size: 26px; line-height: 1.6; margin: 0 0 22px; font-weight: 500; overflow-wrap: anywhere; }
.admin-preview-excerpt { border-left: 2px solid #b9c3b2; padding-left: 15px; color: var(--admin-muted); font-size: 13px; margin-bottom: 25px !important; white-space: pre-wrap; }
.admin-preview-paragraph { font-family: "Songti SC", SimSun, serif; font-size: 16px; line-height: 2; margin-top: 21px !important; overflow-wrap: anywhere; }
.admin-video { display: block; width: 100%; max-height: 460px; background: #132327; margin-bottom: 12px; }
.admin-media-placeholder { display: grid; place-items: center; padding: 70px 20px; background: #e5ebe4; color: var(--admin-muted); font-size: 12px; text-align: center; }
.admin-management-columns { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 28px; }
.admin-side-editor { min-width: 0; }
.admin-side-editor h2 { margin-bottom: 22px; }
.admin-side-editor .admin-button { margin-top: 10px; }
.admin-topic-list, .admin-product-list { border-top: 1px solid #aebdb1; }
.admin-topic-item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--admin-line); }
.admin-topic-item h2, .admin-product-item h2 { font-family: "Songti SC", SimSun, serif; font-size: 20px; font-weight: 500; line-height: 1.6; margin-bottom: 10px; overflow-wrap: anywhere; }
.admin-topic-item p, .admin-product-item p { color: var(--admin-muted); font-size: 12px; line-height: 1.9; margin-bottom: 12px; overflow-wrap: anywhere; }
.admin-topic-item small, .admin-product-item small { display: block; color: #768477; font-size: 10px; margin-bottom: 6px; }
.admin-topic-art { display: grid; place-items: center; height: 112px; overflow: hidden; color: #edf0e4; background-color: #42616a; background-image: repeating-radial-gradient(ellipse at 5% 90%, transparent 0 17px, #d8e6dd33 18px 19px, transparent 20px 35px); }
.admin-topic-art span { font-family: "Songti SC", SimSun, serif; font-size: 39px; opacity: .85; }
.admin-topic-art img { display:block; width:100%; height:100%; object-fit:cover; }
.admin-topic-cover-preview { margin:0 0 22px; }
.admin-topic-cover-preview img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:4px; margin-bottom:10px; }
.admin-article-media { border-top:1px solid var(--admin-line); padding-top:22px; }
.admin-audio-filename { margin:12px 0 0; font-size:12px; line-height:1.7; color:var(--admin-muted); overflow-wrap:anywhere; }
.admin-field .article-audio { margin:12px 0; }
.admin-article-preview-cover { display:block; width:100%; max-height:360px; object-fit:cover; border-radius:4px; margin:20px 0; }
.admin-art-land { background-color: #607760; }
.admin-art-globe { background-color: #647571; }
.admin-art-route { background-color: #866752; }
.admin-settings-form { max-width: 830px; padding: 31px; }
.admin-settings-form h2 { margin-bottom: 18px; }
.admin-theme-settings { min-width: 0; border: 0; padding: 0; margin: 0; }
.admin-theme-settings legend { padding: 0; margin-bottom: 12px; font-family: "Songti SC", SimSun, serif; font-size: 19px; }
.admin-theme-status { min-height: 1.8em; margin-top: 8px !important; font-size: 11px; color: var(--admin-muted); }
.admin-theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.admin-theme-option { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--admin-line); border-radius: 2px; cursor: pointer; min-width: 0; }
.admin-theme-option:has(input:checked) { border-color: var(--admin-ink); box-shadow: inset 0 0 0 1px var(--admin-ink); }
.admin-theme-option:focus-within { outline: 3px solid var(--focus, #a9c4c6); outline-offset: 3px; }
.admin-theme-option input { flex: 0 0 auto; margin: 4px 0 0; accent-color: var(--admin-ink); }
.admin-theme-card { min-width: 0; display: grid; gap: 7px; }
.admin-theme-card strong { font-size: 13px; font-weight: 500; line-height: 1.5; }
.admin-theme-description { font-size: 11px; line-height: 1.7; color: var(--admin-muted); overflow-wrap: anywhere; }
.admin-theme-swatches { display: flex; width: 108px; height: 21px; border: 1px solid var(--admin-line); }
.admin-theme-swatches span { flex: 1; min-width: 0; }
.admin-view-count { font-variant-numeric: tabular-nums; }
.admin-preview-count { margin-top: 10px !important; font-size: 12px; color: var(--admin-muted); font-variant-numeric: tabular-nums; }
.admin-about-form .admin-help { margin-bottom: 20px; }
.admin-portrait-preview { margin-bottom: 25px; }
.admin-portrait-preview img { width: 180px; height: 216px; object-fit: contain; }
.admin-qr-preview { margin-bottom: 15px; }
.admin-hero-add { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 22px; }
.admin-hero-add .admin-field { margin-bottom: 0; }
.admin-hero-list { margin-top: 22px; border-top: 1px solid var(--admin-line); }
.admin-hero-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--admin-line); }
.admin-hero-preview { align-self: start; aspect-ratio: 16 / 10; background: #e6e9df; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--admin-line); }
.admin-hero-preview img, .admin-hero-preview video { display: block; width: 100%; height: 100%; max-height: 280px; object-fit: contain; background: #172d2e; }
.admin-hero-preview > span { padding: 20px; font-size: 11px; color: var(--admin-muted); text-align: center; }
.admin-hero-fields { min-width: 0; }
.admin-hero-fields .admin-field { margin-bottom: 13px; }
.admin-hero-number { color: var(--admin-muted); font-size: 10px; margin-bottom: 13px; letter-spacing: .06em; }
.admin-hero-fields .admin-remove-media { display: block; color: var(--admin-red) !important; margin-top: 9px; }
.admin-hero-empty { padding: 22px; margin-top: 20px; border: 1px dashed #b7c5b9; color: var(--admin-muted); font-size: 12px; text-align: center; }
.admin-setting-divider { border-top: 1px solid var(--admin-line); margin: 30px 0; }
.admin-form-footer { margin-top: 29px; padding-top: 23px; border-top: 1px solid var(--admin-line); }
.admin-product-visibility { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 18px; padding: 20px 24px; background: #e6ebe0; border: 1px solid #cfd9c7; margin-bottom: 28px; }
.admin-product-visibility strong { font-size: 13px; font-weight: 500; }
.admin-product-visibility p { font-size: 11px; color: var(--admin-muted); margin-top: 5px; }
.admin-product-item { display: grid; grid-template-columns: 102px minmax(0, 1fr); gap: 22px; padding: 26px 0; border-bottom: 1px solid var(--admin-line); }
.admin-product-thumb { width: 102px; height: 126px; object-fit: cover; background: #e6e8df; }
.admin-product-placeholder { display: grid; place-items: center; color: #7a8b7e; font-size: 12px; }
.admin-product-placeholder { color: #edf0e4; background-color: #42616a; background-image: repeating-radial-gradient(ellipse at 5% 90%, transparent 0 17px, #d8e6dd33 18px 19px, transparent 20px 35px); }
.admin-product-placeholder.admin-art-land { background-color: #607760; }
.admin-product-placeholder.admin-art-globe { background-color: #647571; }
.admin-product-placeholder.admin-art-route { background-color: #866752; }
.admin-product-placeholder > span { font-family: "Songti SC", SimSun, serif; font-size: 36px; font-weight: 400; }
.admin-product-labels { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-product-checks { display: grid; gap: 12px; margin-top: 22px; }
.admin-product-item h2 { margin-top: 8px; }
.admin-subheading { margin: 23px 0 12px !important; }
.admin-content-checks { max-height: 300px; overflow-y: auto; padding: 12px; border: 1px solid var(--admin-line); background: #f4f4ed; }
.admin-log-count { color: var(--admin-muted); font-size: 12px; }
.admin-logs { border-top: 1px solid #aebdb1; }
.admin-log-head, .admin-log-row { display: grid; grid-template-columns: 160px 110px 140px minmax(0, 1fr); gap: 20px; }
.admin-log-head { color: var(--admin-muted); padding: 13px 0; font-size: 11px; border-bottom: 1px solid var(--admin-line); }
.admin-log-row { padding: 18px 0; font-size: 12px; border-bottom: 1px solid var(--admin-line); }
.admin-log-row time { color: var(--admin-muted); font-size: 11px; }
.admin-log-row strong { font-weight: 500; }
.admin-log-row span:last-child { overflow-wrap: anywhere; }
.admin-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 1600px) { .admin-main { padding-inline: 55px; } }
@media (max-width: 1200px) {
  .admin-shell { grid-template-columns: 205px minmax(0, 1fr); }
  .admin-sidebar { padding-inline: 17px; }
  .admin-main { padding: 25px 26px 60px; }
  .admin-content-table-head, .admin-content-row { grid-template-columns: minmax(0, 1fr) 64px 94px 88px; gap: 12px; }
  .admin-row-actions { gap: 10px; }
  .admin-editor-columns { grid-template-columns: minmax(0, 1fr) 245px; gap: 17px; }
  .admin-panel { padding: 20px; }
  .admin-management-columns { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; }
  .admin-topic-item { grid-template-columns: 70px minmax(0, 1fr); gap: 15px; }
  .admin-topic-art { height: 96px; }
  .admin-log-head, .admin-log-row { grid-template-columns: 132px 90px 115px minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 960px) {
  .admin-sidebar { padding-inline: 14px; }
  .admin-shell { grid-template-columns: 180px minmax(0, 1fr); }
  .admin-brand { font-size: 13px; gap: 9px; }
  .admin-brand-mark { width: 31px; height: 38px; font-size: 22px; }
  .admin-nav-link { padding-inline: 9px; }
  .admin-nav-link small { display: none; }
  .admin-main { padding-inline: 23px; }
  .admin-page-heading { align-items: flex-start; }
  .admin-page-heading h1 { font-size: 29px; }
  .admin-heading-actions { flex-direction: column; }
  .admin-counts > div { padding-inline: 14px; gap: 8px; }
  .admin-counts strong { font-size: 25px; }
  .admin-counts span { font-size: 10px; }
  .admin-content-table-head, .admin-content-row { grid-template-columns: minmax(0, 1fr) 62px 80px; }
  .admin-content-table-head > span:nth-child(3), .admin-content-row > time { display: none; }
  .admin-editor-columns { grid-template-columns: 1fr; }
  .admin-form-side { grid-template-columns: 1fr 1fr; align-items: start; }
  .admin-publish-panel { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
  .admin-publish-panel p { grid-column: 1 / -1; }
  .admin-publish-panel .admin-button { font-size: 11px !important; padding-inline: 10px; }
  .admin-management-columns { grid-template-columns: 1fr; }
  .admin-side-editor { width: 100%; }
  .admin-log-head, .admin-log-row { grid-template-columns: 110px 80px minmax(0, 1fr); }
  .admin-log-head > span:last-child { display: none; }
  .admin-log-row > span:last-child { grid-column: 3; color: var(--admin-muted); font-size: 11px; margin-top: -12px; }
}
@media (max-width: 720px) {
  .admin-shell { display: block; }
  .admin-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 20px; padding: 20px 20px 0; }
  .admin-brand { font-size: 14px; }
  .admin-brand-mark { width: 34px; height: 40px; }
  .admin-brand small { font-size: 10px; }
  .admin-identity { margin: 0; border: 0; padding: 0; align-self: center; width: 132px; }
  .admin-identity label { font-size: 9px; margin-bottom: 4px; }
  .admin-identity select { font-size: 11px; padding: 7px 6px; }
  .admin-identity p { display: none; }
  .admin-reset { margin: 0; padding-block: 8px; grid-row: 3; grid-column: 1 / -1; border-top: 1px solid #405652; }
  .admin-reset > p { margin: 2px 0; font-size: 10px; }
  .admin-reset button { font-size: 10px; padding-block: 3px; }
  .admin-nav { display: flex; gap: 0; grid-column: 1 / -1; grid-row: 2; margin: 20px -20px 0; overflow-x: auto; border-top: 1px solid #405652; padding: 0 11px; }
  .admin-nav-link { display: inline-flex; flex: 0 0 auto; border-left: 0; border-bottom: 2px solid transparent; font-size: 12px; padding: 14px 11px; }
  .admin-nav-link.admin-is-active { border-left: 0; border-bottom-color: #e9e3cf; }
  .admin-return { display: none; }
  .admin-main { padding: 20px 20px 55px; }
  .admin-demo-notice { gap: 10px; padding: 10px 12px; font-size: 10px; }
  .admin-demo-badge { font-size: 10px; padding-right: 10px; }
  .admin-page-heading { margin: 29px 0 23px; gap: 15px; }
  .admin-page-heading h1 { font-size: 28px; }
  .admin-page-heading p:not(.admin-overline) { font-size: 11px; }
  .admin-overline { font-size: 10px; }
  .admin-heading-actions { gap: 7px; }
  .admin-heading-actions .admin-button { min-height: 34px; font-size: 10px !important; padding: 8px 10px; }
  .admin-counts { padding-block: 20px; }
  .admin-counts > div { flex-direction: column; align-items: flex-start; padding-inline: 17px; }
  .admin-counts strong { margin-top: 5px; font-size: 27px; }
  .admin-search { max-width: none; flex-basis: 100%; }
  .admin-filters { gap: 8px; }
  .admin-filters select { font-size: 11px; padding: 8px 7px; max-width: 145px; }
  .admin-filters .admin-text-button { font-size: 10px !important; margin-left: auto; }
  .admin-list-summary { font-size: 10px; }
  .admin-list-summary span { display: none; }
  .admin-content-table-head { display: none; }
  .admin-content-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 20px 0; }
  .admin-content-title { gap: 10px; }
  .admin-content-title > div > a { font-size: 13px; }
  .admin-type-mark { width: 31px; height: 37px; font-size: 9px; }
  .admin-content-row > div:nth-child(2) { align-self: start; }
  .admin-content-row > .admin-row-actions { grid-column: 1 / -1; padding-left: 41px; gap: 21px; }
  .admin-content-title p { margin-top: 5px; font-size: 10px; }
  .admin-panel { padding: 21px 18px; }
  .admin-form-side { gap: 14px; }
  .admin-form-side .admin-panel { padding: 18px 15px; }
  .admin-field > label > span { display: block; margin: 3px 0 0; }
  .admin-upload { padding: 20px 12px; gap: 12px; }
  .admin-upload-icon { width: 34px; height: 34px; font-size: 20px; }
  .admin-upload p { font-size: 10px; }
  .admin-section-heading { padding: 15px 18px; }
  .admin-section-heading span { display: none; }
  .admin-preview-body { padding: 24px 20px; }
  .admin-preview-body h3 { font-size: 23px; }
  .admin-preview-paragraph { font-size: 15px; }
  .admin-topic-item { grid-template-columns: 78px minmax(0, 1fr); gap: 16px; }
  .admin-topic-item h2, .admin-product-item h2 { font-size: 19px; }
  .admin-product-visibility { padding: 18px; gap: 15px; }
  .admin-product-visibility > div { flex-basis: 100%; }
  .admin-product-visibility .admin-button { padding-inline: 13px; min-height: 36px; font-size: 11px !important; }
  .admin-product-item { grid-template-columns: 83px minmax(0, 1fr); gap: 16px; }
  .admin-product-thumb { width: 83px; height: 111px; }
  .admin-settings-form { padding: 23px 20px; }
  .admin-theme-options { grid-template-columns: 1fr; gap: 10px; }
  .admin-hero-add, .admin-hero-item { grid-template-columns: 1fr; }
  .admin-hero-item { gap: 17px; }
  .admin-hero-preview img, .admin-hero-preview video { max-height: 300px; }
  .admin-log-head { display: none; }
  .admin-log-row { display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; padding: 17px 0; }
  .admin-log-row time { grid-column: 1; grid-row: 1; font-size: 10px; }
  .admin-log-row > span:nth-child(2) { grid-column: 2; grid-row: 1; font-size: 10px; color: var(--admin-muted); }
  .admin-log-row strong { grid-column: 1 / -1; grid-row: 2; }
  .admin-log-row > span:last-child { grid-column: 1 / -1; grid-row: 3; margin-top: 0; }
}
@media (max-width: 390px) {
  .admin-main { padding-inline: 15px; }
  .admin-sidebar { padding-inline: 15px; gap: 0 12px; }
  .admin-nav { margin-inline: -15px; padding-inline: 7px; }
  .admin-nav-link { padding-inline: 9px; font-size: 11px; }
  .admin-identity { width: 117px; }
  .admin-counts > div { padding-inline: 13px; }
  .admin-form-side { grid-template-columns: 1fr; }
  .admin-publish-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-publish-panel p { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .admin-shell * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* 视频操作放在主表单，草稿与发布横向等宽对齐。 */
.admin-publish-panel.admin-publish-inline {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  margin-top:20px; padding-top:20px; border-top:1px solid var(--admin-line); align-items:stretch;
}
.admin-publish-inline p { grid-column:1/-1; margin:0; }
.admin-publish-inline .admin-button { min-width:0; padding:11px 8px; white-space:normal; text-align:center; text-wrap:balance; line-height:1.6; }
@media(max-width:760px) {
  .admin-publish-inline .admin-button { font-size:11px !important; padding:10px 4px; }
}
.admin-field-title { display:block; margin-bottom:10px; font-size:13px; }
.admin-cover-modes { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
.admin-cover-modes button {
  border:1px solid var(--admin-line); border-radius:4px; background:var(--white);
  color:var(--admin-ink); padding:9px 16px; font:inherit; font-size:12px; line-height:1.6;
}
.admin-cover-modes button[aria-pressed="true"] { border-color:var(--accent); color:var(--accent); background:var(--soft); }
.admin-cover-modes button:disabled { opacity:.5; cursor:not-allowed; }
.admin-frame-picker { min-width:0; padding:14px; border:1px solid var(--admin-line); border-radius:5px; background:var(--soft); }
.admin-frame-screen { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:3px; background:var(--media-bg); }
.admin-frame-screen video { display:block; width:100%; height:100%; object-fit:contain; }
.admin-frame-timeline { display:block; font-size:12px; color:var(--admin-muted); margin-top:14px; }
.admin-frame-timeline input[type="range"] { display:block; width:100%; min-width:0; height:26px; margin:7px 0 0; padding:0; border:0; background:transparent; accent-color:var(--accent); }
.admin-frame-time { display:block; margin:0 0 14px; font-size:12px; color:var(--admin-muted); text-align:right; font-variant-numeric:tabular-nums; }
.admin-frame-actions { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; }
.admin-frame-actions .admin-button { min-width:0; margin:0; padding:10px 12px; white-space:normal; line-height:1.6; text-align:center; }
.admin-frame-status { min-height:20px; margin:10px 0 0; color:var(--admin-muted); font-size:11px; line-height:1.8; }
.admin-video-cover>.admin-image-preview { margin-top:16px; }
.admin-frame-crop[hidden] { display:none; }
.admin-frame-crop { margin-top:20px; padding-top:18px; border-top:1px solid var(--admin-line); }
.admin-crop-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; }
.admin-crop-heading h3 { margin:0; font-size:15px; font-weight:600; }
.admin-crop-heading>span { font-size:12px; color:var(--admin-muted); }
.admin-crop-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:20px; }
.admin-crop-source { position:relative; width:100%; min-width:0; justify-self:center; overflow:hidden; background:var(--media-bg); border-radius:3px; }
.admin-crop-source>canvas { display:block; width:100%; height:100%; }
.admin-crop-window { position:absolute; box-sizing:border-box; border:2px solid var(--accent); box-shadow:0 0 0 999px #0008; touch-action:none; user-select:none; }
.admin-crop-window:after { content:""; position:absolute; width:26px; height:3px; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff; box-shadow:0 1px 3px #0008; border-radius:2px; pointer-events:none; }
.admin-crop-window:focus-visible { outline:2px solid #fff; outline-offset:-5px; }
.admin-crop-preview { min-width:0; }
.admin-crop-preview>span { display:block; margin-bottom:8px; font-size:12px; color:var(--admin-muted); }
.admin-crop-preview>canvas { display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:3px; background:var(--media-bg); }
.admin-frame-crop>.admin-frame-actions { margin-top:14px; }
@media(max-width:760px) {
  .admin-frame-picker { padding:10px; }
  .admin-frame-actions { gap:8px; }
  .admin-frame-actions .admin-button { padding:10px 8px; font-size:11px; }
  .admin-crop-layout { gap:12px; }
  .admin-crop-heading { gap:8px; }
  .admin-crop-heading h3 { font-size:14px; }
  .admin-crop-heading>span { font-size:11px; }
}
