.admin-body { min-height: 100vh; background: #e9ede8; }
.admin-body:not(.is-authenticated) { display: grid; place-items: center; padding: 2rem; }
.admin-body:not(.is-authenticated) > .admin-layout { display: none !important; }
.login-card { width: min(440px, 100%); background: #fff; padding: clamp(2rem, 5vw, 3.5rem); box-shadow: 0 24px 70px #07130f1f; }
.login-card h1 { margin: 2.2rem 0; font-size: clamp(2.5rem, 7vw, 4.5rem); }
.panel-form { display: grid; gap: .4rem; }
.panel-form .full { width: 100%; }
.admin-layout { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 2rem 1.25rem; background: var(--ink); color: #fff; }
.admin-sidebar .brand { margin: 0 .75rem 2rem; }
.admin-sidebar nav { display: grid; gap: .35rem; }
.admin-sidebar nav button { width: 100%; border: 0; padding: .85rem 1rem; background: transparent; color: #c9d0cc; text-align: left; font: inherit; cursor: pointer; }
.admin-sidebar nav button:hover, .admin-sidebar nav button.active { background: var(--lime); color: var(--ink); }
.admin-main { min-width: 0; padding: 2rem clamp(1rem, 4vw, 4rem) 5rem; }
.admin-top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.admin-top h1 { margin: .4rem 0 0; font-size: clamp(2rem, 4vw, 4rem); }
.admin-section { display: none; }
.admin-section.active { display: block; }
.admin-section > h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 1rem; }
.admin-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.admin-card { background: #fff; padding: 1.5rem; overflow: auto; }
.admin-card > span { display: block; color: #66706a; text-transform: capitalize; }
.admin-card > strong { display: block; margin-top: .4rem; font: 2.5rem Georgia, serif; }
.inline-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 1.5rem 0 2rem; padding: 1.5rem; background: #fff; }
.inline-form .wide { grid-column: 1 / -1; }
.inline-form label, .panel-form label { min-width: 0; }
.inline-form input[type="checkbox"] { display: inline-block; width: auto; margin-right: .5rem; }
.data-table { width: 100%; border-collapse: collapse; background: #fff; font-size: .88rem; }
.data-table th, .data-table td { padding: 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table th { background: #dde3dc; white-space: nowrap; }
.action-buttons { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 170px; }
.small-button, .status-button { border: 1px solid #8b958f; background: #fff; padding: .55rem .75rem; color: var(--ink); cursor: pointer; }
.small-button:hover, .status-button:hover, .small-button.active, .status-button.active { background: var(--lime); border-color: var(--lime); }
.small-button.danger { color: #a02020; border-color: #d5a7a7; }
.status-pill { width: 100%; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.attachment-list { display: grid; gap: .3rem; }
.team-admin-thumb { width: 52px; height: 52px; object-fit: cover; float: left; margin: 0 .8rem .4rem 0; border-radius: 50%; }
.form-status { min-height: 1.5em; }
@media (max-width: 1050px) {
  .admin-layout { grid-template-columns: 210px minmax(0, 1fr); }
  .admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .admin-body:not(.is-authenticated) { padding: 1rem; }
  .admin-layout { display: block; }
  .admin-sidebar { position: static; height: auto; }
  .admin-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-main { padding: 1.25rem 1rem 4rem; }
  .admin-top { align-items: flex-start; }
  .admin-grid, .inline-form { grid-template-columns: 1fr; }
  .inline-form .wide { grid-column: auto; }
  [data-upcoming-table], [data-services-table], [data-slots-table], [data-appointments-table], [data-inquiries-table], [data-content-table], [data-team-table], [data-testimonials-table], [data-ai-prompts-table] { overflow-x: auto; }
}
