.student-photo{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:36px;overflow:hidden;border-radius:8px;background:#eef4fb;color:#4b6f92;font-size:15px;font-weight:600;vertical-align:middle}
.student-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:inherit}
.student-photo.student-photo-large{width:72px;height:88px;border-radius:12px;font-size:25px}
.archive-photo-name{display:inline-flex;align-items:center;gap:10px;min-width:max-content;white-space:nowrap}
.archive-photo-name>span:last-child{flex:none;white-space:nowrap;line-height:1.5}
#listView .card-body.plain{max-width:100%;overflow-x:auto}
#listTable td{vertical-align:middle;white-space:nowrap}
.archive-photo-name>input{flex:none;width:17px;height:17px;margin:0;accent-color:var(--teal,#4d8bd8)}
.archive-photo-tools,.archive-photo-detail{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.archive-photo-tools{display:contents;margin:0}
.archive-photo-tools:empty{display:none}
.archive-photo-tools label{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.archive-photo-detail{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line,#e5eaf2)}
.archive-photo-detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.student-photo-dialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #e4eaf2;border-radius:20px;background:#fff;color:#26344c;box-shadow:0 24px 70px #2034512b;overflow:auto}
.student-photo-dialog::backdrop{background:#14223859}
.student-photo-dialog form{padding:22px;margin:0;min-width:0}
.student-photo-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.student-photo-dialog h3{margin:0;font-size:18px}
.student-photo-dialog .photo-close{border:0;background:#f1f5fa;color:#52617a;min-width:44px;min-height:44px;border-radius:12px;font-size:20px;padding:8px}
.student-photo-dialog button{font:inherit;cursor:pointer;min-height:42px;border:1px solid #dce4ef;border-radius:10px;padding:9px 14px;background:#fff;color:inherit;white-space:normal}
.student-photo-dialog button.primary{background:var(--teal,#3583c9);border-color:var(--teal,#3583c9);color:#fff}
.student-photo-dialog button:disabled{opacity:.5;cursor:default}
.student-photo-dialog button:focus-visible,.student-photo-dialog input:focus-visible{outline:3px solid #82b7ed;outline-offset:3px}
.student-photo-dialog .photo-file{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.student-photo-dialog input[type=file]{max-width:100%;min-width:0;font:inherit;font-size:14px}
.student-photo-dialog .photo-help{font-size:13px;color:#68768c;margin:10px 0;line-height:1.6}
.student-photo-dialog .photo-error{white-space:pre-wrap;color:#b52c40;line-height:1.6;font-size:14px;margin:12px 0}
.student-photo-dialog .photo-error:empty{display:none}
.student-photo-dialog footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}
.student-photo-dialog .photo-match-wrap{max-height:300px;overflow:auto;margin-top:16px}
.student-photo-dialog table{border-collapse:collapse;width:100%;font-size:13px}
.student-photo-dialog th,.student-photo-dialog td{text-align:left;padding:10px 8px;border-bottom:1px solid #e9eef5;overflow-wrap:anywhere}
.teacher-archive-photo{display:flex;justify-content:center;margin:0 0 16px}
@media(max-width:760px){.student-photo-dialog{max-height:calc(100dvh - 24px);width:calc(100vw - 24px);border-radius:18px}.student-photo-dialog form{padding:18px}.student-photo-dialog button{min-height:44px}.student-photo-dialog footer>button{flex:1}.archive-photo-tools .btn{min-height:40px}.archive-photo-detail{gap:14px}}

.archive-student-open{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap}
.archive-student-open:hover{color:var(--brand,#5e5ce6)}
.archive-student-open:focus-visible{outline:2px solid var(--brand,#5e5ce6);outline-offset:4px;border-radius:6px}
#listView table{min-width:0;table-layout:auto}
#listTable td{padding-top:9px;padding-bottom:9px}
#listTable td:last-child{color:var(--ink-2,#676d7b)}
@media(max-width:520px){#listTable td{padding:8px 10px}.archive-photo-name{gap:8px}.archive-student-open{gap:8px}.archive-student-open>span:last-child{white-space:normal;overflow-wrap:anywhere;max-width:10em}#listTable td:last-child{white-space:normal;min-width:5em}}
.archive-photo-select-header{display:inline-flex;align-items:center;gap:10px;margin:0}.archive-photo-select-header input{width:17px;height:17px;margin:0;accent-color:var(--teal,#4d8bd8)}
