:root{--bg:#f4f6f8;--card:#ffffff;--border:#e2e8f0;--text:#1a2330;--muted:#64748b;--green:#39ac37;--green-d:#2e8f2d;--green-l:#e8f7e7;--red:#e5484d;--amber:#f0b429;--blue:#3b82f6}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.55}
a{color:var(--green-d);text-decoration:none}
.grow{flex:1}
.err{color:var(--red);font-size:13px;margin-top:8px;min-height:18px}
.sub{color:var(--muted);font-size:14px}
.cod{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.5px}

/* ===== LANDING ===== */
.land{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(160deg,#e8f7e7 0%,var(--bg) 55%)}
.land-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:40px;width:440px;max-width:94vw;box-shadow:0 12px 40px rgba(30,45,60,.08)}
.logo{font-size:26px;font-weight:800;margin-bottom:18px}
.logo span{color:var(--green)}
h1{font-size:24px;margin-bottom:8px}
.tabs2{display:flex;gap:6px;margin:22px 0 16px;background:#eef1f5;padding:4px;border-radius:10px}
.tab2{flex:1;border:none;background:transparent;padding:10px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;color:var(--muted)}
.tab2.active{background:var(--card);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.08)}
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:12px 0 6px}
.big-input{width:100%;padding:13px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:16px;outline:none}
.big-input:focus{border-color:var(--green)}
.btn{display:inline-block;width:100%;background:var(--green);color:#fff;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;margin-top:14px;text-align:center}
.btn:hover{background:var(--green-d)}
.btn.ghost{background:transparent;border:1.5px solid var(--border);color:var(--text)}
.btn.small{width:auto;padding:8px 16px;margin:0;font-size:13px}
.btn.danger{background:transparent;border:1.5px solid #f0b9ba;color:var(--red)}

/* ===== TOPO ===== */
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.brand{font-size:17px}
.top-actions{display:flex;gap:8px;align-items:center}
.chip{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text)}
.chip:hover{border-color:var(--green)}
.chip.active{background:var(--green);color:#fff;border-color:var(--green)}

/* ===== LAYOUTS ===== */
.cols{display:grid;grid-template-columns:1fr 320px;gap:16px;padding:18px 22px;max-width:1200px;margin:0 auto}
.part-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;padding:18px 22px;max-width:1100px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px}
.card h2{font-size:16px;margin-bottom:14px}
.badge{background:var(--green-l);color:var(--green-d);border-radius:10px;padding:1px 9px;font-size:12px;font-weight:700}
textarea{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:12px;font-size:15px;outline:none;resize:vertical;font-family:inherit}
textarea:focus{border-color:var(--green)}
.row{display:flex;gap:10px;margin-top:10px;align-items:center;flex-wrap:wrap}
.row input{flex:1;min-width:160px;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;outline:none}
.check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin:0}
.check input{flex:none;width:auto}
@media(max-width:900px){.cols,.part-grid{grid-template-columns:1fr}}

/* ===== PERGUNTAS ===== */
.q{display:flex;gap:12px;border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:10px;background:#fff;transition:border .15s}
.q.live{border:2px solid var(--green);box-shadow:0 4px 14px rgba(57,172,55,.18)}
.q.answered{opacity:.62}
.q.pending{border-style:dashed;background:#fffbf0}
.q .votes{display:flex;flex-direction:column;align-items:center;min-width:44px}
.q .votes button{border:1px solid var(--border);background:none;border-radius:10px;padding:6px 10px;cursor:pointer;font-size:13px}
.q .votes button.on{border-color:var(--green);background:var(--green-l)}
.q .votes b{font-size:15px}
.q .qbody{flex:1}
.q .qbody .qa{font-size:15px}
.q .meta{color:var(--muted);font-size:12px;margin-top:4px}
.q .qflags{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.flag{font-size:11px;font-weight:700;border-radius:8px;padding:2px 8px}
.flag.live{background:var(--green-l);color:var(--green-d)}
.flag.answered{background:#eef1f5;color:var(--muted)}
.flag.pending{background:#fdf3d7;color:#b5850e}
.q .adminbtns{display:flex;flex-direction:column;gap:5px}
.q .adminbtns button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 9px;font-size:12px;cursor:pointer;white-space:nowrap}
.q .adminbtns button:hover{border-color:var(--green)}
.q .adminbtns button.del:hover{border-color:var(--red);color:var(--red)}
.tabs3{display:flex;gap:6px;margin-bottom:14px}
.tab3{border:none;background:#eef1f5;border-radius:20px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.tab3.active{background:var(--green);color:#fff}

/* ===== ENQUETES ===== */
.poll{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:10px;gap:10px}
.poll .pt{font-weight:600;font-size:15px}
.poll .pmeta{color:var(--muted);font-size:12px}
.pstatus{font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px;white-space:nowrap}
.pstatus.active{background:var(--green-l);color:var(--green-d)}
.pstatus.results{background:#e3edfb;color:#2563eb}
.pstatus.draft{background:#eef1f5;color:var(--muted)}
.pstatus.closed{background:#fdeaea;color:#c0392b}
.poll .pbtns{display:flex;gap:5px}
.poll .pbtns button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 9px;font-size:12px;cursor:pointer}
select,input[type=text]{border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;width:100%;margin-bottom:10px}
.optrow{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.optrow input{flex:1;margin:0}
.optrow .delopt{border:none;background:none;cursor:pointer;font-size:16px;color:var(--muted)}
.optrow .radio{width:auto;flex:none}
.optrow label{font-size:12px;margin:0;display:flex;gap:4px;align-items:center;white-space:nowrap}

/* participante: enquete ativa */
.pq{font-size:18px;font-weight:700;margin-bottom:16px}
.opt{display:block;width:100%;text-align:left;border:1.5px solid var(--border);border-radius:12px;padding:13px 16px;font-size:15px;cursor:pointer;margin-bottom:9px;background:#fff}
.opt:hover{border-color:var(--green)}
.opt.sel{border-color:var(--green);background:var(--green-l);font-weight:700}
.opt .pct{float:right;color:var(--muted);font-size:13px}
.bar{height:22px;border-radius:6px;background:var(--green);min-width:6px;transition:width .4s}
.barwrap{background:#eef1f5;border-radius:6px;overflow:hidden;margin-bottom:6px}
.resrow{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:2px}
.stars{display:flex;gap:6px;margin:8px 0}
.stars button{font-size:26px;border:none;background:none;cursor:pointer;opacity:.35}
.stars button.on{opacity:1}
.cloud{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;padding:12px 0}
.cloud span{color:#333;font-weight:700;line-height:1.1}
.quiz-ok{background:var(--green-l);color:var(--green-d);font-weight:700;border-radius:10px;padding:10px 14px;margin-top:10px}
.quiz-no{background:#fdeaea;color:#c0392b;font-weight:700;border-radius:10px;padding:10px 14px;margin-top:10px}

/* ===== REAÇÕES ===== */
.reactions{display:flex;gap:8px}
.react{font-size:26px;border:1px solid var(--border);background:#fff;border-radius:14px;padding:8px 12px;cursor:pointer}
.react:hover{border-color:var(--green);transform:scale(1.08)}
.react-counts{margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.flash{animation:pop .5s}
@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}

/* ===== PRESENT ===== */
.present-toolbar{display:flex;gap:8px;align-items:center;padding:14px 26px;background:#0f141a;position:sticky;top:0;z-index:10}
.present-toolbar .chip{background:#1b2330;border-color:#2c3a4d;color:#cbd5e1}
.present-toolbar .chip.active{background:var(--green);color:#fff}
#presentBody{padding:30px;max-width:1100px;margin:0 auto;color:#e8ecf4}
#presentApp{min-height:100vh;background:#0f141a;color:#e8ecf4}
.pq-big{font-size:44px;font-weight:800;text-align:center;margin:30px 0}
.pq-sub{text-align:center;color:#9aa3b5;font-size:16px;margin-bottom:30px}
.present-q{background:#1b2330;border:1px solid #2c3a4d;border-radius:16px;padding:22px 26px;margin-bottom:14px;display:flex;gap:18px;align-items:center}
.present-q .votes{font-size:22px;font-weight:800;color:var(--green);min-width:50px;text-align:center}
.present-q .votes small{display:block;font-size:11px;color:#9aa3b5}
.present-q .qa{font-size:20px;flex:1}
.present-q .meta{color:#9aa3b5;font-size:13px}
.present-q.live{border-color:var(--green);box-shadow:0 0 30px rgba(57,172,55,.25)}
.present-opt{background:#1b2330;border:1.5px solid #2c3a4d;border-radius:14px;padding:18px 22px;margin-bottom:12px;font-size:19px}
.present-opt .barwrap{background:#24303f}
.present-opt .bar{background:linear-gradient(90deg,#39ac37,#7ee787)}
.present-empty{text-align:center;color:#9aa3b5;font-size:20px;margin-top:80px}
.present-empty .big{font-size:64px}

/* ===== SWITCH ===== */
.switch{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin:0 0 14px;cursor:pointer}
.switch input{width:auto;transform:scale(1.2)}

@media(max-width:700px){
  .cols,.part-grid{padding:12px}
  .top{padding:10px 14px;flex-wrap:wrap;gap:8px}
  .q{flex-wrap:wrap}
  .q .adminbtns{flex-direction:row;flex-wrap:wrap}
  .pq-big{font-size:30px}
}
