.management{color:var(--text,#e4f1ff);width:100%;min-width:0}.management h1,.management h2,.management h3,.management p{margin:0}.management-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.management-heading h1{font-size:27px;font-weight:650;letter-spacing:1px;line-height:1.4;margin:7px 0}.section-eyebrow{font-size:12px;letter-spacing:2.7px;color:var(--cyan,#38e7f5);font-weight:600}.management-heading p{font-size:13px;line-height:1.8}.management-heading-actions{display:flex;gap:10px;align-items:center}.management .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;cursor:pointer}.management .button:disabled{cursor:wait;opacity:.55}.heading-count{font-size:13px;letter-spacing:0;vertical-align:middle;font-weight:500;color:var(--cyan,#35def1);background:rgba(30,211,241,.08);border:1px solid rgba(30,211,241,.19);padding:3px 8px;border-radius:5px;margin-left:7px}.management .panel{position:relative;border:1px solid var(--border,#163a54);background:linear-gradient(135deg,rgba(14,39,60,.86),rgba(7,22,39,.91));border-radius:10px}.management .panel:before{content:"";position:absolute;width:28px;height:1px;background:var(--cyan,#33def1);top:-1px;left:20px;opacity:.6}.management-toolbar{display:flex;align-items:center;gap:16px;padding:15px 18px;margin-bottom:22px}.management-search{position:relative;flex:1;max-width:420px}.management-search>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#6794b1;pointer-events:none}.management-search .input{padding-left:41px;width:100%}.management-toolbar>select{width:200px}.management-result-count{margin-left:auto;font-size:12px;color:var(--muted,#83a4bf);white-space:nowrap}.management .input{min-width:0;box-sizing:border-box;color:var(--text,#e6f2ff);background:#081a2b;border:1px solid #244861;border-radius:6px;padding:10px 12px;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;color-scheme:dark}.management .input::placeholder{color:#597b94}.management .input:focus{border-color:var(--cyan,#2ce2f4);box-shadow:0 0 0 3px #24d9f114}.management select.input{padding-right:28px}.management textarea.input{resize:vertical;line-height:1.8;min-height:100px}.management-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.management-student-card{padding:22px 20px 0;overflow:hidden;transition:border-color .2s,transform .2s}.management-student-card:hover{border-color:#286688;transform:translateY(-2px)}.student-card-top{display:flex;align-items:center;gap:13px}.management-avatar{display:inline-flex;width:42px;height:42px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;font-weight:600;font-size:17px;letter-spacing:0;object-fit:cover;border:1px solid #45dcec70;background:radial-gradient(circle at 30% 20%,#196279,#0c293f);color:#a6f5fc;box-shadow:0 0 16px #21bbdf12}.management-avatar.avatar-large{width:54px;height:54px;font-size:23px}.management .avatar-tone-1{color:#b8c9ff;background:radial-gradient(circle at 30% 20%,#3a497f,#14243e);border-color:#738dce70}.management .avatar-tone-2{color:#a9efcf;background:radial-gradient(circle at 30% 20%,#245d56,#0f2934);border-color:#58b8a470}.management .avatar-tone-3{color:#ecc2f0;background:radial-gradient(circle at 30% 20%,#614675,#232239);border-color:#b585c570}.management .avatar-tone-4{color:#f9daaa;background:radial-gradient(circle at 30% 20%,#716044,#29323e);border-color:#c8a56d70}.student-card-identity{min-width:0;flex:1}.student-card-identity h2{font-size:18px;line-height:1.6;white-space:nowrap}.student-card-identity small{font-size:12px;font-weight:400;color:var(--muted,#839db1);margin-left:4px}.student-code{font:12px ui-monospace,SFMono-Regular,monospace;color:#77a9c6;letter-spacing:1px}.management-icon-button{width:30px;height:30px;padding:5px!important;border-color:#234860!important;color:#8eb6ce!important}.student-meta{display:flex;gap:7px;margin:17px 0}.student-meta>span{font-size:12px;color:#9ab8ce;padding:3px 8px;border:1px solid #29465e;border-radius:4px;background:#10263b}.student-project{display:flex;align-items:center;gap:11px;background:#05162588;border:1px solid #17384e;padding:12px;border-radius:6px}.project-marker{width:9px;height:9px;flex:0 0 auto;border:1px solid var(--cyan,#36d6eb);transform:rotate(45deg);box-shadow:0 0 12px #26def02a}.student-project strong{display:block;font-size:13px;font-weight:500;color:#b9d9eb}.student-project div>span{display:block;font-size:12px;color:#678ea8;margin-top:5px}.student-family{display:flex;flex-direction:column;gap:10px;margin:19px 0}.student-family>div{display:flex;align-items:center;justify-content:space-between;font-size:12px}.student-family dt{color:#718fa7}.student-family dd{color:#abc6d8;margin:0}.tabular{font-variant-numeric:tabular-nums}.student-detail-button{border:0;border-top:1px solid #1a3c55;width:calc(100% + 40px);margin-left:-20px;padding:13px 20px;background:rgba(16,43,65,.36);text-align:left;font:inherit;font-size:12px;color:#75b9d9;cursor:pointer}.student-detail-button>span{float:right;color:var(--cyan,#34e1f2)}.student-detail-button:hover{background:#16435c66;color:#bbf5ff}.management-empty{padding:65px 30px;text-align:center;grid-column:1/-1;min-width:0}.management-empty h3{font-size:17px;font-weight:500;line-height:1.6;margin:17px 0 8px}.management-empty p{font-size:13px;color:var(--muted,#7296b0);line-height:1.8}.empty-orbit{display:inline-block;width:38px;height:38px;border:1px solid #2b718c;transform:rotate(45deg);position:relative;box-shadow:0 0 25px #11bce810}.empty-orbit:before{content:"";position:absolute;inset:9px;border:1px solid #40d4e5;background:#0b52635c}.management-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.management-group-card{padding:21px}.group-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.group-orbit{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid #1b5471;background:#0e3147}.group-orbit>span{width:16px;height:16px;transform:rotate(30deg);border:1px solid #38e0ed;box-shadow:inset 0 0 12px #23d7ff33,0 0 14px #23d7ff11}.management .badge{font-size:12px;font-weight:500;letter-spacing:0;white-space:nowrap;border:1px solid #27516c;background:#10334a;color:#9ac9df;padding:4px 8px;border-radius:4px;line-height:1.4;display:inline-block}.management-group-card h2{font-size:20px;line-height:1.5;margin-bottom:6px}.group-project-name{font-size:12px;color:#60c9df}.group-description{font-size:12px;line-height:1.85;color:#85a4ba;margin:18px 0!important;min-height:66px;white-space:pre-line;overflow-wrap:anywhere}.group-card-footer{padding-top:15px;border-top:1px solid #193d57;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.group-card-footer strong{font-weight:500;color:#b3cddd;margin-left:7px}.group-card-footer .button{font-size:12px;padding:7px 12px}.management-sessions{overflow:hidden}.management-section-title{display:flex;align-items:center;justify-content:space-between;padding:24px 23px;border-bottom:1px solid #1b3e56;gap:15px}.management-section-title h2{margin-top:6px;font-size:19px;font-weight:550}.management-table-wrap{overflow:auto}.management-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}.management-table th{padding:14px 22px;background:#071c2b;font-size:12px;font-weight:500;color:#719cb7;letter-spacing:.5px}.management-table td{padding:17px 22px;border-top:1px solid #153248;color:#a1bed1}.management-table td strong{font-size:13px;font-weight:500;color:#d1e7f4}.management-table tr:hover td{background:#123d5225}.table-summary{display:block;overflow:hidden;text-overflow:ellipsis;max-width:240px;font-size:12px;color:#6f92ac}.management-table-action{font-size:12px!important;padding:6px 10px!important}.management .today-badge{margin-left:9px;padding:2px 5px;border-color:#28775e;color:#6ce7b9;background:#10493966;font-size:12px}.management .field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px;color:#97b6ca}.management .field>small{font-size:12px;font-weight:400;line-height:1.6}.management-record-filters{display:flex;align-items:flex-end;gap:14px;padding:20px}.management-record-filters>.field{flex:1;min-width:120px}.management-date-range{display:flex;align-items:flex-end;gap:9px;min-width:0}.management-date-range .field{min-width:0}.management-date-range input{width:143px}.range-dash{color:#597d97;align-self:flex-end;padding-bottom:11px}.management-reset{height:39px;font-size:12px!important}.management-record-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 2px;font-size:12px;color:#91b0c6}.management-record-meta strong{color:var(--cyan,#2addee);font-weight:500}.management-record-meta .muted{font-size:12px}.management-review-list{display:flex;flex-direction:column;gap:16px}.management-review-card{padding:21px 24px}.review-card-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.review-student{display:flex;align-items:center;gap:12px;min-width:0}.review-student h2{font-size:16px;line-height:1.5;font-weight:600}.review-type{font-size:12px;font-weight:500;margin-left:7px;color:#92d7e4;background:#113d515c;border:1px solid #1c5269;border-radius:3px;padding:3px 6px;vertical-align:middle;white-space:nowrap}.review-student p{color:#698da7;font-size:12px;margin-top:6px;line-height:1.7}.review-student p>span{padding:0 5px;color:#42657d}.management .badge-published{color:#73dfb9;border-color:#275b52;background:#12392e}.management .badge-draft{color:#efc970;border-color:#655328;background:#332c18}.review-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding-left:54px}.review-tag-list>span{font-size:12px;color:#6cb4ca;border:1px solid #204a60;background:#0b2c3f;border-radius:4px;padding:4px 8px}.review-body{font-size:13px;color:#b2cbdc;line-height:1.9;margin:13px 0 20px!important;padding-left:54px;white-space:pre-wrap;overflow-wrap:anywhere}.review-card-footer{padding-top:15px;border-top:1px solid #1b3b52;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.review-card-footer>div{display:flex;gap:9px}.review-card-footer .button{font-size:12px;padding:7px 12px}.management-form{display:flex;flex-direction:column;gap:18px;padding:3px 0}.management-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.management-avatar-upload{display:flex;align-items:center;gap:18px;padding:0 0 19px;border-bottom:1px solid #204156}.management-avatar-upload p{font-size:12px;line-height:1.6;margin:6px 0 0}.upload-button{position:relative;overflow:hidden;font-size:12px!important;cursor:pointer;padding:7px 12px!important}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.management-text-button{border:0;background:none;padding:0;font:inherit;color:#70bacf;font-size:12px;cursor:pointer;margin-top:5px}.management-form-note{padding:11px 13px;background:#14344977;border:1px solid #25516a;color:#85b5cf;font-size:12px;line-height:1.8;border-radius:6px}.management-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.management .muted{color:var(--muted,#7598b0)}.management .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1550px){.management-student-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){.management-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-record-filters{flex-wrap:wrap}.management-record-filters>.field{flex:1}.management-date-range{flex:0 0 auto}.management-group-grid .management-group-card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:760px){.management-heading{align-items:flex-start;gap:14px;margin-bottom:19px}.management-heading h1{font-size:23px}.management-heading .button{font-size:12px;padding:9px 11px}.management-heading p{font-size:12px}.management-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:145px}.management-toolbar{flex-wrap:wrap;padding:13px;gap:10px}.management-search{max-width:none;flex:1 0 100%}.management-toolbar>select{flex:1;width:auto}.management-result-count{font-size:12px}.management-student-grid{gap:13px}.management-student-card{padding:16px 15px 0}.student-card-top{gap:9px}.management-avatar.avatar-large{width:44px;height:44px;font-size:20px}.student-card-identity h2{font-size:15px}.student-card-identity small{display:none}.management-icon-button{width:26px;height:26px}.student-detail-button{width:calc(100% + 30px);margin-left:-15px;padding:12px 15px}.student-family>div{font-size:12px}.student-project{padding:10px 8px}.student-project strong{font-size:12px}.student-project div>span{font-size:12px}.management-group-grid{gap:13px}.management-group-card{padding:17px}.management-group-card h2{font-size:17px}.group-card-footer{flex-wrap:wrap;gap:12px}.management-section-title{padding:19px 16px}.management-section-title h2{font-size:17px}.management-section-title .button{font-size:12px;padding:8px 10px}.management-table th,.management-table td{padding:14px 16px}.management-record-filters{padding:15px;gap:12px}.management-date-range{flex:1 0 100%}.management-date-range .field{flex:1}.management-date-range input{width:100%}.management-record-filters>.field{min-width:100px}.management-record-meta{align-items:flex-start;font-size:12px}.management-record-meta .muted{font-size:12px;max-width:200px;text-align:right}.management-review-card{padding:17px}.review-card-top{align-items:flex-start;gap:10px}.review-student{gap:10px}.review-student h2{font-size:15px}.review-student p{font-size:12px}.review-tag-list,.review-body{padding-left:0}.review-body{font-size:12px;line-height:1.9}.review-card-footer>span{max-width:100px;line-height:1.6}.review-card-footer .button{padding:7px 9px;font-size:12px}.management-form-grid{gap:14px}.management-form .input{width:100%}}
@media(max-width:490px){.management-student-grid,.management-group-grid{grid-template-columns:1fr}.student-card-identity small{display:inline}.management-avatar.avatar-large{width:50px;height:50px}.student-card-identity h2{font-size:17px}.management-heading{gap:10px}.management-heading h1{font-size:21px}.section-eyebrow{font-size:12px;letter-spacing:2px}.management-form-grid{grid-template-columns:1fr}.management-group-grid{margin-bottom:20px}.group-description{min-height:0}.review-card-top .badge{font-size:12px;padding:3px 6px}.review-type{font-size:12px;margin-left:4px}.review-student .management-avatar{width:35px;height:35px;font-size:15px}.review-card-footer>div{gap:6px}.management-record-filters>.field{flex:1 1 calc(50% - 12px)}.management-reset{margin-left:auto}.management-heading-actions{max-width:123px}.management-heading-actions .button{font-size:12px;padding:8px 10px}}

/* Comfortable reading and touch targets across desktop and phone. */
.management-heading p,.management .group-description,.management .review-body{font-size:16px;line-height:1.8}
.management .input{font-size:16px;min-height:44px}
.management .field{font-size:14px;line-height:1.6}
.management .field>small,.management-form-note,.management-avatar-upload p{font-size:12px;line-height:1.8}
.management .button,.management .student-detail-button,.management-text-button{font-size:14px!important;min-height:44px}
.management .management-icon-button{min-height:36px;width:36px;height:36px}
.management-table{font-size:14px}
.management-table th,.management-table td strong,.table-summary{font-size:14px}
.student-family>div{font-size:14px;line-height:1.6}
.student-project strong{font-size:14px;line-height:1.5}
.student-project div>span{font-size:12px;line-height:1.5}
.management-result-count,.management-record-meta,.management-record-meta .muted,.review-card-footer,.group-card-footer,.review-student p,.student-code,.student-meta>span{font-size:12px}
.management-record-filters>.field{min-width:140px}
.management-reset{height:44px}
.management-review-card .review-card-footer .button{padding:9px 14px}
.management-record-filters .management-date-range input{width:158px}
@media(max-width:760px){.management-heading{flex-wrap:wrap}.management-heading-actions{max-width:none;justify-content:flex-start;flex-wrap:wrap}.management-heading p{font-size:16px}.management .review-body{font-size:16px}.management .group-description{font-size:16px}.management-record-filters .management-date-range input{width:100%}.management-record-meta{font-size:12px}.management-record-meta .muted{font-size:12px;max-width:210px}.review-card-footer>span{max-width:140px}.review-card-footer{flex-wrap:wrap}.management .management-icon-button{min-height:36px;width:36px;height:36px}.management-group-card h2{font-size:19px}.management-record-filters>.field{min-width:120px}.management-heading .section-eyebrow{font-size:12px}}
@media(max-width:490px){.management-student-grid,.management-group-grid{grid-template-columns:1fr}.management-heading>div:first-child{width:100%}.management-heading-actions{width:100%;max-width:none;justify-content:flex-start}.management .review-card-top .badge,.management .review-type,.management .review-student p{font-size:12px}.review-card-top{flex-wrap:wrap}.management-date-range{gap:6px}.management-date-range .input{padding:9px 7px}.management-record-meta{flex-wrap:wrap}.management-record-meta .muted{max-width:none;text-align:left}.review-card-footer>span{max-width:none}.review-card-footer>div{flex-wrap:wrap}.student-card-identity h2{font-size:18px}.management-form-grid{grid-template-columns:1fr}.management-avatar-upload{gap:12px}.student-family>div{font-size:14px}.management-group-card h2{font-size:20px}}
.management-empty>.button{margin-top:22px}
.group-next-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #193d57}
.group-next-actions>.button{flex:1;min-width:126px;padding:9px 10px}
@media(max-width:490px){.group-next-actions>.button{min-width:120px}}
.management .delete-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#ff9aab;font:inherit;font-size:14px;min-height:44px;padding:8px 3px;cursor:pointer;white-space:nowrap}
.management .delete-text-button:hover{color:#ffc1cc;text-decoration:underline;text-underline-offset:4px}
.management .delete-text-button:focus-visible,.management .student-edit-link:focus-visible{outline:2px solid #7be7ff;outline-offset:3px;border-radius:4px}
.student-bottom-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 -20px;padding:5px 20px;border-top:1px solid #1a3c55;background:rgba(16,43,65,.36)}
.management .student-edit-link{border:0;background:none;padding:8px 0;color:#86c8e5;min-height:44px;font:inherit;font-size:14px;cursor:pointer;text-align:left}
.management .student-edit-link span{margin-left:5px;color:var(--cyan,#34e1f2)}
.group-delete-action{display:flex;justify-content:flex-end;margin-top:8px}
#app-modal .button.primary.danger{color:#fff2f5;background:#99374d;border-color:#cc6078;box-shadow:0 0 18px #e7426817}
#app-modal .button.primary.danger:hover{background:#b3445d;border-color:#ef88a0}
.deletion-confirm{display:flex;flex-direction:column;gap:18px}
.management .deletion-object{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.deletion-object strong{color:#fff1f4;margin-left:5px}
.deletion-warning{border:1px solid #99475b;background:#50253766;border-radius:8px;padding:16px}
.management .deletion-warning p{font-size:16px;line-height:1.8;color:#f4c1cb}
.management .deletion-warning .deletion-impact{font-size:14px;margin-top:12px;color:#eeaabd;line-height:1.9}
.management .deletion-recovery-note{font-size:14px;line-height:1.8;color:#92b6cc}
.management .recently-deleted-intro{font-size:16px;line-height:1.8;color:#a9c5d8;margin-bottom:18px}
.deletion-list{display:flex;flex-direction:column;gap:14px;max-height:55vh;overflow:auto;padding-right:3px;min-width:0}
.deletion-list-error{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.deletion-record{padding:17px;border:1px solid #23465f;border-radius:8px;background:#0c2236;min-width:0}
.deletion-record-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.deletion-record-title>div{min-width:0}
.management .deletion-record h3{font-size:17px;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}
.deletion-record .button{flex-shrink:0}
.management .deletion-record-counts{font-size:14px;color:#9bbbd0;margin-top:13px;line-height:1.8}
.management .deletion-record-date{font-size:12px;color:#718fa8;margin-top:8px;line-height:1.6}
.recently-deleted .management-empty{padding:38px 12px}
@media(max-width:760px){.student-bottom-actions{margin:0 -15px;padding:5px 15px;flex-wrap:wrap}.deletion-warning{padding:13px}.deletion-record{padding:14px}.deletion-record-title{gap:10px}.management .deletion-record-title .button{padding:8px 10px}.deletion-list{max-height:55vh}.management .deletion-confirm .field>span{overflow-wrap:anywhere}}

/* A course can bring several project teams into one lesson. */
.session-group-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:140px;max-width:260px;white-space:normal}
.session-group-tags>span{display:inline-block;padding:4px 7px;border:1px solid #25516a;border-radius:4px;background:#0e3044;color:#a7d6e9;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.session-group-picker{margin:0;padding:0;border:0;min-width:0}
.session-group-picker legend{padding:0;font-size:14px;line-height:1.6;color:#97b6ca}
.management .session-group-hint{margin:6px 0 11px;color:#789fb9;font-size:12px;line-height:1.8}
.session-group-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:260px;overflow-y:auto;padding:3px}
.session-group-choice{display:flex;align-items:flex-start;gap:11px;min-width:0;border:1px solid #244861;border-radius:7px;padding:13px 12px;background:#081b2b;cursor:pointer;transition:background .15s,border-color .15s}
.session-group-choice:has(input:checked){border-color:#38c7dd;background:#10384b}
.session-group-choice:focus-within{outline:2px solid #7be7ff;outline-offset:1px}
.session-group-choice input{width:19px;height:19px;margin:2px 0 0;flex:0 0 auto;accent-color:#38d3e4;cursor:pointer}
.session-group-choice>span{min-width:0;display:flex;flex-direction:column;gap:5px}
.session-group-choice strong{font-size:14px;line-height:1.6;font-weight:500;color:#c4e0ee;overflow-wrap:anywhere}
.session-group-choice small{font-size:12px;line-height:1.6;color:#799eb6;overflow-wrap:anywhere}
.management .session-group-summary{margin-top:10px;font-size:12px;line-height:1.8;color:#82d6e2}
@media(max-width:490px){.session-group-choices{grid-template-columns:1fr;max-height:280px}.session-group-choice{padding:11px}.session-group-tags{min-width:120px;max-width:220px}}
