*{box-sizing:border-box}body{margin:0;background:#f5f4f0;color:#302943;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}header{padding:22px 5%;background:#57488a;color:white;display:flex;align-items:center;gap:24px}header a{color:white;margin-left:auto}main{max-width:1120px;margin:34px auto;padding:0 20px}h1{font-size:28px}input,select,button{font:inherit;border:1px solid #ded8e8;border-radius:8px;padding:10px;background:white;color:#302943}button{cursor:pointer}button.primary{background:#65529b;color:white;border-color:#65529b}button:disabled{opacity:.5}label{display:block;margin:16px 0 8px}.panel{padding:28px;border-radius:18px;border:1px solid #ded8e8;background:#fffefa}.login-panel{max-width:440px;margin:auto}.login-panel input{width:100%}.filters,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}.filters input{flex:1;min-width:150px}table{width:100%;border-collapse:collapse;background:#fffefa}th,td{text-align:left;border-bottom:1px solid #ded8e8;padding:15px 12px}th{font-size:14px;background:#e9e4f3}.badge{font-size:13px;background:#e9e4f3;padding:5px 10px;border-radius:10px;white-space:nowrap}.badge.review{background:#fff0ba}.scroll-table{overflow:auto}.muted{font-size:14px;color:#655d73;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid input,.form-grid select{width:100%}.error{color:#994326}.record{background:#fffefa;border:1px solid #ded8e8;border-radius:12px;margin:12px 0;padding:18px}.record pre{white-space:pre-wrap;word-break:break-word;font:inherit;line-height:1.8;font-size:14px}summary{cursor:pointer}#teacher-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#302943;color:white;padding:12px 18px;border-radius:10px;max-width:90%}#teacher-notice:empty{display:none}@media(max-width:650px){.form-grid{grid-template-columns:1fr}header{gap:12px;font-size:14px}td,th{padding:12px 8px}.panel{padding:20px}}
[hidden]{display:none!important}header{flex-wrap:wrap;padding:18px 4%;gap:16px}header nav{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}header nav a{margin-left:6px}#teacher-who{font-size:13px}main{max-width:1260px}td small{display:block;margin-top:8px}.row-actions{display:flex;flex-wrap:wrap;gap:7px;max-width:310px;min-width:210px}.row-actions button{font-size:14px;padding:8px 10px}.danger{color:#9d3c33;border-color:#dbb5ae;background:#fff9f7}.confirm-dialog{max-width:480px;line-height:1.8}.confirm-dialog::backdrop{background:#30294366}.login-panel input{width:100%}
