.admin-settings-page {
    display: grid;
    gap: var(--ap-space-5);
    min-width: 0;
}

.admin-settings-status { margin: 0; }

.admin-settings-workspace {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    align-items: start;
    gap: var(--ap-space-4);
    min-width: 0;
}

.admin-settings-nav-card {
    position: sticky;
    top: 0;
    align-self: start;
}

.admin-settings-nav {
    display: grid;
    gap: var(--ap-space-1);
}

.admin-settings-nav a {
    display: flex;
    align-items: center;
    gap: var(--ap-space-3);
    min-height: var(--ap-control-height-md);
    padding: 0 var(--ap-space-3);
    color: var(--ap-text-secondary);
    text-decoration: none;
    border: var(--ap-stroke-transparent);
    border-radius: var(--ap-radius-md);
    transition: background var(--ap-transition-base), color var(--ap-transition-base), border-color var(--ap-transition-base);
}

.admin-settings-nav a:hover,
.admin-settings-nav a:focus-visible {
    color: var(--ap-text-primary);
    background: var(--ap-bg-hover);
}

.admin-settings-nav a:focus-visible {
    outline: none;
    box-shadow: var(--ap-shadow-focus);
}

.admin-settings-nav a.active {
    color: var(--ap-primary);
    background: color-mix(in srgb, var(--ap-primary) 10%, var(--ap-bg-panel));
    border-color: color-mix(in srgb, var(--ap-primary) 28%, var(--ap-border-default));
}

.admin-settings-nav .mud-icon-root { font-size: var(--ap-icon-size-md); }

.admin-settings-sections {
    display: grid;
    gap: var(--ap-space-4);
    min-width: 0;
}

.admin-settings-section { scroll-margin-top: var(--ap-space-5); }
.admin-settings-section > .ap-card__body { padding: 0; }

.admin-settings-section-layout {
    display: grid;
    grid-template-columns: minmax(190px, 0.34fr) minmax(0, 1fr);
    min-width: 0;
}

.admin-settings-section-intro {
    padding: var(--ap-space-5);
    border-right: var(--ap-divider-line);
}

.admin-settings-section-intro h2,
.admin-settings-compact-card .ap-card__title {
    margin: 0;
    color: var(--ap-text-primary);
    font-size: var(--ap-font-size-lg);
    font-weight: var(--ap-font-weight-semibold);
    line-height: var(--ap-line-height-tight);
}

.admin-settings-section-intro p {
    margin: var(--ap-space-2) 0 0;
    color: var(--ap-text-secondary);
    font-size: var(--ap-font-size-sm);
    line-height: var(--ap-line-height-relaxed);
}

.admin-settings-section-content {
    display: grid;
    gap: var(--ap-space-5);
    padding: var(--ap-space-5);
    min-width: 0;
}

.admin-settings-grid {
    display: grid;
    gap: var(--ap-space-4);
    min-width: 0;
}

.admin-settings-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-settings-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-settings-grid--after-toggles { padding-top: var(--ap-space-1); }

.admin-settings-logo-field { min-width: 0; }
.admin-settings-logo-control {
    display: flex;
    align-items: center;
    gap: var(--ap-space-3);
    min-height: var(--ap-control-height-lg);
}

.admin-settings-logo-preview {
    display: grid;
    align-content: center;
    min-width: 150px;
    min-height: 58px;
    padding: var(--ap-space-3) var(--ap-space-4);
    background: var(--ap-bg-panel-muted);
    border: var(--ap-stroke-default);
    border-radius: var(--ap-radius-md);
}

.admin-settings-logo-preview strong { color: var(--ap-text-primary); letter-spacing: .08em; }
.admin-settings-logo-preview small { color: var(--ap-text-muted); font-size: var(--ap-font-size-xs); letter-spacing: .18em; }

.admin-settings-upload { cursor: pointer; }
.admin-settings-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.admin-settings-file-name { display: block; margin-top: var(--ap-space-2); color: var(--ap-text-muted); }

.admin-settings-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ap-space-3);
}

.admin-settings-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ap-space-4);
    min-height: 70px;
    padding: var(--ap-space-3) var(--ap-space-4);
    background: var(--ap-bg-panel-muted);
    border: var(--ap-stroke-subtle);
    border-radius: var(--ap-radius-md);
    cursor: pointer;
}

.admin-settings-toggle-copy { display: grid; gap: var(--ap-space-1); min-width: 0; }
.admin-settings-toggle-copy strong { color: var(--ap-text-primary); font-size: var(--ap-font-size-sm); }
.admin-settings-toggle-copy small { color: var(--ap-text-muted); line-height: var(--ap-line-height-normal); }

.admin-settings-switch { position: relative; flex: 0 0 auto; width: 42px; height: 24px; }
.admin-settings-switch input { position: absolute; opacity: 0; pointer-events: none; }
.admin-settings-switch span {
    position: absolute;
    inset: 0;
    background: var(--ap-bg-control-muted);
    border: var(--ap-stroke-default);
    border-radius: var(--ap-radius-pill);
    transition: background var(--ap-transition-base), border-color var(--ap-transition-base);
}
.admin-settings-switch span::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background: var(--ap-text-primary);
    border-radius: 50%;
    box-shadow: var(--ap-shadow-xs);
    transition: transform var(--ap-transition-base);
}
.admin-settings-switch input:checked + span { background: var(--ap-primary); border-color: var(--ap-primary); }
.admin-settings-switch input:checked + span::after { transform: translateX(18px); }
.admin-settings-switch input:focus-visible + span { box-shadow: var(--ap-shadow-focus); }

.admin-settings-compact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ap-space-4);
}

.admin-settings-detail-list { display: grid; gap: var(--ap-space-3); }
.admin-settings-detail-list span {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--ap-space-4);
    padding-bottom: var(--ap-space-3);
    color: var(--ap-text-secondary);
    border-bottom: var(--ap-divider-line);
}
.admin-settings-detail-list span:last-child { padding-bottom: 0; border-bottom: 0; }
.admin-settings-detail-list strong { color: var(--ap-text-primary); font-weight: var(--ap-font-weight-medium); text-align: right; }

.admin-settings-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ap-space-4);
    padding: var(--ap-space-3) var(--ap-space-4);
    background: color-mix(in srgb, var(--ap-bg-content) 92%, transparent);
    border: var(--ap-stroke-default);
    border-radius: var(--ap-radius-lg);
    box-shadow: var(--ap-shadow-sm);
    backdrop-filter: blur(12px);
}

.admin-settings-footer-actions { display: flex; gap: var(--ap-space-2); }

@media (max-width: 1280px) {
    .admin-settings-workspace { grid-template-columns: 210px minmax(0, 1fr); }
    .admin-settings-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    .admin-settings-workspace { grid-template-columns: 1fr; }
    .admin-settings-nav-card { position: static; }
    .admin-settings-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-settings-section-layout { grid-template-columns: 1fr; }
    .admin-settings-section-intro { border-right: 0; border-bottom: var(--ap-divider-line); }
}

@media (max-width: 720px) {
    .admin-settings-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-settings-grid--two,
    .admin-settings-grid--three,
    .admin-settings-toggle-grid,
    .admin-settings-compact-grid { grid-template-columns: 1fr; }
    .admin-settings-footer { align-items: stretch; flex-direction: column; }
    .admin-settings-footer-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .admin-settings-footer .ap-button { width: 100%; }
}

@media (max-width: 480px) {
    .admin-settings-nav { grid-template-columns: 1fr; }
    .admin-settings-logo-control { align-items: stretch; flex-direction: column; }
    .admin-settings-logo-preview { width: 100%; }
    .admin-settings-footer-actions { grid-template-columns: 1fr; }
}

/* Settings section identity */
.admin-settings-section-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--ap-space-3);
}

.admin-settings-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--ap-primary);
    background: color-mix(in srgb, var(--ap-primary) 12%, var(--ap-bg-panel));
    border: 1px solid color-mix(in srgb, var(--ap-primary) 26%, var(--ap-border-default));
    border-radius: var(--ap-radius-md);
}

.admin-settings-section-icon .mud-icon-root {
    font-size: var(--ap-icon-size-md);
}

.admin-settings-compact-card .ap-card__icon {
    color: var(--ap-primary);
    background: color-mix(in srgb, var(--ap-primary) 12%, var(--ap-bg-panel));
    border: 1px solid color-mix(in srgb, var(--ap-primary) 24%, var(--ap-border-default));
}

/* v819w18: real in-page Settings links */
.admin-settings-section,
.admin-settings-compact-card {
    scroll-margin-top: calc(var(--ap-space-5) + 12px);
}

.admin-settings-nav a[aria-current="location"] {
    color: var(--ap-primary);
}

/* v820: settings show only real, wired behavior. */
.admin-settings-real-note {
    display: flex;
    align-items: flex-start;
    gap: var(--ap-space-3);
    min-height: var(--ap-control-height-lg);
    padding: var(--ap-space-3) var(--ap-space-4);
    color: var(--ap-text-secondary);
    background: color-mix(in srgb, var(--ap-primary) 7%, var(--ap-bg-panel-muted));
    border: 1px solid color-mix(in srgb, var(--ap-primary) 20%, var(--ap-border-default));
    border-radius: var(--ap-radius-md);
}

.admin-settings-real-note > .mud-icon-root {
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--ap-primary);
    font-size: var(--ap-icon-size-md);
}

.admin-settings-real-note > div {
    display: grid;
    gap: var(--ap-space-1);
    min-width: 0;
}

.admin-settings-real-note strong {
    color: var(--ap-text-primary);
    font-size: var(--ap-font-size-sm);
}

.admin-settings-real-note span {
    color: var(--ap-text-muted);
    font-size: var(--ap-font-size-sm);
    line-height: var(--ap-line-height-normal);
}

.admin-settings-runtime-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ap-space-4);
}

.admin-settings-runtime-panel {
    display: grid;
    align-content: start;
    gap: var(--ap-space-4);
    min-width: 0;
    padding: var(--ap-space-4);
    background: var(--ap-bg-panel-muted);
    border: var(--ap-stroke-subtle);
    border-radius: var(--ap-radius-lg);
}

.admin-settings-runtime-panel > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ap-space-3);
}

.admin-settings-runtime-panel > header > div {
    display: grid;
    gap: var(--ap-space-1);
    min-width: 0;
}

.admin-settings-runtime-panel > header strong {
    color: var(--ap-text-primary);
    font-size: var(--ap-font-size-md);
    font-weight: var(--ap-font-weight-semibold);
}

.admin-settings-runtime-panel > header span {
    color: var(--ap-text-muted);
    font-size: var(--ap-font-size-xs);
}

.admin-settings-runtime-panel > .ap-button {
    justify-self: start;
}

.admin-settings-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 24px;
    padding: 0 var(--ap-space-2);
    border: 1px solid var(--ap-border-default);
    border-radius: var(--ap-radius-pill);
    color: var(--ap-text-secondary);
    background: var(--ap-bg-control-muted);
    font-size: var(--ap-font-size-xs);
    font-weight: var(--ap-font-weight-semibold);
    white-space: nowrap;
}

.admin-settings-state.is-good {
    color: var(--ap-status-success);
    background: color-mix(in srgb, var(--ap-status-success) 10%, var(--ap-bg-panel));
    border-color: color-mix(in srgb, var(--ap-status-success) 32%, var(--ap-border-default));
}

.admin-settings-state.is-warning {
    color: var(--ap-status-warning);
    background: color-mix(in srgb, var(--ap-status-warning) 10%, var(--ap-bg-panel));
    border-color: color-mix(in srgb, var(--ap-status-warning) 32%, var(--ap-border-default));
}

.admin-settings-state.is-bad {
    color: var(--ap-status-danger);
    background: color-mix(in srgb, var(--ap-status-danger) 10%, var(--ap-bg-panel));
    border-color: color-mix(in srgb, var(--ap-status-danger) 32%, var(--ap-border-default));
}

.admin-settings-state.is-neutral {
    color: var(--ap-text-muted);
}

.admin-settings-detail-list strong.admin-settings-state {
    font-weight: var(--ap-font-weight-semibold);
    text-align: center;
}

.admin-settings-personal-reset {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ap-space-2);
}

@media (max-width: 1120px) {
    .admin-settings-runtime-grid { grid-template-columns: 1fr; }
}
