.admin-body { background: var(--porcelain-2); }
.admin-body [hidden] { display: none !important; }
.admin-shell { min-height: 100dvh; }
.admin-auth { width: min(100% - 2 * var(--gutter), 30rem); margin: clamp(2rem, 8vh, 6rem) auto; }
.admin-logo { width: clamp(8rem, 12vw, 11rem); height: auto; margin-bottom: 2rem; }
.admin-auth h2 { font-size: var(--step-3); margin-bottom: 1rem; }
.admin-form { display: grid; gap: 0.75rem; margin-top: 1.5rem; }
.admin-form label, .admin-form legend { font-size: var(--step--1); font-weight: 500; }
.admin-form input, .admin-form select, .admin-form textarea, .admin-toolbar input, .admin-toolbar select { min-width: 0; width: 100%; padding: 0.75rem; border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--porcelain); font: inherit; color: var(--ink); }
.admin-form input[type=checkbox] { width: auto; accent-color: var(--gold); }
.admin-form textarea { min-height: 7rem; resize: vertical; }
.admin-form .btn { margin-top: 0.5rem; justify-self: start; }
.admin-help { margin-top: 1.25rem; font-size: var(--step--1); color: var(--ink-60); }
.admin-text-button { font: inherit; color: var(--ink-60); border: 0; background: none; text-align: left; padding: 0.25rem 0; cursor: pointer; text-decoration: underline; }
.admin-workspace { display: grid; grid-template-columns: 16rem minmax(0, 1fr); min-height: 100dvh; }
.admin-sidebar { position: sticky; top: 0; align-self: start; min-height: 100dvh; padding: 2rem; background: var(--ink); color: var(--porcelain); }
.admin-sidebar .eyebrow { color: var(--gold-light); }
.admin-sidebar nav { display: grid; gap: 0.5rem; margin: 2rem 0; }
.admin-sidebar button, .admin-sidebar a { display: block; width: 100%; text-align: left; padding: 0.8rem 0; border: 0; border-bottom: 1px solid rgba(217,188,126,0.15); font: inherit; color: var(--porcelain); background: none; text-decoration: none; cursor: pointer; }
.admin-sidebar button[aria-current=page] { color: var(--gold-light); border-bottom-color: var(--gold-light); }
.admin-main { min-width: 0; padding: clamp(1.25rem, 4vw, 4rem); }
.admin-heading, .admin-view-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.admin-heading h2 { font-size: var(--step-3); }
.admin-heading p { margin-top: 0.5rem; }
.admin-heading .eyebrow { overflow-wrap: anywhere; }
.admin-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2.5rem 0; border-block: 1px solid var(--hairline); }
.admin-metric { padding: 1.5rem 1rem 1.5rem 0; }
.admin-metric strong { display: block; font-family: var(--display); font-size: var(--step-4); font-weight: 400; line-height: 1.1; }
.admin-metric span { color: var(--ink-60); font-size: var(--step--1); }
.admin-view-heading h2 { font-size: var(--step-2); }
.admin-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, auto); gap: 1rem; margin-block: 1.5rem; }
.admin-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--hairline); align-items: center; }
.admin-record h3 { font-size: var(--step-1); margin-bottom: 0.3rem; }
.admin-record p { color: var(--ink-60); font-size: var(--step--1); overflow-wrap: anywhere; }
.admin-record-actions { display: grid; justify-items: end; gap: 0.5rem; }
.admin-badge { font-size: var(--step--1); color: var(--ink); background: var(--gold-wash); padding: 0.2rem 0.65rem; border-radius: var(--radius); }
.admin-record .btn { padding: 0.5rem 1rem; }
.admin-empty { padding: 3rem 1rem; border: 1px dashed var(--hairline); margin-block: 1.5rem; text-align: center; color: var(--ink-60); }
.admin-status { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 500; max-width: min(90vw, 42rem); padding: 0.8rem 1.2rem; border-radius: var(--radius); background: var(--ink); color: var(--porcelain); font-size: var(--step--1); box-shadow: var(--shadow); }
.admin-status:empty { display: none; }
.admin-status[data-state=error] { background: #643b35; }
.admin-dialog { width: min(95vw, 48rem); max-height: 90dvh; padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--hairline); border-radius: var(--radius); background: var(--porcelain-2); color: var(--ink); margin: auto; }
.admin-dialog::backdrop { background: rgba(28,26,25,0.65); }
.admin-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.admin-dialog-heading h2 { font-size: var(--step-2); }
.admin-dialog-heading button { background: none; border: 0; padding: 0.25rem 0.75rem; font-size: var(--step-2); cursor: pointer; color: var(--ink); }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-form-field { display: grid; gap: 0.35rem; min-width: 0; }
.admin-form-field--full { grid-column: 1 / -1; }
.admin-checkbox { display: flex; align-items: flex-start; gap: 0.7rem; font-size: var(--step--1); }
.admin-checkbox input { margin-top: 0.4rem; flex: 0 0 auto; }
.admin-image-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; margin-top: 2rem; }
.admin-image-panel { padding: 1.5rem; border: 1px solid var(--hairline); background: var(--porcelain); }
.admin-image-panel h3 { font-size: var(--step-1); }
.admin-preview { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius); margin-top: 1rem; background: var(--porcelain-2); }
.admin-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); gap: 1.25rem; margin-block: 1.5rem; }
.admin-media-card { padding-bottom: 1rem; border-bottom: 1px solid var(--hairline); min-width: 0; }
.admin-media-card p { font-size: var(--step--1); overflow-wrap: anywhere; margin: 0.75rem 0; }
.admin-media-card .btn { padding: 0.4rem 0.75rem; }
.admin-history { margin-top: 2rem; }
.admin-history h3 { font-size: var(--step-1); }
.admin-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
@media (max-width: 1000px) { .admin-workspace { grid-template-columns: minmax(0, 1fr); } .admin-sidebar { position: static; min-height: auto; padding: 1.25rem var(--gutter); } .admin-sidebar .admin-logo { width: 7rem; margin-bottom: 0.5rem; } .admin-sidebar nav { display: flex; flex-wrap: wrap; margin: 1rem 0; gap: 1rem; } .admin-sidebar nav button { width: auto; } .admin-sidebar > a, .admin-sidebar > button { display: inline-block; width: auto; margin-right: 1rem; } }
@media (max-width: 600px) { .admin-metrics { grid-template-columns: minmax(0, 1fr); } .admin-metric { display: flex; align-items: center; gap: 1rem; padding: 0.8rem 0; } .admin-metric strong { font-size: var(--step-3); } .admin-toolbar, .admin-form-grid, .admin-image-layout { grid-template-columns: minmax(0, 1fr); } .admin-record { grid-template-columns: minmax(0, 1fr); } .admin-record-actions { display: flex; align-items: center; justify-content: space-between; } }
