*{box-sizing:border-box}body{margin:0;background:#f7f4f2;color:#111d31;font-family:"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.75}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button{border:0;border-radius:11px;padding:12px 18px;font-weight:700}a{color:#7c1837}.layout{width:min(1180px,calc(100% - 32px));margin:30px auto 60px}.login{max-width:530px;margin:7vh auto}.top{padding:16px max(16px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e7dee0;gap:12px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.brand strong{display:block;font-size:1.15rem}.brand small{display:block;color:#68758b}.top .brand{margin:0}.panel{background:#fff;border:1px solid #e6dfe1;border-radius:18px;padding:23px;margin:16px 0;box-shadow:0 8px 27px #111d3109}.eyebrow{font-size:.8rem;color:#8a1f39;font-weight:800}.panel h1,.panel h2,.panel h3{margin:0 0 10px}.hint,small,.meta{color:#68758b}.hint{font-size:.85rem}.primary{background:#8a1f39;color:white}.secondary{background:#f4ecee;color:#17243b;border:1px solid #e8d9df}.back{padding:9px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field,label{display:block;margin:12px 0;font-weight:600}input,select,textarea{width:100%;border:1px solid #cdd3de;border-radius:10px;padding:11px 13px;background:white;color:#13213b}input:focus,select:focus,textarea:focus{outline:3px solid #eacbd3;border-color:#8a1f39}textarea{min-height:92px;resize:vertical}.panel .primary{margin-top:10px}.summary{background:#f7f2ef;border-radius:12px;padding:16px;margin:10px 0}.metric{border-radius:12px;padding:15px;background:#fbf8f7;border:1px solid #e9dfe1}.metric strong{font-size:2rem;color:#8a1f39;display:block}.actions{display:flex;gap:10px;flex-wrap:wrap}.list{display:grid;gap:9px}.list button{text-align:right;background:#f9f5f2;border:1px solid #e9dfe1}.list button.active{border-color:#8a1f39;background:#faedf1}.tag{padding:3px 8px;border-radius:8px;background:#f1edf1;color:#82344a;font-size:.85rem;display:inline-block}.danger{color:#aa1238}.tableScroll{overflow-x:auto}.dataTable{width:100%;border-collapse:collapse;min-width:560px}.dataTable th,.dataTable td{text-align:right;border-bottom:1px solid #eee;padding:10px 8px}.dataTable th{color:#66758a;font-size:.88rem}.bar{height:8px;background:#e9e1e4;border-radius:8px;overflow:hidden}.bar>span{display:block;height:100%;background:#8a1f39}.notice{padding:12px 16px;border:1px solid #ead6d5;border-radius:12px;background:#fff8f7;color:#4b3d45}.course{border-inline-start:4px solid #8a1f39;padding:10px 14px;background:#faf6f4;border-radius:10px}.profileHero{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.avatar{width:70px;height:70px;border-radius:18px;background:#101f3c;color:white;display:grid;place-items:center;font-size:1.6rem;font-weight:800}.studentSummary{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:18px}#instructorError,#createStatus,#profileStatus{font-weight:600}.loading{color:#637084}.print{background:#fff;border:1px solid #d2c6c9}.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:760px){.studentSummary,.grid,.grid.three{grid-template-columns:1fr}.top{align-items:flex-start}.layout{width:calc(100% - 20px);margin:12px auto}.panel{padding:16px}.top .brand small{font-size:.72rem}}@media print{.top,.actions,.back,button,form{display:none!important}.layout{width:100%;margin:0}.panel{box-shadow:none;break-inside:avoid}}
/* Keep first-login forms readable on compact iPhone layouts and with large text. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.top .brand{min-width:0;flex:1}
.top .brand strong{overflow-wrap:anywhere}
.top button{flex:0 0 auto;max-width:37%}
.panel h1{font-size:clamp(1.55rem,5vw,2rem);line-height:1.5;overflow-wrap:break-word}
#firstProfessorPassword,#changeProfessorPassword{max-width:680px}
#firstProfessorPassword button,#changeProfessorPassword button{min-height:46px}
#activateMessage,#passwordStatus{min-height:1.4em;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:430px){.top{padding:12px;align-items:center}.top .brand{gap:8px}.top .brand img{width:40px}.top button{padding:9px 12px;max-width:34%}.top .brand strong{font-size:1rem}.layout{width:calc(100% - 20px)}.panel{padding:16px}.panel h1{font-size:1.65rem}}

.passwordReveal{display:flex;align-items:center;gap:10px;font-size:.9rem}.passwordReveal input{width:20px;height:20px;flex:none}
@media print{
  .top,#instructorApp>.panel,#instructorApp>.studentSummary>aside,#groupResults,.studentSummary .print{display:none!important}
  .studentSummary{display:block!important}
  #individualResult{width:100%;display:block!important}
  #professorSummaryPrintable{display:block!important;width:100%;margin:0;padding:0;border:0;box-shadow:none}
  #professorSummaryPrintable .grid.three{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
  #professorSummaryPrintable .tableScroll{overflow:visible}
  #professorSummaryPrintable .dataTable{min-width:0;width:100%}
  body{background:white;color:#111d31}
}


.instructorIdentityLink{position:fixed;bottom:16px;inset-inline-start:16px;z-index:85;display:flex;gap:10px;align-items:center;padding:8px 14px;max-width:260px;border:1px solid #c7cbd3;border-radius:50px;background:#fffdfa;color:#18253b;text-decoration:none;box-shadow:0 5px 24px #0002;font:14px/1.5 Tahoma,sans-serif}.instructorIdentityLink b{display:block;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instructorIdentityLink small{font-size:11px;color:#526077}.instructorIdentityAvatar{display:flex;flex:none;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:#e8d6bd;color:#18253b;border:2px solid white;box-shadow:0 0 0 1px #b69767;font-size:24px;font-weight:800}#instructorApp{padding-bottom:95px}#instructorProfile{scroll-margin-top:20px}.instructorIdentityLink:focus-visible{outline:3px solid #8a1f39;outline-offset:4px}@media(max-width:600px){.instructorIdentityLink{max-width:220px}.instructorIdentityLink b{max-width:150px}.instructorIdentityAvatar{width:36px;height:36px}}@media print{.instructorIdentityLink{display:none!important}#instructorApp{padding-bottom:0}}
