:root{color-scheme:light;--navy:#123b62;--dark:#0a2b49;--red:#b3262d;--ink:#22313f;--muted:#6c7a86;--line:#d9e1e7;--paper:#f2f5f8;font-family:"Microsoft YaHei",Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}[hidden]{display:none!important}
.login-view{display:grid;min-height:100vh;padding:20px;background:linear-gradient(120deg,var(--dark),var(--navy));place-items:center}.login-card{width:min(100%,410px);padding:42px;background:#fff;border-top:5px solid var(--red);box-shadow:0 25px 80px rgba(0,16,30,.35)}.login-emblem{display:block;width:78px;height:78px;margin:0 auto 20px;object-fit:contain}.login-card>p,.login-card>h1,.login-card>span{display:block;text-align:center}.login-card>p{margin:0;color:var(--navy);font-size:12px}.login-card>h1{margin:7px 0;font:700 28px SimSun}.login-card>span{margin-bottom:28px;color:var(--muted);font-size:12px}.login-card label{display:block;margin-top:15px;color:#425464;font-size:12px;font-weight:600}.login-card input{width:100%;height:45px;margin-top:7px;padding:0 12px;border:1px solid #c9d4dd;outline:none}.login-card input:focus{border-color:var(--navy)}.login-card button{width:100%;height:46px;margin-top:24px;color:#fff;font-weight:600;background:var(--navy);border:0;cursor:pointer}.login-card button:hover{background:var(--dark)}#login-message{min-height:18px;margin-top:10px;color:var(--red);font-size:12px;text-align:center}
.top-strip{height:32px;padding-left:max(20px,calc((100% - 1180px)/2));color:rgba(255,255,255,.75);font-size:11px;line-height:32px;background:var(--dark)}header{display:flex;align-items:center;justify-content:space-between;height:82px;padding:0 max(20px,calc((100% - 1180px)/2));background:#fff;border-bottom:4px solid var(--red)}.brand{display:flex;align-items:center;gap:12px}.brand>img{width:58px;height:58px;object-fit:contain}.brand strong,.brand span{display:block}.brand strong{font:700 21px SimSun}.brand span{margin-top:3px;color:var(--muted);font-size:10px}header button{padding:8px 15px;color:var(--navy);background:#fff;border:1px solid #aab9c6;cursor:pointer}
.admin-shell{width:min(100% - 32px,1180px);min-height:calc(100vh - 180px);margin:auto;padding:28px 0 50px}.page-head{margin-bottom:22px}.page-head p{margin:0 0 8px;color:var(--muted);font-size:11px}.page-head h1{margin:0 0 6px;font:700 28px SimSun}.page-head>span{color:var(--muted);font-size:12px}.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.summary-row>div{padding:20px 22px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy)}.summary-row span{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.summary-row strong{color:var(--navy);font-size:27px}.summary-row small{margin-left:5px;color:var(--muted)}
.records-card{background:#fff;border:1px solid var(--line)}.records-title{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 22px;border-bottom:1px solid var(--line)}.records-title>div{display:flex;align-items:center;gap:9px}.records-title i{width:4px;height:19px;background:var(--red)}.records-title strong{font:700 17px SimSun}.records-title>span{color:var(--muted);font-size:11px}.filters{display:flex;align-items:end;gap:14px;padding:18px 22px;background:#f8fafb;border-bottom:1px solid var(--line)}.filters label{color:#475a6b;font-size:11px}.filters input,.filters select{display:block;width:230px;height:39px;margin-top:6px;padding:0 10px;background:#fff;border:1px solid #c8d3dc;outline:none}.filters button{height:39px;padding:0 18px;color:var(--navy);background:#fff;border:1px solid #9fb1c0;cursor:pointer}
.batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 22px;background:#fff;border-bottom:1px solid var(--line)}.batch-toolbar>div{display:flex;align-items:center;gap:10px}.batch-toolbar span{color:var(--muted);font-size:11px}.batch-toolbar b{color:var(--red);font-size:14px}.batch-toolbar button{height:34px;padding:0 13px;color:var(--navy);font-size:11px;background:#fff;border:1px solid #a8b8c5;cursor:pointer}.batch-toolbar button.primary{color:#fff;background:var(--navy);border-color:var(--navy)}.select-all-label{display:flex;align-items:center;gap:6px;color:#3f5365;font-size:11px;cursor:pointer}.select-all-label input,.row-checkbox{width:15px;height:15px;accent-color:var(--navy);cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;min-width:930px;border-collapse:collapse}.check-column{width:46px!important;padding-right:5px!important;padding-left:14px!important;text-align:center!important}th{height:44px;padding:0 14px;color:#405466;font-size:11px;font-weight:600;text-align:left;background:#eaf0f5;border-bottom:1px solid #cdd8e0}td{height:57px;padding:8px 14px;font-size:12px;border-bottom:1px solid #e5eaee}tbody tr:nth-child(even){background:#fafbfd}tbody tr:hover{background:#eef4f8}.row-number{color:#8795a1}.student-name{font-weight:700}td a{padding:6px 12px;color:var(--navy);text-decoration:none;border:1px solid #9fb1c0}.empty-state{padding:50px;color:var(--muted);font-size:13px;text-align:center}.error{color:var(--red)!important}footer{padding:20px;color:rgba(255,255,255,.7);font-size:11px;text-align:center;background:var(--dark)}
@media(max-width:750px){.login-card{padding:32px 24px}.summary-row{grid-template-columns:repeat(2,1fr)}.filters{align-items:stretch;flex-direction:column}.filters label,.filters input,.filters select,.filters button{width:100%}.batch-toolbar,.batch-toolbar>div{align-items:stretch;flex-direction:column}.batch-toolbar button{width:100%}}
