/* 沿用帮助中心的配色、文字标志与满宽目录，表单单独设置阅读宽度。 */
.text-button { border: 0; background: none; }
.admin-user { color: var(--brandbar-muted); font-size: 12px; }
.login-main { display: grid; flex: 1; place-items: start center; padding: 64px 22px; background: var(--page); }
.login-panel { width: min(100%, 440px); padding: 32px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.login-panel h1, .admin-heading h1 { font-size: 27px; line-height: 1.5; }
.form-intro, .admin-heading p { margin-top: 8px; color: var(--muted); font-size: 13px; }
.admin-form { display: grid; gap: 20px; margin-top: 24px; }
.admin-form label { display: grid; gap: 8px; font-size: 13px; font-weight: 600; }
.admin-form input, .admin-form textarea, .admin-form select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 400; }
.admin-form textarea { resize: vertical; }
.admin-form :is(input, textarea, select):focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.admin-form .primary-link { justify-self: start; border: 0; }
.admin-form .primary-link:disabled { opacity: .65; cursor: wait; }
.optional { display: inline; color: var(--muted); font-size: 11px; font-weight: 400; }
.form-message { margin-bottom: 24px; padding: 12px 16px; border-left: 3px solid var(--blue); background: var(--tint); color: var(--ink); overflow-wrap: anywhere; }
.login-panel .form-message { margin-top: 24px; }
.is-error { border-left-color: #d34848; }
.back-link { display: block; margin-top: 24px; color: var(--blue); font-size: 13px; }
.admin-sidebar-title { margin: 4px 12px 20px; color: var(--muted); font-size: 12px; }
.admin-sidebar-hint { margin: 28px 12px 0; color: var(--muted); font-size: 12px; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 32px; }
.admin-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr); gap: 48px; align-items: start; }
.admin-main h2 { font-size: 17px; }
.section-list { margin: 20px 0 0; padding: 0; list-style: none; }
.section-list li { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 17px 0; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.section-list p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.section-details { flex: 1; min-width: 0; }
.section-visibility { display: flex; align-items: end; gap: 12px; margin-top: 12px; }
.section-visibility label { flex: 1; max-width: 220px; }
.section-visibility .primary-link { flex-shrink: 0; }
.form-panel { padding: 24px; border: 1px solid var(--border); border-radius: 8px; }
.upload-form { max-width: 820px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.file-picker { padding: 24px; border: 1px dashed var(--border); border-radius: 8px; background: var(--page); }
.file-picker input { padding: 8px 0; border: 0; background: none; }
.file-picker input::file-selector-button { margin-right: 16px; padding: 7px 12px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; }
.upload-hint { margin-top: 16px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.upload-form .upload-hint { margin-top: -8px; }
.upload-status progress { display: block; width: 100%; accent-color: var(--blue); }
.upload-status p { margin-top: 8px; color: var(--muted); font-size: 12px; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.content-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
.content-table :is(th, td) { padding: 16px 14px; border-bottom: 1px solid var(--border); vertical-align: top; }
.content-table th { color: var(--muted); font-weight: 500; background: var(--page); white-space: nowrap; }
.content-table td:first-child { min-width: 210px; overflow-wrap: anywhere; }
.content-table td:not(:first-child) { min-width: 80px; }
.content-table td a { font-weight: 600; }
.content-table td a:hover { color: var(--blue); }
.content-table small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.delete-button { padding: 0; border: 0; background: none; color: light-dark(#a92c2c, #ffaeae); font-size: 12px; }
@media (max-width: 1000px) { .admin-columns { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 680px) {
  .admin-sidebar { display: block; }
  .admin-sidebar nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .admin-sidebar-title, .admin-sidebar-hint { display: none; }
  .admin-sidebar .directory-link { margin: 0; }
  .form-row { grid-template-columns: 1fr; gap: 20px; }
  .login-main { padding-top: 32px; }
  .login-panel, .form-panel { padding: 24px; }
  .admin-heading { margin-bottom: 24px; }
  .content-table :is(th, td) { padding: 12px 10px; }
  .admin-main { padding-inline: 20px; }
}
