.access-card{max-width:520px;background:white;border:1px solid var(--line);border-radius:12px;padding:36px;margin:65px auto}.access-card h1{font-size:31px}.access-card p{font-size:15px}.access-card label,dialog form label{display:block;font-size:13px;font-weight:600;margin:17px 0 7px}.access-card input,dialog input,dialog textarea,dialog select,.roster-filters input,.roster-filters select{width:100%;min-height:45px;border:1px solid #cbd8e3;border-radius:6px;background:#fff;padding:10px 12px;color:var(--text)}.access-card #access-code{font-family:ui-monospace,monospace;font-size:14px;letter-spacing:.3px}.access-card .wide{margin-top:12px}.form-error{color:#a44139;font-size:13px!important;min-height:0;margin:10px 0}.access-help{font-size:12px!important;color:var(--muted);margin:20px 0}.instructor-link{font-size:12px;color:var(--muted)}.account-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 36px;background:white;border-bottom:1px solid var(--line);font-size:13px}.account-strip .muted{margin-left:10px}.account-strip .button{min-height:34px;padding:5px 10px;font-size:12px}.attempt-label{display:inline-block;font-size:11px;font-weight:650;padding:4px 8px;border-radius:4px;color:var(--teal);background:#edf5f1;margin-bottom:12px}.admin-main{max-width:1440px;margin:auto;padding:39px 36px 60px}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.admin-heading h1{font-size:34px;margin-bottom:12px}.admin-heading p{font-size:15px}.admin-heading-actions{display:flex;gap:10px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.admin-stats>div{display:grid;gap:7px;align-content:start;background:white;border:1px solid var(--line);border-radius:8px;padding:22px}.admin-stats span{font-size:13px;color:var(--muted)}.admin-stats strong{font-size:31px;color:var(--navy);font-weight:600}.admin-stats small{font-size:11px;color:var(--muted)}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.roster-panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.roster-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px}.roster-toolbar h2{font-size:21px;margin-bottom:6px}.roster-toolbar p{font-size:12px;color:var(--muted);margin:0}.roster-filters{display:flex;gap:10px}.roster-filters input{width:210px;font-size:13px;min-height:38px}.roster-filters select{width:160px;font-size:13px;min-height:38px}.roster-scroll{overflow:auto}.roster-table{border-collapse:collapse;width:100%;font-size:13px;min-width:880px}.roster-table th{background:#edf3f8;text-align:left;font-size:11px;letter-spacing:.4px;font-weight:650;color:#62788c;padding:12px 19px}.roster-table td{padding:18px 19px;border-top:1px solid #e5ebf1;vertical-align:top}.roster-table strong{display:block;font-weight:600}.roster-table small{display:block;color:var(--muted);font-size:11px;margin-top:6px;white-space:nowrap}.roster-table .row-actions .button{padding:4px 7px;font-size:12px;min-height:30px}.admin-empty{padding:55px 25px 65px;text-align:center;background:#fbfdff;border-top:1px solid var(--line)}.admin-empty h3{font-size:21px}.admin-empty p{color:var(--muted);font-size:14px}.admin-footnote{font-size:12px;line-height:1.8;color:var(--muted);margin-top:19px;max-width:1000px}.admin-no-match{padding:25px;font-size:14px;color:var(--muted)}.form-columns{display:grid;grid-template-columns:1fr 140px;gap:18px}dialog textarea{resize:vertical;font-size:14px;line-height:1.8}.issued-codes{max-height:45vh;overflow:auto;border:1px solid var(--line);border-radius:6px}.issued-codes>div{display:grid;grid-template-columns:1fr auto;gap:7px;padding:15px;border-bottom:1px solid var(--line)}.issued-codes>div:last-child{border:0}.issued-codes strong{font-size:14px}.issued-codes span{font-size:12px;color:var(--muted)}.issued-codes code{grid-column:1/-1;font-size:13px;color:var(--blue);letter-spacing:.25px;overflow-wrap:anywhere}.storage-warning{max-width:520px;white-space:normal}
.code-tools{display:flex;align-items:center;gap:8px}.resident-code-cell{min-width:150px}.resident-code{font-family:ui-monospace,monospace;font-size:16px;font-weight:650;letter-spacing:1.5px;color:var(--navy);user-select:all}.copy-code.button{padding:4px 7px;min-height:32px;font-size:12px}.access-card #access-code{font-size:22px;letter-spacing:5px;text-transform:uppercase}.issued-codes code{font-size:20px;letter-spacing:3px}.roster-table{min-width:1030px}
@media(max-width:900px){.roster-toolbar{align-items:flex-start;flex-direction:column}.admin-main{padding:28px 22px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-heading-actions{flex-direction:column}.account-strip{padding:8px 20px}.account-strip .muted{display:block;margin-left:0;font-size:11px}}
@media(max-width:600px){.access-card{margin:28px 18px;padding:28px 23px}.access-card h1{font-size:27px}.admin-main{padding:27px 16px}.admin-heading{flex-direction:column;gap:5px}.admin-heading h1{font-size:29px}.admin-heading-actions{flex-direction:row}.admin-stats{gap:11px}.admin-stats>div{padding:18px 16px}.admin-stats strong{font-size:27px}.admin-stats span{font-size:12px}.roster-toolbar{padding:20px}.roster-filters{flex-wrap:wrap;width:100%}.roster-filters input,.roster-filters select{width:100%}.form-columns{grid-template-columns:1fr}.account-strip{font-size:12px}}

.admin-notice{padding:14px 18px;border:1px solid #b7d7c8;border-radius:7px;background:#eff8f2;color:#225c40;font-size:14px}.button.quiet.danger-text{color:#a13333}.button.quiet.danger-text:hover{background:#fbeeee;color:#822727}.button.danger{background:#a13333;color:#fff}.button.danger:hover{background:#822727}.delete-resident-identity{overflow-wrap:anywhere}.delete-summary{background:#fcf3f2;border:1px solid #e7c6c2;border-radius:7px;padding:16px 18px;font-size:14px}.delete-summary ul{margin:8px 0 12px}.delete-summary p{margin:0}.roster-table .row-actions .button{display:flex;white-space:nowrap}.roster-table .row-actions{min-width:150px}
@media(max-width:600px){.roster-table .row-actions .button{min-height:44px}.modal-buttons .button{min-width:120px}}

/* Personalized learner identity also stays readable with long names. */
.resident-welcome,.result-resident{overflow-wrap:anywhere}.result-resident{margin:10px 0 16px}.result-resident strong{display:block;font-size:1.125rem;color:var(--navy,#132d47)}.result-resident span{display:block;font-size:.875rem;color:var(--muted,#5c7080);margin-top:4px}.account-strip>span{min-width:0;overflow-wrap:anywhere}.account-strip>.button{flex-shrink:0}
