/* /Components/Dialogs/CommentDialog.razor.rz.scp.css */
.dlg[b-fs8jotjt8e] {
    width: 540px;
    max-width: 92vw;
    padding: 26px;
    box-shadow: var(--shadow-pop);
}

.dlg-head[b-fs8jotjt8e] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 20px;
}

.dlg-icon[b-fs8jotjt8e] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
    color: var(--acc-bright);
}

.dlg-title[b-fs8jotjt8e] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
}

.dlg-subtitle[b-fs8jotjt8e] {
    margin: 2px 0 0;
    font-size: 12px;
    color: var(--tx-3);
}

.dlg-close[b-fs8jotjt8e] {
    margin-left: auto;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.comment-list[b-fs8jotjt8e] {
    max-height: 280px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.comment-empty[b-fs8jotjt8e] {
    padding: 20px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13.5px;
}

.comment-row-head[b-fs8jotjt8e] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
}

.comment-role-badge[b-fs8jotjt8e] {
    height: 18px;
    font-size: 10px;
}

.comment-time[b-fs8jotjt8e] {
    margin-left: auto;
    font-size: 11px;
    color: var(--tx-faint);
}

.comment-delete-btn[b-fs8jotjt8e] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: var(--tx-faint);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.comment-text[b-fs8jotjt8e] {
    margin: 0;
    font-size: 13.5px;
    color: var(--tx-1);
    line-height: 1.5;
    white-space: pre-wrap;
}

.add-comment[b-fs8jotjt8e] {
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.add-comment-textarea[b-fs8jotjt8e] {
    width: 100%;
    resize: vertical;
    min-height: 90px;
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 10px;
}

.add-comment-actions[b-fs8jotjt8e] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
/* /Components/Dialogs/GradeDialog.razor.rz.scp.css */
.dlg[b-ncq991193r] {
    width: 580px;
    max-width: 92vw;
    padding: 26px;
    box-shadow: var(--shadow-pop);
}

.dlg-head[b-ncq991193r] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.avatar[b-ncq991193r] {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 16px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.dlg-head-info[b-ncq991193r] {
    flex: 1;
    min-width: 0;
}

.dlg-title[b-ncq991193r] {
    margin: 0;
    font-size: 18px;
    font-weight: 730;
    letter-spacing: -0.02em;
}

.dlg-subline[b-ncq991193r] {
    display: flex;
    gap: 9px;
    margin-top: 5px;
    align-items: center;
    font-size: 12.5px;
    color: var(--tx-3);
}

.dlg-subline-badge[b-ncq991193r] {
    height: 22px;
}

.dlg-close[b-ncq991193r] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    flex: none;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.03);
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

/* ── Task results breakdown ── */

.results-block[b-ncq991193r] {
    margin-bottom: 16px;
}

.results-heading[b-ncq991193r] {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 9px;
}

.results-heading-attempt[b-ncq991193r] {
    color: var(--tx-faint);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

.results-list[b-ncq991193r] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 260px;
    overflow-y: auto;
    padding-right: 2px;
}

.result-row[b-ncq991193r] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--line);
}

.result-icon[b-ncq991193r] {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    flex: none;
    display: grid;
    place-items: center;
}

.result-body[b-ncq991193r] {
    flex: 1;
    min-width: 0;
}

.result-title[b-ncq991193r] {
    font-size: 13px;
    font-weight: 640;
}

.result-feedback[b-ncq991193r] {
    font-size: 11.5px;
    color: var(--tx-faint);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.result-score-wrap[b-ncq991193r] {
    text-align: right;
    flex: none;
}

.result-score[b-ncq991193r] {
    font-size: 14px;
    font-weight: 700;
}

/* ── Scores ── */

.scores[b-ncq991193r] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.score-row[b-ncq991193r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--line);
}

.score-row-label[b-ncq991193r] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.score-row-title[b-ncq991193r] {
    font-size: 13.5px;
    color: var(--tx-2);
    font-weight: 600;
}

.score-row-weight[b-ncq991193r] {
    font-size: 11.5px;
    color: var(--tx-faint);
}

.score-value[b-ncq991193r] {
    font-size: 19px;
    font-weight: 760;
}

.score-value-suffix[b-ncq991193r] {
    font-size: 12px;
    opacity: 0.5;
}

.defense-row[b-ncq991193r] {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    background: var(--acc-dim);
    border-color: var(--glass-border);
}

.defense-row-head[b-ncq991193r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.defense-row-title[b-ncq991193r] {
    font-size: 13.5px;
    color: var(--tx-1);
    font-weight: 650;
}

.defense-row-weight[b-ncq991193r] {
    font-size: 11.5px;
    color: var(--tx-3);
}

.defense-input-wrap[b-ncq991193r] {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.defense-input[b-ncq991193r] {
    width: 78px;
    height: 46px;
    text-align: center;
    font-size: 22px;
    font-weight: 750;
    background: rgba(12, 20, 17, 0.7);
    border: 1px solid var(--glass-border-hover);
    border-radius: 11px;
    color: var(--acc-bright);
    outline: none;
}

.defense-input-suffix[b-ncq991193r] {
    font-size: 13px;
    color: var(--tx-3);
}

.defense-range[b-ncq991193r] {
    accent-color: var(--acc);
    width: 100%;
}

.quick-buttons[b-ncq991193r] {
    display: flex;
    gap: 7px;
}

.quick-btn[b-ncq991193r] {
    flex: 1;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    font-family: var(--mono);
    font-weight: 700;
    font-size: 13px;
    transition: all .14s;
}

.final-row[b-ncq991193r] {
    background: rgba(12, 20, 17, 0.45);
}

.final-row-label[b-ncq991193r] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.final-row-title[b-ncq991193r] {
    font-size: 14px;
    color: var(--tx-1);
    font-weight: 700;
}

.final-row-hint[b-ncq991193r] {
    font-size: 11.5px;
    color: var(--tx-faint);
}

.final-value-wrap[b-ncq991193r] {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.final-breakdown[b-ncq991193r] {
    font-size: 12px;
    color: var(--tx-faint);
}

.final-value[b-ncq991193r] {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
}

/* ── Audit history ── */

.audit-box[b-ncq991193r] {
    margin-top: 14px;
    border: 1px solid var(--line);
    border-radius: 11px;
    overflow: hidden;
}

.audit-toggle[b-ncq991193r] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px;
    background: rgba(255, 255, 255, 0.02);
    border: none;
    cursor: pointer;
    color: var(--tx-2);
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 650;
}

.audit-toggle-hint[b-ncq991193r] {
    margin-left: auto;
    font-size: 11.5px;
    color: var(--tx-faint);
}

.audit-list[b-ncq991193r] {
    border-top: 1px solid var(--line);
    max-height: 180px;
    overflow-y: auto;
}

.audit-item[b-ncq991193r] {
    padding: 9px 16px;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
    line-height: 1.5;
}

.audit-item-head[b-ncq991193r] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.audit-item-time[b-ncq991193r] {
    color: var(--tx-faint);
    font-size: 11px;
}

.audit-item-actor[b-ncq991193r] {
    color: var(--tx-2);
    font-weight: 650;
}

.audit-item-badge[b-ncq991193r] {
    height: 19px;
    font-size: 10.5px;
}

.audit-item-diff[b-ncq991193r] {
    color: var(--tx-3);
    margin-top: 3px;
}

.audit-item-old[b-ncq991193r] {
    opacity: 0.7;
}

.audit-item-new[b-ncq991193r] {
    color: var(--tx-1);
}

/* ── Actions ── */

.actions[b-ncq991193r] {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    align-items: center;
}

.saved-note[b-ncq991193r] {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--st-green);
    font-size: 13px;
    font-weight: 600;
    margin-right: auto;
}

.reject-actions[b-ncq991193r] {
    display: flex;
    gap: 8px;
    margin-right: auto;
    align-items: center;
}

.reject-btn[b-ncq991193r] {
    color: var(--st-red);
}
/* /Components/Dialogs/LabDialog.razor.rz.scp.css */
.dlg[b-vsay9wgagj] {
    width: 560px;
    max-width: 92vw;
    padding: 28px;
    box-shadow: var(--shadow-pop);
}

.dlg-head[b-vsay9wgagj] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
}

.dlg-icon[b-vsay9wgagj] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
    color: var(--acc-bright);
}

.dlg-title[b-vsay9wgagj] {
    margin: 0;
    font-size: 18px;
    font-weight: 730;
}

.dlg-close[b-vsay9wgagj] {
    margin-left: auto;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.dlg-body[b-vsay9wgagj] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dlg-row2[b-vsay9wgagj] {
    display: grid;
    gap: 14px;
}

.dlg-row-num[b-vsay9wgagj] {
    grid-template-columns: 100px 1fr;
}

.dlg-row-even[b-vsay9wgagj] {
    grid-template-columns: 1fr 1fr;
}

.dlg-goal-textarea[b-vsay9wgagj] {
    resize: vertical;
    height: 80px;
    font-family: var(--mono);
    font-size: 13px;
}

.dlg-deadline-input[b-vsay9wgagj] {
    color-scheme: dark;
}

.dlg-checkbox-label[b-vsay9wgagj] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 13.5px;
    color: var(--tx-2);
}

.dlg-checkbox[b-vsay9wgagj] {
    accent-color: var(--acc);
    width: 16px;
    height: 16px;
}

.dlg-error[b-vsay9wgagj] {
    padding: 10px 14px;
    background: rgba(232, 128, 107, 0.12);
    border: 1px solid rgba(232, 128, 107, 0.3);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
}

.dlg-actions[b-vsay9wgagj] {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    justify-content: flex-end;
}
/* /Components/Dialogs/MdImportDialog.razor.rz.scp.css */
.dlg[b-i1y9h77awn] {
    width: 620px;
    max-width: 94vw;
    padding: 26px;
    box-shadow: var(--shadow-pop);
}

.dlg-head[b-i1y9h77awn] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 20px;
}

.dlg-icon[b-i1y9h77awn] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
    color: var(--acc-bright);
}

.dlg-title[b-i1y9h77awn] {
    margin: 0;
    font-size: 17px;
    font-weight: 720;
}

.dlg-subtitle[b-i1y9h77awn] {
    margin: 3px 0 0;
    font-size: 12.5px;
    color: var(--tx-3);
}

.dlg-close[b-i1y9h77awn] {
    margin-left: auto;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.loading[b-i1y9h77awn] {
    padding: 30px;
    text-align: center;
    color: var(--tx-3);
}

.spinner[b-i1y9h77awn] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 2.5px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    border-radius: 50%;
    animation: spin .8s linear infinite;
}

.loading-label[b-i1y9h77awn] {
    margin-top: 10px;
    font-size: 13px;
}

.done-box[b-i1y9h77awn] {
    padding: 20px;
    text-align: center;
}

.done-icon[b-i1y9h77awn] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    background: var(--st-green-bg);
    border: 1px solid var(--glass-border);
    color: var(--st-green);
}

.done-title[b-i1y9h77awn] {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 720;
}

.done-text[b-i1y9h77awn] {
    margin: 0;
    color: var(--tx-2);
    font-size: 13.5px;
}

.done-num[b-i1y9h77awn] {
    color: var(--acc-bright);
}

.done-btn[b-i1y9h77awn] {
    margin-top: 18px;
}

.step-head[b-i1y9h77awn] {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.step-head-label[b-i1y9h77awn] {
    font-size: 13px;
    color: var(--tx-2);
}

.step-head-actions[b-i1y9h77awn] {
    display: flex;
    gap: 8px;
}

.item-list[b-i1y9h77awn] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.item-row[b-i1y9h77awn] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--line);
    cursor: pointer;
}

.item-checkbox[b-i1y9h77awn] {
    accent-color: var(--acc);
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.item-number[b-i1y9h77awn] {
    width: 28px;
    font-size: 12px;
    font-weight: 700;
    color: var(--tx-3);
}

.item-title[b-i1y9h77awn] {
    flex: 1;
    font-size: 13.5px;
    font-weight: 600;
}

.item-taskcount[b-i1y9h77awn] {
    font-size: 12px;
    color: var(--tx-3);
}

.item-badge[b-i1y9h77awn] {
    height: 20px;
}

.footer[b-i1y9h77awn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-count[b-i1y9h77awn] {
    font-size: 12.5px;
    color: var(--tx-3);
}

.footer-count-num[b-i1y9h77awn] {
    color: var(--tx-1);
}

.footer-actions[b-i1y9h77awn] {
    display: flex;
    gap: 10px;
}
/* /Components/Dialogs/SimilarityDialog.razor.rz.scp.css */
.sim-dlg[b-iv2eysbcuc] {
    width: min(1100px, 92vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
}

.sim-teacher-only[b-iv2eysbcuc] {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 11px;
    color: var(--st-yellow);
    background: rgba(220, 180, 80, 0.12);
    border: 1px solid rgba(220, 180, 80, 0.28);
}

.sim-body[b-iv2eysbcuc] {
    display: flex;
    gap: 16px;
    min-height: 0;
    flex: 1;
}

/* ── Similar-students list ── */
.sim-list[b-iv2eysbcuc] {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    padding-right: 4px;
}

.sim-list-head[b-iv2eysbcuc] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tx-3);
    margin-bottom: 2px;
}

.sim-item[b-iv2eysbcuc] {
    text-align: left;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 9px 11px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.sim-item:hover[b-iv2eysbcuc] { background: rgba(255, 255, 255, 0.05); }

.sim-item.active[b-iv2eysbcuc] {
    border-color: var(--acc);
    background: rgba(118, 199, 173, 0.08);
}

.sim-item-top[b-iv2eysbcuc] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.sim-item-name[b-iv2eysbcuc] { font-size: 13.5px; color: var(--tx-1); font-weight: 500; }
.sim-item-pct[b-iv2eysbcuc]  { font-size: 14px; font-weight: 700; }
.sim-item-meta[b-iv2eysbcuc] { font-size: 11.5px; color: var(--tx-3); margin-top: 1px; }

.sim-bar[b-iv2eysbcuc] {
    margin-top: 6px;
    height: 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
}
.sim-bar-fill[b-iv2eysbcuc] { height: 100%; border-radius: 3px; }

.sim-note[b-iv2eysbcuc] {
    margin-top: auto;
    font-size: 11.5px;
    line-height: 1.5;
    color: var(--tx-3);
    padding-top: 8px;
}

/* ── Code overlap ── */
.sim-code[b-iv2eysbcuc] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sim-code-head[b-iv2eysbcuc] {
    font-size: 12.5px;
    color: var(--tx-2);
}

.sim-cols[b-iv2eysbcuc] {
    display: flex;
    gap: 12px;
    min-height: 0;
    flex: 1;
}

.sim-col[b-iv2eysbcuc] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.sim-col-head[b-iv2eysbcuc] {
    font-size: 12px;
    color: var(--tx-2);
    padding: 4px 8px;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sim-pre[b-iv2eysbcuc] {
    margin: 0;
    padding: 6px 0;
    overflow: auto;
    max-height: 58vh;
    background: rgba(0, 0, 0, 0.22);
    border-radius: 8px;
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 12px;
    line-height: 1.5;
}

.sim-line[b-iv2eysbcuc] {
    display: block;
    padding: 0 10px;
    white-space: pre;
    color: var(--tx-2);
}

.sim-line.hit[b-iv2eysbcuc] {
    background: rgba(255, 90, 90, 0.16);
    box-shadow: inset 3px 0 0 var(--st-red);
    color: var(--tx-1);
}

@media (max-width: 820px) {
    .sim-body[b-iv2eysbcuc] { flex-direction: column; }
    .sim-list[b-iv2eysbcuc] { width: auto; max-height: 200px; }
    .sim-cols[b-iv2eysbcuc] { flex-direction: column; }
}
/* /Components/Dialogs/StudentDialog.razor.rz.scp.css */
.dlg[b-owles9jwox] {
    width: 520px;
    max-width: 92vw;
    padding: 26px;
    box-shadow: var(--shadow-pop);
}

.dlg-head[b-owles9jwox] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 20px;
}

.dlg-icon[b-owles9jwox] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
    color: var(--acc-bright);
}

.dlg-title[b-owles9jwox] {
    margin: 0;
    font-size: 17px;
    font-weight: 720;
}

.dlg-close[b-owles9jwox] {
    margin-left: auto;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.dlg-body[b-owles9jwox] {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.dlg-row2[b-owles9jwox] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.dlg-group-row[b-owles9jwox] {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 12px;
    align-items: end;
}

.dlg-error[b-owles9jwox] {
    padding: 9px 13px;
    background: rgba(232, 128, 107, 0.1);
    border: 1px solid rgba(232, 128, 107, 0.3);
    border-radius: 9px;
    color: var(--st-red);
    font-size: 13px;
}

.dlg-actions[b-owles9jwox] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    justify-content: flex-end;
}
/* /Components/Dialogs/TaskDialog.razor.rz.scp.css */
.dlg[b-tzlnkdp5j1] {
    width: 620px;
    max-width: 95vw;
    min-width: 420px;
    min-height: 480px;
    padding: 26px;
    box-shadow: var(--shadow-pop);
    resize: both;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

.dlg-head[b-tzlnkdp5j1] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 20px;
    flex: none;
}

.dlg-icon[b-tzlnkdp5j1] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
    color: var(--acc-bright);
}

.dlg-title[b-tzlnkdp5j1] {
    margin: 0;
    font-size: 17px;
    font-weight: 720;
}

.dlg-close[b-tzlnkdp5j1] {
    margin-left: auto;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.dlg-body[b-tzlnkdp5j1] {
    display: flex;
    flex-direction: column;
    gap: 13px;
    flex: 1;
    min-height: 0;
}

.dlg-row3[b-tzlnkdp5j1] {
    display: grid;
    grid-template-columns: 80px 1fr 110px;
    gap: 12px;
    align-items: end;
    flex: none;
}

.dlg-brief-field[b-tzlnkdp5j1] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dlg-brief-textarea[b-tzlnkdp5j1] {
    flex: 1;
    resize: none;
    min-height: 80px;
    font-size: 12.5px;
    line-height: 1.6;
}

.dlg-error[b-tzlnkdp5j1] {
    flex: none;
    padding: 9px 13px;
    background: rgba(232, 128, 107, 0.1);
    border: 1px solid rgba(232, 128, 107, 0.3);
    border-radius: 9px;
    color: var(--st-red);
    font-size: 13px;
}

.dlg-actions[b-tzlnkdp5j1] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    justify-content: flex-end;
    flex: none;
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.wrap[b-19qim5p995] {
    position: relative;
    min-height: 100%;
    height: 100%;
    overflow-y: auto;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.shell[b-vx2txj9dpu] {
    display: flex;
    height: 100%;
    position: relative;
    z-index: 1;
}

.content[b-vx2txj9dpu] {
    flex: 1;
    height: 100%;
    overflow-y: auto;
    min-width: 0;
}

.app-footer[b-vx2txj9dpu] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 20px 24px 24px;
    font-size: 12px;
    color: var(--tx-faint);
}

.app-footer-link[b-vx2txj9dpu] {
    color: var(--tx-3);
    text-decoration: none;
    font-weight: 600;
}

.app-footer-link:hover[b-vx2txj9dpu] { color: var(--acc-bright); }

.app-footer-sep[b-vx2txj9dpu] { color: var(--tx-faint); opacity: .6; }

.loading[b-vx2txj9dpu] {
    display: grid;
    place-items: center;
    height: 100vh;
    color: var(--tx-3);
    gap: 12px;
}

.spinner[b-vx2txj9dpu] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2.5px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    animation: spin .8s linear infinite;
}
/* /Components/Layout/Sidebar.razor.rz.scp.css */
aside[b-gnfmwgfcp5] {
    width: var(--sidebar-w);
    flex: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 0 18px;
    position: relative;
    z-index: 5;
    border-right: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(21, 28, 25, 0.7), rgba(15, 26, 22, 0.5));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.logo-btn[b-gnfmwgfcp5] {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    border: none;
    cursor: pointer;
    display: grid;
    place-items: center;
    background: linear-gradient(150deg, var(--acc-bright), var(--acc));
    color: #08110d;
    font-weight: 800;
    font-family: var(--mono);
    font-size: 21px;
    letter-spacing: -0.04em;
    box-shadow: 0 8px 20px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

nav[b-gnfmwgfcp5] {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    padding: 0 10px;
}

.nav-btn[b-gnfmwgfcp5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 11px 4px 9px;
    border-radius: 14px;
    border: none;
    cursor: pointer;
    position: relative;
    transition: background .18s, color .18s;
}

.nav-active-mark[b-gnfmwgfcp5] {
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 22px;
    border-radius: 3px;
    background: var(--acc);
    box-shadow: 0 0 10px var(--acc);
}

.nav-label[b-gnfmwgfcp5] {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.bottom-bar[b-gnfmwgfcp5] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.logout-btn[b-gnfmwgfcp5] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid var(--line-strong);
    background: transparent;
    color: var(--tx-3);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: color .18s, border-color .18s, background .18s;
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
header[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 34px 20px;
    position: sticky;
    top: 0;
    z-index: 10;
    background: linear-gradient(180deg, rgba(15, 26, 22, 0.92) 55%, rgba(15, 26, 22, 0.7));
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    border-bottom: 1px solid var(--line);
}

.title-block[b-p1plx3jrup] {
    min-width: 0;
}

.crumbs[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: var(--tx-3);
    font-size: 12.5px;
    font-weight: 500;
}

.title[b-p1plx3jrup] {
    margin: 0;
    font-size: 25px;
    font-weight: 750;
    letter-spacing: -0.03em;
}

.subtitle[b-p1plx3jrup] {
    margin: 5px 0 0;
    color: var(--tx-2);
    font-size: 14px;
}

.actions[b-p1plx3jrup] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.icon-btn[b-p1plx3jrup] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    flex: none;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.03);
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background .18s, color .18s, border-color .18s;
}

.bell-btn[b-p1plx3jrup] {
    position: relative;
}

.unread-dot[b-p1plx3jrup] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--st-yellow);
    box-shadow: 0 0 8px var(--st-yellow);
}

.identity[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 6px;
}

.identity-text[b-p1plx3jrup] {
    text-align: right;
    line-height: 1.25;
}

.identity-name[b-p1plx3jrup] {
    font-size: 13.5px;
    font-weight: 650;
}

.identity-role[b-p1plx3jrup] {
    font-size: 11px;
    color: var(--tx-3);
}

.identity-dept[b-p1plx3jrup] {
    font-size: 10.5px;
    color: var(--tx-faint);
    margin-top: 1px;
}

.avatar[b-p1plx3jrup] {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 15px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

/* ── Search overlay ── */

.overlay[b-p1plx3jrup] {
    position: fixed;
    inset: 0;
    z-index: 500;
    background: rgba(6, 12, 10, 0.75);
    backdrop-filter: blur(7px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 90px;
}

.search-panel[b-p1plx3jrup] {
    width: 580px;
    max-width: 94vw;
    animation: popIn .2s cubic-bezier(.22, 1, .36, 1) both;
}

.search-card[b-p1plx3jrup] {
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: var(--shadow-pop);
    border: 1px solid var(--glass-border-hover);
}

.search-input-row[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
}

.search-input[b-p1plx3jrup] {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    font-size: 15.5px;
    color: var(--tx-1);
    font-family: inherit;
    letter-spacing: -0.01em;
}

.search-clear-btn[b-p1plx3jrup] {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-3);
    cursor: pointer;
    display: grid;
    place-items: center;
    flex: none;
}

.chip-row[b-p1plx3jrup] {
    padding: 0 20px 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.page-chip[b-p1plx3jrup] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 20px;
    border: 1px solid;
    font-size: 12px;
    cursor: pointer;
    transition: all .15s;
    font-family: inherit;
}

.chip-check[b-p1plx3jrup] {
    font-size: 10px;
}

.divider[b-p1plx3jrup] {
    height: 1px;
    background: var(--line);
}

.results[b-p1plx3jrup] {
    max-height: 290px;
    overflow-y: auto;
    padding: 8px;
}

.results-empty[b-p1plx3jrup] {
    padding: 28px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13.5px;
}

.result-btn[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 11px;
    border: none;
    background: transparent;
    color: var(--tx-1);
    cursor: pointer;
    text-align: left;
    width: 100%;
}

.result-icon[b-p1plx3jrup] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    color: var(--acc);
    border: 1px solid var(--glass-border);
    flex: none;
}

.result-text[b-p1plx3jrup] {
    flex: 1;
    min-width: 0;
}

.result-label[b-p1plx3jrup] {
    font-size: 14px;
    font-weight: 640;
    letter-spacing: -0.01em;
}

.result-url[b-p1plx3jrup] {
    font-size: 11.5px;
    color: var(--tx-3);
    margin-top: 2px;
    font-family: var(--mono);
}

.search-footer[b-p1plx3jrup] {
    padding: 10px 20px 12px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 16px;
}

.search-footer-hint[b-p1plx3jrup] {
    font-size: 11.5px;
    color: var(--tx-faint);
}

.search-footer-selectall[b-p1plx3jrup] {
    margin-left: auto;
    font-size: 11.5px;
    color: var(--tx-3);
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
}

/* ── Notifications dropdown ── */

.bell-overlay[b-p1plx3jrup] {
    position: fixed;
    inset: 0;
    z-index: 500;
}

.bell-panel[b-p1plx3jrup] {
    position: absolute;
    top: 80px;
    right: 34px;
    width: 370px;
    animation: popIn .18s cubic-bezier(.22, 1, .36, 1) both;
}

.bell-card[b-p1plx3jrup] {
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: var(--shadow-pop);
    border: 1px solid var(--glass-border-hover);
}

.bell-head[b-p1plx3jrup] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 18px;
    border-bottom: 1px solid var(--line);
}

.bell-title[b-p1plx3jrup] {
    font-size: 15px;
    font-weight: 720;
}

.bell-count-badge[b-p1plx3jrup] {
    margin-left: auto;
}

.bell-list[b-p1plx3jrup] {
    max-height: 380px;
    overflow-y: auto;
}

.bell-empty[b-p1plx3jrup] {
    padding: 32px;
    text-align: center;
}

.bell-empty-icon[b-p1plx3jrup] {
    font-size: 28px;
    margin-bottom: 8px;
}

.bell-empty-text[b-p1plx3jrup] {
    font-size: 13.5px;
    color: var(--tx-faint);
}

.notif-row[b-p1plx3jrup] {
    display: flex;
    gap: 12px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--line);
}

.notif-icon[b-p1plx3jrup] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    flex: none;
}

.notif-body[b-p1plx3jrup] {
    min-width: 0;
    flex: 1;
}

.notif-title[b-p1plx3jrup] {
    color: var(--tx-1);
}

.notif-text[b-p1plx3jrup] {
    font-size: 12.5px;
    color: var(--tx-3);
    margin-top: 3px;
    line-height: 1.5;
}

.notif-time[b-p1plx3jrup] {
    font-size: 11px;
    color: var(--tx-faint);
    margin-top: 4px;
}

.notif-unread-dot[b-p1plx3jrup] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--st-yellow);
    flex: none;
    margin-top: 5px;
}

.bell-footer[b-p1plx3jrup] {
    padding: 11px 18px;
    border-top: 1px solid var(--line);
}
/* /Components/Pages/About.razor.rz.scp.css */
.about-wrap[b-qarnvvf17h] {
    min-height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 20px;
}

.about-card[b-qarnvvf17h] {
    width: 100%;
    max-width: 720px;
    border-radius: 20px;
    padding: 34px 38px 26px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
}

/* ── Header ── */
.about-head[b-qarnvvf17h] {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}

.about-badge[b-qarnvvf17h] {
    width: 58px;
    height: 58px;
    flex: 0 0 auto;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-family: "JetBrains Mono", monospace;
    font-size: 26px;
    font-weight: 700;
    color: var(--acc-bright);
    background: var(--acc-dim);
    border: 1px solid var(--glass-border-hover);
}

.about-name[b-qarnvvf17h] {
    font-size: 27px;
    font-weight: 800;
    color: var(--tx-1);
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.about-ver[b-qarnvvf17h] {
    font-size: 13px;
    font-weight: 600;
    color: var(--acc-bright);
    background: var(--acc-dim);
    padding: 2px 9px;
    border-radius: 999px;
}

.about-tagline[b-qarnvvf17h] {
    margin: 6px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--tx-2);
}

/* ── Meta pills ── */
.about-meta[b-qarnvvf17h] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}

.about-pill[b-qarnvvf17h] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--tx-2);
    background: var(--glass-bg-strong);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 12px;
}

.about-pill .dot[b-qarnvvf17h] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--st-green);
    box-shadow: 0 0 0 3px var(--st-green-bg);
}

/* ── Sections ── */
.about-section[b-qarnvvf17h] { margin-bottom: 26px; }

.about-h2[b-qarnvvf17h] {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tx-faint);
    margin: 0 0 14px;
}

/* ── Author ── */
.about-author[b-qarnvvf17h] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.about-author-avatar[b-qarnvvf17h] {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 15px;
    color: var(--tx-1);
    background: var(--st-blue-bg);
    border: 1px solid var(--line-strong);
}

.about-author-name[b-qarnvvf17h] {
    font-size: 16px;
    font-weight: 600;
    color: var(--tx-1);
}

.about-author-links[b-qarnvvf17h] {
    font-size: 13px;
    color: var(--tx-3);
    margin-top: 2px;
}

.about-author-links a[b-qarnvvf17h] {
    color: var(--acc-bright);
    text-decoration: none;
}

.about-author-links a:hover[b-qarnvvf17h] { text-decoration: underline; }
.about-author-links .sep[b-qarnvvf17h] { margin: 0 8px; color: var(--tx-faint); }

.about-note[b-qarnvvf17h] {
    margin: 14px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--tx-3);
}

/* ── Changelog ── */
.about-changelog[b-qarnvvf17h] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.about-release[b-qarnvvf17h] {
    border-left: 2px solid var(--line-strong);
    padding-left: 16px;
}

.about-release-head[b-qarnvvf17h] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 7px;
}

.about-release-ver[b-qarnvvf17h] {
    font-size: 14px;
    font-weight: 700;
    color: var(--tx-1);
}

.about-release-date[b-qarnvvf17h] {
    font-size: 12px;
    color: var(--tx-faint);
}

.about-release-list[b-qarnvvf17h] {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.about-release-list li[b-qarnvvf17h] {
    font-size: 13px;
    line-height: 1.5;
    color: var(--tx-2);
}

/* ── Footer ── */
.about-foot[b-qarnvvf17h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.about-back[b-qarnvvf17h] {
    font-size: 13px;
    font-weight: 600;
    color: var(--tx-2);
    background: var(--glass-bg-strong);
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 8px 16px;
    cursor: pointer;
    transition: color .15s, border-color .15s;
}

.about-back:hover[b-qarnvvf17h] { color: var(--tx-1); border-color: var(--line-strong); }

.about-copy[b-qarnvvf17h] {
    font-size: 12px;
    color: var(--tx-faint);
}

@media (max-width: 560px) {
    .about-card[b-qarnvvf17h] { padding: 26px 22px 20px; }
    .about-head[b-qarnvvf17h] { flex-direction: column; align-items: flex-start; gap: 12px; }
}
/* /Components/Pages/Feedback.razor.rz.scp.css */
.fb-page[b-8ai4qj9yy7] {
    max-width: 680px;
    margin: 0 auto;
    padding: 34px 24px 60px;
}

.fb-head[b-8ai4qj9yy7] { margin-bottom: 22px; }

.fb-title[b-8ai4qj9yy7] {
    font-size: 25px;
    font-weight: 800;
    color: var(--tx-1);
    margin: 0 0 6px;
}

.fb-sub[b-8ai4qj9yy7] {
    font-size: 14px;
    line-height: 1.55;
    color: var(--tx-3);
    margin: 0;
    max-width: 560px;
}

.fb-card[b-8ai4qj9yy7] {
    border-radius: 18px;
    padding: 26px 28px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
}

/* ── Fields ── */
.fb-field[b-8ai4qj9yy7] { margin-bottom: 18px; }

.fb-field label[b-8ai4qj9yy7] {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--tx-2);
    margin-bottom: 7px;
}

.fb-hint[b-8ai4qj9yy7] {
    font-weight: 400;
    color: var(--tx-faint);
}

.fb-input[b-8ai4qj9yy7] {
    width: 100%;
    font-size: 14px;
    color: var(--tx-1);
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 13px;
    outline: none;
    transition: border-color .15s;
    font-family: inherit;
}

.fb-input:focus[b-8ai4qj9yy7] { border-color: var(--acc); }

.fb-textarea[b-8ai4qj9yy7] {
    resize: vertical;
    min-height: 120px;
    line-height: 1.5;
}

select.fb-input[b-8ai4qj9yy7] { color-scheme: dark; cursor: pointer; }

/* ── File ── */
.fb-file[b-8ai4qj9yy7] { font-size: 13px; color: var(--tx-3); }

.fb-file-chip[b-8ai4qj9yy7] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-size: 13px;
    color: var(--tx-2);
    background: var(--glass-bg-strong);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 6px 10px;
}

.fb-file-x[b-8ai4qj9yy7] {
    border: none;
    background: none;
    color: var(--tx-faint);
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
}

.fb-file-x:hover[b-8ai4qj9yy7] { color: var(--st-red); }

/* ── Actions ── */
.fb-actions[b-8ai4qj9yy7] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.fb-btn[b-8ai4qj9yy7] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 600;
    color: var(--tx-1);
    background: var(--glass-bg-strong);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 20px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.fb-btn:hover:not(:disabled)[b-8ai4qj9yy7] { border-color: var(--line-strong); }
.fb-btn:disabled[b-8ai4qj9yy7] { opacity: .6; cursor: default; }

.fb-btn-primary[b-8ai4qj9yy7] {
    color: var(--acc-bright);
    background: var(--acc-dim);
    border-color: var(--glass-border-hover);
}

.fb-btn-primary:hover:not(:disabled)[b-8ai4qj9yy7] { background: var(--acc-dim-2); }

.fb-direct[b-8ai4qj9yy7] {
    font-size: 13px;
    color: var(--tx-faint);
}

.fb-direct a[b-8ai4qj9yy7] { color: var(--acc-bright); text-decoration: none; }
.fb-direct a:hover[b-8ai4qj9yy7] { text-decoration: underline; }

/* ── Error ── */
.fb-error[b-8ai4qj9yy7] {
    font-size: 13.5px;
    color: var(--st-red);
    background: var(--st-red-bg);
    border: 1px solid var(--st-red);
    border-radius: 10px;
    padding: 11px 14px;
    margin-bottom: 18px;
}

/* ── Spinner ── */
.fb-spinner[b-8ai4qj9yy7] {
    width: 15px;
    height: 15px;
    border: 2px solid var(--acc-dim-2);
    border-top-color: var(--acc-bright);
    border-radius: 50%;
    animation: fb-spin-b-8ai4qj9yy7 .7s linear infinite;
}

@keyframes fb-spin-b-8ai4qj9yy7 { to { transform: rotate(360deg); } }

/* ── Success ── */
.fb-done[b-8ai4qj9yy7] { text-align: center; padding: 44px 28px; }

.fb-done-icon[b-8ai4qj9yy7] {
    width: 54px;
    height: 54px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 26px;
    color: var(--st-green);
    background: var(--st-green-bg);
}

.fb-done-title[b-8ai4qj9yy7] {
    font-size: 19px;
    font-weight: 700;
    color: var(--tx-1);
    margin: 0 0 8px;
}

.fb-done-text[b-8ai4qj9yy7] {
    font-size: 14px;
    color: var(--tx-3);
    margin: 0 0 20px;
}
/* /Components/Pages/Grades.razor.rz.scp.css */
.page[b-llh0bb2024] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.stat-strip[b-llh0bb2024] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.table-card[b-llh0bb2024] {
    padding: 0;
    overflow: hidden;
    margin-bottom: 20px;
}

.table-head[b-llh0bb2024] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--line);
}

.table-title[b-llh0bb2024] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.table-updated[b-llh0bb2024] {
    margin-left: auto;
    font-size: 12.5px;
    color: var(--tx-3);
}

.table-scroll[b-llh0bb2024] {
    overflow-x: auto;
}

table[b-llh0bb2024] {
    width: 100%;
    border-collapse: collapse;
    min-width: 860px;
}

thead tr[b-llh0bb2024] {
    font-size: 11.5px;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.th-lab[b-llh0bb2024] {
    padding: 12px 14px;
    text-align: left;
    padding-left: 24px;
    font-weight: 600;
}

.th-attempt[b-llh0bb2024] {
    padding: 10px 6px;
    text-align: center;
    font-weight: 600;
    font-size: 10.5px;
}

.th-mid[b-llh0bb2024] {
    padding: 12px 14px;
    text-align: center;
    font-weight: 600;
}

.th-status[b-llh0bb2024] {
    padding: 12px 14px;
    text-align: right;
    padding-right: 24px;
    font-weight: 600;
}

.row[b-llh0bb2024] {
    border-top: 1px solid var(--line);
    cursor: pointer;
}

.cell-lab[b-llh0bb2024] {
    padding: 13px 14px;
    padding-left: 24px;
    vertical-align: middle;
}

.cell-lab-inner[b-llh0bb2024] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lab-number[b-llh0bb2024] {
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 7px;
}

.lab-title[b-llh0bb2024] {
    font-size: 13.5px;
    font-weight: 600;
}

.cell-attempt[b-llh0bb2024] {
    padding: 8px 6px;
    text-align: center;
    vertical-align: middle;
}

.attempt-value[b-llh0bb2024] {
    font-size: 13px;
    padding: 3px 9px;
    border-radius: 6px;
}

.attempt-empty[b-llh0bb2024] {
    font-size: 12px;
    color: var(--tx-faint);
}

.cell-mid[b-llh0bb2024] {
    padding: 13px 14px;
    text-align: center;
}

.final-value[b-llh0bb2024] {
    font-size: 16px;
    font-weight: 780;
    color: var(--acc-bright);
}

.cell-status[b-llh0bb2024] {
    padding: 13px 14px;
    text-align: right;
    padding-right: 24px;
}

.locked-label[b-llh0bb2024] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--tx-faint);
    font-size: 12.5px;
}

.progress-card[b-llh0bb2024] {
    padding: 24px 28px;
    position: relative;
    overflow: hidden;
}

.progress-glow[b-llh0bb2024] {
    position: absolute;
    right: -30px;
    top: -50px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(118, 199, 173, 0.12), transparent 65%);
    pointer-events: none;
}

.progress-inner[b-llh0bb2024] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
}

.progress-text-block[b-llh0bb2024] {
    flex: 1 1 360px;
    min-width: 0;
}

.progress-head[b-llh0bb2024] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.progress-head-title[b-llh0bb2024] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
}

.progress-legend[b-llh0bb2024] {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--tx-2);
    margin-bottom: 8px;
}

.progress-legend-done[b-llh0bb2024] {
    color: var(--acc-bright);
}

.progress-bar-wrap[b-llh0bb2024] {
    position: relative;
}

.progress-threshold[b-llh0bb2024] {
    position: absolute;
    top: -3px;
    width: 2px;
    height: 14px;
    background: var(--st-yellow);
    border-radius: 2px;
}

.progress-note[b-llh0bb2024] {
    margin: 16px 0 0;
    font-size: 13px;
    color: var(--tx-3);
    line-height: 1.6;
    max-width: 480px;
}

.progress-note-strong[b-llh0bb2024] {
    color: var(--tx-1);
}

.progress-note-accent[b-llh0bb2024] {
    color: var(--acc-bright);
}

.progress-note-link[b-llh0bb2024] {
    color: var(--acc-bright);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}

.progress-note-link:hover[b-llh0bb2024] {
    text-decoration: underline;
}

.avg-block[b-llh0bb2024] {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-left: 8px;
}

.avg-value-wrap[b-llh0bb2024] {
    text-align: center;
}

.avg-value[b-llh0bb2024] {
    font-size: 46px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--acc-bright);
    line-height: 1;
}

.avg-label[b-llh0bb2024] {
    font-size: 12px;
    color: var(--tx-3);
    margin-top: 4px;
}

.star-row[b-llh0bb2024] {
    display: flex;
    gap: 4px;
    margin-top: 4px;
}
/* /Components/Pages/Groups.razor.rz.scp.css */
.page[b-yvm8du5ybh] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.toolbar[b-yvm8du5ybh] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.search-wrap[b-yvm8du5ybh] {
    flex: 1 1 240px;
    max-width: 300px;
}

.search-input[b-yvm8du5ybh] {
    height: 40px;
}

.add-btn[b-yvm8du5ybh] {
    margin-left: auto;
}

.card[b-yvm8du5ybh] {
    padding: 0;
    overflow: hidden;
}

.card-head[b-yvm8du5ybh] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
}

.card-title[b-yvm8du5ybh] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
}

.state-msg[b-yvm8du5ybh] {
    padding: 40px;
    text-align: center;
    color: var(--tx-3);
}

.row[b-yvm8du5ybh] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 22px;
    border-bottom: 1px solid var(--line);
}

.edit-inputs[b-yvm8du5ybh] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.name-input[b-yvm8du5ybh] {
    height: 38px;
    max-width: 160px;
    font-family: var(--mono);
    font-weight: 650;
}

.desc-input[b-yvm8du5ybh] {
    height: 38px;
    flex: 1;
}

.row-actions[b-yvm8du5ybh] {
    display: flex;
    gap: 6px;
    flex: none;
}

.group-name[b-yvm8du5ybh] {
    font-size: 15px;
    font-weight: 750;
    color: var(--acc-bright);
    background: var(--acc-dim);
    padding: 5px 14px;
    border-radius: 8px;
    border: 1px solid var(--glass-border);
    flex: none;
}

.group-desc[b-yvm8du5ybh] {
    flex: 1;
    font-size: 13px;
    color: var(--tx-3);
}

.delete-btn[b-yvm8du5ybh] {
    color: var(--st-red);
}

.add-row[b-yvm8du5ybh] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 22px;
    border-top: 1px solid var(--line);
    background: rgba(118, 199, 173, 0.04);
}
/* /Components/Pages/Journal.razor.rz.scp.css */
.page[b-8i3enpcqqi] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.filter-bar[b-8i3enpcqqi] {
    padding: 16px 20px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.group-block[b-8i3enpcqqi] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.group-tabs[b-8i3enpcqqi] {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: rgba(12, 20, 17, 0.6);
    border-radius: 11px;
    border: 1px solid var(--line);
}

.group-tab[b-8i3enpcqqi] {
    height: 32px;
    padding: 0 14px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 650;
    transition: all .15s;
}

.search-wrap[b-8i3enpcqqi] {
    flex: 1 1 200px;
    max-width: 280px;
}

.search-input[b-8i3enpcqqi] {
    height: 40px;
}

.focus-block[b-8i3enpcqqi] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.focus-label[b-8i3enpcqqi] {
    font-size: 12.5px;
    color: var(--tx-3);
}

.focus-select[b-8i3enpcqqi] {
    height: 40px;
    width: 150px;
}

/* ── matrix ── */

.matrix-card[b-8i3enpcqqi] {
    padding: 0;
    overflow: hidden;
}

.matrix-head[b-8i3enpcqqi] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
}

.matrix-title[b-8i3enpcqqi] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.pdf-btn[b-8i3enpcqqi] {
    margin-left: 8px;
}

.legend[b-8i3enpcqqi] {
    margin-left: auto;
    display: flex;
    gap: 14px;
    font-size: 12px;
    color: var(--tx-3);
    align-items: center;
}

.legend-item[b-8i3enpcqqi] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-dot[b-8i3enpcqqi] {
    width: 11px;
    height: 11px;
    border-radius: 4px;
}

.legend-dot-done[b-8i3enpcqqi] {
    background: rgba(118, 199, 173, 0.2);
    border: 1px solid rgba(118, 199, 173, 0.4);
}

.legend-dot-review[b-8i3enpcqqi] {
    background: rgba(231, 193, 75, 0.2);
    border: 1px solid rgba(231, 193, 75, 0.4);
    display: grid;
    place-items: center;
    color: var(--st-yellow);
}

.legend-dot-rejected[b-8i3enpcqqi] {
    background: rgba(232, 128, 107, 0.2);
    border: 1px solid rgba(232, 128, 107, 0.4);
}

.matrix-scroll[b-8i3enpcqqi] {
    overflow-x: auto;
}

table[b-8i3enpcqqi] {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.th-label[b-8i3enpcqqi] {
    font-size: 11px;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.col-name[b-8i3enpcqqi] {
    position: sticky;
    left: 0;
    z-index: 3;
    background: var(--bg-2);
    box-shadow: 1px 0 0 var(--line);
    width: 230px;
    min-width: 230px;
    text-align: left;
    padding: 12px 16px 12px 22px;
}

.col-lab[b-8i3enpcqqi] {
    width: 50px;
    min-width: 50px;
    padding: 10px 4px;
    cursor: pointer;
}

.col-avg[b-8i3enpcqqi] {
    position: sticky;
    right: 0;
    z-index: 3;
    background: var(--bg-2);
    box-shadow: -1px 0 0 var(--line);
    width: 74px;
    min-width: 74px;
    padding: 12px 16px;
}

.cell-name[b-8i3enpcqqi] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--bg-2);
    box-shadow: 1px 0 0 var(--line);
    width: 230px;
    min-width: 230px;
    padding: 8px 16px 8px 22px;
    border-top: 1px solid var(--line);
}

.cell-name-inner[b-8i3enpcqqi] {
    display: flex;
    align-items: center;
    gap: 11px;
}

.avatar[b-8i3enpcqqi] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 12px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.student-name[b-8i3enpcqqi] {
    font-size: 13.5px;
    font-weight: 620;
    white-space: nowrap;
}

.student-group[b-8i3enpcqqi] {
    font-size: 11px;
    color: var(--tx-3);
}

.cell-lab[b-8i3enpcqqi] {
    padding: 6px 5px;
    border-top: 1px solid var(--line);
}

.cell-avg[b-8i3enpcqqi] {
    position: sticky;
    right: 0;
    z-index: 2;
    background: var(--bg-2);
    box-shadow: -1px 0 0 var(--line);
    width: 74px;
    padding: 8px 16px;
    border-top: 1px solid var(--line);
    text-align: center;
}

.avg-value[b-8i3enpcqqi] {
    font-size: 16px;
    font-weight: 780;
}

.empty-row[b-8i3enpcqqi] {
    padding: 40px;
    text-align: center;
    color: var(--tx-3);
    font-size: 14px;
}

.footnote[b-8i3enpcqqi] {
    margin: 14px 4px 0;
    font-size: 12.5px;
    color: var(--tx-faint);
    display: flex;
    align-items: center;
    gap: 7px;
}
/* /Components/Pages/Lab.razor.rz.scp.css */
.page[b-umsgj4socx] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

/* ── Header bar ── */

.header-bar[b-umsgj4socx] {
    padding: 20px 24px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.header-left[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1 1 auto;
    min-width: 0;
}

.lab-number[b-umsgj4socx] {
    font-size: 17px;
    font-weight: 750;
    color: var(--acc-bright);
    background: var(--acc-dim);
    padding: 8px 12px;
    border-radius: 11px;
    border: 1px solid var(--glass-border);
}

.title-block[b-umsgj4socx] {
    min-width: 0;
}

.title-row[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lab-title[b-umsgj4socx] {
    margin: 0;
    font-size: 20px;
    font-weight: 740;
    letter-spacing: -0.02em;
}

.meta-row[b-umsgj4socx] {
    display: flex;
    gap: 16px;
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--tx-3);
    flex-wrap: wrap;
}

.meta-item[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.quota-dot[b-umsgj4socx] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex: none;
}

.header-right[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: none;
}

.auto-score-block[b-umsgj4socx] {
    text-align: right;
}

.auto-score-label[b-umsgj4socx] {
    font-size: 11px;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.auto-score-value[b-umsgj4socx] {
    font-size: 30px;
    font-weight: 780;
    line-height: 1;
    color: var(--st-yellow);
}

.auto-score-suffix[b-umsgj4socx] {
    font-size: 15px;
    opacity: 0.5;
}

.header-actions[b-umsgj4socx] {
    display: flex;
    gap: 8px;
}

.locked-btn[b-umsgj4socx] {
    opacity: 0.45;
    color: var(--st-red);
}

/* ── Plagiarism notice ── */

.plag-box[b-umsgj4socx] {
    padding: 14px 20px;
    margin-bottom: 18px;
    border-color: rgba(232, 128, 107, 0.4);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.plag-icon[b-umsgj4socx] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    flex: none;
    display: grid;
    place-items: center;
    background: rgba(232, 128, 107, 0.14);
    border: 1px solid rgba(232, 128, 107, 0.3);
    color: var(--st-red);
}

.plag-text[b-umsgj4socx] {
    flex: 1;
    min-width: 240px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--tx-1);
}

/* ── Attempt switcher ── */

.attempt-switcher[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.attempt-switcher-label[b-umsgj4socx] {
    font-size: 12px;
    font-weight: 700;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.attempt-chip[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 650;
    transition: all .18s;
}

.attempt-trophy[b-umsgj4socx] {
    color: var(--st-yellow);
    display: grid;
    place-items: center;
}

/* ── Master / detail layout ── */

.split[b-umsgj4socx] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 18px;
    align-items: start;
}

.task-list[b-umsgj4socx] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 90px;
}

.task-list-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
}

.task-list-title[b-umsgj4socx] {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tx-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.task-list-count[b-umsgj4socx] {
    font-size: 12px;
    color: var(--tx-3);
}

.tasktab[b-umsgj4socx] {
    text-align: left;
    padding: 14px 15px;
    cursor: pointer;
    border: 1px solid;
    transition: all .18s;
    position: relative;
    display: block;
    width: 100%;
}

.tasktab-active-mark[b-umsgj4socx] {
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 3px;
}

.tasktab-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
}

.tasktab-icon[b-umsgj4socx] {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    flex: none;
    display: grid;
    place-items: center;
}

.tasktab-n[b-umsgj4socx] {
    font-size: 12px;
    color: var(--tx-3);
    font-weight: 600;
}

.tasktab-score[b-umsgj4socx] {
    margin-left: auto;
    font-size: 13px;
    font-weight: 700;
}

.tasktab-title[b-umsgj4socx] {
    font-size: 14px;
    font-weight: 640;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
    color: var(--tx-1);
}

/* ── Right panel ── */

.detail-panel[b-umsgj4socx] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.empty-tasks[b-umsgj4socx] {
    padding: 40px;
    text-align: center;
    color: var(--tx-3);
}

.task-header-card[b-umsgj4socx] {
    padding: 22px 24px;
}

.task-header-row[b-umsgj4socx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 12px;
}

.task-header-left[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.task-icon[b-umsgj4socx] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: grid;
    place-items: center;
}

.task-badge-row[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.task-n[b-umsgj4socx] {
    font-size: 12.5px;
    color: var(--tx-3);
}

.task-status-badge[b-umsgj4socx] {
    height: 22px;
}

.task-title[b-umsgj4socx] {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.task-brief[b-umsgj4socx] {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--tx-2);
}

.feedback-card[b-umsgj4socx] {
    padding: 20px 24px;
}

.feedback-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}

.feedback-head-left[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.feedback-title[b-umsgj4socx] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.feedback-summary[b-umsgj4socx] {
    font-size: 12px;
    color: var(--tx-3);
}

.feedback-done-count[b-umsgj4socx] {
    color: var(--st-green);
}

.feedback-issue-count[b-umsgj4socx] {
    color: var(--st-red);
}

.feedback-list[b-umsgj4socx] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.feedback-list-divider[b-umsgj4socx] {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}

.feedback-item[b-umsgj4socx] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.feedback-check[b-umsgj4socx] {
    color: var(--st-green);
    flex: none;
    font-size: 15px;
    line-height: 1.4;
}

.feedback-cross[b-umsgj4socx] {
    color: var(--st-red);
    flex: none;
    font-size: 15px;
    line-height: 1.4;
}

.feedback-item-text[b-umsgj4socx] {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--tx-1);
}

.feedback-analysis[b-umsgj4socx] {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--tx-1);
}

.analysis-card[b-umsgj4socx] {
    padding: 0;
    overflow: hidden;
}

.analysis-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
}

.analysis-title[b-umsgj4socx] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}

.analysis-body[b-umsgj4socx] {
    padding: 16px 20px;
}

.analysis-empty[b-umsgj4socx] {
    margin: 0;
    font-size: 13.5px;
    color: var(--tx-3);
}

.diff-card[b-umsgj4socx] {
    padding: 0;
    overflow: hidden;
}

.diff-toggle[b-umsgj4socx] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--tx-1);
}

.diff-toggle-title[b-umsgj4socx] {
    font-size: 14px;
    font-weight: 700;
}

.diff-adds[b-umsgj4socx] {
    font-size: 12px;
    color: var(--st-green);
    background: rgba(118, 199, 173, 0.1);
    padding: 2px 8px;
    border-radius: 5px;
}

.diff-dels[b-umsgj4socx] {
    font-size: 12px;
    color: var(--st-red);
    background: rgba(232, 128, 107, 0.1);
    padding: 2px 8px;
    border-radius: 5px;
}

.diff-toggle-hint[b-umsgj4socx] {
    margin-left: auto;
    font-size: 12px;
    color: var(--tx-3);
}

.diff-body[b-umsgj4socx] {
    border-top: 1px solid var(--line);
    overflow-x: auto;
    max-height: 600px;
    overflow-y: auto;
}

.diff-table[b-umsgj4socx] {
    border-collapse: collapse;
    width: 100%;
}

.diff-ln[b-umsgj4socx] {
    padding: 1px 10px 1px 16px;
    font-family: var(--mono);
    font-size: 11px;
    color: var(--tx-faint);
    text-align: right;
    user-select: none;
    white-space: nowrap;
    border-right: 1px solid var(--line);
    min-width: 38px;
}

.diff-pfx[b-umsgj4socx] {
    padding: 1px 8px;
    font-family: var(--mono);
    font-size: 11.5px;
    user-select: none;
    width: 16px;
    text-align: center;
}

.diff-text[b-umsgj4socx] {
    padding: 1px 20px 1px 0;
    font-family: var(--mono);
    font-size: 12px;
    white-space: pre;
}

/* ── Resubmit modal ── */

.modal-overlay[b-umsgj4socx] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(6, 12, 10, 0.72);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.modal-card[b-umsgj4socx] {
    width: 100%;
    padding: 26px;
    animation: popIn .3s cubic-bezier(.22, 1, .36, 1) both;
    box-shadow: var(--shadow-pop);
}

.modal-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.modal-icon[b-umsgj4socx] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: var(--acc-dim);
    color: var(--acc);
    border: 1px solid var(--glass-border);
}

.modal-title[b-umsgj4socx] {
    margin: 0;
    font-size: 18px;
    font-weight: 720;
}

.modal-sub[b-umsgj4socx] {
    margin: 3px 0 0;
    font-size: 13px;
    color: var(--tx-3);
}

.warn-box[b-umsgj4socx] {
    background: rgba(232, 128, 107, 0.1);
    border: 1px solid rgba(232, 128, 107, 0.3);
    border-radius: 12px;
    padding: 13px 16px;
    margin-bottom: 14px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.warn-box-text[b-umsgj4socx] {
    font-size: 13px;
    line-height: 1.6;
    color: var(--tx-2);
}

.repo-box[b-umsgj4socx] {
    background: rgba(12, 20, 17, 0.5);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 14px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
}

.field-mb[b-umsgj4socx] {
    margin-bottom: 14px;
}

.field-label[b-umsgj4socx] {
    font-size: 12.5px;
    font-weight: 650;
    color: var(--tx-2);
    margin-bottom: 6px;
    display: block;
}

.field-loading-hint[b-umsgj4socx] {
    margin-left: 8px;
    font-size: 11px;
    color: var(--tx-3);
}

.mode-block[b-umsgj4socx] {
    margin-bottom: 18px;
}

.mode-label[b-umsgj4socx] {
    font-size: 12.5px;
    font-weight: 650;
    color: var(--tx-2);
    margin-bottom: 8px;
    display: block;
}

.mode-row[b-umsgj4socx] {
    display: flex;
    gap: 8px;
}

.mode-btn[b-umsgj4socx] {
    flex: 1;
    justify-content: center;
}

.error-box[b-umsgj4socx] {
    padding: 9px 13px;
    background: rgba(232, 128, 107, 0.1);
    border: 1px solid rgba(232, 128, 107, 0.3);
    border-radius: 9px;
    color: var(--st-red);
    font-size: 13px;
    margin-bottom: 14px;
}

.attempts-left-row[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    font-size: 12.5px;
    color: var(--tx-3);
}

.attempts-left-value[b-umsgj4socx] {
    color: var(--tx-1);
}

.modal-actions[b-umsgj4socx] {
    display: flex;
    gap: 10px;
}

.modal-spinner[b-umsgj4socx] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    animation: spin .7s linear infinite;
    flex: none;
}

/* ── Map phase ── */

.map-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.map-back-btn[b-umsgj4socx] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
    flex: none;
}

.map-title[b-umsgj4socx] {
    margin: 0;
    font-size: 17px;
    font-weight: 720;
}

.map-sub[b-umsgj4socx] {
    margin: 2px 0 0;
    font-size: 12.5px;
    color: var(--tx-3);
}

.map-progress[b-umsgj4socx] {
    margin-left: auto;
    font-size: 12px;
    color: var(--tx-3);
}

.commit-list[b-umsgj4socx] {
    max-height: 520px;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
    margin-bottom: 14px;
}

.commit-row[b-umsgj4socx] {
    display: flex;
    align-items: stretch;
    transition: background .15s;
}

.commit-info[b-umsgj4socx] {
    flex: 1;
    padding: 10px 12px 10px 6px;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.commit-info-text[b-umsgj4socx] {
    flex: 1;
    min-width: 0;
}

.commit-info-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}

.commit-merge-badge[b-umsgj4socx] {
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--st-yellow-bg);
    color: var(--st-yellow);
}

.commit-date[b-umsgj4socx] {
    font-size: 11px;
    color: var(--tx-3);
    margin-left: auto;
    flex: none;
}

.commit-message[b-umsgj4socx] {
    font-size: 13px;
    font-weight: 580;
    color: var(--tx-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.commit-author[b-umsgj4socx] {
    font-size: 11px;
    color: var(--tx-3);
    margin-top: 2px;
}

.task-dropdown[b-umsgj4socx] {
    flex: none;
    width: 180px;
    position: relative;
    font-size: 12.5px;
}

.task-dropdown-trigger[b-umsgj4socx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 5px 10px;
    background: var(--bg-2);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .15s;
    user-select: none;
}

.task-dropdown-label[b-umsgj4socx] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-dropdown-chevron[b-umsgj4socx] {
    flex: none;
    transition: transform .15s;
}

.task-dropdown-list[b-umsgj4socx] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 200;
    width: 220px;
    background: var(--bg-2);
    border: 1px solid var(--glass-border-hover);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .55);
    overflow-y: auto;
    max-height: 260px;
    animation: popIn .15s cubic-bezier(.22, 1, .36, 1) both;
}

.summary-chips[b-umsgj4socx] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.summary-chip[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    border: 1px solid;
}

.summary-chip-sha[b-umsgj4socx] {
    font-size: 10.5px;
    opacity: 0.7;
}

/* ── Running / error / done phases ── */

.running-phase[b-umsgj4socx] {
    padding: 8px 0;
}

.running-head[b-umsgj4socx] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.running-spinner[b-umsgj4socx] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2.5px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    animation: spin .8s linear infinite;
    flex: none;
}

.running-title[b-umsgj4socx] {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}

.running-step-box[b-umsgj4socx] {
    padding: 12px 16px;
    background: rgba(12, 20, 17, 0.5);
    border-radius: 10px;
    border: 1px solid var(--line);
}

.running-step-text[b-umsgj4socx] {
    font-size: 13px;
    color: var(--acc-bright);
}

.result-phase[b-umsgj4socx] {
    text-align: center;
    padding: 10px 0;
}

.result-icon[b-umsgj4socx] {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
}

.error-icon[b-umsgj4socx] {
    background: rgba(220, 60, 60, 0.1);
    border: 1px solid rgba(220, 60, 60, 0.3);
    color: var(--st-red);
}

.done-icon[b-umsgj4socx] {
    background: var(--st-green-bg);
    border: 1px solid var(--glass-border-hover);
    color: var(--st-green);
}

.result-title[b-umsgj4socx] {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 730;
    color: var(--tx-1);
}

.result-text[b-umsgj4socx] {
    margin: 0 0 22px;
    font-size: 13.5px;
    color: var(--tx-2);
    line-height: 1.5;
}

.done-title[b-umsgj4socx] {
    margin: 0;
    font-size: 19px;
    font-weight: 730;
}

.done-text[b-umsgj4socx] {
    margin: 8px 0 4px;
    font-size: 13.5px;
    color: var(--tx-2);
}

.done-score[b-umsgj4socx] {
    color: var(--st-green);
    font-size: 16px;
}
/* /Components/Pages/LabsAdmin.razor.rz.scp.css */
.page[b-ira08u8ff8] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.toolbar[b-ira08u8ff8] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.search-wrap[b-ira08u8ff8] {
    flex: 1 1 240px;
    max-width: 300px;
}

.search-input[b-ira08u8ff8] {
    height: 40px;
}

.import-btn[b-ira08u8ff8] {
    margin-left: auto;
}

.card[b-ira08u8ff8] {
    padding: 0;
    overflow: hidden;
}

.card-head[b-ira08u8ff8] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
}

.card-title[b-ira08u8ff8] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
}

.empty[b-ira08u8ff8] {
    padding: 40px;
    text-align: center;
    color: var(--tx-3);
}

.lab-block[b-ira08u8ff8] {
    border-bottom: 1px solid var(--line);
}

.lab-row[b-ira08u8ff8] {
    display: grid;
    grid-template-columns: 50px 1fr 95px 110px 180px auto;
    align-items: center;
    gap: 16px;
    padding: 14px 22px;
    min-width: 0;
}

.lab-number[b-ira08u8ff8] {
    font-size: 12.5px;
    font-weight: 750;
    color: var(--acc-bright);
    background: var(--acc-dim);
    padding: 5px 0;
    border-radius: 8px;
    text-align: center;
    border: 1px solid var(--glass-border);
}

.lab-title[b-ira08u8ff8] {
    font-size: 14.5px;
    font-weight: 650;
}

.lab-sub[b-ira08u8ff8] {
    font-size: 11.5px;
    color: var(--tx-3);
    margin-top: 3px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.lab-branch[b-ira08u8ff8] {
    color: var(--acc);
}

.lab-taskcount[b-ira08u8ff8] {
    color: var(--acc-bright);
}

.deadline-col[b-ira08u8ff8] {
    font-size: 12px;
    line-height: 1.5;
}

.deadline-row[b-ira08u8ff8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.deadline-date[b-ira08u8ff8] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.deadline-overdue[b-ira08u8ff8] {
    font-size: 10px;
    color: var(--st-red);
    opacity: 0.8;
}

.deadline-empty[b-ira08u8ff8] {
    color: var(--tx-faint);
}

.stats-col[b-ira08u8ff8] {
    font-size: 12px;
    color: var(--tx-3);
    line-height: 1.7;
}

.stats-submitted[b-ira08u8ff8] {
    color: var(--tx-2);
}

.stats-avg[b-ira08u8ff8] {
    color: var(--acc-bright);
}

.status-col[b-ira08u8ff8] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

.status-badge[b-ira08u8ff8] {
    font-size: 10.5px;
}

.lab-actions[b-ira08u8ff8] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    white-space: nowrap;
}

.delete-btn[b-ira08u8ff8] {
    color: var(--st-red);
}

/* ── Expanded task section ── */

.task-panel[b-ira08u8ff8] {
    background: rgba(0, 0, 0, 0.18);
    border-top: 1px solid var(--line);
    padding: 16px 22px 16px 72px;
}

.task-panel-head[b-ira08u8ff8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.task-panel-title[b-ira08u8ff8] {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tx-2);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.task-empty[b-ira08u8ff8] {
    color: var(--tx-faint);
    font-size: 13px;
    padding: 8px 0;
}

.task-row[b-ira08u8ff8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.task-num[b-ira08u8ff8] {
    width: 24px;
    font-size: 12px;
    color: var(--tx-3);
}

.task-title[b-ira08u8ff8] {
    flex: 1;
    font-size: 13.5px;
}

.task-stars[b-ira08u8ff8] {
    font-size: 11px;
    color: var(--tx-faint);
}

.task-actions[b-ira08u8ff8] {
    display: flex;
    gap: 4px;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.page[b-4pbu4enh3w] {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
}

/* ── Left brand panel ── */

.left-panel[b-4pbu4enh3w] {
    position: relative;
    overflow: hidden;
    padding: 56px 60px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid var(--line);
}

.left-glow[b-4pbu4enh3w] {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(700px 500px at 20% 10%, rgba(118, 199, 173, 0.14), transparent 60%), radial-gradient(600px 500px at 90% 100%, rgba(118, 199, 173, 0.08), transparent 55%);
}

.left-code[b-4pbu4enh3w] {
    position: absolute;
    right: -10px;
    bottom: 120px;
    z-index: 0;
    opacity: 0.06;
    font-size: 15px;
    line-height: 1.85;
    color: var(--acc-bright);
    white-space: pre;
    transform: rotate(-4deg);
    pointer-events: none;
    user-select: none;
}

.brand-block[b-4pbu4enh3w] {
    position: relative;
    z-index: 1;
}

.brand-row[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.brand-badge[b-4pbu4enh3w] {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    flex: none;
    display: grid;
    place-items: center;
    background: linear-gradient(150deg, var(--acc-bright), var(--acc));
    color: #08110d;
    box-shadow: 0 8px 22px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    font-weight: 800;
    font-family: var(--mono);
    font-size: 23px;
    letter-spacing: -0.04em;
}

.brand-text[b-4pbu4enh3w] {
    line-height: 1.2;
}

.brand-name[b-4pbu4enh3w] {
    font-weight: 750;
    font-size: 16px;
    letter-spacing: -0.02em;
}

.brand-sub[b-4pbu4enh3w] {
    font-size: 11px;
    color: var(--acc);
    font-weight: 600;
}

.uni-badge[b-4pbu4enh3w] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 9px;
    background: rgba(118, 199, 173, 0.07);
    border: 1px solid rgba(118, 199, 173, 0.18);
}

.uni-text[b-4pbu4enh3w] {
    font-size: 11.5px;
    color: var(--tx-2);
    line-height: 1.4;
}

.uni-text-dept[b-4pbu4enh3w] {
    color: var(--tx-3);
}

.hero[b-4pbu4enh3w] {
    position: relative;
    z-index: 1;
    max-width: 460px;
}

.hero-badge[b-4pbu4enh3w] {
    margin-bottom: 22px;
}

.hero-title[b-4pbu4enh3w] {
    margin: 0;
    font-size: 38px;
    line-height: 1.1;
    letter-spacing: -0.035em;
    font-weight: 780;
}

.hero-accent[b-4pbu4enh3w] {
    color: var(--acc);
}

.hero-text[b-4pbu4enh3w] {
    margin: 18px 0 0;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--tx-2);
    max-width: 420px;
}

.stats-row[b-4pbu4enh3w] {
    display: flex;
    gap: 30px;
    margin-top: 38px;
}

.stat-value[b-4pbu4enh3w] {
    font-size: 22px;
    font-weight: 750;
    color: var(--acc-bright);
    letter-spacing: -0.02em;
}

.stat-label[b-4pbu4enh3w] {
    font-size: 12px;
    color: var(--tx-3);
    margin-top: 3px;
}

.left-footer[b-4pbu4enh3w] {
    position: relative;
    z-index: 1;
    font-size: 11.5px;
    color: var(--tx-faint);
}

/* ── Right login panel ── */

.right-panel[b-4pbu4enh3w] {
    display: grid;
    place-items: center;
    padding: 40px 28px;
}

.card[b-4pbu4enh3w] {
    width: 100%;
    max-width: 408px;
    padding: 34px;
}

.card-head[b-4pbu4enh3w] {
    margin-bottom: 24px;
}

.card-title[b-4pbu4enh3w] {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 730;
    letter-spacing: -0.025em;
}

.card-sub[b-4pbu4enh3w] {
    margin: 0;
    color: var(--tx-3);
    font-size: 13.5px;
}

.loading-row[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 0;
    color: var(--tx-2);
}

.spinner[b-4pbu4enh3w] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2.5px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    animation: spin .8s linear infinite;
}

.error-box[b-4pbu4enh3w] {
    margin-bottom: 16px;
    padding: 10px 14px;
    background: rgba(255, 80, 80, 0.08);
    border: 1px solid rgba(255, 80, 80, 0.25);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
    line-height: 1.5;
}

form[b-4pbu4enh3w] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.submit-btn[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 50px;
    border: none;
    cursor: pointer;
    border-radius: 13px;
    background: linear-gradient(160deg, var(--acc-bright), var(--acc));
    color: #08110d;
    font-weight: 750;
    font-size: 15px;
    box-shadow: 0 8px 24px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    transition: opacity .18s;
    letter-spacing: -0.01em;
    font-family: inherit;
}

.divider-row[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
}

.divider-line[b-4pbu4enh3w] {
    flex: 1;
    height: 1px;
    background: var(--line);
}

.divider-label[b-4pbu4enh3w] {
    font-size: 12px;
    color: var(--tx-faint);
}

.google-btn[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 48px;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--line-strong);
    color: var(--tx-1);
    font-weight: 650;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s, border-color .18s;
}

.register-row[b-4pbu4enh3w] {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
    color: var(--tx-3);
}

.register-link[b-4pbu4enh3w] {
    color: var(--acc-bright);
    font-weight: 650;
    text-decoration: none;
}

.test-divider-row[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 14px;
}

.test-list[b-4pbu4enh3w] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.test-row[b-4pbu4enh3w] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--line);
}

.test-icon[b-4pbu4enh3w] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    flex: none;
    display: grid;
    place-items: center;
}

.test-text[b-4pbu4enh3w] {
    flex: 1;
    min-width: 0;
}

.test-role[b-4pbu4enh3w] {
    font-size: 12px;
    color: var(--tx-3);
    font-weight: 600;
}

.test-email[b-4pbu4enh3w] {
    font-size: 12.5px;
    color: var(--tx-2);
}

.test-password[b-4pbu4enh3w] {
    font-size: 11.5px;
    color: var(--tx-faint);
    background: rgba(255, 255, 255, 0.04);
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid var(--line);
}
/* /Components/Pages/Monitoring.razor.rz.scp.css */
.page[b-6m0p6axo2j] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.stat-strip[b-6m0p6axo2j] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.section[b-6m0p6axo2j] {
    padding: 20px 24px;
    margin-bottom: 18px;
}

.section-head[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
}

.section-title[b-6m0p6axo2j] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.manage-btn[b-6m0p6axo2j] {
    margin-left: auto;
}

.lab-activity-grid[b-6m0p6axo2j] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 13px 48px;
}

.lab-activity-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lab-short[b-6m0p6axo2j] {
    width: 30px;
    font-size: 12px;
    color: var(--tx-3);
    font-weight: 600;
}

.lab-activity-body[b-6m0p6axo2j] {
    flex: 1;
    min-width: 0;
}

.lab-activity-head[b-6m0p6axo2j] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.lab-activity-title[b-6m0p6axo2j] {
    font-size: 12.5px;
    color: var(--tx-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.lab-activity-count[b-6m0p6axo2j] {
    font-size: 12px;
    color: var(--tx-3);
}

.lab-activity-avg[b-6m0p6axo2j] {
    width: 28px;
    text-align: right;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tx-2);
}

.two-col[b-6m0p6axo2j] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.panel[b-6m0p6axo2j] {
    padding: 20px 24px;
}

.panel-title[b-6m0p6axo2j] {
    margin: 0 0 18px;
    font-size: 14px;
    font-weight: 720;
    display: flex;
    align-items: center;
    gap: 8px;
}

.band-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.band-label[b-6m0p6axo2j] {
    width: 58px;
    font-size: 12px;
    color: var(--tx-3);
}

.band-bar[b-6m0p6axo2j] {
    flex: 1;
    height: 10px;
    border-radius: 5px;
}

.band-count[b-6m0p6axo2j] {
    width: 28px;
    text-align: right;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tx-2);
}

.top-student-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 10px;
}

.rank[b-6m0p6axo2j] {
    width: 20px;
    font-size: 12px;
    color: var(--tx-faint);
}

.avatar[b-6m0p6axo2j] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 12px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.top-student-info[b-6m0p6axo2j] {
    flex: 1;
    min-width: 0;
}

.top-student-name[b-6m0p6axo2j] {
    font-size: 13.5px;
    font-weight: 620;
}

.top-student-meta[b-6m0p6axo2j] {
    font-size: 11px;
    color: var(--tx-3);
}

.top-student-avg[b-6m0p6axo2j] {
    font-size: 17px;
    font-weight: 780;
    color: var(--acc-bright);
}

.two-col-list[b-6m0p6axo2j] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.list-card[b-6m0p6axo2j] {
    padding: 0;
    overflow: hidden;
}

.list-head[b-6m0p6axo2j] {
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-title[b-6m0p6axo2j] {
    margin: 0;
    font-size: 14px;
    font-weight: 720;
}

.list-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 22px;
    border-bottom: 1px solid var(--line);
}

.list-row-info[b-6m0p6axo2j] {
    flex: 1;
    min-width: 0;
}

.list-row-name[b-6m0p6axo2j] {
    font-size: 13.5px;
    font-weight: 620;
}

.list-row-sub[b-6m0p6axo2j] {
    font-size: 11.5px;
    color: var(--tx-3);
}

.list-row-meta[b-6m0p6axo2j] {
    text-align: right;
}

.list-row-score[b-6m0p6axo2j] {
    font-size: 14px;
    font-weight: 750;
}

.list-row-time[b-6m0p6axo2j] {
    font-size: 10.5px;
    color: var(--tx-faint);
}

.list-empty[b-6m0p6axo2j] {
    padding: 24px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13px;
}

.rejected-count[b-6m0p6axo2j] {
    font-size: 12px;
    color: var(--st-red);
    font-weight: 650;
}

/* ── Threads ── */

.threads-card[b-6m0p6axo2j] {
    padding: 0;
    overflow: hidden;
    margin-top: 18px;
}

.threads-head[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--line);
}

.threads-empty[b-6m0p6axo2j] {
    padding: 40px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13.5px;
}

.thread-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 22px;
    cursor: pointer;
}

.thread-avatar-wrap[b-6m0p6axo2j] {
    position: relative;
    flex: none;
}

.thread-unread-dot[b-6m0p6axo2j] {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--st-yellow);
    border: 2px solid var(--bg-2);
    box-shadow: 0 0 6px var(--st-yellow);
}

.thread-info[b-6m0p6axo2j] {
    min-width: 0;
    flex: 1;
}

.thread-info-head[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.thread-student-name[b-6m0p6axo2j] {
    font-size: 14px;
    color: var(--tx-1);
}

.thread-group[b-6m0p6axo2j] {
    font-size: 11px;
    color: var(--tx-faint);
}

.thread-lab-badge[b-6m0p6axo2j] {
    font-size: 11.5px;
    color: var(--acc);
    background: var(--acc-dim);
    padding: 2px 7px;
    border-radius: 5px;
    border: 1px solid var(--glass-border);
}

.thread-preview-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.thread-role-label[b-6m0p6axo2j] {
    font-size: 11.5px;
    font-weight: 600;
}

.thread-preview-text[b-6m0p6axo2j] {
    font-size: 12.5px;
    color: var(--tx-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 460px;
}

.thread-meta[b-6m0p6axo2j] {
    flex: none;
    text-align: right;
    min-width: 80px;
}

.thread-meta-time[b-6m0p6axo2j] {
    font-size: 11.5px;
    color: var(--tx-faint);
    margin-bottom: 4px;
}

.thread-meta-count[b-6m0p6axo2j] {
    font-size: 10.5px;
}

.thread-action[b-6m0p6axo2j] {
    flex: none;
}

/* ── Plagiarism ── */

.plag-head[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.plag-hint[b-6m0p6axo2j] {
    font-size: 12px;
    color: var(--tx-3);
}

.plag-controls[b-6m0p6axo2j] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: auto;
}

.plag-select[b-6m0p6axo2j] {
    height: 34px;
    width: 220px;
    appearance: auto;
}

.plag-state[b-6m0p6axo2j] {
    padding: 18px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13px;
}

.plag-state-idle[b-6m0p6axo2j] {
    padding: 14px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 12.5px;
}

.plag-list[b-6m0p6axo2j] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.plag-pair-row[b-6m0p6axo2j] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.025);
}

.plag-pct[b-6m0p6axo2j] {
    font-size: 17px;
    font-weight: 780;
    width: 52px;
    text-align: center;
    flex: none;
}

.plag-names[b-6m0p6axo2j] {
    flex: 1;
    min-width: 0;
    font-size: 13.5px;
}

.plag-group[b-6m0p6axo2j] {
    color: var(--tx-faint);
}

.plag-arrow[b-6m0p6axo2j] {
    color: var(--tx-3);
}

.plag-shared[b-6m0p6axo2j] {
    font-size: 12px;
    color: var(--tx-3);
    flex: none;
}
/* /Components/Pages/Onboarding.razor.rz.scp.css */
.page[b-excy9ymu89] {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: grid;
    place-items: center;
    padding: 40px 28px;
}

.card[b-excy9ymu89] {
    width: 100%;
    max-width: 440px;
    padding: 34px;
}

.logo-row[b-excy9ymu89] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.logo-badge[b-excy9ymu89] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex: none;
    display: grid;
    place-items: center;
    background: linear-gradient(150deg, var(--acc-bright), var(--acc));
    color: #08110d;
    box-shadow: 0 8px 22px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    font-weight: 800;
    font-family: var(--mono);
    font-size: 20px;
    letter-spacing: -0.04em;
}

.logo-text[b-excy9ymu89] {
    line-height: 1.2;
}

.logo-name[b-excy9ymu89] {
    font-weight: 750;
    font-size: 15px;
    letter-spacing: -0.02em;
}

.logo-sub[b-excy9ymu89] {
    font-size: 11px;
    color: var(--acc);
    font-weight: 600;
}

.heading[b-excy9ymu89] {
    margin-bottom: 22px;
}

.heading-title[b-excy9ymu89] {
    margin: 0 0 6px;
    font-size: 23px;
    font-weight: 730;
    letter-spacing: -0.025em;
}

.heading-sub[b-excy9ymu89] {
    margin: 0;
    color: var(--tx-3);
    font-size: 13.5px;
    line-height: 1.5;
}

.stale-box[b-excy9ymu89] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.error-box[b-excy9ymu89] {
    padding: 12px 16px;
    background: rgba(255, 80, 80, 0.08);
    border: 1px solid rgba(255, 80, 80, 0.25);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
    line-height: 1.5;
}

.error-box-sm[b-excy9ymu89] {
    padding: 10px 14px;
    background: rgba(255, 80, 80, 0.08);
    border: 1px solid rgba(255, 80, 80, 0.25);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
}

.cta-btn[b-excy9ymu89] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 48px;
    border: none;
    cursor: pointer;
    border-radius: 13px;
    background: linear-gradient(160deg, var(--acc-bright), var(--acc));
    color: #08110d;
    font-weight: 750;
    font-size: 15px;
    box-shadow: 0 8px 24px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    font-family: inherit;
}

.loading-row[b-excy9ymu89] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 0;
    color: var(--tx-2);
}

.spinner[b-excy9ymu89] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2.5px solid var(--acc-dim-2);
    border-top-color: var(--acc);
    animation: spin .8s linear infinite;
}

.form-body[b-excy9ymu89] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.row2[b-excy9ymu89] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.group-select[b-excy9ymu89] {
    appearance: auto;
}

.field-hint[b-excy9ymu89] {
    color: var(--tx-faint);
    font-weight: 400;
}

.submit-btn[b-excy9ymu89] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 50px;
    border: none;
    cursor: pointer;
    border-radius: 13px;
    background: linear-gradient(160deg, var(--acc-bright), var(--acc));
    color: #08110d;
    font-weight: 750;
    font-size: 15px;
    box-shadow: 0 8px 24px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    letter-spacing: -0.01em;
    font-family: inherit;
}
/* /Components/Pages/Points.razor.rz.scp.css */
.page[b-grdbyw8vn4] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

/* ── Hero: earned / threshold ── */
.pts-hero[b-grdbyw8vn4] {
    padding: 24px 28px;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.pts-hero-glow[b-grdbyw8vn4] {
    position: absolute;
    right: -30px;
    top: -50px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(118, 199, 173, 0.12), transparent 65%);
    pointer-events: none;
}

.pts-hero-inner[b-grdbyw8vn4] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
}

.pts-hero-text[b-grdbyw8vn4] { flex: 1 1 360px; min-width: 0; }

.pts-hero-head[b-grdbyw8vn4] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.pts-hero-title[b-grdbyw8vn4] { margin: 0; font-size: 16px; font-weight: 720; }

.pts-hero-sub[b-grdbyw8vn4] {
    font-size: 14px;
    color: var(--tx-2);
    margin: 0 0 16px;
    line-height: 1.5;
}

.pts-strong[b-grdbyw8vn4] { color: var(--acc-bright); font-weight: 780; }

.pts-bar-wrap[b-grdbyw8vn4] { position: relative; }

.pts-threshold[b-grdbyw8vn4] {
    position: absolute;
    top: -3px;
    width: 2px;
    height: 14px;
    background: var(--st-yellow);
    border-radius: 2px;
}

.pts-legend[b-grdbyw8vn4] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 13px;
    color: var(--tx-2);
    margin-top: 8px;
}

.pts-legend-earned[b-grdbyw8vn4] { color: var(--acc-bright); }

.pts-ring-block[b-grdbyw8vn4] {
    flex: none;
    text-align: center;
    padding-left: 8px;
}

.pts-ring-value[b-grdbyw8vn4] {
    font-size: 46px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--acc-bright);
    line-height: 1;
}

.pts-ring-label[b-grdbyw8vn4] { font-size: 12px; color: var(--tx-3); margin-top: 4px; }

/* ── Table shell ── */
.table-card[b-grdbyw8vn4] { padding: 0; overflow: hidden; margin-bottom: 20px; }

.table-head[b-grdbyw8vn4] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--line);
}

.table-title[b-grdbyw8vn4] { margin: 0; font-size: 16px; font-weight: 720; letter-spacing: -0.02em; }
.table-updated[b-grdbyw8vn4] { margin-left: auto; font-size: 12.5px; color: var(--tx-3); }

.pts-note[b-grdbyw8vn4] {
    margin: 0;
    padding: 14px 24px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--tx-3);
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.015);
}

.pts-note b[b-grdbyw8vn4] { color: var(--tx-2); }

.table-scroll[b-grdbyw8vn4] { overflow-x: auto; }

.pts-table[b-grdbyw8vn4] {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.pts-table thead tr[b-grdbyw8vn4] {
    font-size: 11.5px;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.th-lab[b-grdbyw8vn4] { padding: 12px 14px 12px 24px; text-align: left; font-weight: 600; }
.th-num[b-grdbyw8vn4] { padding: 12px 14px; text-align: center; font-weight: 600; }
.th-status[b-grdbyw8vn4] { padding: 12px 24px 12px 14px; text-align: right; font-weight: 600; }

.pts-row[b-grdbyw8vn4] {
    border-top: 1px solid var(--line);
    cursor: pointer;
}

.pts-row:hover[b-grdbyw8vn4] { background: rgba(255, 255, 255, 0.02); }

.cell-lab[b-grdbyw8vn4] { padding: 13px 14px 13px 24px; vertical-align: middle; }

.cell-lab-inner[b-grdbyw8vn4] { display: flex; align-items: center; gap: 11px; }

.pts-caret[b-grdbyw8vn4] {
    display: inline-block;
    width: 12px;
    font-size: 16px;
    color: var(--tx-faint);
    transition: transform .15s;
}

.lab-number[b-grdbyw8vn4] {
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 7px;
    color: var(--acc);
    background: var(--acc-dim);
    border: 1px solid var(--glass-border);
}

.lab-title[b-grdbyw8vn4] { font-size: 13.5px; font-weight: 600; color: var(--tx-1); }

.cell-num[b-grdbyw8vn4] { padding: 13px 14px; text-align: center; vertical-align: middle; font-size: 13.5px; color: var(--tx-2); }
.pts-max[b-grdbyw8vn4] { color: var(--tx-1); font-weight: 600; }
.pts-earned[b-grdbyw8vn4] { color: var(--acc-bright); font-weight: 700; }

.cell-status[b-grdbyw8vn4] { padding: 13px 24px 13px 14px; text-align: right; }

.locked-label[b-grdbyw8vn4] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--tx-faint);
    font-size: 12.5px;
}

/* ── Sub-rows (per-task hypothetical) ── */
.pts-subrow-wrap td[b-grdbyw8vn4] { padding: 0; background: rgba(0, 0, 0, 0.15); }

.pts-subtable[b-grdbyw8vn4] {
    padding: 6px 24px 12px 47px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pts-subitem[b-grdbyw8vn4] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 10px;
    border-radius: 7px;
    font-size: 12.5px;
}

.pts-subitem:hover[b-grdbyw8vn4] { background: rgba(255, 255, 255, 0.025); }

.pts-subnum[b-grdbyw8vn4] {
    width: 22px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 12px;
    flex: none;
}

.pts-subtitle[b-grdbyw8vn4] { color: var(--tx-2); flex: 1 1 auto; min-width: 0; }
.pts-subdiff[b-grdbyw8vn4] { font-size: 10px; letter-spacing: 1px; flex: none; opacity: .85; }
.pts-subpts[b-grdbyw8vn4] { color: var(--tx-1); font-weight: 600; flex: none; min-width: 56px; text-align: right; }

.pts-subempty[b-grdbyw8vn4] { padding: 6px 10px; font-size: 12.5px; color: var(--tx-faint); }

/* ── Total row ── */
.pts-total-row[b-grdbyw8vn4] {
    border-top: 2px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.02);
    font-size: 14px;
}

.pts-total-row .cell-lab[b-grdbyw8vn4] { color: var(--tx-1); }

@media (max-width: 720px) {
    .page[b-grdbyw8vn4] { padding: 0 16px 32px; }
    .pts-hero-inner[b-grdbyw8vn4] { flex-direction: column; align-items: stretch; }
    .pts-ring-block[b-grdbyw8vn4] { text-align: left; padding-left: 0; }
}
/* /Components/Pages/Profile.razor.rz.scp.css */
.page[b-3iw8nvdnz0] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
    max-width: 720px;
}

.card[b-3iw8nvdnz0] {
    padding: 0;
    overflow: hidden;
}

.card-second[b-3iw8nvdnz0] {
    margin-top: 20px;
}

.head[b-3iw8nvdnz0] {
    padding: 32px 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    background: radial-gradient(500px 200px at 0% 0%, rgba(118, 199, 173, 0.12), transparent 60%);
    border-bottom: 1px solid var(--line);
}

.avatar[b-3iw8nvdnz0] {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    font-weight: 750;
    font-size: 26px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.32), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.head-info[b-3iw8nvdnz0] {
    flex: 1;
}

.head-name[b-3iw8nvdnz0] {
    margin: 0;
    font-size: 22px;
    font-weight: 740;
}

.head-badges[b-3iw8nvdnz0] {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}

.view-list[b-3iw8nvdnz0] {
    padding: 10px 30px 24px;
}

.view-row[b-3iw8nvdnz0] {
    display: flex;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.view-label[b-3iw8nvdnz0] {
    width: 140px;
    font-size: 13px;
    color: var(--tx-3);
    font-weight: 600;
}

.view-value[b-3iw8nvdnz0] {
    font-size: 14px;
    color: var(--tx-1);
}

.edit-form[b-3iw8nvdnz0] {
    padding: 24px 30px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.edit-row2[b-3iw8nvdnz0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.field-hint[b-3iw8nvdnz0] {
    color: var(--tx-faint);
    font-weight: 400;
}

.success-box[b-3iw8nvdnz0] {
    padding: 9px 13px;
    background: rgba(118, 199, 173, 0.1);
    border: 1px solid rgba(118, 199, 173, 0.25);
    border-radius: 9px;
    color: var(--st-green);
    font-size: 13px;
}

.edit-actions[b-3iw8nvdnz0] {
    display: flex;
    justify-content: flex-end;
}

/* ── Security section ── */

.sec-head[b-3iw8nvdnz0] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 18px 30px;
    border-bottom: 1px solid var(--line);
}

.sec-title[b-3iw8nvdnz0] {
    margin: 0;
    font-size: 15px;
    font-weight: 720;
}

.sec-google-badge[b-3iw8nvdnz0] {
    margin-left: auto;
}

.pw-view-row[b-3iw8nvdnz0] {
    display: flex;
    align-items: center;
    padding: 14px 30px;
}

.pw-view-label[b-3iw8nvdnz0] {
    width: 140px;
    font-size: 13px;
    color: var(--tx-3);
    font-weight: 600;
}

.pw-view-value[b-3iw8nvdnz0] {
    font-size: 13.5px;
    color: var(--tx-2);
    flex: 1;
    letter-spacing: 0.12em;
}

.pw-form[b-3iw8nvdnz0] {
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pw-row2[b-3iw8nvdnz0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pw-msg[b-3iw8nvdnz0] {
    padding: 9px 13px;
    border-radius: 9px;
    font-size: 13px;
}

.pw-actions[b-3iw8nvdnz0] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
/* /Components/Pages/Register.razor.rz.scp.css */
.page[b-yh0pq3mo08] {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: grid;
    place-items: center;
    padding: 40px 28px;
}

.card[b-yh0pq3mo08] {
    width: 100%;
    max-width: 460px;
    padding: 34px;
}

.logo-row[b-yh0pq3mo08] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.logo-badge[b-yh0pq3mo08] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex: none;
    display: grid;
    place-items: center;
    background: linear-gradient(150deg, var(--acc-bright), var(--acc));
    color: #08110d;
    box-shadow: 0 8px 22px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    font-weight: 800;
    font-family: var(--mono);
    font-size: 20px;
    letter-spacing: -0.04em;
}

.logo-text[b-yh0pq3mo08] {
    line-height: 1.2;
}

.logo-name[b-yh0pq3mo08] {
    font-weight: 750;
    font-size: 15px;
    letter-spacing: -0.02em;
}

.logo-sub[b-yh0pq3mo08] {
    font-size: 11px;
    color: var(--acc);
    font-weight: 600;
}

.heading[b-yh0pq3mo08] {
    margin-bottom: 22px;
}

.heading-title[b-yh0pq3mo08] {
    margin: 0 0 6px;
    font-size: 23px;
    font-weight: 730;
    letter-spacing: -0.025em;
}

.heading-sub[b-yh0pq3mo08] {
    margin: 0;
    color: var(--tx-3);
    font-size: 13.5px;
}

.error-box[b-yh0pq3mo08] {
    margin-bottom: 16px;
    padding: 10px 14px;
    background: rgba(255, 80, 80, 0.08);
    border: 1px solid rgba(255, 80, 80, 0.25);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
    line-height: 1.5;
}

form[b-yh0pq3mo08] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.row2[b-yh0pq3mo08] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.group-select[b-yh0pq3mo08] {
    appearance: auto;
}

.submit-btn[b-yh0pq3mo08] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 50px;
    border: none;
    cursor: pointer;
    border-radius: 13px;
    background: linear-gradient(160deg, var(--acc-bright), var(--acc));
    color: #08110d;
    font-weight: 750;
    font-size: 15px;
    box-shadow: 0 8px 24px -10px rgba(118, 199, 173, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    transition: opacity .18s;
    letter-spacing: -0.01em;
    font-family: inherit;
}

.divider-row[b-yh0pq3mo08] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
}

.divider-line[b-yh0pq3mo08] {
    flex: 1;
    height: 1px;
    background: var(--line);
}

.divider-label[b-yh0pq3mo08] {
    font-size: 12px;
    color: var(--tx-faint);
}

.google-btn[b-yh0pq3mo08] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 48px;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--line-strong);
    color: var(--tx-1);
    font-weight: 650;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s, border-color .18s;
}

.footer-row[b-yh0pq3mo08] {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
    color: var(--tx-3);
}

.footer-link[b-yh0pq3mo08] {
    color: var(--acc-bright);
    font-weight: 650;
    text-decoration: none;
}
/* /Components/Pages/StudentDashboard.razor.rz.scp.css */
.unread-btn[b-gasbs1ule8] {
    margin-right: 8px;
    position: relative;
}

.unread-badge[b-gasbs1ule8] {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--st-yellow);
    color: #000;
    font-size: 10px;
    font-weight: 750;
    display: grid;
    place-items: center;
}

.continue-btn[b-gasbs1ule8] {
    margin-right: 4px;
}

.page[b-gasbs1ule8] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.hero[b-gasbs1ule8] {
    padding: 28px 30px;
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
}

.hero-glow[b-gasbs1ule8] {
    position: absolute;
    right: -40px;
    top: -60px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(118, 199, 173, 0.16), transparent 65%);
    pointer-events: none;
}

.hero-inner[b-gasbs1ule8] {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
}

.hero-text-block[b-gasbs1ule8] {
    flex: 1 1 380px;
    min-width: 0;
}

.hero-badge[b-gasbs1ule8] {
    margin-bottom: 14px;
}

.hero-title[b-gasbs1ule8] {
    margin: 0;
    font-size: 28px;
    font-weight: 760;
    letter-spacing: -0.03em;
}

.hero-emoji[b-gasbs1ule8] {
    display: inline-block;
}

.hero-sub[b-gasbs1ule8] {
    margin: 8px 0 22px;
    color: var(--tx-2);
    font-size: 14.5px;
    max-width: 460px;
}

.progress-block[b-gasbs1ule8] {
    max-width: 520px;
}

.progress-head[b-gasbs1ule8] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 9px;
}

.progress-head-label[b-gasbs1ule8] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--tx-2);
}

.progress-head-done[b-gasbs1ule8] {
    color: var(--acc-bright);
    font-size: 15px;
}

.progress-head-pct[b-gasbs1ule8] {
    font-size: 13px;
    color: var(--tx-3);
}

.ministat-row[b-gasbs1ule8] {
    display: flex;
    gap: 14px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.ring-block[b-gasbs1ule8] {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.ring-label[b-gasbs1ule8] {
    font-size: 12.5px;
    color: var(--tx-3);
    font-weight: 500;
}

.section-head[b-gasbs1ule8] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 4px 2px 18px;
}

.section-title[b-gasbs1ule8] {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.filter-row[b-gasbs1ule8] {
    margin-left: auto;
    display: flex;
    gap: 8px;
}

.filter-chip[b-gasbs1ule8] {
    height: 32px;
    padding: 0 14px;
    border-radius: 9px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 600;
    font-family: var(--font);
    transition: all .16s;
}

.cards-grid[b-gasbs1ule8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* ── Notifications overlay ── */

.notif-overlay[b-gasbs1ule8] {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(6, 12, 10, 0.6);
    backdrop-filter: blur(5px);
}

.notif-panel[b-gasbs1ule8] {
    position: fixed;
    top: 80px;
    right: 30px;
    width: 360px;
    max-height: 480px;
    overflow-y: auto;
    border-radius: 18px;
    padding: 0;
    box-shadow: var(--shadow-pop);
}

.notif-head[b-gasbs1ule8] {
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 10px;
}

.notif-title[b-gasbs1ule8] {
    font-size: 14px;
    font-weight: 720;
}

.notif-close-btn[b-gasbs1ule8] {
    margin-left: auto;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: var(--tx-3);
    cursor: pointer;
    display: grid;
    place-items: center;
}

.notif-empty[b-gasbs1ule8] {
    padding: 24px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13.5px;
}

.notif-row[b-gasbs1ule8] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
}

.notif-row-head[b-gasbs1ule8] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.notif-dot[b-gasbs1ule8] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: none;
}

.notif-row-title[b-gasbs1ule8] {
    font-size: 13.5px;
    font-weight: 640;
    color: var(--tx-1);
}

.notif-body[b-gasbs1ule8] {
    margin: 0;
    font-size: 12.5px;
    color: var(--tx-2);
    line-height: 1.5;
}

.notif-time[b-gasbs1ule8] {
    font-size: 11px;
    color: var(--tx-faint);
}
/* /Components/Pages/Students.razor.rz.scp.css */
.page[b-gwld2uzt95] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.filter-bar[b-gwld2uzt95] {
    padding: 14px 20px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.group-tabs[b-gwld2uzt95] {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: rgba(12, 20, 17, 0.6);
    border-radius: 11px;
    border: 1px solid var(--line);
}

.group-tab[b-gwld2uzt95] {
    height: 32px;
    padding: 0 14px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 650;
    transition: all .15s;
}

.search-wrap[b-gwld2uzt95] {
    flex: 1 1 180px;
    max-width: 240px;
}

.search-input[b-gwld2uzt95] {
    height: 36px;
}

.count-badge[b-gwld2uzt95] {
    margin-left: auto;
}

.cards-grid[b-gwld2uzt95] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.card[b-gwld2uzt95] {
    padding: 18px 20px;
    animation: stagger .5s cubic-bezier(.22, 1, .36, 1) both;
}

.card-head[b-gwld2uzt95] {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 16px;
}

.avatar[b-gwld2uzt95] {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 15px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.card-info[b-gwld2uzt95] {
    min-width: 0;
    flex: 1;
}

.card-name[b-gwld2uzt95] {
    font-size: 15px;
    font-weight: 670;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-group[b-gwld2uzt95] {
    font-size: 12px;
    color: var(--tx-3);
    margin-top: 2px;
}

.avg-block[b-gwld2uzt95] {
    text-align: center;
    flex: none;
}

.avg-value[b-gwld2uzt95] {
    font-size: 22px;
    font-weight: 780;
    line-height: 1;
}

.avg-label[b-gwld2uzt95] {
    font-size: 10px;
    color: var(--tx-faint);
    margin-top: 3px;
}

.progress-summary[b-gwld2uzt95] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
    font-size: 12px;
}

.progress-summary-text[b-gwld2uzt95] {
    color: var(--tx-2);
}

.progress-summary-strong[b-gwld2uzt95] {
    color: var(--acc-bright);
}

.review-hint[b-gwld2uzt95] {
    color: var(--st-yellow);
    display: flex;
    align-items: center;
    gap: 4px;
}

.lab-dots[b-gwld2uzt95] {
    display: flex;
    gap: 4px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.lab-dot[b-gwld2uzt95] {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    opacity: 0.9;
}

.card-actions[b-gwld2uzt95] {
    display: flex;
    gap: 6px;
    margin-top: 14px;
}

.delete-btn[b-gwld2uzt95] {
    color: var(--st-red);
}

/* ── password-reset overlay ── */

.overlay[b-gwld2uzt95] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(6, 12, 10, 0.72);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.overlay-card[b-gwld2uzt95] {
    width: 100%;
    max-width: 420px;
    padding: 26px;
    animation: popIn .3s cubic-bezier(.22, 1, .36, 1) both;
    box-shadow: var(--shadow-pop);
}

.overlay-head[b-gwld2uzt95] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.overlay-title[b-gwld2uzt95] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
}

.overlay-error[b-gwld2uzt95] {
    padding: 10px 14px;
    background: rgba(255, 80, 80, 0.08);
    border: 1px solid rgba(255, 80, 80, 0.25);
    border-radius: 10px;
    color: var(--st-red);
    font-size: 13px;
    line-height: 1.5;
}

.overlay-text[b-gwld2uzt95] {
    margin: 0 0 14px;
    font-size: 13.5px;
    color: var(--tx-2);
    line-height: 1.5;
}

.overlay-name[b-gwld2uzt95] {
    color: var(--tx-1);
}

.password-box[b-gwld2uzt95] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 11px;
    background: rgba(12, 20, 17, 0.7);
    border: 1px solid var(--glass-border-hover);
}

.password-value[b-gwld2uzt95] {
    flex: 1;
    font-size: 17px;
    font-weight: 700;
    color: var(--acc-bright);
    letter-spacing: 0.04em;
}

.overlay-actions[b-gwld2uzt95] {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}
/* /Components/Pages/TeacherLabResults.razor.rz.scp.css */
.page[b-3brwt48lbw] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

/* ── Header ── */

.header-bar[b-3brwt48lbw] {
    padding: 20px 24px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.avatar[b-3brwt48lbw] {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 15px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.header-info[b-3brwt48lbw] {
    flex: 1;
    min-width: 220px;
}

.student-name[b-3brwt48lbw] {
    margin: 0;
    font-size: 19px;
    font-weight: 740;
    letter-spacing: -0.02em;
}

.header-meta[b-3brwt48lbw] {
    display: flex;
    gap: 9px;
    margin-top: 5px;
    align-items: center;
    font-size: 12.5px;
    color: var(--tx-3);
    flex-wrap: wrap;
}

.header-meta-badge[b-3brwt48lbw] {
    height: 22px;
}

.header-meta-sep[b-3brwt48lbw] {
    opacity: 0.4;
}

.score-block[b-3brwt48lbw] {
    text-align: right;
    flex: none;
}

.score-label[b-3brwt48lbw] {
    font-size: 11px;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.score-value[b-3brwt48lbw] {
    font-size: 28px;
    font-weight: 780;
    line-height: 1;
}

.score-suffix[b-3brwt48lbw] {
    font-size: 14px;
    opacity: 0.5;
}

.header-actions[b-3brwt48lbw] {
    display: flex;
    gap: 8px;
    flex: none;
}

.back-icon[b-3brwt48lbw] {
    transform: rotate(180deg);
}

/* ── Plagiarism flag ── */

.plag-box[b-3brwt48lbw] {
    padding: 16px 20px;
    margin-bottom: 18px;
    border-color: rgba(232, 128, 107, 0.4);
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.plag-icon[b-3brwt48lbw] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex: none;
    display: grid;
    place-items: center;
    background: rgba(232, 128, 107, 0.14);
    border: 1px solid rgba(232, 128, 107, 0.3);
    color: var(--st-red);
}

.plag-text[b-3brwt48lbw] {
    flex: 1;
    min-width: 240px;
}

.plag-title[b-3brwt48lbw] {
    font-size: 14px;
    font-weight: 720;
    color: var(--st-red);
}

.plag-note[b-3brwt48lbw] {
    font-size: 12.5px;
    color: var(--tx-2);
    margin-top: 3px;
}

.plag-approved-badge[b-3brwt48lbw] {
    height: 24px;
}

.plag-approve-btn[b-3brwt48lbw] {
    flex: none;
}

/* ── Attempt switcher ── */

.attempt-switcher[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.attempt-switcher-label[b-3brwt48lbw] {
    font-size: 12px;
    font-weight: 700;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.attempt-chip[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 650;
    transition: all .18s;
}

.attempt-trophy[b-3brwt48lbw] {
    color: var(--st-yellow);
    display: grid;
    place-items: center;
}

/* ── Master / detail ── */

.split[b-3brwt48lbw] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 18px;
    align-items: start;
}

.task-list[b-3brwt48lbw] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 90px;
}

.task-list-head[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
}

.task-list-title[b-3brwt48lbw] {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--tx-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.task-list-count[b-3brwt48lbw] {
    font-size: 12px;
    color: var(--tx-3);
}

.tasktab[b-3brwt48lbw] {
    text-align: left;
    padding: 14px 15px;
    cursor: pointer;
    border: 1px solid;
    transition: all .18s;
    position: relative;
    display: block;
    width: 100%;
}

.tasktab-active-mark[b-3brwt48lbw] {
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 3px;
}

.tasktab-head[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
}

.tasktab-icon[b-3brwt48lbw] {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    flex: none;
    display: grid;
    place-items: center;
}

.tasktab-n[b-3brwt48lbw] {
    font-size: 12px;
    color: var(--tx-3);
    font-weight: 600;
}

.tasktab-score[b-3brwt48lbw] {
    margin-left: auto;
    font-size: 13px;
    font-weight: 700;
}

.tasktab-title[b-3brwt48lbw] {
    font-size: 14px;
    font-weight: 640;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
    color: var(--tx-1);
}

.detail-panel[b-3brwt48lbw] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.empty-tasks[b-3brwt48lbw] {
    padding: 40px;
    text-align: center;
    color: var(--tx-3);
}

.task-header-card[b-3brwt48lbw] {
    padding: 22px 24px;
}

.task-header-row[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 12px;
}

.task-header-left[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.task-icon[b-3brwt48lbw] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: grid;
    place-items: center;
}

.task-badge-row[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.task-n[b-3brwt48lbw] {
    font-size: 12.5px;
    color: var(--tx-3);
}

.task-status-badge[b-3brwt48lbw] {
    height: 22px;
}

.task-title[b-3brwt48lbw] {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.task-brief[b-3brwt48lbw] {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--tx-2);
}

.feedback-card[b-3brwt48lbw] {
    padding: 20px 24px;
}

.feedback-head[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}

.feedback-head-left[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.feedback-title[b-3brwt48lbw] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.feedback-summary[b-3brwt48lbw] {
    font-size: 12px;
    color: var(--tx-3);
}

.feedback-done-count[b-3brwt48lbw] {
    color: var(--st-green);
}

.feedback-issue-count[b-3brwt48lbw] {
    color: var(--st-red);
}

.feedback-list[b-3brwt48lbw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.feedback-list-divider[b-3brwt48lbw] {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}

.feedback-item[b-3brwt48lbw] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.feedback-check[b-3brwt48lbw] {
    color: var(--st-green);
    flex: none;
    font-size: 15px;
    line-height: 1.4;
}

.feedback-cross[b-3brwt48lbw] {
    color: var(--st-red);
    flex: none;
    font-size: 15px;
    line-height: 1.4;
}

.feedback-item-text[b-3brwt48lbw] {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--tx-1);
}

.feedback-analysis[b-3brwt48lbw] {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--tx-1);
}

.analysis-card[b-3brwt48lbw] {
    padding: 0;
    overflow: hidden;
}

.analysis-head[b-3brwt48lbw] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
}

.analysis-title[b-3brwt48lbw] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}

.analysis-body[b-3brwt48lbw] {
    padding: 16px 20px;
}

.analysis-empty[b-3brwt48lbw] {
    margin: 0;
    font-size: 13.5px;
    color: var(--tx-3);
}

.diff-card[b-3brwt48lbw] {
    padding: 0;
    overflow: hidden;
}

.diff-toggle[b-3brwt48lbw] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--tx-1);
}

.diff-toggle-title[b-3brwt48lbw] {
    font-size: 14px;
    font-weight: 700;
}

.diff-adds[b-3brwt48lbw] {
    font-size: 12px;
    color: var(--st-green);
    background: rgba(118, 199, 173, 0.1);
    padding: 2px 8px;
    border-radius: 5px;
}

.diff-dels[b-3brwt48lbw] {
    font-size: 12px;
    color: var(--st-red);
    background: rgba(232, 128, 107, 0.1);
    padding: 2px 8px;
    border-radius: 5px;
}

.diff-toggle-hint[b-3brwt48lbw] {
    margin-left: auto;
    font-size: 12px;
    color: var(--tx-3);
}

.diff-body[b-3brwt48lbw] {
    border-top: 1px solid var(--line);
    overflow-x: auto;
    max-height: 600px;
    overflow-y: auto;
}

.diff-table[b-3brwt48lbw] {
    border-collapse: collapse;
    width: 100%;
}

.diff-ln[b-3brwt48lbw] {
    padding: 1px 10px 1px 16px;
    font-family: var(--mono);
    font-size: 11px;
    color: var(--tx-faint);
    text-align: right;
    user-select: none;
    white-space: nowrap;
    border-right: 1px solid var(--line);
    min-width: 38px;
}

.diff-pfx[b-3brwt48lbw] {
    padding: 1px 8px;
    font-family: var(--mono);
    font-size: 11.5px;
    user-select: none;
    width: 16px;
    text-align: center;
}

.diff-text[b-3brwt48lbw] {
    padding: 1px 20px 1px 0;
    font-family: var(--mono);
    font-size: 12px;
    white-space: pre;
}
/* /Components/Pages/TeacherOverview.razor.rz.scp.css */
.journal-btn[b-xxzj4b0zj6] {
    margin-right: 4px;
}

.page[b-xxzj4b0zj6] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.stat-strip[b-xxzj4b0zj6] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.quota-card[b-xxzj4b0zj6] {
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
}

.quota-glow[b-xxzj4b0zj6] {
    position: absolute;
    right: -20px;
    top: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    pointer-events: none;
}

.quota-head[b-xxzj4b0zj6] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    position: relative;
}

.quota-icon[b-xxzj4b0zj6] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
}

.quota-badge[b-xxzj4b0zj6] {
    margin-left: auto;
    height: 22px;
}

.quota-value[b-xxzj4b0zj6] {
    font-size: 26px;
    font-weight: 790;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--tx-1);
}

.quota-value-suffix[b-xxzj4b0zj6] {
    font-size: 14px;
    font-weight: 500;
    color: var(--tx-3);
}

.quota-label[b-xxzj4b0zj6] {
    font-size: 12.5px;
    color: var(--tx-3);
    margin-top: 7px;
    font-weight: 500;
}

.quota-track[b-xxzj4b0zj6] {
    margin-top: 10px;
    height: 4px;
    border-radius: 2px;
    background: var(--line);
    overflow: hidden;
}

.quota-fill[b-xxzj4b0zj6] {
    height: 100%;
    border-radius: 2px;
    transition: width .4s;
}

.columns[b-xxzj4b0zj6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: start;
}

.panel[b-xxzj4b0zj6] {
    padding: 0;
    overflow: hidden;
}

.panel-head[b-xxzj4b0zj6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--line);
}

.panel-title[b-xxzj4b0zj6] {
    margin: 0;
    font-size: 16px;
    font-weight: 720;
    letter-spacing: -0.02em;
}

.panel-sort-row[b-xxzj4b0zj6] {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-left: auto;
}

.sort-chip[b-xxzj4b0zj6] {
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
    border-color: var(--line);
    background: transparent;
    color: var(--tx-3);
}

.sort-chip.active[b-xxzj4b0zj6] {
    border-color: var(--acc);
    background: var(--acc-dim);
    color: var(--acc-bright);
}

.panel-empty[b-xxzj4b0zj6] {
    padding: 32px;
    text-align: center;
    color: var(--tx-faint);
    font-size: 13.5px;
}

.group-head[b-xxzj4b0zj6] {
    padding: 8px 22px;
    background: rgba(255, 255, 255, 0.025);
    border-bottom: 1px solid var(--line);
}

.group-head-name[b-xxzj4b0zj6] {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--tx-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.group-head-count[b-xxzj4b0zj6] {
    font-size: 11px;
    color: var(--tx-faint);
    margin-left: 6px;
}

.qrow[b-xxzj4b0zj6] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 22px;
    cursor: pointer;
}

.avatar[b-xxzj4b0zj6] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 13.5px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.avatar-red[b-xxzj4b0zj6] {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 13.5px;
    background: rgba(232, 128, 107, 0.12);
    border: 1px solid rgba(232, 128, 107, 0.25);
    color: var(--st-red);
}

.qrow-info[b-xxzj4b0zj6] {
    min-width: 0;
    flex: 1;
}

.qrow-name[b-xxzj4b0zj6] {
    font-size: 14px;
    font-weight: 640;
}

.qrow-meta[b-xxzj4b0zj6] {
    font-size: 12px;
    color: var(--tx-3);
    margin-top: 2px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.qrow-meta-dot[b-xxzj4b0zj6] {
    opacity: 0.4;
}

.qrow-score[b-xxzj4b0zj6] {
    text-align: right;
    flex: none;
}

.qrow-score-label[b-xxzj4b0zj6] {
    font-size: 11px;
    color: var(--tx-3);
    margin-bottom: 3px;
}

.qrow-score-value[b-xxzj4b0zj6] {
    font-size: 15px;
    font-weight: 750;
}

.qrow-time[b-xxzj4b0zj6] {
    font-size: 11.5px;
    color: var(--tx-faint);
    flex: none;
    width: 72px;
    text-align: right;
}

.qrow-action[b-xxzj4b0zj6] {
    flex: none;
}
/* /Components/Pages/TeacherProfile.razor.rz.scp.css */
.page[b-dauu9z389q] {
    padding: 0 34px 40px;
    position: relative;
    z-index: 1;
}

.grid-2[b-dauu9z389q] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.card[b-dauu9z389q] {
    padding: 0;
    overflow: hidden;
}

.card-hero[b-dauu9z389q] {
    padding: 28px 26px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: radial-gradient(500px 200px at 0% 0%, rgba(118, 199, 173, 0.12), transparent 60%);
    border-bottom: 1px solid var(--line);
}

.avatar-lg[b-dauu9z389q] {
    width: 66px;
    height: 66px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-weight: 750;
    font-size: 24px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.32), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
    flex: none;
}

.hero-info[b-dauu9z389q] {
    flex: 1;
    min-width: 0;
}

.hero-name[b-dauu9z389q] {
    margin: 0;
    font-size: 20px;
    font-weight: 740;
}

.hero-badges[b-dauu9z389q] {
    display: flex;
    gap: 8px;
    margin-top: 7px;
    flex-wrap: wrap;
}

.info-list[b-dauu9z389q] {
    padding: 8px 26px 4px;
}

.info-row[b-dauu9z389q] {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.info-row-last[b-dauu9z389q] {
    display: flex;
    align-items: center;
    padding: 12px 0;
}

.info-label[b-dauu9z389q] {
    width: 150px;
    font-size: 12.5px;
    color: var(--tx-3);
    font-weight: 600;
}

.info-value[b-dauu9z389q] {
    font-size: 13.5px;
}

.pw-dots[b-dauu9z389q] {
    font-size: 13.5px;
    color: var(--tx-2);
    flex: 1;
    letter-spacing: 0.12em;
}

.edit-body[b-dauu9z389q] {
    padding: 20px 26px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.edit-grid-2[b-dauu9z389q] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.edit-actions[b-dauu9z389q] {
    display: flex;
    justify-content: flex-end;
}

.edit-actions-gap[b-dauu9z389q] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.hint[b-dauu9z389q] {
    color: var(--tx-faint);
    font-weight: 400;
}

.section-head[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 18px 26px;
    border-bottom: 1px solid var(--line);
}

.section-title[b-dauu9z389q] {
    margin: 0;
    font-size: 15px;
    font-weight: 720;
}

.section-title-hint[b-dauu9z389q] {
    font-size: 12px;
    color: var(--tx-3);
    margin-left: 4px;
}

.push-right[b-dauu9z389q] {
    margin-left: auto;
}

.subsection[b-dauu9z389q] {
    padding: 16px 26px 4px;
}

.subsection-last[b-dauu9z389q] {
    padding: 16px 26px 20px;
}

.subsection-label[b-dauu9z389q] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--tx-3);
    margin-bottom: 10px;
}

.settings-row[b-dauu9z389q] {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
}

.settings-row-gap[b-dauu9z389q] {
    display: flex;
    align-items: center;
    padding: 10px 0;
    gap: 10px;
}

.settings-label[b-dauu9z389q] {
    width: 140px;
    font-size: 12.5px;
    color: var(--tx-3);
    font-weight: 600;
}

.settings-value[b-dauu9z389q] {
    font-size: 13px;
}

.quota-wrap[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.quota-track[b-dauu9z389q] {
    flex: 1;
    height: 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.07);
    overflow: hidden;
}

.quota-fill[b-dauu9z389q] {
    height: 100%;
    border-radius: 3px;
    transition: width .3s;
}

.quota-num[b-dauu9z389q] {
    font-size: 12px;
    white-space: nowrap;
}

.backup-hint[b-dauu9z389q] {
    font-size: 12px;
    color: var(--tx-3);
    flex: 1;
}

.feedback-wrap[b-dauu9z389q] {
    padding: 10px 26px;
    border-top: 1px solid var(--line);
}

.card-mt[b-dauu9z389q] {
    padding: 0;
    overflow: hidden;
    margin-top: 20px;
}

.attempts-grid[b-dauu9z389q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0;
}

.attempt-row[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 22px;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
}

.attempt-num[b-dauu9z389q] {
    width: 30px;
    font-size: 12px;
    font-weight: 750;
    color: var(--acc-bright);
    background: var(--acc-dim);
    padding: 3px 0;
    border-radius: 6px;
    text-align: center;
    border: 1px solid var(--glass-border);
    flex: none;
}

.attempt-title[b-dauu9z389q] {
    flex: 1;
    font-size: 13px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attempt-controls[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: none;
}

.attempt-btn[b-dauu9z389q] {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.04);
    color: var(--tx-2);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 16px;
    line-height: 1;
}

.attempt-value[b-dauu9z389q] {
    width: 24px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
}

.teacher-list[b-dauu9z389q] {
    padding: 8px 26px 4px;
}

.teacher-row[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}

.teacher-avatar[b-dauu9z389q] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex: none;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 13px;
    background: linear-gradient(150deg, rgba(118, 199, 173, 0.3), rgba(118, 199, 173, 0.12));
    border: 1px solid var(--glass-border-hover);
    color: var(--acc-bright);
}

.teacher-info[b-dauu9z389q] {
    flex: 1;
    min-width: 0;
}

.teacher-name[b-dauu9z389q] {
    font-size: 13.5px;
    font-weight: 640;
}

.teacher-email[b-dauu9z389q] {
    font-size: 11.5px;
    color: var(--tx-3);
}

.teacher-badge[b-dauu9z389q] {
    height: 22px;
}

.teacher-add-body[b-dauu9z389q] {
    padding: 16px 26px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    border-top: 1px solid var(--line);
}

.temp-pw-box[b-dauu9z389q] {
    padding: 12px 16px;
    border-radius: 11px;
    background: rgba(12, 20, 17, 0.7);
    border: 1px solid var(--glass-border-hover);
}

.temp-pw-hint[b-dauu9z389q] {
    font-size: 12px;
    color: var(--tx-3);
    margin-bottom: 6px;
}

.temp-pw-value[b-dauu9z389q] {
    font-size: 16px;
    font-weight: 700;
    color: var(--acc-bright);
    letter-spacing: 0.04em;
}

/* ── Setup guide (full-width) ── */
.guide-card[b-dauu9z389q] {
    grid-column: 1 / -1;
    padding: 0;
    overflow: hidden;
}

.guide-body[b-dauu9z389q] {
    padding: 4px 26px 14px;
}

.guide-intro[b-dauu9z389q] {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--tx-3);
    padding: 12px 0 12px;
    border-bottom: 1px solid var(--line);
}

.guide-intro b[b-dauu9z389q] { color: var(--tx-2); font-weight: 600; }

.guide-item[b-dauu9z389q] {
    display: flex;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.guide-item:last-child[b-dauu9z389q] { border-bottom: none; }

.guide-status[b-dauu9z389q] {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex: none;
    margin-top: 1px;
}

.g-ok[b-dauu9z389q]   { color: var(--st-green);  background: var(--st-green-bg); }
.g-warn[b-dauu9z389q] { color: var(--st-yellow); background: var(--st-yellow-bg); }
.g-info[b-dauu9z389q] { color: var(--tx-2);      background: rgba(255, 255, 255, 0.05); }
.g-off[b-dauu9z389q]  { color: var(--tx-faint);  background: rgba(255, 255, 255, 0.04); }

.guide-text[b-dauu9z389q] { min-width: 0; }

.guide-title[b-dauu9z389q] {
    font-size: 14px;
    font-weight: 650;
    color: var(--tx-1);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.guide-desc[b-dauu9z389q] {
    font-size: 13px;
    color: var(--tx-3);
    line-height: 1.55;
    margin-top: 4px;
}

.guide-desc a[b-dauu9z389q] { color: var(--acc-bright); text-decoration: none; }
.guide-desc a:hover[b-dauu9z389q] { text-decoration: underline; }
.guide-desc .mono[b-dauu9z389q] { color: var(--tx-2); font-size: 12px; }
.guide-desc b[b-dauu9z389q] { color: var(--tx-2); font-weight: 600; }

.guide-tag[b-dauu9z389q] {
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.guide-tag.req[b-dauu9z389q]  { color: var(--st-red);    background: var(--st-red-bg); }
.guide-tag.rec[b-dauu9z389q]  { color: var(--st-yellow); background: var(--st-yellow-bg); }
.guide-tag.opt[b-dauu9z389q]  { color: var(--tx-3);      background: rgba(255, 255, 255, 0.05); }
.guide-tag.app[b-dauu9z389q]  { color: var(--st-blue);   background: var(--st-blue-bg); }
.guide-tag.info[b-dauu9z389q] {
    color: var(--acc-bright);
    background: var(--acc-dim);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

/* ── Data & backups (full-width) ── */
.data-card[b-dauu9z389q] {
    grid-column: 1 / -1;
}

.data-path[b-dauu9z389q] {
    font-size: 12px;
    color: var(--tx-1);
    word-break: break-all;
    text-align: right;
}

.data-empty[b-dauu9z389q] {
    font-size: 13px;
    color: var(--tx-faint);
    padding: 4px 0 6px;
}

.data-hint[b-dauu9z389q] {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--tx-faint);
}

.backup-row[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
}

.backup-row:last-of-type[b-dauu9z389q] { border-bottom: none; }

.backup-name[b-dauu9z389q] {
    font-size: 12.5px;
    color: var(--tx-1);
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backup-meta[b-dauu9z389q] {
    font-size: 12px;
    color: var(--tx-3);
    flex: none;
    white-space: nowrap;
}

.backup-dl[b-dauu9z389q] {
    flex: none;
    text-decoration: none;
}

.backup-del[b-dauu9z389q] { flex: none; color: var(--tx-faint); }
.backup-del:hover[b-dauu9z389q] { color: var(--st-red); }

.backup-confirm[b-dauu9z389q] {
    flex: none;
    font-size: 12.5px;
    color: var(--st-red);
}

.backup-del-yes[b-dauu9z389q] {
    flex: none;
    color: var(--st-red);
    background: var(--st-red-bg);
    border: 1px solid var(--st-red);
}

.mirror-head[b-dauu9z389q] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.mirror-label[b-dauu9z389q] { padding: 0; }
.mirror-badge[b-dauu9z389q] { font-size: 11px; }
/* /Components/Shared/GradeCell.razor.rz.scp.css */
.cell-base[b-jhxytlhx68] {
    width: 100%;
    height: 38px;
    border-radius: 9px;
    border: 1px solid transparent;
    display: grid;
    place-items: center;
    font-family: var(--mono);
    font-weight: 700;
    font-size: 13.5px;
    transition: all .15s;
    font-variant-numeric: tabular-nums;
}

.cell-locked[b-jhxytlhx68] {
    color: var(--tx-faint);
    font-weight: 500;
}

.cell-review[b-jhxytlhx68] {
    color: var(--st-yellow);
    background: var(--st-yellow-bg);
    border-color: rgba(231, 193, 75, 0.25);
    cursor: pointer;
}

.cell-rejected[b-jhxytlhx68] {
    color: var(--st-red);
    background: var(--st-red-bg);
    border-color: rgba(232, 128, 107, 0.25);
    cursor: pointer;
}

.cell-done[b-jhxytlhx68] {
    color: var(--tx-1);
    background: rgba(118, 199, 173, 0.07);
    border-color: rgba(118, 199, 173, 0.16);
    cursor: pointer;
}
/* /Components/Shared/LabCard.razor.rz.scp.css */
.labcard[b-6ipt7u07nn] {
    padding: 20px 20px 18px;
    cursor: pointer;
    animation: stagger .5s cubic-bezier(.22, 1, .36, 1) both;
    position: relative;
    overflow: hidden;
}

.glow[b-6ipt7u07nn] {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 90px;
    pointer-events: none;
}

.head-row[b-6ipt7u07nn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    position: relative;
}

.head-left[b-6ipt7u07nn] {
    display: flex;
    align-items: center;
    gap: 11px;
}

.lab-number[b-6ipt7u07nn] {
    font-size: 13px;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 8px;
}

.lab-title[b-6ipt7u07nn] {
    margin: 0;
    font-size: 15.5px;
    font-weight: 680;
    letter-spacing: -0.02em;
}

.deadline-badge[b-6ipt7u07nn] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 7px;
    margin-bottom: 10px;
}

.deadline-text[b-6ipt7u07nn] {
    font-size: 11.5px;
    font-weight: 600;
}

.auto-block[b-6ipt7u07nn] {
    margin-bottom: 16px;
}

.auto-head[b-6ipt7u07nn] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 7px;
}

.auto-label[b-6ipt7u07nn] {
    font-size: 12px;
    color: var(--tx-3);
    font-weight: 500;
}

.auto-value[b-6ipt7u07nn] {
    font-size: 18px;
    font-weight: 750;
}

.auto-suffix[b-6ipt7u07nn] {
    opacity: 0.5;
    font-size: 12px;
}

.unsent-row[b-6ipt7u07nn] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 28px;
    color: var(--tx-faint);
    font-size: 12.5px;
}

.grades-row[b-6ipt7u07nn] {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.overdue-btn[b-6ipt7u07nn] {
    opacity: 0.45;
    cursor: not-allowed;
    color: var(--st-red);
}
/* /Components/Shared/MiniGrade.razor.rz.scp.css */
.box[b-we4qybppab] {
    flex: 1;
    padding: 9px 11px;
    border-radius: 10px;
}

.label[b-we4qybppab] {
    font-size: 10.5px;
    color: var(--tx-3);
    font-weight: 500;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.value[b-we4qybppab] {
    font-size: 22px;
    font-weight: 780;
}
/* /Components/Shared/MiniStat.razor.rz.scp.css */
.wrap[b-iw1mkpanwx] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--tx-3);
}

.dot[b-iw1mkpanwx] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.value[b-iw1mkpanwx] {
    color: var(--tx-1);
    font-weight: 700;
}
/* /Components/Shared/Ring.razor.rz.scp.css */
.wrap[b-3osdbm23zp] {
    position: relative;
    width: 132px;
    height: 132px;
}

svg[b-3osdbm23zp] {
    transform: rotate(-90deg);
}

.progress-circle[b-3osdbm23zp] {
    transition: stroke-dashoffset 1s cubic-bezier(.22, 1, .36, 1);
}

.center[b-3osdbm23zp] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.value[b-3osdbm23zp] {
    font-size: 32px;
    font-weight: 780;
    letter-spacing: -0.03em;
    color: var(--acc-bright);
    line-height: 1;
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
.card[b-zd276zi0sm] {
    padding: 18px 20px;
}

.head[b-zd276zi0sm] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.icon-wrap[b-zd276zi0sm] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
}

.label[b-zd276zi0sm] {
    font-size: 12.5px;
    color: var(--tx-2);
    font-weight: 600;
}

.value[b-zd276zi0sm] {
    font-size: 28px;
    font-weight: 780;
    letter-spacing: -0.03em;
    color: var(--tx-1);
    line-height: 1;
}

.sub[b-zd276zi0sm] {
    font-size: 11.5px;
    color: var(--tx-3);
    margin-top: 6px;
}
/* /Components/Shared/TStat.razor.rz.scp.css */
.card[b-lreyc6n134] {
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
}

.glow[b-lreyc6n134] {
    position: absolute;
    right: -20px;
    top: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    pointer-events: none;
}

.head[b-lreyc6n134] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    position: relative;
}

.icon-wrap[b-lreyc6n134] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
}

.hint-badge[b-lreyc6n134] {
    margin-left: auto;
    height: 22px;
}

.value[b-lreyc6n134] {
    font-size: 30px;
    font-weight: 790;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--tx-1);
}

.label[b-lreyc6n134] {
    font-size: 12.5px;
    color: var(--tx-3);
    margin-top: 7px;
    font-weight: 500;
}
