.msp-profile { display: grid; gap: 1rem; min-width: 0; }
.msp-profile h2 { font-size: 1.5rem; font-weight: 850; }
.msp-profile h3 { font-size: 1.05rem; font-weight: 800; margin-top: .4rem; }
.msp-profile p { font-size: .9rem; line-height: 1.6; }
.msp-field { display: grid; gap: .4rem; font-size: .88rem; font-weight: 700; min-width: 0; }
.msp-profile input, .msp-profile select, .msp-profile textarea { color: inherit; background: var(--background); border: 1px solid var(--border); border-radius: .6rem; padding: .65rem .75rem; min-height: 44px; min-width: 0; width: 100%; font: inherit; }
.msp-profile textarea { min-height: 90px; }
.msp-profile input:focus, .msp-profile select:focus, .msp-profile textarea:focus { outline: 2px solid var(--primary); outline-offset: 2px; }
.msp-profile button { border: 1px solid var(--border); border-radius: .7rem; min-height: 44px; padding: .65rem 1rem; font-weight: 750; cursor: pointer; }
.msp-profile button:disabled { opacity: .5; cursor: default; }
.msp-profile button[aria-pressed=true] { color: var(--primary-foreground); background: var(--primary); }
.msp-profile-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.msp-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.msp-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: .8rem; overscroll-behavior-x: contain; }
.msp-table-scroll table { border-collapse: collapse; min-width: 100%; text-align: left; }
.msp-table-scroll th, .msp-table-scroll td { border-bottom: 1px solid var(--border); padding: .7rem; min-width: 112px; font-size: .85rem; vertical-align: top; }
.msp-table-scroll th:first-child, .msp-table-scroll td:first-child { position: sticky; left: 0; background: var(--background); z-index: 1; min-width: 60px; }
.msp-table-scroll thead th { background: var(--muted); font-weight: 800; }
.msp-table-scroll input { width: 115px; }
.msp-table-scroll tr[data-status=REVIEW] td:last-child { color: #bc7014; font-weight: 750; }
.msp-table-scroll tr[data-status=INCOMPLETE] td:last-child { color: #b93e41; }
.msp-test-note, .msp-total { padding: .8rem 1rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--muted); }
.msp-test-history, .msp-course { border: 1px solid var(--border); border-radius: .8rem; padding: 1rem; min-width: 0; }
.msp-test-history summary, .msp-course summary { cursor: pointer; font-weight: 800; min-height: 44px; }
.msp-test-history[open] { display: grid; gap: .8rem; }
.msp-courses { display: grid; gap: 1rem; }
.msp-course article { margin-top: 1rem; line-height: 1.7; }
.msp-course h3 { font-weight: 800; }
.msp-course p { margin-top: .35rem; font-size: .95rem; }
@media (min-width: 900px) { .msp-config-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
