:root {
    --sa-cleanup-section-gap: var(--sa-space-lg);
    --sa-cleanup-row-gap: var(--sa-space-md);
    --sa-cleanup-control-gap: var(--sa-space-xs);
    --sa-cleanup-inline-gap: var(--sa-space-sm);
    --sa-cleanup-section-padding: var(--sa-space-lg);
    --sa-cleanup-control-padding: var(--sa-space-md);
    --sa-cleanup-status-columns: repeat(4, minmax(0, 1fr));
    --sa-cleanup-report-columns: repeat(2, minmax(0, 1fr));
    --sa-cleanup-plan-columns: repeat(7, minmax(0, 1fr));
    --sa-cleanup-schedule-columns: repeat(3, minmax(0, 1fr));
    --sa-cleanup-retention-columns: repeat(4, minmax(0, 1fr));
    --sa-cleanup-checkbox-size: 1.25rem;
    --sa-cleanup-number-width: 9rem;
    --sa-cleanup-card-gap: var(--sa-space-sm);
    --sa-cleanup-target-columns: repeat(2, minmax(0, 1fr));
    --sa-cleanup-limit-columns: repeat(2, minmax(0, 1fr));
    --sa-cleanup-detail-columns: repeat(2, minmax(0, 1fr));
    --sa-cleanup-status-icon-size: var(--sa-size-icon);
    --sa-cleanup-switch-width: 3rem;
    --sa-cleanup-switch-height: 1.65rem;
    --sa-cleanup-switch-knob: 1.15rem;
    --sa-cleanup-switch-offset: var(--sa-space-xs);
    --sa-cleanup-target-min-height: 4.5rem;
    --sa-cleanup-transition: 160ms ease;
    --sa-cleanup-zero: 0;
    --sa-cleanup-full: 100%;
    --sa-cleanup-title-size: var(--sa-font-size-md);
    --sa-cleanup-report-value-size: 1.5rem;
    --sa-cleanup-muted-opacity: 0.58;
    --sa-cleanup-empty-columns: var(--sa-size-icon) minmax(0, 1fr);
    --sa-cleanup-empty-padding: var(--sa-space-lg);
    --sa-cleanup-empty-icon-size: var(--sa-font-size-md);
}

.superadmin-cleanup__body,
.superadmin-cleanup-form,
.superadmin-cleanup-form__section,
.superadmin-cleanup-report {
    display: grid;
    gap: var(--sa-cleanup-section-gap);
}

.superadmin-cleanup__header,
.superadmin-cleanup__header-actions,
.superadmin-cleanup-section-heading,
.superadmin-cleanup-form__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--sa-cleanup-row-gap);
}

.superadmin-cleanup__header-actions {
    justify-content: flex-end;
}

.superadmin-cleanup__empty {
    display: grid;
    grid-template-columns: var(--sa-cleanup-empty-columns);
    gap: var(--sa-cleanup-inline-gap);
    align-items: start;
    padding: var(--sa-cleanup-empty-padding);
    color: var(--sa-color-warning);
    background: var(--sa-color-warning-soft);
    border: var(--sa-border);
    border-radius: var(--sa-radius-md);
}

.superadmin-cleanup__empty > i {
    font-size: var(--sa-cleanup-empty-icon-size);
}

.superadmin-cleanup__empty > div {
    display: grid;
    gap: var(--sa-cleanup-control-gap);
}

.superadmin-cleanup__empty strong {
    color: var(--sa-color-label);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup__empty p {
    margin: var(--sa-cleanup-zero);
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup-status {
    display: grid;
    grid-template-columns: var(--sa-cleanup-status-columns);
    margin: var(--sa-cleanup-zero);
    border-block: var(--sa-border);
}

.superadmin-cleanup-status > div {
    display: grid;
    grid-template-columns: var(--sa-cleanup-status-icon-size) minmax(0, 1fr);
    gap: var(--sa-cleanup-inline-gap);
    align-items: center;
    min-width: var(--sa-cleanup-zero);
    padding: var(--sa-cleanup-section-padding);
    border-inline-start: var(--sa-border);
}

.superadmin-cleanup-status > div:first-child {
    border-inline-start: var(--sa-cleanup-zero);
}

.superadmin-cleanup-status i {
    color: var(--sa-color-label);
    font-size: var(--sa-cleanup-title-size);
}

.superadmin-cleanup-status__item--success i {
    color: var(--sa-color-success);
}

.superadmin-cleanup-status__item--warning i {
    color: var(--sa-color-warning);
}

.superadmin-cleanup-status span {
    display: grid;
    gap: var(--sa-cleanup-control-gap);
    min-width: var(--sa-cleanup-zero);
}

.superadmin-cleanup-status dt,
.superadmin-cleanup-status dd {
    margin: var(--sa-cleanup-zero);
}

.superadmin-cleanup-status dt {
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
}

.superadmin-cleanup-status dd {
    color: var(--sa-color-text);
    font-size: var(--sa-font-size-sm);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.superadmin-cleanup-report,
.superadmin-cleanup-form {
    padding-top: var(--sa-cleanup-section-padding);
    border-top: var(--sa-border);
}

.superadmin-cleanup-section-heading h3,
.superadmin-cleanup-form__section > legend,
.superadmin-cleanup-safety h3 {
    margin: var(--sa-cleanup-zero);
    color: var(--sa-color-text);
    font-size: var(--sa-cleanup-title-size);
}

.superadmin-cleanup-section-heading p,
.superadmin-cleanup-safety p {
    margin: var(--sa-space-xs) var(--sa-cleanup-zero) var(--sa-cleanup-zero);
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup-report__freshness,
.superadmin-cleanup-form__section-meta,
.superadmin-cleanup-form__state {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sa-cleanup-control-gap);
    margin: var(--sa-cleanup-zero);
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
}

.superadmin-cleanup-report__grid {
    display: grid;
    grid-template-columns: var(--sa-cleanup-report-columns);
    border-block: var(--sa-border);
}

.superadmin-cleanup-report__column {
    display: grid;
    gap: var(--sa-cleanup-row-gap);
    min-width: var(--sa-cleanup-zero);
    padding: var(--sa-cleanup-section-padding);
    border-inline-start: var(--sa-border);
}

.superadmin-cleanup-report__column:first-child {
    border-inline-start: var(--sa-cleanup-zero);
}

.superadmin-cleanup-report__column > header {
    display: flex;
    align-items: center;
    gap: var(--sa-cleanup-inline-gap);
}

.superadmin-cleanup-report__column > header i {
    color: var(--sa-color-label);
    font-size: var(--sa-cleanup-title-size);
}

.superadmin-cleanup-report__column h4 {
    margin: var(--sa-cleanup-zero);
    color: var(--sa-color-text);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup-report__metrics {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sa-cleanup-section-gap);
    margin: var(--sa-cleanup-zero);
}

.superadmin-cleanup-report__metrics > div {
    display: grid;
    gap: var(--sa-cleanup-control-gap);
    min-width: var(--sa-size-inline-note);
}

.superadmin-cleanup-report__metrics dt,
.superadmin-cleanup-report__metrics dd {
    margin: var(--sa-cleanup-zero);
}

.superadmin-cleanup-report__metrics dt {
    order: 2;
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
}

.superadmin-cleanup-report__metrics dd {
    order: 1;
    color: var(--sa-color-text);
    font-size: var(--sa-cleanup-report-value-size);
    font-weight: 700;
    line-height: var(--sa-line-height-compact);
}

.superadmin-cleanup-report__meta,
.superadmin-cleanup-report__empty {
    margin: var(--sa-cleanup-zero);
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
}

.superadmin-cleanup-report__empty {
    display: grid;
    gap: var(--sa-cleanup-control-gap);
}

.superadmin-cleanup-report__empty > i {
    color: var(--sa-color-muted);
    font-size: var(--sa-cleanup-title-size);
}

.superadmin-cleanup-report__empty strong {
    color: var(--sa-color-label);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup-form__section {
    min-width: var(--sa-cleanup-zero);
    margin: var(--sa-cleanup-zero);
    padding: var(--sa-cleanup-zero);
    border: var(--sa-cleanup-zero);
}

.superadmin-cleanup-form__section > legend {
    padding: var(--sa-cleanup-zero);
    font-weight: 700;
}

.superadmin-cleanup-form__intro {
    margin: var(--sa-cleanup-zero);
    padding: var(--sa-cleanup-control-padding);
    color: var(--sa-color-info);
    background: var(--sa-color-info-soft);
    border: var(--sa-border);
    border-radius: var(--sa-radius-md);
    font-size: var(--sa-font-size-sm);
}

.superadmin-cleanup-plan-grid {
    display: grid;
    grid-template-columns: var(--sa-cleanup-plan-columns);
    gap: var(--sa-cleanup-card-gap);
}

.superadmin-cleanup-plan-grid--schedule {
    grid-template-columns: var(--sa-cleanup-schedule-columns);
}

.superadmin-cleanup-plan-grid--retention {
    grid-template-columns: var(--sa-cleanup-retention-columns);
}

.superadmin-cleanup-form__subheading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--sa-cleanup-inline-gap);
    margin: var(--sa-space-md) var(--sa-cleanup-zero) var(--sa-cleanup-zero);
    color: var(--sa-color-label);
    font-size: var(--sa-font-size-sm);
    font-weight: 700;
}

.superadmin-cleanup-form__subheading small {
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
    font-weight: 500;
}

.superadmin-cleanup-control {
    display: grid;
    align-content: start;
    gap: var(--sa-cleanup-control-gap);
    min-width: var(--sa-cleanup-zero);
    padding: var(--sa-cleanup-control-padding);
    background: var(--sa-color-panel-soft);
    border: var(--sa-border);
    border-radius: var(--sa-radius-md);
}

.superadmin-cleanup-control.is-muted {
    opacity: var(--sa-cleanup-muted-opacity);
}

.superadmin-cleanup-control > span,
.superadmin-cleanup-target strong {
    color: var(--sa-color-label);
    font-size: var(--sa-font-size-sm);
    font-weight: 700;
}

.superadmin-cleanup-control > small,
.superadmin-cleanup-target small {
    color: var(--sa-color-muted);
    font-size: var(--sa-font-size-xs);
    line-height: var(--sa-line-height-compact);
}

.superadmin-cleanup-control input,
.superadmin-cleanup-control select {
    width: var(--sa-cleanup-full);
    min-height: var(--sa-size-field);
}

.superadmin-cleanup-control input[type="number"] {
    max-width: var(--sa-cleanup-number-width);
    font-variant-numeric: tabular-nums;
}

.superadmin-cleanup-control--toggle {
    align-content: start;
}

.superadmin-cleanup-switch {
    display: inline-flex;
    align-items: center;
    gap: var(--sa-cleanup-inline-gap);
    min-height: var(--sa-size-field);
    color: var(--sa-color-text);
    font-size: var(--sa-font-size-sm);
    font-weight: 600;
    cursor: pointer;
}

.superadmin-cleanup-switch input {
    position: absolute;
    width: var(--sa-cleanup-zero);
    height: var(--sa-cleanup-zero);
    min-height: var(--sa-cleanup-zero);
    margin: var(--sa-cleanup-zero);
    opacity: var(--sa-cleanup-zero);
}

.superadmin-cleanup-switch > span {
    position: relative;
    width: var(--sa-cleanup-switch-width);
    height: var(--sa-cleanup-switch-height);
    flex: 0 0 auto;
    background: var(--sa-color-disabled);
    border-radius: var(--sa-radius-lg);
    transition: background var(--sa-cleanup-transition);
}

.superadmin-cleanup-switch > span::after {
    position: absolute;
    top: var(--sa-cleanup-switch-offset);
    left: var(--sa-cleanup-switch-offset);
    width: var(--sa-cleanup-switch-knob);
    height: var(--sa-cleanup-switch-knob);
    content: "";
    background: var(--sa-color-panel);
    border-radius: var(--sa-radius-lg);
    box-shadow: var(--sa-shadow);
    transition: transform var(--sa-cleanup-transition);
}

.superadmin-cleanup-switch input:checked + span {
    background: var(--sa-color-primary);
}

.superadmin-cleanup-switch input:checked + span::after {
    transform: translateX(calc(var(--sa-cleanup-switch-width) - var(--sa-cleanup-switch-knob) - (2 * var(--sa-cleanup-switch-offset))));
}

.superadmin-cleanup-switch input:focus-visible + span {
    box-shadow: var(--sa-focus-shadow);
}

.superadmin-cleanup-targets {
    display: grid;
    grid-template-columns: var(--sa-cleanup-target-columns);
    gap: var(--sa-cleanup-card-gap);
}

.superadmin-cleanup-target {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: var(--sa-cleanup-inline-gap);
    align-items: start;
    min-height: var(--sa-cleanup-target-min-height);
    padding: var(--sa-cleanup-control-padding);
    background: var(--sa-color-panel-soft);
    border: var(--sa-border);
    border-radius: var(--sa-radius-md);
    cursor: pointer;
    transition: border-color var(--sa-cleanup-transition);
}

.superadmin-cleanup-target:hover {
    border-color: var(--sa-color-border-strong);
}

.superadmin-cleanup-target:has(input:not(:checked)) {
    background: var(--sa-color-panel);
}

.superadmin-cleanup-target:has(input:not(:checked)) > i,
.superadmin-cleanup-target:has(input:not(:checked)) strong {
    color: var(--sa-color-muted);
}

.superadmin-cleanup-target:nth-child(odd) {
    border-inline-start: var(--sa-cleanup-zero);
}

.superadmin-cleanup-target input {
    width: var(--sa-cleanup-checkbox-size);
    height: var(--sa-cleanup-checkbox-size);
    margin: var(--sa-cleanup-zero);
    accent-color: var(--sa-color-primary);
}

.superadmin-cleanup-target:focus-within {
    border-color: var(--sa-color-focus);
    box-shadow: var(--sa-focus-shadow);
}

.superadmin-cleanup-target > i {
    color: var(--sa-color-label);
    font-size: var(--sa-font-size-md);
    line-height: var(--sa-cleanup-checkbox-size);
}

.superadmin-cleanup-target > span {
    display: grid;
    gap: var(--sa-cleanup-control-gap);
}

.superadmin-cleanup-limit-grid {
    display: grid;
    grid-template-columns: var(--sa-cleanup-limit-columns);
    gap: var(--sa-cleanup-card-gap);
}

.superadmin-cleanup-form__footer {
    padding-top: var(--sa-cleanup-row-gap);
    border-top: var(--sa-border);
}

.superadmin-cleanup-form__state.is-dirty {
    color: var(--sa-color-warning);
}

.superadmin-cleanup-form__state.is-error {
    color: var(--sa-color-danger);
}
