/* Portraits have their own size; class covers keep their existing presentation. */
.student-class-dialog.student-teacher-profile{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 48px);padding:16px;overflow:auto;overscroll-behavior:contain}
.student-class-dialog.student-teacher-profile .teacher-profile-portrait{display:block;box-sizing:border-box;width:128px!important;height:128px!important;max-width:100%;max-height:none;object-fit:contain;object-position:center;margin:12px auto 16px;border:1px solid var(--line);border-radius:8px}
.student-class-dialog.student-teacher-profile h2{text-align:center;font-size:20px;line-height:1.25;margin:10px 0}
.student-class-dialog.student-teacher-profile p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.student-class-dialog.student-teacher-profile .class-topline{position:sticky;top:-16px;z-index:1;background:var(--panel);padding:8px 0;gap:8px}
.student-class-dialog.student-teacher-profile [data-back]{display:block;width:100%;margin-top:12px}
/* Intrinsic widths of native date inputs must not dictate grid column size. */
@media(max-width:820px){
 .admin-main,.analytics-section,#proView,.analytics-header,.analytics-controls,.pro-toolbar,.pro-grid,.pro-card{min-width:0;box-sizing:border-box;max-width:100%}
 .analytics-section .analytics-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .analytics-section .analytics-controls>select,.analytics-section .analytics-controls>input{grid-column:auto;width:100%!important;min-width:0!important;max-width:100%!important;height:40px;min-height:40px;box-sizing:border-box;margin:0;padding:0 8px;border-radius:0;-webkit-appearance:none;appearance:none;font-size:16px;letter-spacing:0}
 .analytics-section .analytics-controls>button{grid-column:1/-1;min-width:0;width:100%;min-height:42px;height:auto;padding:10px;font-size:10px;line-height:1.3}
 #proView #proRange{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end;width:100%}
 #proView #proRange>label{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:12px}
 #proView #proRange input{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;height:42px;min-height:42px;padding:0 8px;margin:0;font-size:16px;-webkit-appearance:none;appearance:none}
 #proView #proRange>button{grid-column:1/-1;width:100%;margin:0}
 .admin-main input[type=date]::-webkit-date-and-time-value,.admin-dialog input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
 .admin-main input[type=date]::-webkit-datetime-edit,.admin-dialog input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
 #proView>.pro-toolbar:not(form){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #proView>.pro-toolbar:not(form)>h2{grid-column:1/-1;margin:0 0 4px;font-size:20px}
 #proView>.pro-toolbar:not(form)>button{width:100%;min-width:0;min-height:40px;padding:8px;font-size:12px;white-space:normal}
 #proView .pro-card{padding:12px}
 #proView .pro-card strong.pro-number{font-size:24px;margin-top:6px}
 #proView .pro-card p{font-size:12px}
 .academy-class-card{box-sizing:border-box;min-width:0;max-width:100%;padding:12px}
 .academy-class-card-head{gap:8px;align-items:flex-start}
 .academy-class-card-head>div{min-width:0;overflow-wrap:anywhere}
 .academy-class-card-head>div>strong{font-size:15px;line-height:1.35}
 .academy-class-state{flex-shrink:0;font-size:9px;padding:6px}
 .academy-class-card .academy-class-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0}
 .academy-class-card .academy-class-card-actions>button{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px;height:auto;margin:0;padding:8px 5px;font-size:10px;line-height:1.3;letter-spacing:.4px;white-space:normal;overflow-wrap:normal}
 .academy-class-card-stats,.academy-class-schedules{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
 :root[data-admin-theme="light"] .analytics-section .analytics-controls>input,:root[data-admin-theme="light"] .analytics-section .analytics-controls>select{border-radius:6px}
}
@media(max-width:360px){
 #proView #proRange{grid-template-columns:minmax(0,1fr)}
 .analytics-section .analytics-controls{grid-template-columns:minmax(0,1fr)}
 .student-class-dialog.student-teacher-profile{padding:12px}
}
