:root{font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;color:#172033;background:#eef3f8}*{box-sizing:border-box}body{margin:0;padding:20px}main{width:min(100%,520px);margin:24px auto;background:white;padding:24px;border-radius:18px;box-shadow:0 8px 30px #17324d18}h1{font-size:1.65rem;margin:0 0 18px}label{display:block;font-weight:650;margin:16px 0}select,input,textarea,button,.button{width:100%;min-height:50px;margin-top:7px;border:1px solid #b8c3d0;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}button,.button{display:block;border:0;background:#1769aa;color:white;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}button:disabled{opacity:.5}button.secondary,.button.secondary{background:#697586}.status-button{margin-bottom:12px}.danger-button{background:#a82121;margin:12px 0}.danger-title{color:#8b1111}.danger-panel{border:2px solid #d54444;background:#fff0f0;padding:14px;border-radius:10px}.danger-panel p{margin:9px 0}.danger-panel ul{padding-left:22px}.danger-panel li{margin:5px 0}.replace-warning{margin:16px 0;border-color:#e79a32;background:#fff8e8}button.danger{background:#b51f1f}.cancel-button{margin-top:12px}.management-section{border-top:1px solid #dce3eb;margin-top:24px;padding-top:12px}.management-section h3{margin-bottom:4px}.secondary-form{margin-top:12px}.secondary-link{text-align:center;margin-top:20px}.secondary-link a{color:#1769aa}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:12px;border-radius:9px;margin:12px 0}.error{background:#ffe5e5;color:#8b1111}.success{background:#dcf7e5;color:#176534}.identity-confirmation{margin:0 0 20px;padding:14px;border:2px solid #4181b5;border-radius:12px;background:#eef7ff}.identity-confirmation h2{margin:0 0 10px;font-size:1.15rem}.identity-confirmation p{margin:7px 0}.identity-confirmation .student-id{font-size:1.12rem}.identity-confirmation .identity-warning{margin-top:11px;color:#7a3e00;font-weight:650}.preview{display:block;max-width:100%;max-height:55vh;margin:16px auto;border-radius:10px}.success-card{text-align:center}.summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.summary span,.badge{padding:6px 9px;border-radius:999px;background:#e7edf4;font-size:.9rem;font-weight:700}.done{color:#176534!important;background:#dcf7e5!important}.pending{color:#9b3f13!important;background:#ffeadc!important}.table-wrap{overflow-x:auto;margin:14px -8px;padding:0 8px}table{width:100%;border-collapse:collapse;min-width:480px}.student-table table{min-width:340px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #dce3eb;font-size:.93rem}th{background:#f5f7fa}.filenames span{display:block;white-space:nowrap}.hint{font-size:.9rem;color:#5b6674}.validation-errors{margin-bottom:0;padding-left:22px}.validation-errors li{margin:5px 0}.system-footer{text-align:center;margin:28px 0 -10px}.hidden-admin-entry{display:inline;width:auto;min-height:0;margin:0;padding:4px;border:0;border-radius:4px;background:transparent;color:#9aa3ad;font-size:.75rem;font-weight:400;line-height:1.2}.hidden-admin-entry:hover,.hidden-admin-entry:focus-visible{background:transparent;color:#737d88;text-decoration:underline}.hidden-admin-entry:focus-visible{outline:2px solid #8793a0;outline-offset:2px}@media(max-width:380px){body{padding:10px}main{padding:18px}.row{grid-template-columns:1fr}}
