:root{--bg:#071637;--panel:#0b2859;--panel2:#0d3a7c;--text:#f7fbff;--muted:#b9c8e6;--accent:#26a6ff;--green:#16b85a;--red:#e53935;--yellow:#ffb300;--line:#2c65b8;--white:#fff;--shadow:0 18px 50px #0007}*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.btn,button{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:700}.primary{background:#0876e8;color:#fff}.success{background:#138b3e;color:#fff}.warn{background:#f59b14;color:#fff}.danger{background:#d52f36;color:#fff}.big{font-size:1.05rem;padding:14px 22px}.muted{color:#60708f;font-size:.9rem}.alert{padding:12px;border-radius:10px;margin:10px 0}.alert.info{background:#e7f1ff;color:#103865}.alert.error{background:#ffe5e5;color:#8b1111}.alert.success{background:#e5f8ec;color:#11602e}.alert.warn{background:#fff4d8;color:#6b4a00}.form-stack{display:grid;gap:12px}.form-stack label,.grid2 label{display:grid;gap:6px;font-weight:700;color:#173766}.form-stack input,.form-stack select,.form-stack textarea,.grid2 input,.grid2 select{width:100%;border:1px solid #b9c7da;border-radius:8px;padding:11px;background:#fff;color:#152a4d}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline{display:inline}.install-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#04102b,#123c7c)}.install-card{width:min(780px,94vw);background:#fff;color:#173766;border-radius:20px;padding:28px;box-shadow:var(--shadow)}.auth-body{min-height:100vh;background:url('../img/auditorio.jpg') center/cover fixed no-repeat;position:relative}.auth-overlay{position:fixed;inset:0;background:linear-gradient(90deg,#031337de,#071637aa)}.auth-wrap{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(300px,480px) minmax(540px,860px);gap:28px;align-items:center;justify-content:center;padding:32px}.auth-brand{text-align:center;text-shadow:0 4px 12px #000}.auth-brand .logo-mark{font-size:5rem}.auth-brand h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.9;margin:6px 0}.auth-brand h1 span{color:#ffcb29}.auth-brand p{font-size:1.2rem}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#ffffffee;color:#173766;border:2px solid #6ab6ff;border-radius:18px;padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.panel h2{margin-top:0;color:#0b3b7d}.recover-box{display:none;margin-top:12px}.recover-box.show{display:block}.linkbtn{background:transparent;color:#0567cd;padding:8px 0;text-decoration:underline}.auth-wrap footer{grid-column:1/-1;text-align:center;color:#fff;padding:8px}.topbar{position:sticky;top:0;z-index:20;background:#061a3de8;border-bottom:1px solid #2259a5;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;backdrop-filter:blur(10px)}.topbar nav{display:flex;gap:8px;flex-wrap:wrap}.topbar nav button{background:#0c3d80;color:#fff}.topbar nav .danger{background:#c52f38}.brand-small{font-size:1.05rem}.app-main{padding:14px}.view{display:none}.view.active{display:block}.stage-shell{max-width:1500px;margin:auto}.stage-toolbar{display:flex;align-items:end;justify-content:center;gap:22px;flex-wrap:wrap;background:#08275b;border:1px solid #2d73c6;border-radius:15px 15px 0 0;padding:10px 16px}.stage-toolbar label{display:grid;gap:5px;font-weight:700}.stage-toolbar select{padding:9px;border-radius:8px}.stage-toolbar span{background:#05142f;border:1px solid #3177ca;border-radius:10px;padding:11px 16px;font-weight:800}.stage-bg{min-height:430px;background:url('../img/auditorio.jpg') center 55%/cover no-repeat;border-left:1px solid #2d73c6;border-right:1px solid #2d73c6;position:relative;display:flex;align-items:flex-end;padding:28px 210px 25px 25px;overflow:hidden}.stage-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#02112733,#03122d99 75%,#020a18dd)}.students-row{position:relative;z-index:2;width:100%;display:flex;align-items:flex-end;justify-content:space-evenly;gap:10px}.contestant{width:min(150px,15vw);text-align:center;transition:.4s;filter:drop-shadow(0 8px 12px #0008)}.contestant.eliminated{opacity:.2;transform:translateY(35px) scale(.85);filter:grayscale(1)}.avatar{width:96px;height:118px;margin:auto;background:linear-gradient(#ffe0b0,#74a7ff);border:4px solid #d9ecff;border-radius:44% 44% 28% 28%;display:grid;place-items:center;font-size:4.2rem}.avatar.avatar2{background:linear-gradient(#ffd7c7,#ff8bc8)}.avatar.avatar3{background:linear-gradient(#ffe0ba,#b493ff)}.avatar.avatar4{background:linear-gradient(#8d5a3b,#65d19e)}.avatar.avatar5{background:linear-gradient(#ffe0c2,#f0c85e)}.avatar.avatar6{background:linear-gradient(#ffd5ae,#89d9ff)}.avatar.avatar7{background:linear-gradient(#5b3727,#e786ff)}.avatar.avatar8{background:linear-gradient(#f5c7a2,#8fe5d0)}.podium{background:linear-gradient(#0d5ccd,#052967);border:3px solid #76caff;border-radius:12px 12px 4px 4px;padding:8px 5px;color:#fff}.podium b{display:block;background:#02183c;border-radius:5px;padding:5px}.podium small{display:block;margin-top:5px;color:#9de1ff}.contestant.selected .podium{box-shadow:0 0 0 4px #ffde00,0 0 30px #ffde00}.director-zone{position:absolute;z-index:3;right:14px;bottom:15px;width:180px;background:#101d3ddd;border:2px solid #f3c56b;border-radius:12px;padding:8px;text-align:center}.director-zone img{width:100%;height:220px;object-fit:cover;object-position:center top;border-radius:8px}.director-zone b{display:block;margin:5px;color:#ffd96b}.director-zone #eliminatedList{font-size:.78rem;max-height:75px;overflow:auto}.quiz-panel{background:linear-gradient(180deg,#0b2c62,#07193b);border:2px solid #2d73c6;border-radius:0 0 18px 18px;padding:18px;box-shadow:var(--shadow)}.quiz-panel h2{text-align:center;margin:4px 0 16px}.answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:1000px;margin:auto}.answer{background:#0f5db5;color:#fff;border:2px solid #79bfff;padding:14px;border-radius:12px;text-align:left}.answer:hover{background:#1674d8}.answer.correct{background:#149447;border-color:#91ffae}.answer.wrong{background:#c53030;border-color:#ffadad}.feedback{text-align:center;font-weight:800;min-height:28px;padding-top:8px}.controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px}.content-card{max-width:1350px;margin:auto;background:#f7fbff;color:#173766;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.subject-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.subject-tabs button{background:#e7effb;color:#194b86}.subject-tabs button.active{background:#0b6bd6;color:#fff}.question-item{border:1px solid #d4deed;border-radius:12px;padding:12px;margin:10px 0;background:#fff}.question-item .meta{font-size:.85rem;color:#71819a}.question-actions{display:flex;gap:8px;margin-top:8px}.student-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.student-edit{border:1px solid #ced9e9;border-radius:12px;padding:12px;background:#fff}.student-edit .avatar{width:80px;height:95px;font-size:3.5rem}.student-edit label{display:grid;gap:5px;margin-top:8px;font-weight:700}.student-edit input,.student-edit select{padding:9px;border:1px solid #bdcbe0;border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #dbe4f1;text-align:left;white-space:nowrap}.status{padding:5px 8px;border-radius:999px;color:#fff;font-size:.82rem}.status.active{background:#168b41}.status.pending{background:#e49a08}.status.blocked{background:#d43339}.modal{display:none;position:fixed;z-index:50;inset:0;background:#000a;place-items:center;padding:16px}.modal.show{display:grid}.modal-card{position:relative;width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;color:#173766;border-radius:18px;padding:22px}.modal-close{position:absolute;right:10px;top:10px;background:#e8eef8;color:#173766}.celebration{display:none;position:fixed;z-index:80;inset:0;background:#05112ee8;place-items:center;text-align:center}.celebration.show{display:grid}.celebration canvas{position:absolute;inset:0;width:100%;height:100%}.celebration>div{position:relative;z-index:2;background:#08285ee8;border:3px solid #ffd95c;border-radius:22px;padding:28px 45px;box-shadow:0 0 50px #ffcf36}.trophy{font-size:6rem}.celebration h1{font-size:3.2rem;color:#ffd95c;margin:5px}.dark{--bg:#020713}.dark .content-card{background:#0c1830;color:#f7fbff}.dark .question-item,.dark table,.dark .student-edit{background:#111e38;color:#fff}.dark th,.dark td{border-color:#2a3d5b}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr;padding:18px}.auth-brand h1{font-size:2.8rem}.auth-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.stage-bg{padding-right:155px;min-height:390px}.director-zone{width:135px}.director-zone img{height:170px}.avatar{width:72px;height:88px;font-size:3.2rem}.contestant{width:100px}.student-editor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.auth-grid,.grid2,.answers-grid,.student-editor-grid{grid-template-columns:1fr}.topbar{position:relative;display:block}.topbar nav{margin-top:8px}.stage-bg{padding:16px 10px 150px;min-height:510px;align-items:flex-end}.students-row{display:grid;grid-template-columns:repeat(3,1fr);align-items:end}.contestant{width:auto}.avatar{width:66px;height:80px;font-size:2.8rem}.director-zone{right:8px;bottom:5px;width:120px}.director-zone img{height:125px}.quiz-panel{padding:12px}.stage-toolbar{align-items:stretch}.stage-toolbar label{width:100%}.auth-brand{padding-top:10px}.auth-grid{display:grid}.auth-wrap{display:block}.auth-wrap footer{margin-top:16px}}

/* Correções das bancadas e nomes dos alunos */
.podium-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;letter-spacing:.1px}
.no-students{width:100%;padding:22px;text-align:center;background:#071b42dd;border:2px dashed #6ab6ff;border-radius:14px;color:#fff;font-weight:700}
button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}

/* Correções de estabilidade dos controles */
button:disabled,.btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.35)}
.dashboard-flash{max-width:1350px;margin:0 auto 12px;padding:12px 16px;border-radius:12px;background:#e8f5e9;color:#145a2a;font-weight:700;box-shadow:0 5px 18px #0002;transition:opacity .5s}.dashboard-flash.fade{opacity:.25}
.hidden-form{display:none!important}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions form{margin:0}
.student-edit input:invalid{border-color:#d65b5b}.podium-name{min-height:29px;line-height:19px}
