/* Batch 5 focused school overview, classes and settings pages. */

.r2-school-data-page {
    display: grid;
    gap: var(--r2-space-6);
    width: min(100%, 1180px);
    margin-inline: auto;
}

.r2-school-data-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--r2-space-5);
    padding-block: var(--r2-space-2) var(--r2-space-4);
    border-bottom: 1px solid var(--r2-border);
}

.r2-school-data-header h1 {
    margin: var(--r2-space-1) 0 var(--r2-space-2);
    color: var(--r2-text);
    font-size: clamp(1.65rem, 2vw, 2.15rem);
    line-height: var(--r2-line-tight);
}

.r2-school-data-header p {
    max-width: 58rem;
    margin: 0;
    color: var(--r2-text-secondary);
}

.r2-school-data-context {
    color: var(--r2-primary) !important;
    font-size: var(--r2-font-size-xs);
    font-weight: var(--r2-weight-medium);
}

.r2-school-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--r2-border);
}

.r2-school-summary > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--r2-space-3);
    padding: var(--r2-space-3) var(--r2-space-4);
}

.r2-school-summary > div + div {
    border-left: 1px solid var(--r2-border);
}

.r2-school-summary span {
    color: var(--r2-text-muted);
    font-size: var(--r2-font-size-sm);
}

.r2-school-summary strong {
    overflow: hidden;
    color: var(--r2-text);
    font-size: var(--r2-font-size-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.r2-school-data-section {
    min-width: 0;
    padding-block: var(--r2-space-4);
    border-block: 1px solid var(--r2-border);
    background: transparent;
}

.r2-school-data-section + .r2-school-data-section {
    margin-top: calc(var(--r2-space-2) * -1);
}

.r2-school-data-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--r2-space-4);
    margin-bottom: var(--r2-space-4);
}

.r2-school-data-section__header h2 {
    margin: 0;
    color: var(--r2-text);
    font-size: var(--r2-font-size-lg);
}

.r2-school-data-section__header p {
    margin: var(--r2-space-1) 0 0;
    color: var(--r2-text-secondary);
    font-size: var(--r2-font-size-sm);
}

.r2-school-link-list,
.r2-school-section-list {
    display: grid;
}

.r2-school-link-row,
.r2-school-section-list > a {
    display: grid;
    min-width: 0;
    align-items: center;
    gap: var(--r2-space-3);
    min-height: 4rem;
    padding-block: var(--r2-space-3);
    border-top: 1px solid var(--r2-divider);
    color: inherit;
    text-decoration: none;
}

.r2-school-link-row {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
}

.r2-school-section-list > a {
    grid-template-columns: minmax(0, 1fr) auto;
}

.r2-school-link-row:hover,
.r2-school-section-list > a:hover {
    background: var(--r2-surface-subtle);
}

.r2-school-link-row:focus-visible,
.r2-school-section-list > a:focus-visible,
.r2-section-tabs a:focus-visible {
    outline: none;
    box-shadow: var(--r2-focus-ring);
}

.r2-school-link-row__icon {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
}

.r2-school-link-row__icon img {
    width: 1.15rem;
    height: 1.15rem;
}

.r2-school-link-row__body,
.r2-school-section-list a > span:first-child {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.r2-school-link-row__body strong,
.r2-school-section-list strong {
    color: var(--r2-text);
    font-size: var(--r2-font-size-base);
}

.r2-school-link-row__body small,
.r2-school-section-list small {
    color: var(--r2-text-muted);
    font-size: var(--r2-font-size-sm);
}

.r2-school-inline-actions,
.r2-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--r2-space-2);
}

.r2-section-tabs {
    display: flex;
    overflow-x: auto;
    border-bottom: 1px solid var(--r2-border);
    scrollbar-width: thin;
}

.r2-section-tabs a {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--r2-space-2);
    min-height: 2.75rem;
    padding: var(--r2-space-2) var(--r2-space-4);
    border-bottom: 3px solid transparent;
    color: var(--r2-text-secondary);
    font-size: var(--r2-font-size-sm);
    text-decoration: none;
}

.r2-section-tabs a[aria-current="page"] {
    border-bottom-color: var(--r2-primary);
    color: var(--r2-primary);
    font-weight: var(--r2-weight-medium);
}

.r2-section-tabs small {
    color: var(--r2-text-muted);
}

.r2-class-workspace {
    display: grid;
    gap: var(--r2-space-6);
}

.r2-class-readiness {
    padding: var(--r2-space-4) var(--r2-space-5);
    border-left: 4px solid var(--r2-danger);
    background: var(--r2-danger-soft);
}

.r2-class-readiness__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--r2-space-4);
}

.r2-class-readiness h2 {
    margin: 0;
    font-size: var(--r2-font-size-lg);
}

.r2-class-readiness p {
    margin: var(--r2-space-1) 0 0;
    color: var(--r2-text-secondary);
    font-size: var(--r2-font-size-sm);
}

.r2-class-batch-form {
    display: grid;
    gap: var(--r2-space-2);
}

.r2-class-batch-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--r2-space-4);
}

.r2-class-batch-form__footer p {
    margin: 0;
}

.r2-draft-recovery {
    margin-bottom: var(--r2-space-4);
}

.r2-class-list {
    display: grid;
}

.r2-class-list__head,
.r2-class-row {
    display: grid;
    grid-template-columns: minmax(6rem, 0.7fr) minmax(9rem, 0.85fr) minmax(14rem, 1.6fr) minmax(8.5rem, 0.8fr) 2.5rem;
    gap: var(--r2-space-3);
    align-items: center;
}

.r2-class-list__head {
    min-height: 2.5rem;
    padding-inline: var(--r2-space-2);
    border-bottom: 1px solid var(--r2-border-strong);
    color: var(--r2-text-muted);
    font-size: var(--r2-font-size-xs);
    font-weight: var(--r2-weight-medium);
}

.r2-class-row {
    min-width: 0;
    min-height: 4.5rem;
    padding: var(--r2-space-3) var(--r2-space-2);
    border-bottom: 1px solid var(--r2-divider);
}

.r2-class-row:hover {
    background: var(--r2-surface-subtle);
}

.r2-class-row__name {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.r2-class-row__name strong {
    overflow: hidden;
    color: var(--r2-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.r2-class-row__name small,
.r2-class-row__not-applicable {
    color: var(--r2-text-muted);
    font-size: var(--r2-font-size-sm);
}

.r2-class-row .r2-form-field {
    min-width: 0;
}

.r2-class-row .r2-select {
    width: 100%;
    min-width: 0;
}

.r2-class-row .r2-form-error {
    margin-top: var(--r2-space-1);
}

.r2-class-row__state {
    min-width: 0;
}

.r2-row-menu {
    position: relative;
    justify-self: end;
}

.r2-row-menu summary {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid transparent;
    border-radius: var(--r2-radius-sm);
    color: var(--r2-text-secondary);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    list-style: none;
}

.r2-row-menu summary::-webkit-details-marker {
    display: none;
}

.r2-row-menu summary:hover,
.r2-row-menu summary:focus-visible {
    border-color: var(--r2-border);
    background: var(--r2-surface);
    outline: none;
}

.r2-row-menu__panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + var(--r2-space-1));
    right: 0;
    display: grid;
    width: min(18rem, 80vw);
    padding: var(--r2-space-1);
    border: 1px solid var(--r2-border);
    border-radius: var(--r2-radius-overlay);
    background: var(--r2-surface);
    box-shadow: var(--r2-shadow-menu);
}

.r2-row-menu__item {
    width: 100%;
    padding: var(--r2-space-2) var(--r2-space-3);
    border: 0;
    border-radius: var(--r2-radius-sm);
    background: transparent;
    color: var(--r2-text);
    font: inherit;
    font-size: var(--r2-font-size-sm);
    text-align: left;
    cursor: pointer;
}

.r2-row-menu__item:hover:not(:disabled),
.r2-row-menu__item:focus-visible:not(:disabled) {
    background: var(--r2-surface-muted);
    outline: none;
}

.r2-row-menu__item:disabled {
    color: var(--r2-text-disabled);
    cursor: not-allowed;
}

.r2-row-menu__item--danger {
    color: var(--r2-danger);
}

.r2-hidden-form {
    display: none;
}

.r2-settings-form {
    display: grid;
    gap: var(--r2-space-5);
}

.r2-settings-form__status {
    position: sticky;
    z-index: 5;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--r2-space-2);
    min-height: 2.5rem;
    padding-block: var(--r2-space-1);
    background: var(--r2-bg);
}

.r2-settings-switches {
    display: grid;
    max-width: 50rem;
}

.r2-settings-switches .r2-form-error {
    margin: calc(var(--r2-space-2) * -1) 0 var(--r2-space-2);
}

.r2-settings-note {
    max-width: var(--r2-readable-max);
    margin: var(--r2-space-3) 0 0;
    color: var(--r2-text-muted);
    font-size: var(--r2-font-size-sm);
}

.r2-danger-disclosure {
    margin-top: var(--r2-space-4);
    border-top: 1px solid var(--r2-danger-border);
}

.r2-danger-disclosure > summary {
    padding-block: var(--r2-space-4);
    color: var(--r2-danger);
    font-weight: var(--r2-weight-medium);
    cursor: pointer;
}

.r2-danger-disclosure__body {
    display: grid;
    gap: var(--r2-space-3);
    max-width: 38rem;
    padding: var(--r2-space-4);
    border-left: 4px solid var(--r2-danger);
    background: var(--r2-danger-soft);
}

.r2-danger-disclosure__body h2,
.r2-danger-disclosure__body p {
    margin: 0;
}

.r2-danger-disclosure__body form {
    display: grid;
    gap: var(--r2-space-3);
}

@media (max-width: 960px) {
    .r2-class-list__head {
        display: none;
    }

    .r2-class-row {
        grid-template-columns: minmax(7rem, 0.7fr) minmax(8rem, 0.8fr) minmax(12rem, 1.4fr) minmax(8rem, 0.7fr) 2.5rem;
    }
}

@media (max-width: 760px) {
    .r2-school-data-header,
    .r2-class-readiness__head,
    .r2-class-batch-form__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .r2-school-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .r2-school-summary > div:nth-child(3) {
        border-top: 1px solid var(--r2-border);
        border-left: 0;
    }

    .r2-school-summary > div:nth-child(4) {
        border-top: 1px solid var(--r2-border);
    }

    .r2-class-row {
        grid-template-columns: minmax(0, 1fr) 2.5rem;
        gap: var(--r2-space-2) var(--r2-space-3);
        align-items: start;
    }

    .r2-class-row__name,
    .r2-class-row .r2-form-field,
    .r2-class-row__state {
        grid-column: 1;
    }

    .r2-row-menu {
        grid-column: 2;
        grid-row: 1;
    }
}
