.upload-field{border:1px dashed #aabbe5;background:#f7f9ff;border-radius:9px;padding:16px!important;text-align:center;color:#53617e!important}.upload-field input{position:absolute;opacity:0;width:1px;height:1px}.upload-field span{display:block;color:var(--blue);font-size:11px;margin-top:6px}.import-columns{border:1px solid #edf0f6;border-radius:8px;padding:10px;margin-top:13px}.import-columns b,.import-columns span{display:block;font-size:10px}.import-columns b{margin-bottom:5px}.import-columns span{color:#68748f;padding:3px 0}.import-columns i{font-style:normal;color:#a1a9b9}.import-result{font-size:11px;line-height:16px;min-height:16px;margin:12px 0 0;color:#596681}.import-result.error{color:#c95b22}.import-result.success{color:#257a52}
.student-manage{border:1px solid #dfe5f2;border-radius:7px;padding:5px 8px;background:#fff;white-space:nowrap}.student-manage:hover{background:#f3f6ff}.student-row .student-meta{flex-wrap:wrap;justify-content:flex-end}.shirt-size{font-size:9px;font-weight:700;color:#64718b;background:#f1f3f7;border-radius:99px;padding:4px 7px;white-space:nowrap}
.live-song{width:100%;border:0;background:transparent;text-align:left;font:inherit}.live-song:hover{background:#f4f7ff}.empty-song-detail{padding:28px 8px;color:var(--muted)}.empty-song-detail h2{color:var(--ink);font-family:"Playfair Display",serif;margin:0 0 7px;font-size:22px}.empty-song-detail p{font-size:12px;margin:0}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 10%,#e6ecff 0,transparent 28%),var(--canvas)}.auth-screen[hidden],.app-shell[hidden],.auth-card label[hidden]{display:none!important}.auth-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 18px 45px #27365d14}.auth-card .brand-mark{display:block;margin-bottom:18px}.auth-card h1{font-family:"Playfair Display",serif;font-size:30px;margin:0 0 6px}.auth-card label{display:block;font-size:11px;font-weight:700;color:#49546e;margin-top:15px}.auth-card input{display:block;width:100%;border:1px solid #dfe4ef;border-radius:7px;padding:10px;margin-top:6px;font:inherit;font-size:12px}.password-field{display:block;position:relative}.password-field input{padding-right:42px!important}.password-field button{position:absolute;right:7px;top:9px;width:27px;height:27px;border:0;border-radius:6px;background:transparent;color:#65728d;font-size:15px;line-height:1}.password-field button:hover{background:#f0f3f8;color:var(--blue)}.auth-submit{width:100%;margin-top:18px}.auth-switch{display:block;margin:14px auto 0}.auth-forgot{display:block;margin:8px auto 0;color:#65728d!important}.auth-card .dialog-intro{margin:0}
.permission-list{display:grid;gap:2px;margin-top:14px}.permission-list label{display:flex!important;align-items:center;gap:9px;border-top:1px solid #eef1f6;padding:10px 2px!important;margin:0!important;font-size:12px!important}.permission-list label:first-child{border-top:0}.permission-list input{margin:0}
