#studentCodeBatchForm { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 20px 0; }
#studentCodeBatchForm label { display: block; min-width: 0; font-size: 17px; line-height: 1.7; color: #49665a; }
#studentCodeBatchForm input, #studentCodeBatchForm select { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: 8px; padding: 14px; border: 1px solid #d6e4dc; border-radius: 12px; background: #f8fbf7; color: #2e5244; font-size: 18px; }
#studentCodeBatchForm small { display: block; margin-top: 8px; font-size: 15px; color: #70827a; }
#studentCodeBatchForm .primary { grid-column: 1 / -1; min-height: 54px; height: auto; padding: 14px; font-size: 18px; }
#studentCodesSection .field-note, .student-codes-card .field-note { color: #70827a; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
#studentCodeBatchList .case-card { grid-template-columns: minmax(0,1fr) auto; }
#studentCodeBatchList .case-body { min-width: 0; }
#studentCodeBatchList .case-body h4 { font-size: 20px; }
#studentCodeBatchList .case-body p, #studentCodeBatchList button { font-size: 17px; }
.student-codes-card { width: min(850px,calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: auto; box-sizing: border-box; }
.student-codes-table { width: 100%; overflow-x: auto; }
.student-codes-table table { border-collapse: collapse; width: 100%; font-size: 18px; }
.student-codes-table th, .student-codes-table td { padding: 14px 10px; border-bottom: 1px solid #e4eee8; text-align: left; white-space: nowrap; }
.student-codes-table code { font-size: 19px; letter-spacing: 1px; color: #265a49; }
.student-codes-table button { font-size: 16px; }
@media (max-width: 760px) { #studentCodeBatchForm, #studentCodeBatchList .case-card { grid-template-columns: minmax(0,1fr); } }
.special-consent > summary { cursor: pointer; color: #367b69; font-size: 16px; line-height: 1.8; font-weight: 650; }
.special-consent { display: block; }
.special-consent button { margin-top: 10px; }
#publicExperienceGuide p { color: #49665a; font-size: 16px; line-height: 1.8; }
#externalAuthorizationForm { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 20px 0; }
#externalAuthorizationForm label { min-width: 0; font-size: 17px; line-height: 1.8; color: #49665a; }
#externalAuthorizationForm input:not([type="checkbox"]), #externalAuthorizationForm select, #externalAuthorizationForm textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: 8px; padding: 14px; border: 1px solid #d6e4dc; border-radius: 12px; font: inherit; background: #f8fbf7; color: #2e5244; }
#externalAuthorizationForm small { display: block; color: #70827a; font-size: 15px; line-height: 1.8; }
#externalAuthorizationForm .authorization-wide { grid-column: 1 / -1; }
#externalAuthorizationForm .authorization-confirm { display: flex; align-items: flex-start; gap: 10px; }
#externalAuthorizationForm input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 5px; accent-color: #367b69; }
#externalAuthorizationForm .authorization-scopes { display: flex; flex-wrap: wrap; gap: 12px 30px; }
#externalAuthorizationForm .authorization-scopes small { flex-basis: 100%; }
#externalAuthorizationForm summary { cursor: pointer; color: #367b69; font-size: 17px; }
#externalAuthorizationForm .primary { min-height: 54px; height: auto; padding: 14px; font-size: 18px; }
@media (max-width: 760px) { #externalAuthorizationForm { grid-template-columns: minmax(0,1fr); } }
