.student-card,.student-tile,.seat-student,.team-student,.face-card{position:relative}.student-comment-button{position:absolute;right:7px;top:7px;z-index:4;padding:5px 8px!important;min-height:0!important;border:1px solid #9fb4ca!important;border-radius:999px!important;background:#fff!important;color:#16324f!important;font-size:.7rem!important;font-weight:800!important;box-shadow:0 2px 7px rgba(10,30,55,.16)}
.comments-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(3,15,31,.72);backdrop-filter:blur(4px)}.comments-dialog{width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:20px;background:#f8fbff;color:#13263a;box-shadow:0 25px 80px rgba(0,0,0,.38)}.comments-dialog header{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;background:#102942;color:#fff}.comments-dialog h2{margin:2px 0;font-size:1.6rem}.comments-dialog header p{margin:0;color:#bed0e2}.comments-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:#55dfcf}.comments-close{width:38px;height:38px;border:0;border-radius:50%;background:#fff!important;color:#102942!important;font-size:1.5rem}.comments-form{padding:18px 22px;border-bottom:1px solid #d9e3ed}.comments-subjects,.comments-filter,.comments-actions{display:flex;gap:8px;flex-wrap:wrap}.comment-subject,.comments-filter button{border:1px solid #b7c7d7!important;background:#fff!important;color:#1d3d5c!important}.comment-subject.active,.comments-filter button.active{background:#157d73!important;border-color:#157d73!important;color:#fff!important}.comments-form label{display:grid;gap:6px;margin-top:13px;font-weight:800}.comments-form textarea,.comments-form select{width:100%;box-sizing:border-box;border:1px solid #adc0d2;border-radius:10px;padding:10px;font:inherit;background:#fff;color:#13263a}.comments-save{background:#157d73!important;color:#fff!important}.comments-export{background:#294d73!important;color:#fff!important}.comments-filter{padding:12px 22px;background:#eef4fa}.comments-history{display:grid;gap:10px;padding:16px 22px 22px}.comment-record{border:1px solid #d5e0eb;border-radius:12px;padding:12px;background:#fff}.comment-record>div{display:flex;justify-content:space-between;gap:10px}.comment-record time{font-size:.75rem;color:#61778d}.comment-record p{margin:8px 0;white-space:pre-wrap}.comment-record>button{padding:4px 7px!important;background:transparent!important;color:#a62a2a!important;border:0!important}.comments-empty{text-align:center;padding:22px;color:#61778d}
.comments-rating{margin:13px 0 0;padding:10px 12px;border:1px solid #d5e0eb;border-radius:10px}.comments-rating legend{padding:0 5px;font-weight:800}.comments-rating>div{display:flex;gap:3px}.comment-star{padding:2px!important;border:0!important;background:transparent!important;color:#a9b4c0!important;font-size:1.8rem!important;line-height:1!important}.comment-star.active{color:#f2ad16!important}.comments-rating small{color:#61778d}.saved-stars{white-space:nowrap;color:#e7a313;letter-spacing:.05em}
.comment-star:disabled{cursor:default;opacity:1!important}.comments-rating:has(.comment-star:disabled){border-color:#efbd52;background:#fff9e8}.comments-rating:has(.comment-star:disabled) small{font-weight:800;color:#76520b}
@media(max-width:640px){.comments-dialog{max-height:96vh}.comments-dialog header,.comments-form,.comments-history{padding-left:14px;padding-right:14px}.comment-record>div{display:grid}.student-comment-button{font-size:.64rem!important}}
.student-comments-page{min-height:calc(100vh - 120px);padding:0 0 28px}.comments-page-header{display:flex;align-items:center;gap:20px;margin-bottom:18px;padding:18px 22px;border-radius:18px;background:linear-gradient(135deg,#102942,#1f4c68);color:#fff}.comments-page-header h1{margin:2px 0;font-size:clamp(1.6rem,3vw,2.4rem)}.comments-page-header p{margin:0;color:#c5d9e8}.comments-page-header button{flex:0 0 auto;background:#fff!important;color:#16324f!important;border:0!important}.comments-page-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:18px}.comments-entry-card,.comments-reference-card{padding:20px;border:1px solid #d6e1eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,48,75,.08)}.comments-entry-card h2,.comments-reference-card h2{margin-top:0}.comments-entry-card>label,.comments-history-head label{display:grid;gap:6px;margin:13px 0;font-weight:800}.comments-entry-card select,.comments-entry-card textarea,.comments-history-head select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #aebfd0;border-radius:10px;background:#fff;color:#142c42;font:inherit}.comments-history-head{display:flex;align-items:end;justify-content:space-between;gap:15px}.comments-history-head label{width:150px;margin-top:0}.student-comments-page .comments-history{padding:12px 0 0}.student-comments-page .comments-kicker{color:#59dfd1}
@media(max-width:780px){.comments-page-grid{grid-template-columns:1fr}.comments-page-header{align-items:flex-start;flex-direction:column;gap:12px}.comments-history-head{align-items:stretch;flex-direction:column}.comments-history-head label{width:100%}}
.comments-class-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.comments-roster{overflow:hidden;border:1px solid #d6e1eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,48,75,.08)}.comments-roster h2{margin:0;padding:16px 17px;background:#eaf2f8;font-size:1rem}.comments-roster>div{max-height:660px;overflow:auto}.roster-student{display:grid!important;grid-template-columns:34px 1fr;width:100%;gap:8px;padding:10px 12px!important;border:0!important;border-bottom:1px solid #e3eaf1!important;border-radius:0!important;background:#fff!important;color:#17324d!important;text-align:left!important}.roster-student span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7eef5;font-weight:800}.roster-student.active{background:#e8faf7!important;box-shadow:inset 4px 0 #168276}.roster-student.active span{background:#168276;color:#fff}.selected-student{display:flex;align-items:center;gap:12px;margin:-4px 0 16px;padding-bottom:13px;border-bottom:1px solid #e2e9f0}.selected-student>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#163b5b;color:#fff;font-size:1.1rem;font-weight:900}.selected-student h2{margin:1px 0}.monthly-rewards-card{margin-top:18px;padding:20px;border:1px solid #d6e1eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,48,75,.08)}.monthly-rewards-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.monthly-rewards-head h2{margin:3px 0}.monthly-rewards-head p{margin:0;color:#64798d}.monthly-rewards-head label{display:grid;gap:5px;font-weight:800}.monthly-rewards-head input{padding:9px;border:1px solid #afc0d0;border-radius:9px;font:inherit}.rewards-summary{margin:16px 0 8px;color:#60778c;font-weight:800}.rewards-table{overflow:hidden;border:1px solid #d7e1ea;border-radius:12px}.rewards-row{display:grid;grid-template-columns:55px 1fr 130px;align-items:center;min-height:42px;padding:0 12px;border-bottom:1px solid #e2e9ef}.rewards-row:last-child{border-bottom:0}.rewards-heading{background:#122f49;color:#fff}.rewards-row b{text-align:right;font-variant-numeric:tabular-nums}.rewards-row b.positive{color:#087967}.rewards-row b.negative{color:#b33535}
@media(max-width:900px){.comments-class-grid{grid-template-columns:1fr}.comments-roster>div{max-height:260px}.monthly-rewards-head{align-items:stretch;flex-direction:column}.monthly-rewards-head button{align-self:flex-start}}@media(max-width:520px){.rewards-row{grid-template-columns:38px 1fr 90px;padding:0 8px}.rewards-heading b{font-size:.75rem}}

.roster-nickname{display:block;margin-top:2px;color:#61788d;font-size:.72rem;font-weight:650;line-height:1.2}.selected-nickname{margin:2px 0 0;color:#526d84}.rewards-row .roster-nickname{font-size:.74rem;font-weight:650}
.comments-dictation{display:grid;grid-template-columns:minmax(170px,1fr) auto;align-items:end;gap:8px;margin:10px 0 14px;padding:11px;border:1px solid #bfd0dc;border-radius:11px;background:#edf7f7}.comments-dictation label{display:grid;gap:5px;color:#17324d;font-size:.76rem;font-weight:800}.comments-dictation select{width:100%;padding:9px;border:1px solid #aebfd0;border-radius:8px;background:#fff;color:#142c42;font:inherit}.comments-dictate{min-height:40px;border:0!important;border-radius:9px!important;background:#157d73!important;color:#fff!important;font-weight:850!important}.comments-dictate.recording{background:#b42f3a!important;box-shadow:0 0 0 4px rgba(180,47,58,.14)}.comments-dictate:disabled{background:#8799a8!important;cursor:not-allowed}.comments-dictation-status{grid-column:1/-1;color:#526d84;line-height:1.35}@media(max-width:520px){.comments-dictation{grid-template-columns:1fr}.comments-dictation-status{grid-column:auto}}
