html:has(.admin-body) { scroll-padding: 85px; }
.admin-body { background: var(--panel-paper); }
.admin-header { position: sticky; z-index: 5; top: 0; border-bottom: 1px solid var(--rule); background: var(--surface); }
.admin-header-inner { max-width: 1560px; margin: 0 auto; min-height: 70px; display: flex; align-items: center; gap: 17px; padding: 8px 28px; }
.admin-header .brand-image { width: 133px; }
.admin-header-label { padding-left: 16px; border-left: 1px solid var(--rule); font-size: .89rem; color: var(--muted-strong); font-weight: 700; }
.admin-header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.admin-header-actions .theme-toggle { min-height: 40px; }
.admin-login { max-width: 972px; margin: clamp(28px, 7vh, 92px) auto 35px; width: calc(100% - 38px); display: grid; grid-template-columns: 1fr 1.02fr; overflow: hidden; border: 1px solid var(--rule); border-radius: 24px; background: var(--surface); box-shadow: 0 20px 54px #12243a14; }
.admin-login-art { display: flex; align-items: flex-end; min-height: 500px; padding: clamp(23px, 4.4vw, 61px); background: linear-gradient(155deg, #0b1935a6 10%, #101e3ae8 72%, #0b162ae8), url('/images/hero.webp') center / cover; color: white; }
.admin-login-art .icon { width: 34px; height: 34px; margin-bottom: 17px; color: #f8cd76; }
.admin-login-art h1 { margin: 0 0 13px; font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: .96; letter-spacing: -.055em; }
.admin-login-art p { max-width: 265px; color: #e9eefb; line-height: 1.6; }
.admin-login-body { padding: clamp(22px, 4.4vw, 54px); display: grid; align-content: center; gap: 14px; }
.admin-login-body h2 { font-size: clamp(1.8rem, 4.4vw, 2.6rem); }
.admin-login-body p { color: var(--muted); line-height: 1.55; font-size: .93rem; }
.admin-lock, .admin-metric-icon, .admin-account-symbol { display: inline-grid; place-items: center; width: 40px; height: 40px; color: var(--accent-text); border-radius: 12px; background: var(--selection-paper); }
.admin-login-body form { display: grid; align-items: start; gap: 13px; margin-top: 5px; }
.admin-login-body form button { width: fit-content; }
.admin-shell { display: grid; grid-template-columns: 237px minmax(0, 1fr); max-width: 1560px; margin: auto; min-height: calc(100vh - 70px); }
.admin-side { position: sticky; top: 70px; align-self: start; min-height: calc(100vh - 70px); display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 24px 14px 20px; border-right: 1px solid var(--rule); background: var(--surface); }
.admin-navigation { display: grid; gap: 4px; }
.admin-navigation button { display: flex; align-items: center; gap: 10px; min-height: 43px; border: 1px solid transparent; border-radius: 10px; padding: 8px 11px; background: transparent; color: var(--muted-strong); font-size: .91rem; font-weight: 650; text-align: left; }
.admin-navigation button .icon { width: 17px; height: 17px; }
.admin-navigation button:hover { background: var(--subtle); }
.admin-navigation button[aria-current="page"] { color: var(--selection-text); border-color: var(--selection-border); background: var(--selection-paper); }
.admin-account { display: flex; gap: 8px; align-items: center; padding: 13px 3px 0; border-top: 1px solid var(--rule); font-size: .82rem; overflow-wrap: anywhere; }
.admin-account .text-link { display: block; margin-top: 3px; min-height: 27px; font-size: .79rem; }
.admin-account-symbol { width: 34px; height: 34px; border-radius: 10px; flex: none; }
.admin-account-symbol .icon { width: 16px; height: 16px; }
.admin-workspace { padding: 31px clamp(18px, 3.2vw, 49px) 55px; min-width: 0; }
.admin-workspace-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 17px; }
.admin-workspace-head h1 { margin: 0; font-size: clamp(2rem, 4.1vw, 3.55rem); font-weight: 700; letter-spacing: -.065em; line-height: .98; }
.admin-workspace-head p { color: var(--muted); margin-top: 8px; font-size: .94rem; line-height: 1.55; }
.admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.admin-actions .button { min-height: 43px; }
.admin-draft-state { min-height: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 3px; color: var(--muted); font-size: .81rem; }
.admin-state-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-text); flex: none; }
.admin-draft-state:has([data-dirty="true"]) .admin-state-dot { background: var(--gold-deep); }
.admin-status, #admin-message { color: var(--muted); white-space: pre-line; overflow-wrap: anywhere; line-height: 1.5; }
#admin-message:not(:empty) { padding-left: 8px; margin-left: 3px; border-left: 1px solid var(--rule-strong); }
.admin-status[data-error="true"], #admin-message[data-error="true"] { color: var(--error); }
.admin-card { min-width: 0; padding: clamp(15px, 2.4vw, 26px); border: 1px solid var(--rule); border-radius: 16px; background: var(--surface); }
.admin-card h2 { font-size: clamp(1.35rem, 2.8vw, 1.9rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.admin-card h3 { font-size: 1.18rem; }
.admin-card p { margin-top: 6px; }
.admin-muted { color: var(--muted); line-height: 1.55; font-size: .89rem; }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.admin-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.admin-metric { min-height: 135px; }
.admin-metric-head { display: flex; align-items: center; gap: 8px; justify-content: space-between; color: var(--muted-strong); font-weight: 750; font-size: .86rem; }
.admin-metric-icon { width: 34px; height: 34px; flex: none; border-radius: 10px; }
.admin-metric-icon .icon { width: 17px; height: 17px; }
.admin-value { display: block; margin-top: 13px; color: var(--ink); font-family: var(--heading); font-size: clamp(1.6rem, 2.8vw, 2.45rem); font-weight: 720; line-height: 1; letter-spacing: -.06em; }
.admin-spacer > .admin-card + .admin-card { margin-top: 14px; }
.admin-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 13px; margin-top: 16px; align-items: start; }
.admin-field { display: grid; gap: 6px; min-width: 0; color: var(--muted-label); font-size: .84rem; font-weight: 710; }
.admin-field textarea, .admin-field input:not([type="checkbox"]), .admin-field select { max-width: 100%; min-width: 0; width: 100%; min-height: 43px; border: 1px solid var(--input-border); border-radius: 9px; padding: 9px 10px; color: var(--ink); background: var(--input-paper); font-size: .92rem; font-weight: 550; }
.admin-field textarea { min-height: 83px; resize: vertical; line-height: 1.45; }
.admin-full { grid-column: 1 / -1; }
.admin-check { min-height: 43px; display: flex; align-items: center; gap: 8px; }
.admin-check input { width: 19px; height: 19px; accent-color: var(--accent-text); margin: 0; }
.admin-fields fieldset { min-width: 0; }
.admin-image-field { display: flex; align-items: center; gap: 11px; margin: 0; padding: 8px; min-width: 0; border: 1px solid var(--rule); border-radius: 10px; color: var(--muted-label); font-size: .82rem; font-weight: 700; }
.admin-image-field img, .admin-table-photo { flex: none; width: 72px; height: 54px; border-radius: 6px; object-fit: cover; background: var(--subtle); }
.admin-image-field label { min-width: 0; }
.admin-image-field input { display: block; margin-top: 5px; max-width: 100%; color: var(--muted); font-size: .82rem; }
.admin-row-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.admin-worklist { display: grid; margin-top: 15px; }
.admin-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--rule); }
.admin-row-info { display: flex; align-items: center; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.admin-row-info strong, .admin-row-info small { display: block; }
.admin-row-info strong { color: var(--ink); font-size: .93rem; }
.admin-row-info small { margin-top: 3px; color: var(--muted); font-size: .79rem; }
.admin-row .button { font-size: .8rem; }
.admin-project-actions { flex-shrink: 0; }
.admin-empty { padding: 26px 0 6px; border-top: 1px solid var(--rule); }
.admin-empty p { margin-top: 7px; }
.admin-subs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.admin-subs button[aria-current="true"] { color: var(--selection-text); background: var(--selection-paper); border-color: var(--selection-border); }
.admin-form-group + .admin-form-group { margin-top: 12px; }
.admin-form-group > .admin-fields { padding: 0 14px 13px; margin-top: 12px; }
.admin-form-group { border: 1px solid var(--rule); border-radius: 11px; background: var(--tab-paper); }
.admin-form-group summary { padding: 11px 13px; color: var(--ink); cursor: pointer; font-size: .93rem; font-weight: 740; }
.admin-form-group .admin-actions { padding: 0 14px 13px; }
.admin-card-list { margin-top: 12px; }
.admin-card-list > .admin-actions { margin-top: 12px; }
.admin-inline { margin-top: 16px; }
.admin-dialog { width: min(92vw, 660px); max-height: 92dvh; padding: 22px; border: 1px solid var(--rule-strong); border-radius: 18px; background: var(--surface); color: var(--ink); }
.admin-dialog::backdrop { background: #081426bf; }
.admin-dialog-head { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; }
.admin-dialog-head h2 { font-size: clamp(1.5rem, 4.8vw, 2.35rem); letter-spacing: -.045em; }
.admin-dialog .admin-status { margin-top: 8px; font-size: .82rem; }
.admin-photo-list { display: grid; gap: 8px; margin-top: 10px; }
.admin-photo-row { padding: 9px; border: 1px solid var(--rule); border-radius: 10px; display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: center; gap: 8px; }
.admin-photo-row .admin-actions { grid-column: 2; }
.admin-photo-row .admin-actions .button { min-height: 34px; padding: 5px 8px; }
.admin-dialog-actions { margin-top: 16px; }
.admin-danger { color: var(--error); }
.admin-dialog-p { margin-top: 12px; }
@media (max-width: 960px) {
  .admin-shell { grid-template-columns: 198px minmax(0, 1fr); }
  .admin-side { padding-inline: 9px; }
  .admin-navigation button { min-height: 45px; }
}
@media (max-width: 730px) {
  .admin-header-inner { min-height: 60px; padding: 7px 13px; gap: 9px; }
  .admin-header .brand-image { width: 110px; }
  .admin-header-label { display: none; }
  .admin-header-actions { gap: 5px; }
  .admin-shell { display: block; }
  .admin-side { position: static; min-height: 0; padding: 9px 12px; border-right: 0; border-bottom: 1px solid var(--rule); gap: 5px; }
  .admin-navigation { display: flex; flex-wrap: wrap; gap: 4px; }
  .admin-navigation button { padding: 6px; min-height: 38px; font-size: .8rem; gap: 5px; }
  .admin-navigation button .icon { width: 15px; height: 15px; }
  .admin-account { justify-content: end; border: 0; padding: 2px; }
  .admin-account .text-link { min-height: 25px; }
  .admin-account-symbol { width: 28px; height: 28px; }
  .admin-workspace { padding: 20px 13px 40px; }
  .admin-metrics { gap: 7px; }
  .admin-metric { padding: 9px; min-height: 92px; }
  .admin-metric-head { font-size: .75rem; }
  .admin-metric-icon { display: none; }
  .admin-login { grid-template-columns: minmax(0, 1fr); margin-top: 16px; width: calc(100% - 24px); }
  .admin-login-art { min-height: 195px; }
  .admin-login-art h1 br { display: none; }
  .admin-login-art .icon { margin-bottom: 9px; }
  .admin-login-body { padding: 17px; }
}
@media (max-width: 480px) {
  .admin-grid, .admin-fields { grid-template-columns: minmax(0, 1fr); }
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-metric:last-child { grid-column: 1 / -1; }
  .admin-value { overflow-wrap: anywhere; }
  .admin-table-photo { width: 49px; height: 40px; }
  .admin-header .theme-label { display: none; }
  .admin-header .admin-public-link { padding-inline: 10px; font-size: .8rem; }
  .admin-header .theme-toggle { padding-inline: 8px; }
  .admin-dialog { padding: 13px; }
}
