@import url("design-preview.css");

body:not(.auth-body) .sidebar nav a[href*="meeting"]::before { content: "▣"; }
body:not(.auth-body) .sidebar nav a[href*="library"]::before { content: "▥"; }
body:not(.auth-body) .sidebar nav a[href*="projects"]::before { content: "⬡"; }
body:not(.auth-body) .sidebar nav a[href*="lab-research"]::before { content: "◉"; }
body:not(.auth-body) .sidebar nav a[href*="branding"]::before { content: "◐"; }
body:not(.auth-body) .sidebar nav a[href*="email-settings"]::before { content: "@"; }
body:not(.auth-body) .sidebar nav a[href*="auth-settings"]::before { content: "⌾"; }
.sidebar { overflow-y: auto; }
.split > * { min-width: 0; }

.dashboard-analytics .panel { min-width: 0; }
.analytics-series { display: grid; gap: 12px; padding: 5px 0; }
.analytics-line { display: grid; grid-template-columns: 52px minmax(60px,1fr) 22px 112px; align-items: center; gap: 10px; font-size: .82rem; }
.analytics-line time, .analytics-line small { color: var(--muted); white-space: nowrap; }
.analytics-line strong { text-align: right; }
.analytics-track { height: 10px; overflow: hidden; border-radius: 999px; background: #e9edf3; }
.analytics-track i { display: block; height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(90deg,#5b63e9,#56a9cc); }
.analytics-attendance { margin-top: 18px; }
.analytics-stack { display: flex; }
.analytics-stack i { border-radius: 0; flex: none; }
.analytics-stack i.on-time { background: #2a9d73; }
.analytics-stack i.late { background: #eea04a; }
.analytics-stack i.absent { background: #e86f78; }
.analytics-stack i.excused { background: #8e9bb4; }
.analytics-note { margin: 16px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.analytics-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.analytics-stat-grid > div { padding: 15px 12px; border: 1px solid #e8ebf1; border-radius: 13px; background: #f8fafd; }
.analytics-stat-grid strong, .analytics-stat-grid small { display: block; }
.analytics-stat-grid strong { font-size: 1.3rem; color: #252e45; }
.analytics-stat-grid small { margin-top: 2px; font-size: .72rem; color: var(--muted); }
.analytics-months { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 10px; }
.analytics-outcome-mix { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; }
.analytics-outcome-mix span { padding: 7px 11px; border-radius: 999px; background: #edf1fb; color: #445074; font-size: .76rem; }
.analytics-outcome-mix strong { margin-left: 5px; color: #293c9a; }
.analytics-month { display: grid; gap: 8px; padding: 14px; border: 1px solid #e8ebf1; border-radius: 13px; background: #fbfcfe; }
.analytics-month > strong { color: #252e45; }
.analytics-month span { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .8rem; }
.analytics-month b { color: #303f8d; }
.analytics-events { display: grid; gap: 7px; }
.analytics-events a { display: grid; grid-template-columns: 115px minmax(0,1fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid #e8ebf1; border-radius: 11px; text-decoration: none; color: inherit; }
.analytics-events a:hover { background: #f7f8ff; }
.analytics-events time { color: #4754a4; font-size: .76rem; font-weight: 700; }
.analytics-events strong, .analytics-events small { display: block; }
.analytics-events strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .83rem; }
.analytics-events small { color: var(--muted); font-size: .7rem; }
.analytics-requirements { display: grid; gap: 12px; margin-top: 17px; }
.analytics-requirements > div { display: grid; grid-template-columns: minmax(0,1fr) 100px; align-items: center; gap: 15px; }
.analytics-requirements strong, .analytics-requirements small { display: block; }
.analytics-requirements strong { font-size: .84rem; }
.analytics-requirements small { color: var(--muted); font-size: .74rem; }
.analytics-requirements .progress { margin: 0; }
.dashboard-table-wrap { border: 1px solid #e8ebf1; border-radius: 12px; }
.dashboard-data-table { margin: 0; }
.dashboard-data-table thead th { background: #f3f5fb; color: #596783; }
.dashboard-data-table tbody th { padding: 12px 11px; border-bottom: 1px solid #edf0f2; text-align: left; font-size: .87rem; letter-spacing: 0; text-transform: none; vertical-align: top; background: #fff; }
.dashboard-data-table tbody tr.row-attention th { background: #fffaf2; }
.dashboard-data-table tbody tr:hover td, .dashboard-data-table tbody tr:hover th { background: #f7f8ff; }
.dashboard-data-table thead th:first-child, .dashboard-data-table tbody th:first-child, .dashboard-data-table tfoot th:first-child { position: sticky; left: 0; z-index: 2; min-width: 172px; }
.dashboard-data-table thead th:first-child { z-index: 3; }
.dashboard-data-table tbody tr:last-child th { border-bottom: 0; }
.dashboard-data-table tfoot th, .dashboard-data-table tfoot td { padding: 12px 11px; border-top: 2px solid #dce2ee; background: #edf1fb; color: #26345b; font-size: .84rem; font-weight: 800; }
.dashboard-data-table tfoot th { text-align: left; letter-spacing: 0; text-transform: none; }
.research-type-matrix { width: max-content; min-width: 100%; }
.research-type-matrix thead th:not(:first-child) { min-width: 96px; max-width: 140px; white-space: normal; line-height: 1.3; text-align: center; }
.research-type-matrix .matrix-number { min-width: 78px; text-align: center; font-variant-numeric: tabular-nums; }
.research-type-matrix th:last-child, .research-type-matrix .matrix-total { position: sticky; right: 0; z-index: 2; min-width: 108px; background: #f5f6fc; box-shadow: -1px 0 0 #e1e5ee; }
.research-type-matrix thead th:last-child { z-index: 3; background: #edf0f8; }
.research-type-matrix tfoot .matrix-total { background: #e4e9f7; }
.matrix-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 8px; background: #ecf0ff; color: #3e4ab8; font-weight: 800; }
.matrix-count:hover { background: #dfe5ff; }
.matrix-zero { color: #a3acbb; }
@media(max-width:650px) { .analytics-line { grid-template-columns: 45px minmax(45px,1fr) 20px; } .analytics-line small { display: none; } .analytics-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .analytics-events a { grid-template-columns: 95px minmax(0,1fr); } }

.journey-student-selector,
.journey-selector {
    align-items: end;
}

.journey-student-selector label,
.journey-selector label {
    max-width: 430px;
    margin-bottom: 0;
}

.journey-selector-note {
    align-self: center;
    color: var(--muted);
    font-size: .75rem;
}

.logo span,
.brand-mark {
    width: 46px;
    font-size: .76rem;
    letter-spacing: .04em;
}

.announcement-banner {
    margin-bottom: 20px;
    border-color: #e4c86f;
    background: linear-gradient(135deg, #fffdf4, #ffffff);
}

.announcement-banner .feedback-box {
    margin-top: 9px;
    background: #fff9e7;
    border-left-color: #b46b08;
}

.dismissible-announcement {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.dismissible-announcement > span {
    min-width: 0;
}

.close-notice {
    width: 31px;
    height: 31px;
    border: 1px solid #dccd99;
    border-radius: 50%;
    background: #fff;
    color: #72500d;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.conversation-list .compact-help,
.member-search-hint {
    padding: 6px 10px;
    font-size: .78rem;
}

.member-search-label {
    margin: 8px 8px 4px;
}

.member-search-results {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.member-search-results > .member-result {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 10px;
    border-radius: 11px;
}

.member-search-results > .member-result:hover,
.member-search-results > .member-result.active {
    background: #f0f1ff;
}

.member-result > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.member-result strong,
.member-result small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-result small {
    color: var(--muted);
    font-size: .72rem;
}

.member-result[hidden] {
    display: none;
}

.message-author {
    display: block;
    margin-bottom: 3px;
    color: var(--primary-dark);
    font-size: .72rem;
}

.message p {
    white-space: pre-wrap;
}

.live-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--green);
    font-size: .74rem;
    font-weight: 800;
}

.live-status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2a9d73;
    box-shadow: 0 0 0 4px rgba(42,157,115,.12);
}

.message-compose.group-compose {
    grid-template-columns: 1fr auto;
}

.announcement-compose summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
}

.announcement-compose summary span {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 400;
}

.recent-conversations {
    display: grid;
    gap: 2px;
}

.recent-conversations > a {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 10px;
    border-radius: 9px;
}

.recent-conversations > a:hover,
.recent-conversations > a.active {
    background: #eef5f4;
}

.recent-conversations > a > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.recent-conversations > a strong,
.recent-conversations > a small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recent-conversations > a small {
    color: var(--muted);
    font-size: .72rem;
}

.recent-conversations > a b {
    background: #e05b5f;
    color: #fff;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    font-size: .72rem;
}

.presence-panel {
    margin-bottom: 20px;
}

.presence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 10px;
}

.presence-grid article {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfcfc;
}

.presence-grid article > span:last-child {
    display: grid;
    min-width: 0;
}

.presence-grid small {
    color: var(--muted);
    font-size: .75rem;
}

.term-block {
    border: 1px solid var(--line);
    border-radius: 11px;
    margin-bottom: 16px;
    overflow: hidden;
}

.term-block > .panel-head {
    padding: 14px 16px;
    margin: 0;
    background: #f8fafb;
    align-items: center;
}

.term-block > .table-wrap {
    padding: 0 6px 6px;
}

.requirement-edit {
    margin-top: 9px;
}

.requirement-edit summary {
    cursor: pointer;
    color: var(--primary-dark);
    font-size: .76rem;
    font-weight: 800;
}

.requirement-edit form {
    margin-top: 10px;
    padding: 12px;
    background: #f7faf9;
    border-radius: 9px;
}

.goal-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 16px;
    row-gap: 8px;
    min-width: 0;
}

.goal-list > div > span:first-child {
    display: grid;
    min-width: 0;
}

.goal-list > div > span:nth-child(2) {
    float: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
}

.goal-list > div > .progress,
.goal-list > div > .requirement-source,
.goal-list > div > .requirement-edit {
    grid-column: 1 / -1;
    margin-top: 0;
}

.requirement-source {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.4;
}

.requirement-source a {
    color: var(--primary-dark);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 640px) {
    .goal-list > div {
        grid-template-columns: minmax(0, 1fr);
    }

    .goal-list > div > span:nth-child(2) {
        justify-content: flex-start;
    }
}

.log-section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.log-section-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel);
    color: var(--primary-dark);
    font-weight: 750;
}

.log-section-nav span {
    padding: 2px 7px;
    border-radius: 999px;
    background: #eef5f4;
    font-size: .72rem;
}

.log-panel {
    scroll-margin-top: 18px;
}

.log-table-toolbar,
.log-table-toolbar form,
.log-table-toolbar label,
.log-pager {
    display: flex;
    align-items: center;
}

.log-table-toolbar {
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 8px 0 12px;
}

.log-table-toolbar p {
    margin: 0;
    color: var(--muted);
    font-size: .78rem;
}

.log-table-toolbar form,
.log-table-toolbar label {
    gap: 8px;
    margin: 0;
}

.log-table-toolbar select {
    width: auto;
    min-width: 75px;
}

.log-pager {
    flex-wrap: wrap;
    gap: 5px;
    margin: 12px 0;
}

.log-pager a,
.log-pager .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 31px;
    min-height: 31px;
    padding: 4px 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    font-size: .78rem;
    font-weight: 750;
}

.log-pager a:hover,
.log-pager .current {
    border-color: var(--primary);
    background: #eef5f4;
    color: var(--primary-dark);
}

.log-ellipsis {
    padding: 0 3px;
    color: var(--muted);
}

.technical-runtime {
    margin: 0 0 18px;
    font-size: .82rem;
}

.technical-log-table .technical-message {
    min-width: 240px;
    max-width: 420px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.technical-log-table .technical-location {
    min-width: 190px;
    max-width: 320px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.meeting-controls, .library-usage {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.meeting-controls p { flex-basis: 100%; margin: 0; }
.meeting-week-nav, .meeting-professor-select {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.meeting-professor-select label { min-width: 190px; margin: 0; }
.meeting-schedule summary { cursor: pointer; display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; }
.meeting-schedule summary span { color: var(--muted); font-size: .84rem; }
.meeting-layout { display: grid; grid-template-columns: minmax(210px,280px) minmax(0,1fr); gap: 18px; align-items: start; }
.meeting-students { position: sticky; top: 18px; max-height: min(78vh,850px); overflow-y: auto; }
.meeting-students h2 { margin: 0 0 4px; }
.meeting-students-count { color: var(--muted); font-size: .83rem; margin: 0 0 18px; }
.meeting-student-group + .meeting-student-group { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.meeting-student-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.meeting-student-group-heading h3 { margin: 0; font-size: .85rem; }
.meeting-student-group-heading span { background: #eef2f8; border-radius: 999px; color: var(--muted); font-size: .75rem; font-weight: 800; min-width: 25px; padding: 3px 7px; text-align: center; }
.meeting-group-empty { color: var(--muted); font-size: .78rem; margin: 7px 0 0; }
.meeting-student { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; margin: 5px 0; border: 1px solid transparent; border-radius: 13px; color: var(--ink); }
.meeting-student:hover, .meeting-student.active { background: #eaf5f3; border-color: #bcded7; }
.meeting-student strong, .meeting-student small { display: block; overflow-wrap: anywhere; }
.meeting-student small { color: var(--muted); font-size: .76rem; margin-top: 3px; }
.meeting-student em { display: block; color: #ae671d; font-size: .73rem; font-style: normal; font-weight: 750; margin-top: 5px; }
.meeting-student.completed em { color: #08766d; }
.meeting-student b { background: #fce7d0; color: #9b5718; border-radius: 999px; padding: 3px 8px; }
.meeting-detail { min-width: 0; }
.meeting-detail .panel-head { align-items: flex-start; }
.meeting-detail .panel-head p { color: var(--muted); margin: 5px 0 0; }
.meeting-item-list { margin: 18px 0; border-top: 1px solid var(--line); }
.meeting-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
.meeting-item h3 { margin: 0; overflow-wrap: anywhere; }
.meeting-item .summary-grid { margin: 12px 0; }
.meeting-report-signals { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 18px; }
.meeting-report-signals > span { align-items: center; background: #f5f7fb; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 10px; }
.meeting-report-signals small { color: var(--muted); font-size: .74rem; font-weight: 700; }
.meeting-file-link { display: inline-block; margin: 5px 12px 0 0; overflow-wrap: anywhere; }
.meeting-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 16px; align-items: start; }
.meeting-actions .panel { min-width: 0; }
.meeting-actions textarea { resize: vertical; }
.meeting-recorded-state { background: #edf8f5; border: 1px solid #c6e9df; border-radius: 12px; display: grid; gap: 5px; margin: 12px 0 16px; padding: 12px 14px; }
.meeting-recorded-state > span { display: block; }
.meeting-recorded-state small { color: var(--muted); }
.attendance-view { background: #f3f8f7; border-radius: 12px; margin-top: 16px; padding: 15px; }
.attendance-view > strong { display: block; margin-bottom: 9px; }
.attendance-view > p { margin: 0; }
.attendance-record { align-items: flex-start; background: #fff; border: 1px solid #d9e9e5; border-radius: 10px; display: flex; gap: 12px; margin-top: 8px; padding: 12px; }
.attendance-record > div { min-width: 0; }
.attendance-record strong, .attendance-record small { display: block; }
.attendance-record small { color: var(--muted); margin-top: 4px; }
.attendance-record p { margin: 9px 0 0; overflow-wrap: anywhere; }
.library-usage .progress { min-width: 180px; flex: 1; max-width: 360px; }
.library-usage h2 { margin: 0 0 5px; }
.library-usage p { margin: 0 0 4px; }
.library-stored-name { overflow-wrap: anywhere; font-size: .71rem; }
@media (max-width: 1050px) { .meeting-layout { grid-template-columns: 1fr; } .meeting-students { position: static; max-height: 260px; } }
@media (max-width: 730px) { .meeting-actions { grid-template-columns: 1fr; } .meeting-week-nav { width: 100%; justify-content: space-between; } .meeting-week-nav .button { padding: 8px; } }

/* Shared usability layer across student, supervisor, and administrator pages. */
body:not(.auth-body) { --mp-muted: #59657a; --muted: #596879; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 60; padding: 10px 14px; border-radius: 9px; background: #fff; color: #2933a0; font-weight: 800; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
body:not(.auth-body) .sidebar { overflow: hidden; }
body:not(.auth-body) .sidebar nav { display: block; flex: 1; min-height: 0; overflow-y: auto; padding-right: 4px; margin-right: -4px; scrollbar-width: thin; scrollbar-color: #45516c transparent; }
.nav-group { display: grid; gap: 2px; margin: 0 0 12px; }
.nav-group-label { margin: 0 12px 3px; color: #9aa8c3; font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
body:not(.auth-body) .sidebar nav a { min-height: 38px; padding-top: 9px; padding-bottom: 9px; font-size: .87rem; }
.row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; min-width: 150px; }
.row-actions .table-link.subtle { margin-left: 0; }
.row-actions .inline-form { display: inline-flex; }
body:not(.auth-body) .sidebar-bottom { flex: none; margin-top: 7px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.09); }
body:not(.auth-body) .sidebar-bottom .profile-link.active { color: #fff; font-weight: 800; }
body:not(.auth-body) .sidebar-bottom .notification-link.active { color: #fff; background: rgba(255,255,255,.08); }
.sidebar-link-label { display: inline-flex; align-items: center; gap: 10px; font-weight: inherit; }
.notification-link > .sidebar-link-label { width: auto; min-width: 0; height: auto; padding: 0; border-radius: 0; background: transparent; color: inherit; display: inline-flex; place-items: initial; font-size: inherit; }
.sidebar-link-label > i { width: 18px; color: #8493ad; font-style: normal; font-size: .92rem; text-align: center; }
.profile-link:hover .sidebar-link-label > i,.text-button:hover .sidebar-link-label > i,.notification-link:hover .sidebar-link-label > i,.profile-link.active .sidebar-link-label > i,.notification-link.active .sidebar-link-label > i { color: #aeb5ff; }
.sidebar-backdrop { display: none; }
.back-to-top { position: fixed; right: 24px; bottom: 22px; z-index: 15; width: 42px; height: 42px; border: 1px solid #d9dded; border-radius: 13px; background: #fff; color: #4652d4; box-shadow: 0 10px 30px rgba(27,36,66,.16); font-size: 1.2rem; font-weight: 800; cursor: pointer; }
.back-to-top:hover { background: #eff1ff; }
[hidden] { display: none !important; }
body:not(.auth-body) .page-heading > div:first-child { min-width: 0; flex: 1; }
body:not(.auth-body) .heading-actions { flex: none; max-width: 55%; justify-content: flex-end; align-items: flex-start; }
.action-menu { position: relative; }
.action-menu summary { list-style: none; cursor: pointer; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu summary::after { content: "⌄"; margin-left: 5px; font-size: 1rem; line-height: 1; }
.action-menu[open] summary { background: #f0f1ff; border-color: #bfc5f8; }
.action-menu-panel { position: absolute; top: calc(100% + 7px); right: 0; z-index: 12; display: grid; min-width: 215px; padding: 6px; border: 1px solid #dfe3ec; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(27,36,66,.15); }
.action-menu-panel a { padding: 10px 12px; border-radius: 8px; color: #374263; font-size: .83rem; font-weight: 700; white-space: nowrap; }
.action-menu-panel a:hover { background: #f1f2ff; color: #3946b7; }
body:not(.auth-body) .page-heading .muted { max-width: 680px; line-height: 1.55; }
body:not(.auth-body) label { font-size: .82rem; line-height: 1.35; }
body:not(.auth-body) label:has(> input[required], > select[required], > textarea[required]) { position: relative; }
body:not(.auth-body) label:has(> input[required], > select[required], > textarea[required])::after { content: "Required"; position: absolute; top: 0; right: 0; color: #92515d; font-size: .66rem; font-weight: 750; }
body:not(.auth-body) input, body:not(.auth-body) select, body:not(.auth-body) textarea { min-height: 42px; font-size: .88rem; }
body:not(.auth-body) input[type="checkbox"], body:not(.auth-body) input[type="radio"] { min-height: 0; accent-color: #5662e1; }
body:not(.auth-body) textarea { line-height: 1.5; }
body:not(.auth-body) .panel-head p { font-size: .85rem; line-height: 1.5; }
body:not(.auth-body) .panel-head > .table-link { flex: none; white-space: nowrap; }
body:not(.auth-body) .metric small { font-size: .79rem; }
body:not(.auth-body) .metric span { font-size: .77rem; line-height: 1.4; }
body:not(.auth-body) th { font-size: .71rem; letter-spacing: .055em; }
body:not(.auth-body) td { font-size: .85rem; line-height: 1.48; }
body:not(.auth-body) .cell-note, body:not(.auth-body) .compact-list small { font-size: .78rem; line-height: 1.4; }
body:not(.auth-body) .badge { font-size: .71rem; }
body:not(.auth-body) .micro-label { font-size: .73rem; }
body:not(.auth-body) .analytics-note, body:not(.auth-body) .requirement-source { font-size: .8rem; }
body:not(.auth-body) .empty { color: #667388; line-height: 1.5; }
body:not(.auth-body) .filter-bar { row-gap: 12px; }
.filter-actions { display: flex; flex: none; align-items: center; gap: 8px; white-space: nowrap; }
.filter-actions .button { flex: 1; }
.table-wrap { max-width: 100%; scrollbar-color: #b8bfd8 #f5f6fb; }
.table-scroll-hint { margin: -2px 0 8px; color: #677388; font-size: .76rem; font-weight: 700; text-align: right; }
.table-wrap[role="region"]:focus-visible { outline: 3px solid #6874ee; outline-offset: 2px; }
body:not(.auth-body) .table-wrap table { font-variant-numeric: tabular-nums; }
body:not(.auth-body) .table-wrap tbody tr:focus-within { background: #f4f5ff; }
body:not(.auth-body) .table-link:hover { text-decoration: underline; text-underline-offset: 3px; }
body:not(.auth-body) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid #6874ee; outline-offset: 3px; }
.timezone-preview { display: grid; align-content: center; gap: 4px; min-height: 70px; padding: 10px 14px; border: 1px solid #e5e9f2; border-radius: 11px; background: #f8f9fe; }
.timezone-preview small { color: var(--muted); font-size: .77rem; }
.timezone-preview strong { font-size: 1rem; }
.notification-filters { display: flex; gap: 7px; margin: 0 0 14px; }
.notification-filters button { padding: 8px 13px; border: 1px solid #dfe3ec; border-radius: 10px; background: #fff; color: #59657a; font-size: .8rem; font-weight: 800; cursor: pointer; }
.notification-filters button[aria-pressed="true"] { border-color: #cbd0fb; background: #eff0ff; color: #4350c7; }
.presence-toggle { margin-top: 14px; }
.people-search { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 0 0 14px; }
.people-search label { flex: 1; max-width: 420px; margin: 0; }
.people-search span { padding-bottom: 10px; font-size: .78rem; white-space: nowrap; }
.output-fields { margin: 18px 0; padding: 18px; border: 1px solid #cdd3f4; border-radius: 14px; background: #f7f8ff; }
.output-fields h3 { margin: 0; }
.output-fields .panel-head { margin-bottom: 12px; }
.output-ranking-list { display: grid; gap: 10px; margin: 10px 0 16px; }
.output-rankings { margin: 12px 0; }
.output-rankings summary { color: #3544ad; font-weight: 800; cursor: pointer; }
.output-rankings summary:hover { text-decoration: underline; }
.output-ranking-list fieldset { border: 1px solid #dce0f1; border-radius: 10px; padding: 12px; background: #fff; }
.output-ranking-list legend { font-weight: 800; color: #34405d; }
.output-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.output-review-form { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.lab-links { min-width: 110px; white-space: nowrap; }
.lab-links a { margin-right: 7px; }
.lab-metrics { margin-top: 12px; }
.lab-list-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: var(--muted); font-size: .8rem; font-weight: 700; }
.lab-list-controls form { display: flex; align-items: end; gap: 8px; }
.lab-list-controls label { display: flex; align-items: center; gap: 7px; margin: 0; white-space: nowrap; }
.lab-list-controls select { width: 76px; }
.lab-pager { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 15px; }
.lab-pager .active { background: #e8ebff; border-color: #a8b2f7; color: #3541bb; }
.lab-pager [aria-disabled="true"] { opacity: .45; pointer-events: none; }
.project-link-editor summary { cursor: pointer; color: var(--ink); list-style-position: inside; }
.project-link-editor summary strong { font-size: 1rem; }
.project-link-editor summary:hover strong { color: var(--primary); }
.project-link-editor[open] summary { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.project-link-editor .check-grid { max-height: 320px; overflow-y: auto; padding: 4px; }
#project-form { scroll-margin-top: 20px; }
.message-back { display: none !important; }
.split.wide-left.courses-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
.courses-layout > article { min-width: 0; }
.courses-layout > aside { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.courses-layout > aside > .panel { margin: 0; min-width: 0; position: static; }
.courses-layout .term-block > .table-wrap { overflow-x: auto; }
.courses-layout .term-block table { min-width: 720px; }
.courses-layout .term-block:has(td.empty) table { min-width: 0; }
.courses-layout .term-block:has(td.empty) thead { display: none; }
.courses-layout .term-block:has(td.empty) .table-scroll-hint { display: none; }
.section-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; }
.section-shortcuts .button { min-height: 34px !important; padding: 6px 10px !important; white-space: nowrap; }
#semester-form, #course-form { scroll-margin-top: 22px; }
@media(max-width:1050px) { .courses-layout > aside { grid-template-columns: 1fr; } }
@media(max-width:1400px) {
    .split.wide-left:has(.item-form),
    .split.wide-left:has(input[name="action"][value="save_task"]),
    .split.wide-left:has(input[name="action"][value="save_user"]) { grid-template-columns: minmax(0,1fr); }
    .split.wide-left:has(.item-form) > aside,
    .split.wide-left:has(input[name="action"][value="save_task"]) > aside,
    .split.wide-left:has(input[name="action"][value="save_user"]) > aside { order: -1; }
    .split.wide-left:has(.item-form) .sticky,
    .split.wide-left:has(input[name="action"][value="save_task"]) .sticky,
    .split.wide-left:has(input[name="action"][value="save_user"]) .sticky { position: static; }
}
@media(max-width:900px) {
    body.menu-open { overflow: hidden; }
    .sidebar-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 19; width: 100%; border: 0; background: rgba(14,22,41,.56); }
    body:not(.auth-body) .heading-actions { width: 100%; max-width: none; justify-content: flex-start; }
    .message-back { display: inline-flex !important; align-self: flex-start; margin: 0 0 12px; }
    .message-panel { scroll-margin-top: 15px; }
}
@media(max-width:620px) {
    body:not(.auth-body) .page-heading { gap: 14px; }
    body:not(.auth-body) .heading-actions .button { flex: 1; }
    .filter-actions { grid-column: 1 / -1; width: 100%; }
    .filter-actions .button { width: 50%; }
    .back-to-top { right: 14px; bottom: 14px; }
    .people-search { align-items: stretch; flex-direction: column; gap: 3px; }
    .people-search span { padding: 0; }
}
@media(min-width:360px) and (max-width:620px) {
    body:not(.auth-body) .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body:not(.auth-body) .metric { min-height: 128px; padding: 15px; }
    body:not(.auth-body) .metric strong { font-size: 1.62rem; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
.profile-extras-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,1fr); gap: 20px; align-items: start; }
.profile-extras-grid > * { min-width: 0; }
.profile-photo-preview { display: flex; align-items: center; gap: 18px; margin: 20px 0; }
.profile-photo-preview img, .profile-photo-fallback { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 120px; height: 120px; border-radius: 30px; object-fit: cover; background: #e8eeec; color: #0c6159; font-size: 2.5rem; }
.profile-photo-preview p { margin: 4px 0 0; }
.profile-photo-form { display: grid; gap: 14px; }
.profile-photo-form .button { justify-self: start; }
.form-warning { color: #ad421a; }
@media(max-width:900px) { .profile-extras-grid { grid-template-columns: minmax(0,1fr); } }
.profile-page-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(280px,.8fr); gap:20px; align-items:start; }
.profile-page-layout > * { min-width:0; }
.profile-main-panel { overflow:hidden; }
.profile-main-panel .profile-media { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px 20px; align-items:center; padding:14px 18px; border:1px solid #dce8e6; border-radius:18px; background:linear-gradient(120deg,#f2f8f7,#f8f9fe); }
.profile-main-panel .profile-photo-preview { margin:0; }
.profile-main-panel .profile-photo-preview img, .profile-main-panel .profile-photo-fallback { width:80px; height:80px; border-radius:20px; font-size:2rem; }
.profile-main-panel .profile-media-actions { display:flex; flex:1 1 270px; flex-wrap:wrap; justify-content:flex-end; align-items:end; gap:10px; }
.profile-main-panel .profile-media-actions form { margin:0; }
.profile-main-panel .profile-media-actions .profile-photo-form { display:flex; flex-wrap:wrap; align-items:end; justify-content:flex-end; gap:10px; }
.profile-main-panel .profile-media-actions label { min-width:185px; max-width:250px; margin:0; }
.profile-main-panel .profile-media-actions input[type=file] { max-width:250px; }
.profile-cv-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 8px; padding:16px 0; border-top:1px solid #e5ebed; border-bottom:1px solid #e5ebed; }
.profile-cv-row p { margin:4px 0 0; }
.profile-cv-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.profile-cv-form label { flex:1 1 220px; }
.profile-subsection { padding:24px 0; border-bottom:1px solid #e8edef; }
.profile-subsection:last-of-type { border-bottom:0; }
.profile-subsection h3 { margin:0 0 16px; }
.profile-information-form > .button { margin-top:20px; }
.profile-view-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin:0; }
.profile-view-grid div { min-width:0; }
.profile-view-grid dt { color:#647483; font-size:.79rem; font-weight:700; }
.profile-view-grid dd { overflow-wrap:anywhere; margin:4px 0 0; line-height:1.5; }
.profile-sidebar .panel + .panel { margin-top:20px; }
.profile-journey-static { display:flex; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid #e8edef; }
.profile-journey-static > span:last-child { display:grid; min-width:0; }
.profile-journey-static small { color:#647483; }
@media(max-width:1050px) { .profile-page-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:620px) { .profile-view-grid { grid-template-columns:minmax(0,1fr); } .profile-main-panel .profile-media { padding:14px; } }
.branding-strip { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:0 0 22px; padding:12px 16px; border:1px solid #e1e9eb; border-radius:18px; background:#fff; box-shadow:0 6px 24px rgba(15,35,46,.04); }
.branding-strip-primary { display:flex; align-items:center; gap:10px; min-width:0; padding-right:14px; border-right:1px solid #e6edef; }
.branding-strip-primary img { width:48px; height:48px; object-fit:contain; }
.branding-strip-primary span { display:grid; min-width:0; }
.branding-strip-primary small { color:#667680; font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; }
.branding-strip-primary strong { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#1e3440; font-size:.83rem; }
.branding-strip-partner { display:flex; align-items:center; gap:7px; min-width:0; color:#5d6d77; font-size:.75rem; }
.branding-strip-partner img { width:38px; height:38px; object-fit:contain; }
.branding-strip-partner span { max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.branding-login { justify-content:center; margin:18px 0; padding:10px; box-shadow:none; }
.branding-login .branding-strip-primary { border:0; padding-right:0; }
.branding-login .branding-strip-primary img { width:38px; height:38px; }
.branding-login .branding-strip-primary strong { max-width:140px; }
.branding-scope-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.branding-scope-nav a { padding:9px 13px; border:1px solid #dce5e8; border-radius:999px; background:#fff; color:#40545d; text-decoration:none; font-size:.85rem; font-weight:700; }
.branding-scope-nav a.active { background:#145e62; border-color:#145e62; color:#fff; }
.branding-management { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,350px); align-items:start; gap:20px; }
.branding-management > * { min-width:0; }
.branding-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.branding-card { display:grid; grid-template-columns:80px minmax(0,1fr); gap:14px; padding:16px; border:1px solid #e0e9e8; border-radius:16px; background:#fbfdfc; }
.branding-card.is-archived { opacity:.7; }
.branding-card-image { display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:12px; background:#fff; border:1px solid #edf0ef; }
.branding-card-image img { max-width:70px; max-height:70px; object-fit:contain; }
.branding-card h3 { margin:4px 0; overflow-wrap:anywhere; }
.branding-card p { margin:0; color:#687985; font-size:.75rem; }
.branding-card-edit { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,150px); gap:10px; }
.branding-card-edit label:first-child { grid-column:1 / -1; }
.branding-actions { grid-column:1 / -1; display:flex; align-items:center; gap:12px; }
@media(max-width:1050px) { .branding-management { grid-template-columns:minmax(0,1fr); } }
@media(max-width:620px) { .branding-strip { gap:10px; } .branding-strip-primary { width:100%; border:0; } .branding-card-edit { grid-template-columns:minmax(0,1fr); } }
.people-table-panel { width:100%; min-width:0; }
.people-table-panel .table-wrap { overflow-x:auto; }
.people-table-panel table { min-width:1080px; }
.people-name-cell { display:flex; align-items:center; gap:10px; min-width:180px; }
.people-name-cell > span:last-child { min-width:0; }
.people-name-cell .avatar { flex:none; }
.person-form-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,330px); gap:20px; align-items:start; }
.person-form-layout > * { min-width:0; }
.person-form-layout:not(:has(.person-form-media)) { grid-template-columns:minmax(0,1fr); }
.person-form .profile-subsection:first-child { padding-top:0; }
.person-form .profile-subsection h2 { margin:0 0 18px; font-size:1.2rem; }
.person-form .form-grid { margin-bottom:14px; }
.person-form-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:24px; }
.person-form-media .profile-media { display:block; }
.person-form-media .profile-photo-preview { flex-wrap:wrap; }
.person-form-media .profile-photo-preview img, .person-form-media .profile-photo-fallback { width:80px; height:80px; border-radius:18px; font-size:2rem; }
.person-form-media .profile-media-actions { display:grid; gap:10px; }
.person-form-media .profile-media-actions form { margin:0; }
.person-form-media .profile-media-actions input[type=file] { width:100%; }
.action-row { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
@media(max-width:1050px) { .person-form-layout { grid-template-columns:minmax(0,1fr); } }
.auth-body { position:relative; isolation:isolate; overflow-x:hidden; }
.auth-body.has-auth-background::before { content:""; position:fixed; inset:calc(-1 * var(--auth-blur,2px)); z-index:0; pointer-events:none; background-image:var(--auth-bg); background-position:var(--auth-position,center); background-size:cover; filter:blur(var(--auth-blur,2px)); transform:scale(1.025); }
.auth-body.has-auth-background::after { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; background:linear-gradient(135deg,rgba(8,31,42,var(--auth-overlay,.58)),rgba(26,43,94,calc(var(--auth-overlay,.58) * .82))); }
.auth-body.has-auth-background .auth-card { box-shadow:0 28px 80px rgba(4,18,29,.28); backdrop-filter:saturate(120%) blur(8px); background:rgba(255,255,255,.95); }
.auth-card { position:relative; z-index:1; }
.auth-card-compact { max-width:520px; }
.auth-help-link { display:inline-flex; justify-content:center; color:#12645f; font-weight:750; text-decoration:none; }
.auth-help-link:hover { text-decoration:underline; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:22px 0 14px; color:#72808c; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:#e1e8eb; }
.auth-provider { width:100%; justify-content:center; }
.auth-provider span { margin-left:8px; padding:3px 7px; border-radius:999px; background:#e8edf0; color:#63717a; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.account-security-panel form + form { margin-top:16px; }
.form-or { display:flex; align-items:center; gap:10px; margin:4px 0 12px; color:#77858e; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.form-or::before,.form-or::after { content:""; height:1px; flex:1; background:#e1e8eb; }
.upload-native-input { display:none !important; }
.upload-field-control { display:flex; align-items:center; gap:10px; min-width:0; margin-top:4px; }
.upload-field-summary { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#6a7882; font-size:.78rem; font-weight:600; }
.upload-field-control.has-selection .upload-field-summary { color:#12645f; }
.upload-picker { width:min(1040px,calc(100vw - 32px)); height:min(760px,calc(100vh - 32px)); padding:0; border:0; border-radius:22px; background:#fff; color:#17212b; box-shadow:0 30px 100px rgba(7,20,31,.35); }
.upload-picker::backdrop { background:rgba(8,20,31,.7); backdrop-filter:blur(5px); }
.upload-picker[open] { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; }
.upload-picker-head { display:flex; justify-content:space-between; align-items:start; gap:20px; padding:24px 28px 18px; }
.upload-picker-head h2 { margin:3px 0 0; font-size:1.55rem; }
.upload-picker-close { width:40px; height:40px; border:0; border-radius:50%; background:#eef2f4; color:#43525c; font-size:1.7rem; line-height:1; }
.upload-picker-tabs { display:flex; gap:4px; padding:0 28px; border-bottom:1px solid #e1e7ea; }
.upload-picker-tabs button { margin-bottom:-1px; padding:13px 17px; border:0; border-bottom:3px solid transparent; background:transparent; color:#60707b; font-weight:800; }
.upload-picker-tabs button[aria-selected="true"] { color:#12645f; border-bottom-color:#1f8d83; }
.upload-picker-panel { min-height:0; overflow:auto; padding:24px 28px; }
.upload-dropzone { min-height:390px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:40px; border:2px dashed #cbd6db; border-radius:18px; background:#f8fafb; text-align:center; transition:.18s ease; }
.upload-dropzone.dragging { border-color:#178579; background:#edf8f6; transform:scale(.995); }
.upload-drop-icon { display:grid; place-items:center; width:70px; height:70px; margin-bottom:12px; border-radius:22px; background:#e1f2ef; color:#12645f; font-size:2rem; font-weight:900; }
.upload-dropzone h3 { margin:0; font-size:1.35rem; }.upload-dropzone p { margin:6px 0 18px; color:#6a7882; }.upload-dropzone small { margin-top:14px; color:#78858e; }
.upload-library-tools { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,260px); gap:14px; }
.upload-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:14px; }
.upload-library-card { min-width:0; padding:0; overflow:hidden; border:2px solid #e1e7ea; border-radius:14px; background:#fff; color:#24323c; text-align:left; }
.upload-library-card:hover { border-color:#8cbdb8; }.upload-library-card.selected { border-color:#16877c; box-shadow:0 0 0 3px rgba(22,135,124,.13); }
.upload-library-preview { display:grid; place-items:center; width:100%; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(145deg,#eef3f5,#e5ecef); color:#5d6c76; font-weight:900; letter-spacing:.05em; }
.upload-library-preview img { width:100%; height:100%; object-fit:cover; }
.upload-library-card > span:last-child { display:grid; padding:11px; min-width:0; }.upload-library-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.upload-library-card small { color:#77848d; }
.upload-picker-foot { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 28px; border-top:1px solid #e1e7ea; background:#fafbfc; }.upload-picker-foot p { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#5e6e78; }.upload-picker-foot > div { display:flex; gap:9px; }
@media(max-width:620px){.upload-picker { width:100vw; height:100dvh; max-width:none; max-height:none; border-radius:0; }.upload-picker-head,.upload-picker-panel,.upload-picker-foot { padding-left:16px; padding-right:16px; }.upload-picker-tabs { padding:0 16px; }.upload-dropzone { min-height:300px; padding:24px; }.upload-library-tools { grid-template-columns:1fr; }.upload-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.upload-picker-foot { align-items:stretch; flex-direction:column; }.upload-picker-foot > div .button { flex:1; }}
.button.danger { background:#b4232d; border-color:#b4232d; color:#fff; }
.button.danger:hover { background:#8f1c24; border-color:#8f1c24; }
.system-reset-panel { border-color:#edc3c7; box-shadow:0 10px 34px rgba(136,27,39,.09); }
.system-reset-panel .panel-head { align-items:center; }
.system-reset-panel .panel-head .badge { background:#fae7e9; color:#a52d37; }
.reset-impact-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:18px 0; }
.reset-impact-grid > div { display:grid; gap:2px; padding:13px; border:1px solid #eedadd; border-radius:12px; background:#fff9fa; }
.reset-impact-grid strong { font-size:1.35rem; color:#8f2530; }
.reset-impact-grid small { color:#765a5e; }
.system-reset-form { max-width:920px; padding-top:8px; }
@media(max-width:900px){.reset-impact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(max-width:620px){.reset-impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.system-reset-form .form-grid { grid-template-columns:1fr; }}
