/* AliPlay | AliTest - atualização visual não intrusiva. Mantém a opção de tema. */
:root {
  --bg:#111a30;--panel:#1d2944;--panel2:#222f4d;--line:#364566;
  --text:#f0f4ff;--muted:#b9c8e3;--brand:#8272f4;--brand2:#22c55e;
  --shadow:0 10px 35px rgba(0,0,0,.12);--chip:#2c3a5b;
}
.light{
  --bg:#f5f8ff;--panel:#fff;--panel2:#f8faff;--line:#dce4f3;
  --text:#1c2d52;--muted:#596b88;--brand:#583bd5;--brand2:#14a16a;
  --shadow:0 8px 27px rgba(33,57,103,.06);--chip:#eff3fc;
}
body{font-size:14px;line-height:1.52;background:radial-gradient(1200px 600px at 5% -10%,rgba(85,75,208,.13),transparent 65%),var(--bg);min-height:100vh}
.wrap{max-width:1330px;margin:auto;padding:23px clamp(14px,3vw,36px)}
header{background:rgba(17,26,48,.91);border-bottom:1px solid var(--line);box-shadow:0 3px 22px rgba(17,26,48,.07)}
.light header{background:rgba(255,255,255,.96);border-color:var(--line)}
header .wrap{padding-top:14px;padding-bottom:14px}.top{gap:13px;flex-wrap:wrap}
.logo{width:44px;height:44px;border-radius:14px;box-shadow:none}
.brand{font-size:21px;font-weight:850;line-height:1.2;letter-spacing:-.4px}.tag{font-size:12px;margin-top:3px}
.pill{font-size:11px;line-height:1.3;padding:8px 11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btn{font-size:12px;font-weight:750;padding:10px 14px;min-height:40px;border-radius:11px;background:linear-gradient(125deg,#573bd5,#7367e6);box-shadow:0 7px 19px rgba(65,55,163,.13);white-space:normal}
.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.light .btn.secondary{border-color:var(--line);background:#fff;color:#35476a}
.btn.small{padding:8px 12px;min-height:35px;font-size:12px}.btn:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #8d7cf6;outline-offset:2px}
.panel,.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}
.light .panel,.light .card{background:#fff;border-color:var(--line)}
.panel{padding:20px}.card .pad{padding:19px}.grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}
.title{font-size:17px;font-weight:820;line-height:1.3;letter-spacing:-.2px;margin-bottom:10px}.meta{font-size:12px;line-height:1.6}.note{font-size:12px;line-height:1.55}
.chip{font-size:11px;padding:6px 9px;border-color:var(--line);background:var(--chip)}.light .chip{border-color:#e2e7f3;background:#f7f9fe}
.chips{margin-top:14px;gap:7px}.row{gap:7px;flex-wrap:wrap;margin-top:16px}.row .btn{flex-shrink:0}
input,select,textarea{font-size:13px;line-height:1.4;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:11px 12px;min-height:43px}
.light input,.light select,.light textarea{border-color:#d8e1f0;background:#fff;color:#213554}
label{font-size:12px;font-weight:730;color:var(--muted);line-height:1.45;margin-bottom:7px}
.filterSelect{min-width:160px;max-width:240px}
#app>div:first-child{align-items:stretch}
#app>div:first-child .panel{min-width:0}
#staffPanel{background:linear-gradient(135deg,var(--panel),var(--panel2))}
.light #staffPanel{background:linear-gradient(125deg,#fff,#f4f7ff)}
.dialog{border-radius:19px;background:var(--panel);border:1px solid var(--line);box-shadow:0 25px 75px rgba(0,0,0,.22);width:min(1050px,96vw);max-height:92vh}
.light .dialog{background:#fff;border-color:var(--line)}
.head{position:sticky;top:0;z-index:5;background:var(--panel);padding:16px 20px;border-bottom:1px solid var(--line);gap:10px;flex-wrap:wrap}
.light .head{background:#fff;border-color:var(--line)}.body{padding:21px}
.form{gap:15px}.checkGrid{gap:8px;padding:12px;background:var(--panel2);border:1px solid var(--line)}
.light .checkGrid{background:#f9fbff}.checkItem{font-size:12px;line-height:1.3;border:1px solid var(--line);border-radius:10px;min-height:43px;padding:9px 10px}
.light .checkItem{background:#fff;border-color:#dce3f2}.checkItem input{min-height:0}
.qcard{padding:17px;margin:15px 0;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.light .qcard{background:#f8faff;border-color:#e0e8f4}.qrow{gap:13px}.mediaRow{gap:12px}
.optRow{background:var(--panel2);border-color:var(--line);line-height:1.45}.light .optRow{background:#fff;border-color:#dce4f1}.optRow span{line-height:1.4}
.teacherIntro{display:none;padding:22px 24px;margin:0 0 18px;border-radius:20px;background:linear-gradient(115deg,#eaefff,#f3fcfb);border:1px solid #dbe3fb;color:#1e3155;box-shadow:0 7px 25px rgba(32,55,103,.04);align-items:center;justify-content:space-between;gap:20px}
.teacherIntro h1{margin:4px 0 6px;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.6px;line-height:1.2}.teacherIntro p{margin:0;font-size:13px;color:#536685;max-width:690px}.teacherIntro .kicker{font-size:10px;letter-spacing:1.2px;color:#5a43bb;font-weight:850;text-transform:uppercase}
.teacherIntro a{flex:0 0 auto;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfc6fb;border-radius:12px;background:#fff;color:#4735b4;font-size:12px;font-weight:800;padding:12px 15px;min-height:43px}
.teacherIntro a:hover{background:#f7f5ff}
@media(max-width:780px){.wrap{padding:16px}.teacherIntro{align-items:flex-start;flex-direction:column;padding:19px}.teacherIntro a{width:100%}.top .sp{display:none}.top{gap:8px}.pill{width:100%;max-width:100%}.grid{grid-template-columns:1fr}.dialog{max-height:94vh;width:97vw}.head{padding:12px}.body{padding:15px}.form{grid-template-columns:1fr}.form .full{grid-column:1}.filterSelect{min-width:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
