.admin-shell { display: grid; grid-template-columns: 250px minmax(0, 1fr); min-height: calc(100vh - var(--header-h)); background: #fffaf5; }.admin-side { padding: 26px 15px; border-right: 1px solid var(--line); background: var(--paper); }.admin-side h1 { margin: 0 10px 22px; font-size: 21px; letter-spacing: -.05em; }.admin-nav { display: grid; gap: 3px; }.admin-nav button { display: flex; align-items: center; width: 100%; gap: 10px; padding: 11px 12px; border: 0; border-radius: 10px; background: transparent; cursor: pointer; font-size: 15px; font-weight: 650; text-align: left; }.admin-nav button.active, .admin-nav button:hover { background: var(--soft); color: var(--primary-dark); }.admin-main { padding: 42px; }.admin-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 28px; }.admin-heading h1 { margin: 0; font-size: 35px; letter-spacing: -.07em; }.admin-heading p { margin: 5px 0 0; color: var(--muted); font-size: 15px; }.admin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.admin-metric { padding: 20px; }.admin-metric strong { display: block; color: var(--primary-dark); font-size: 36px; letter-spacing: -.07em; }.admin-metric span { color: var(--muted); font-size: 14px; }.admin-panel { margin-top: 18px; padding: 23px; }.admin-panel h2 { margin: 0 0 17px; font-size: 21px; letter-spacing: -.05em; }.admin-table { width: 100%; border-collapse: collapse; font-size: 14px; }.admin-table th, .admin-table td { padding: 12px 9px; border-bottom: 1px solid var(--line); text-align: left; }.admin-table th { color: var(--muted); font-size: 13px; }.admin-table td:last-child { text-align: right; }.admin-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }.admin-form .full { grid-column: 1 / -1; }.admin-form-actions { display: flex; justify-content: flex-end; gap: 9px; grid-column: 1 / -1; padding-top: 8px; }.login-panel { width: min(450px, var(--content)); margin: 76px auto; padding: 32px; }.login-panel h1 { margin: 0; font-size: 34px; letter-spacing: -.07em; }.login-panel p { color: var(--muted); }.login-panel form { display: grid; gap: 15px; margin-top: 25px; }.builder-row { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }.admin-note { padding: 15px; border-radius: 12px; background: #fff0d3; color: #70451b; font-size: 14px; }
@media (max-width: 800px) { .admin-shell { grid-template-columns: 1fr; }.admin-side { position: sticky; z-index: 20; top: var(--header-h); overflow: auto; padding: 10px 16px; border-right: 0; border-bottom: 1px solid var(--line); }.admin-side h1 { display: none; }.admin-nav { display: flex; width: max-content; }.admin-nav button { width: auto; white-space: nowrap; }.admin-main { padding: 26px 16px; }.admin-grid { grid-template-columns: 1fr 1fr; }.admin-form { grid-template-columns: 1fr; }.admin-form .full { grid-column: auto; } }
@media (max-width: 500px) { .admin-grid { grid-template-columns: 1fr; }.admin-heading { flex-direction: column; }.admin-main { padding-top: 24px; }.admin-table th:nth-child(2), .admin-table td:nth-child(2) { display: none; } }

.hero-editor { grid-column: 1 / -1; margin: 0 0 18px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fffaf4; }.hero-editor summary { cursor: pointer; color: var(--primary-dark); font-weight: 800; }.hero-editor .admin-form { margin-top: 14px; }.hero-slot-fieldset { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }.hero-slot-fieldset legend { padding: 0 5px; color: var(--muted); font-size: 13px; font-weight: 700; }.hero-slot-fieldset .builder-row { grid-template-columns: 1fr 1fr; }.hero-slot-fieldset .builder-row label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
@media (max-width: 700px) { .hero-slot-fieldset .builder-row { grid-template-columns: 1fr; } }
