[hidden] { display: none !important; }
.admin-page { min-height: 100vh; padding: 0; background: #f6f4ed; color: #26332e; }
.admin-topbar { min-height: 72px; padding: 10px clamp(16px,4vw,54px); display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #e5e1d6; background: rgba(255,254,250,.94); }
.admin-brand { display: inline-flex; align-items: center; gap: 11px; color: #163f39; }
.admin-brand img { width: 42px; height: 42px; }
.admin-brand span { display: grid; gap: 1px; }
.admin-brand strong { font-size: 12px; }
.admin-brand small { color: #89918b; font-size: 9px; }
.admin-public-link { color: #497061; font-size: 10px; font-weight: 700; }
.admin-container { width: min(1220px, 100%); margin: 0 auto; padding: clamp(17px,3vw,38px); }
.admin-alert { margin-bottom: 14px; padding: 11px 14px; border: 1px solid #dce9de; border-radius: 10px; background: #f0f6f0; color: #315b45; font-size: 11px; line-height: 1.8; }
.admin-alert[data-state="error"] { border-color: #ead7cd; background: #fff5ef; color: #85513d; }
.admin-login { width: min(480px,100%); margin: clamp(28px,8vh,90px) auto; padding: clamp(22px,4vw,38px); text-align: center; }
.admin-login__mark { width: 76px; height: 76px; margin: 0 auto 13px; display: grid; place-items: center; border: 1px solid #e5eade; border-radius: 22px; background: #f4f7f1; }
.admin-login__mark img { width: 54px; height: 54px; }
.admin-login h1 { margin: 5px 0 8px; color: #123f39; font-family: var(--font-display); font-size: 26px; }
.admin-login > p { margin: 0 auto 17px; max-width: 360px; color: #7b8780; font-size: 11px; line-height: 1.9; }
.admin-login .button { margin: 2px auto; }
.admin-login__hint { padding-top: 12px; border-top: 1px solid #ecebe4; }
.admin-heading { margin-bottom: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.admin-heading h1 { margin: 3px 0 2px; color: #123f39; font-family: var(--font-display); font-size: clamp(25px,4vw,34px); }
.admin-heading p { margin: 0; color: #7e8982; font-size: 11px; line-height: 1.8; }
.admin-heading p strong { color: #3d5d4c; }
.admin-panel { margin-bottom: 16px; padding: clamp(16px,2.3vw,24px); }
.admin-panel__heading { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-panel__heading h2 { margin: 1px 0 0; color: #183f39; font-family: var(--font-display); font-size: 19px; }
.admin-panel__description { margin: -4px 0 14px; color: #808a83; font-size: 10px; line-height: 1.8; }
.admin-stats-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.admin-stat { min-height: 89px; padding: 15px; display: grid; align-content: center; gap: 6px; border: 1px solid #e8e9df; border-radius: 11px; background: #fbfcf8; }
.admin-stat span { color: #77847b; font-size: 10px; }
.admin-stat strong { color: #1f5b4c; font-size: 23px; font-variant-numeric: tabular-nums; }
.admin-stat:nth-child(3) strong { font-size: 14px; }
.admin-stats-details { margin-top: 15px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; }
.admin-stats-details h3 { margin: 0 0 8px; color: #52645a; font-size: 11px; }
.admin-stat-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #eeeee7; }
.admin-stat-list__item { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eeeee7; color: #6e7a72; font-size: 10px; }
.admin-stat-list__item strong { color: #335f4e; font-variant-numeric: tabular-nums; }
.admin-table-wrap { max-height: 250px; overflow: auto; border: 1px solid #edeee7; border-radius: 9px; }
.admin-table { width: 100%; border-collapse: collapse; text-align: right; }
.admin-table th, .admin-table td { padding: 8px 10px; border-bottom: 1px solid #efefe9; font-size: 10px; }
.admin-table th { position: sticky; top: 0; background: #f8f9f5; color: #627267; }
.admin-table td { color: #69756e; }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-privacy-note { margin: 13px 0 0; padding-top: 10px; border-top: 1px solid #ecece4; color: #89928b; font-size: 9px; line-height: 1.8; }
.admin-content-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: start; gap: 15px; }
.admin-content-grid .admin-panel { min-width: 0; }
.admin-form { display: grid; gap: 7px; }
.admin-form label, .admin-add-form label { margin-top: 3px; color: #52645a; font-size: 10px; font-weight: 700; }
.admin-form input[type="text"], .admin-form textarea, .admin-form select, .admin-add-form input { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #e4e8df; border-radius: 8px; outline: 0; background: #fffefa; color: #25372f; font: inherit; font-size: 11px; }
.admin-form textarea { min-height: 128px; resize: vertical; line-height: 1.9; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus, .admin-add-form input:focus { border-color: #8eb09b; box-shadow: 0 0 0 3px rgba(58,118,91,.12); }
.admin-form input[type="file"] { width: 100%; padding: 8px; border: 1px dashed #ccd7cc; border-radius: 8px; background: #fbfcf8; color: #66756b; font: inherit; font-size: 10px; }
.admin-field-hint { margin-top: -3px; color: #959c96; font-size: 9px; }
.admin-image-preview { margin: 4px 0 7px; padding: 9px; display: grid; justify-items: start; gap: 8px; border: 1px solid #e7ebe3; border-radius: 9px; background: #f8faf6; }
.admin-image-preview img { max-width: min(100%,360px); max-height: 230px; border-radius: 6px; object-fit: contain; }
.admin-form-actions { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 8px; }
.admin-form-status { min-height: 17px; margin: 6px 0 0; color: #859188; font-size: 9px; line-height: 1.8; }
.admin-form-status[data-state="error"] { color: #965740; }
.admin-form-status[data-state="success"] { color: #4d765c; }
.admin-post-list { display: grid; }
.admin-post { padding: 12px 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; border-top: 1px solid #efefe9; }
.admin-post__image { width: 74px; height: 65px; border: 1px solid #e7e9e1; border-radius: 7px; background: #f5f6f1; object-fit: cover; }
.admin-post__details { min-width: 0; }
.admin-post__details h3 { margin: 0 0 4px; color: #294b3e; font-size: 11px; }
.admin-post__description { display: -webkit-box; margin: 0; overflow: hidden; color: #7b857e; font-size: 9px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.admin-post__meta { margin: 5px 0 0; color: #9a9180; font-size: 8px; }
.admin-post__actions { display: flex; flex-direction: column; gap: 5px; }
.admin-add-form { display: grid; grid-template-columns: minmax(150px,1fr) minmax(160px,1.4fr) auto; align-items: end; gap: 9px; }
.admin-add-form input { min-width: 0; }
.admin-manager-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #edeee7; }
.admin-manager { min-height: 57px; padding: 8px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #edeee7; }
.admin-manager__info { min-width: 0; display: grid; gap: 3px; }
.admin-manager__info strong { overflow-wrap: anywhere; color: #3a5749; font-size: 10px; }
.admin-manager__info span { color: #929b94; font-size: 8px; }
.admin-empty { padding: 15px 0; color: #8b948d; font-size: 10px; }
.button--small { min-height: 31px; padding-inline: 10px; font-size: 9px; white-space: nowrap; }
.button--danger { border: 1px solid #eadbd4; border-radius: 7px; background: #fff7f3; color: #965d48; cursor: pointer; }
.button--danger:hover:not(:disabled) { border-color: #d8b8a8; background: #faeee8; }
.button:disabled, .admin-manager button:disabled { opacity: .55; cursor: not-allowed; }

@media (max-width: 850px) {
  .admin-content-grid { grid-template-columns: 1fr; }
  .admin-stats-details { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .admin-topbar { min-height: 61px; padding-inline: 13px; }
  .admin-brand img { width: 36px; height: 36px; }
  .admin-brand strong { font-size: 10px; }
  .admin-brand small { font-size: 8px; }
  .admin-public-link { font-size: 9px; }
  .admin-container { padding: 15px 12px 30px; }
  .admin-heading { align-items: flex-start; }
  .admin-heading h1 { font-size: 25px; }
  .admin-heading p { max-width: 260px; font-size: 9px; }
  .admin-heading > .button { min-height: 34px; padding-inline: 9px; font-size: 8px; }
  .admin-panel { padding: 15px 12px; }
  .admin-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .admin-stat { min-height: 72px; padding: 10px; }
  .admin-stat strong { font-size: 19px; }
  .admin-stats-details { grid-template-columns: 1fr; gap: 14px; }
  .admin-post { grid-template-columns: minmax(0,1fr) auto; }
  .admin-post__image { grid-row: 1; width: 63px; height: 57px; }
  .admin-post__details { grid-column: 1; grid-row: 1; }
  .admin-post__actions { grid-column: 1 / -1; grid-row: 2; flex-direction: row; }
  .admin-post__actions .button { flex: 1; }
  .admin-add-form { grid-template-columns: 1fr auto; align-items: center; }
  .admin-add-form label { grid-column: 1 / -1; }
  .admin-add-form input { grid-column: 1; }
  .admin-add-form button { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-page *, .admin-page *::before, .admin-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
