.admin-body [hidden] { display: none !important; }
.admin-body { min-height: 100vh; background: #f0f1ef; }
.admin-header { display: flex; justify-content: space-between; align-items: center; min-height: 82px; padding-inline: max(28px, calc((100vw - 1160px) / 2)); background: #fbfbf9; border-bottom: 1px solid #e2e3e1; }
.admin-back-link { color: #536371; font-size: 11px; font-weight: 650; }
.admin-back-link span { margin-left: 7px; color: var(--orange); }
.admin-shell { width: min(1160px, calc(100% - 64px)); margin: 0 auto; padding-block: 56px 100px; }
.admin-page-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 28px; }
.admin-page-heading .eyebrow { margin-bottom: 12px; }
.admin-page-heading h1 { margin: 0; font-size: clamp(34px, 4vw, 46px); letter-spacing: -.05em; }
.admin-page-heading p:not(.eyebrow) { max-width: 590px; margin: 12px 0 0; color: var(--gray); font-size: 13px; line-height: 1.7; }
.admin-notice { margin-bottom: 20px; padding: 13px 16px; color: #275c48; background: #e3f0e9; border: 1px solid #c7dfd1; font-size: 12px; line-height: 1.6; }
.admin-notice[data-type="error"] { color: #8a3b31; background: #f8e9e5; border-color: #ebc9c0; }
.admin-auth-card { max-width: 560px; padding: 32px; background: #fbfbf9; border: 1px solid #e1e3e1; }
.admin-auth-card h2 { margin: 10px 0; font: 30px/1.15 var(--serif); }
.admin-auth-card > div > p { margin: 0 0 23px; color: var(--gray); font-size: 12px; line-height: 1.7; }
.admin-form { display: grid; gap: 14px; }
.admin-form label { display: flex; flex-direction: column; gap: 7px; color: #404a52; font-size: 11px; font-weight: 650; }
.admin-form input:not([type="checkbox"]), .admin-form select, .admin-form textarea { width: 100%; min-height: 41px; padding: 10px 11px; color: var(--ink); background: #fff; border: 1px solid #dfe2e1; border-radius: 0; font-size: 12px; font-weight: 400; }
.admin-form input[type="file"] { min-height: 45px; padding: 8px; }
.admin-form input[type="file"]::file-selector-button { margin-right: 10px; padding: 7px 10px; color: #405368; background: #edf0f1; border: 0; cursor: pointer; }
.admin-form textarea { resize: vertical; line-height: 1.6; }
.admin-form .button { justify-self: start; margin-top: 3px; }
.admin-form .optional { margin-left: 3px; }
.admin-dashboard__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; padding: 19px 22px; background: #fbfbf9; border: 1px solid #e1e3e1; }
.admin-dashboard__top h2 { margin: 0 0 5px; font: 24px var(--serif); }
.admin-dashboard__top p { margin: 0; color: #7d858b; font-size: 10px; }
.admin-dashboard__top .button { min-height: 37px; font-size: 10px; }
.admin-columns { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 18px; }
.admin-panel { min-width: 0; padding: 24px; background: #fbfbf9; border: 1px solid #e1e3e1; }
.admin-panel__heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.admin-panel__heading .eyebrow { margin-bottom: 6px; font-size: 8px; }
.admin-panel__heading h2 { margin: 0; font: 26px var(--serif); }
.admin-count { display: grid; width: 32px; height: 32px; place-items: center; color: #5b6c79; background: #e9eef1; border-radius: 50%; font-size: 10px; }
.admin-form--panel { padding: 17px; background: #f4f5f3; border: 1px solid #e5e6e3; }
.admin-form__split { display: grid; grid-template-columns: .7fr 1.3fr; gap: 12px; }
.admin-form__actions { display: flex; align-items: center; gap: 13px; }
.admin-form__actions .button { min-height: 39px; font-size: 10px; }
.admin-text-button, .admin-icon-button { padding: 5px 0; color: #546b7e; background: none; border: 0; font-size: 10px; font-weight: 700; cursor: pointer; }
.admin-icon-button { color: #a05a47; }
.admin-text-button:hover, .admin-icon-button:hover { text-decoration: underline; }
.admin-icon-button:disabled { color: #aeb3b5; cursor: not-allowed; text-decoration: none; }
.admin-record-list { display: grid; gap: 8px; margin-top: 15px; }
.admin-record { display: flex; align-items: center; min-width: 0; gap: 11px; padding: 11px; background: #fff; border: 1px solid #e7e8e5; }
.admin-record__body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 5px; }
.admin-record__body strong { overflow: hidden; color: #333b41; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.admin-record__body span { overflow: hidden; color: #81888d; font-size: 9px; line-height: 1.5; text-overflow: ellipsis; }
.admin-record__actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.admin-record__thumb { width: 52px; height: 52px; flex: 0 0 auto; object-fit: cover; background: #eff0ee; }
.admin-empty { margin: 0; padding: 15px; color: #788087; background: #f4f5f3; font-size: 10px; line-height: 1.7; }
.admin-photo-preview { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-photo-preview__item { display: flex; width: 78px; flex-direction: column; gap: 4px; color: #788087; font-size: 8px; }
.admin-photo-preview__item img { width: 78px; height: 62px; object-fit: cover; background: #e9eae7; }
.admin-checkbox { flex-direction: row !important; align-items: center; gap: 8px !important; color: #7d5350 !important; font-weight: 500 !important; }
.admin-checkbox input { accent-color: #8b5149; }
.admin-form__hint { margin: -3px 0 0; color: #858c90; font-size: 9px; line-height: 1.6; }

@media (max-width: 850px) {
  .admin-header { padding-inline: 26px; }
  .admin-shell { width: min(100% - 44px, 760px); padding-top: 42px; }
  .admin-columns { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .admin-header { min-height: 70px; padding-inline: 18px; }
  .admin-back-link { font-size: 9px; }
  .admin-shell { width: calc(100% - 32px); padding-block: 34px 65px; }
  .admin-auth-card, .admin-panel { padding: 20px 16px; }
  .admin-dashboard__top { align-items: flex-start; gap: 14px; padding: 15px; }
  .admin-dashboard__top .button { padding-inline: 10px; }
  .admin-form__split { grid-template-columns: 1fr; }
  .admin-record { gap: 8px; padding: 9px; }
  .admin-record__actions { gap: 8px; }
  .admin-record__body strong { font-size: 10px; }
}

.admin-references-panel { margin-top: 18px; }
.admin-section-intro { margin: -6px 0 18px; color: #778087; font-size: 11px; line-height: 1.7; }
.admin-reference-preview .admin-photo-preview__item video { width: 78px; height: 62px; background: #272522; object-fit: cover; }
.admin-reference-preview .admin-photo-preview__item .admin-text-button { align-self: flex-start; font-size: 8px; }
.admin-reference-video-mark { display: grid; place-items: center; color: #f3eee8; background: #59402e; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.admin-record--reference .admin-record__thumb { display: grid; place-items: center; }

.admin-login-progress { color: #725234; font-size: 11px; }
.admin-login-progress:not([hidden])::before { display: inline-block; width: 9px; height: 9px; margin-right: 8px; border: 1px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; vertical-align: -1px; animation: admin-login-spin .8s linear infinite; }
.admin-form button[aria-busy="true"] { cursor: wait; opacity: .82; }
@keyframes admin-login-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .admin-login-progress:not([hidden])::before { animation: none; } }