:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#172033;background:#f4f6f9}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #e6e9ef;padding:14px 22px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:20px}nav{display:flex;gap:14px;flex-wrap:wrap}a{color:#2257b8;text-decoration:none}main{max-width:1180px;margin:22px auto;padding:0 16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.card,.panel{background:white;border:1px solid #e5e8ef;border-radius:12px;padding:18px;box-shadow:0 2px 8px #00000008}.big{font-size:34px;font-weight:800}.muted{color:#687386}.ok{color:#0b7a38}.warn{color:#a36000}.bad{color:#b42318}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px;border-bottom:1px solid #edf0f4;text-align:left}th{background:#f8fafc}input,select,button,textarea{font:inherit;padding:10px 12px;border:1px solid #ccd2dc;border-radius:8px}button,.btn{background:#2157b8;color:#fff;border:0;cursor:pointer;display:inline-block;padding:10px 14px;border-radius:8px}.btn.secondary{background:#5b6472}.btn.danger{background:#b42318}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.flash{padding:12px;border-radius:8px;background:#eaf5ff;margin:10px 0}.photo-list{display:grid;gap:12px}.photo-row{display:grid;grid-template-columns:1.2fr 1.5fr 1.2fr auto;align-items:center;gap:10px}.badge{padding:3px 8px;border-radius:999px;background:#eef2f7;font-size:12px}.face-entry{max-width:480px;margin:50px auto}.center{text-align:center}footer{text-align:center;padding:30px;color:#89909b}@media(max-width:700px){header{display:block}.brand{margin-bottom:10px}nav{font-size:13px}.photo-row{grid-template-columns:1fr 1fr}.photo-row .action{grid-column:1/-1}.big{font-size:28px}table{font-size:13px}th,td{padding:8px 5px}}

/* 学生名单增删改弹层 */
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-head p{margin:6px 0 0}.table-wrap{overflow-x:auto}.op-col{min-width:150px}.row-actions{white-space:nowrap}.mini-btn{padding:7px 11px;border:0;border-radius:7px;background:#2157b8;color:#fff;cursor:pointer;margin-right:5px}.mini-btn.danger{background:#b42318}.empty-state{text-align:center;color:#89909b;padding:28px}.flash-bad{background:#fff0ef;color:#9f1d16;border:1px solid #ffd0cc}.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.52)}.modal-card{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.24);padding:20px}.modal-small{width:min(500px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f4;padding-bottom:12px;margin-bottom:16px}.modal-head h2{margin:0;font-size:21px}.modal-close{border:0;background:transparent;color:#5b6472;font-size:28px;line-height:1;padding:0 5px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px}.form-grid label span{font-weight:600;font-size:14px}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select{width:100%}.readonly{background:#f3f5f7;color:#687386}.edit-tip{margin:14px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f4;padding-top:16px;margin-top:18px}
@media(max-width:700px){.section-head{display:block}.section-head .btn{margin-top:12px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal{padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:16px}.op-col{min-width:135px}}
