@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800;900&display=swap');

:root{
  --bg:#f3f4f3;
  --white:#fff;
  --ink:#20283d;
  --muted:#6f7784;
  --deep:#2e5365;
  --teal:#5f93a6;
  --teal-soft:#e7f0f3;
  --purple:#7e78aa;
  --purple-soft:#eeecf6;
  --beige:#c7b58d;
  --beige-soft:#f3eee3;
  --line:#dfe4e6;
  --danger:#965858;
  --success:#4f786e;
  --shadow:0 18px 45px rgba(32,40,61,.08);
  --r:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 85% 5%,rgba(95,147,166,.13),transparent 28rem),radial-gradient(circle at 5% 92%,rgba(126,120,170,.08),transparent 28rem),var(--bg);color:var(--ink);font-family:Onest,Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}a{color:inherit}.shell{width:min(1500px,calc(100% - 40px));margin:0 auto}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{height:56px;width:auto;display:block}.status-pill,.live-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid var(--line);background:rgba(255,255,255,.84);border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-pill i,.live-pill i{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 6px rgba(79,120,110,.11)}.status-pill.off i,.live-pill.off i{background:var(--danger);box-shadow:0 0 0 6px rgba(150,88,88,.11)}
.kicker{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--deep)}.panel{background:rgba(255,255,255,.94);border:1px solid rgba(216,222,224,.95);border-radius:var(--r);box-shadow:var(--shadow)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:13px;padding:11px 14px;min-height:44px;font-weight:800;font-size:12px}.btn:hover{background:#f7f9f9}.btn.primary{background:var(--deep);border-color:var(--deep);color:#fff}.btn.soft{background:#edf4f6;border-color:#d9e7eb;color:var(--deep)}.btn.danger{background:#f8eeee;border-color:#ecd7d7;color:#7d4f4f}.btn:disabled{opacity:.5;cursor:wait}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;color:var(--ink)}.field input:focus{outline:3px solid rgba(95,147,166,.17);border-color:var(--teal)}

/* TELA / APRESENTAÇÃO */
.screen-page{height:100dvh;min-height:660px;overflow:hidden}.screen-page .shell{width:min(1840px,calc(100% - 52px))}.screen-page .topbar{min-height:86px;padding:10px 0}.screen-page main{height:calc(100dvh - 104px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.screen-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#203745 0%,#2e6677 52%,#5f93a6 100%);color:#fff;border-radius:30px;padding:28px 36px;box-shadow:var(--shadow)}.screen-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.15);right:-90px;top:-190px}.screen-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.45fr);gap:38px;align-items:center;position:relative;z-index:1}.screen-hero .kicker{color:#fff;opacity:.8}.screen-hero h1{font-size:clamp(32px,3.1vw,58px);line-height:1.03;letter-spacing:-.015em;margin:7px 0 9px;font-weight:900}.screen-hero p{margin:0;font-size:clamp(13px,1vw,17px);color:rgba(255,255,255,.82)}.hero-side{border-left:1px solid rgba(255,255,255,.22);padding-left:24px}.hero-side strong{display:block;font-size:clamp(22px,1.9vw,34px);line-height:1.05}.hero-side span{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.4}.screen-content{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,26vw,430px);gap:16px}.charts-panel{padding:20px 22px;min-height:0;overflow:hidden}.charts-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.charts-head h2{margin:0;font-size:23px}.participant-count{font-size:12px;color:var(--muted);white-space:nowrap}.participant-count strong{font-size:22px;color:var(--ink);margin-right:4px}.questions-grid{display:grid;gap:14px;height:calc(100% - 42px);min-height:0}.questions-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.question-result{border:1px solid var(--line);border-radius:18px;padding:15px;min-height:0;overflow:hidden;display:flex;flex-direction:column}.question-result h3{font-size:16px;line-height:1.25;margin:0 0 4px}.question-result .instruction{font-size:10px;color:var(--muted);margin-bottom:10px}.bars{display:grid;gap:7px;overflow:hidden}.bar-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.bar-copy{min-width:0}.bar-copy strong{font-size:11px;font-weight:700;line-height:1.18;display:block}.bar-meta{font-size:10px;color:var(--muted);white-space:nowrap}.bar-track{grid-column:1/-1;height:7px;border-radius:99px;background:#edf0f1;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:var(--teal);transition:width .45s ease}.bar-item:nth-child(3n+2) .bar-fill{background:var(--purple)}.bar-item:nth-child(3n) .bar-fill{background:var(--beige)}.qr-panel{padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:0}.qr-panel h3{font-size:26px;line-height:1.08;margin:7px 0 6px}.qr-panel p{font-size:13px;line-height:1.4;color:var(--muted);margin:0;max-width:30ch}.qr-code{margin:auto;display:grid;place-items:center;width:100%;min-height:250px}.qr-code img,.qr-code canvas{max-width:100%;height:auto!important}.waiting{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}.waiting strong{display:block;color:var(--ink);font-size:24px;margin-bottom:6px}

/* VOTAÇÃO */
.vote-page .shell{width:min(820px,calc(100% - 26px))}.vote-page .topbar{min-height:78px}.vote-card{margin:12px auto 38px;padding:clamp(20px,4vw,38px);border-radius:28px}.vote-intro h1{font-size:clamp(30px,7vw,46px);line-height:1.05;letter-spacing:-.04em;margin:8px 0 8px}.vote-intro .sub{color:var(--muted);margin:0 0 24px;line-height:1.5}.form-question{border-top:1px solid var(--line);padding:24px 0}.form-question:first-of-type{border-top:0}.question-number{font-size:11px;font-weight:800;color:var(--deep);letter-spacing:.08em;text-transform:uppercase}.form-question h2{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin:7px 0 6px}.form-question .hint{font-size:12px;color:var(--muted);margin-bottom:14px}.choices{display:grid;gap:10px}.choice{appearance:none;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:16px;padding:15px;display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px;align-items:center;text-align:left}.choice-box{width:24px;height:24px;border-radius:7px;border:2px solid #cbd2d5;display:grid;place-items:center;font-size:14px;color:#fff}.choice.selected{border-color:var(--teal);background:#f3f8f9}.choice.selected .choice-box{background:var(--deep);border-color:var(--deep)}.choice.disabled:not(.selected){opacity:.45}.choice strong{font-size:14px;line-height:1.35}.submit-area{padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px}.submit-area .btn{min-height:52px;font-size:14px}.form-status{padding:12px 14px;border-radius:13px;background:#eef4f6;color:var(--deep);font-size:12px;line-height:1.45;display:none}.form-status.show{display:block}.form-status.error{background:#f8eeee;color:#7d4f4f}.thanks{text-align:center;padding:34px 10px}.thanks .check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#e7f0ed;color:var(--success);font-size:32px}.thanks h2{font-size:28px;margin:0 0 7px}.thanks p{color:var(--muted);margin:0}

/* ADMIN */
.admin-page .shell{width:min(1500px,calc(100% - 34px))}.admin-page .topbar{min-height:82px}.admin-login{width:min(520px,calc(100% - 30px));margin:70px auto;padding:28px}.admin-login h1{font-size:32px;margin:7px 0}.admin-login p{color:var(--muted);line-height:1.5}.admin-login .btn{width:100%;margin-top:12px}.admin-shell{padding-bottom:42px}.admin-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:14px 0 20px}.admin-header h1{font-size:38px;margin:4px 0 0;letter-spacing:-.04em}.admin-header p{margin:6px 0 0;color:var(--muted)}.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-card{padding:20px}.form-card-top{display:flex;justify-content:space-between;gap:14px}.form-card h2{font-size:20px;margin:5px 0 5px;line-height:1.2}.form-card .subtitle{font-size:12px;color:var(--muted);line-height:1.45;margin:0}.form-stats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.metric{background:#f3f6f7;border-radius:12px;padding:9px 11px;font-size:11px;color:var(--muted)}.metric strong{color:var(--ink);font-size:16px;margin-right:3px}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.state{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:7px 9px;border-radius:999px;background:#e8f1ee;color:var(--success);height:max-content}.state.closed{background:#f3e9e9;color:var(--danger)}.admin-message{margin-bottom:14px;padding:12px 14px;border-radius:13px;background:#eef4f6;color:var(--deep);font-size:12px;display:none}.admin-message.show{display:block}.admin-message.error{background:#f8eeee;color:#7d4f4f}.modal-backdrop{position:fixed;inset:0;background:rgba(25,33,45,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:30}.modal-backdrop.show{display:flex}.modal{width:min(520px,100%);padding:24px}.modal h2{margin:6px 0 8px}.modal p{color:var(--muted);font-size:12px;line-height:1.5}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.modal-qr{display:grid;place-items:center;padding:16px 0}.modal-qr img,.modal-qr canvas{max-width:260px;height:auto!important}

/* RELATÓRIO */
.report-page .shell{width:min(1280px,calc(100% - 34px))}.report-head{margin:14px 0 18px;padding:24px}.report-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.report-head h1{font-size:34px;letter-spacing:-.04em;margin:5px 0 5px}.report-head p{margin:0;color:var(--muted)}.report-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.report-question{padding:22px;margin-bottom:14px}.report-question h2{font-size:21px;line-height:1.25;margin:0 0 5px}.report-question .hint{font-size:12px;color:var(--muted);margin-bottom:16px}.report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px}.report-row strong{font-size:13px;line-height:1.35}.report-row span{font-size:12px;color:var(--muted);white-space:nowrap}.report-bar{grid-column:1/-1;height:10px;background:#edf0f1;border-radius:99px;overflow:hidden}.report-bar i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.report-row:nth-of-type(3n+2) .report-bar i{background:var(--purple)}.report-row:nth-of-type(3n) .report-bar i{background:var(--beige)}

@media(max-width:1000px){.screen-page{height:auto;overflow:auto}.screen-page main{height:auto;display:block}.screen-content{grid-template-columns:1fr}.qr-panel{margin-top:14px}.questions-grid[data-count="2"]{grid-template-columns:1fr}.forms-grid{grid-template-columns:1fr}.screen-hero-grid{grid-template-columns:1fr}.hero-side{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:18px 0 0}.screen-page .shell{width:calc(100% - 24px)}}
@media(max-width:620px){.shell{width:calc(100% - 22px)}.brand img{height:44px}.topbar{min-height:70px}.status-pill,.live-pill{font-size:10px;padding:8px 10px}.screen-hero{padding:24px 20px}.screen-hero h1{font-size:32px}.charts-panel,.qr-panel{padding:16px}.vote-card{padding:20px 15px}.form-question h2{font-size:19px}.admin-header{align-items:flex-start;flex-direction:column}.admin-header h1{font-size:31px}.form-card{padding:17px}.report-head-row{flex-direction:column}}

@media print{body{background:#fff}.topbar,.report-actions,.btn{display:none!important}.report-page .shell{width:100%;max-width:none}.panel{box-shadow:none}.report-head,.report-question{break-inside:avoid}}

/* ADMIN V1.1 */
.admin-v11{background:#f4f6f6}.admin-topbar{padding-top:12px;padding-bottom:12px}.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-v11 .brand img{height:58px}.admin-heading-row{margin-top:20px}.admin-tabs{display:flex;gap:8px;margin:0 0 20px;padding:6px;background:#e9eeee;border-radius:16px;width:max-content;max-width:100%;overflow:auto}.admin-tab{border:0;background:transparent;border-radius:11px;padding:10px 16px;font-weight:750;color:var(--muted);cursor:pointer;white-space:nowrap}.admin-tab.active{background:white;color:var(--ink);box-shadow:0 4px 14px rgba(31,40,61,.06)}.admin-section{display:none}.admin-section.active{display:block}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.admin-metric-card{padding:18px}.admin-metric-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}.admin-metric-card strong{display:block;font-size:34px;letter-spacing:-.04em;margin:6px 0 2px}.admin-metric-card small{color:var(--muted)}.admin-overview-panel{padding:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-heading h2{margin:5px 0 0;font-size:25px;letter-spacing:-.03em}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.admin-section-heading{margin:6px 0 16px}.admin-table-wrap{overflow:auto;margin-top:16px}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th,.admin-table td{padding:13px 12px;border-top:1px solid var(--line);text-align:left;font-size:12px}.admin-table thead th{border-top:0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.admin-table td:first-child strong{display:block;font-size:11px;color:var(--deep);text-transform:uppercase;letter-spacing:.06em}.admin-table td:first-child span{display:block;font-size:13px;font-weight:700;margin-top:3px}.btn.small{min-height:34px;padding:6px 10px;font-size:11px}.reports-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-admin-card{padding:20px}.report-admin-card h3{font-size:20px;margin:5px 0 8px}.report-admin-card p{color:var(--muted);font-size:12px;margin:0 0 16px}.admin-v11 .form-card{border-top:4px solid var(--deep)}
@media(max-width:1000px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.admin-metrics{grid-template-columns:1fr 1fr}.admin-metric-card{padding:14px}.admin-metric-card strong{font-size:28px}.admin-tabs{width:100%}.admin-tab{flex:1}.admin-v11 .brand img{height:48px}}


/* V1.3 • apresentação mais legível */
.screen-page .question-result h3{
  font-size:clamp(20px,1.45vw,27px);
  line-height:1.18;
  letter-spacing:-.02em;
  margin:0 0 7px;
}
.screen-page .question-result .instruction{
  font-size:clamp(11px,.78vw,14px);
  line-height:1.3;
  margin-bottom:13px;
}
.screen-page .bars{gap:10px;overflow:visible}
.screen-page .bar-copy strong{
  font-size:clamp(13px,.9vw,16px);
  line-height:1.26;
  font-weight:700;
}
.screen-page .bar-meta{font-size:clamp(10px,.68vw,12px)}
.screen-page .bar-track{height:8px;margin-top:1px}
.screen-page .question-result{padding:18px 18px 16px;overflow:hidden}
.questions-grid[data-count="2"] .question-result h3{font-size:clamp(18px,1.22vw,23px)}
.questions-grid[data-count="2"] .bar-copy strong{font-size:clamp(12px,.8vw,15px)}
@media(min-width:1001px) and (max-height:820px){
  .screen-page .question-result h3{font-size:18px}
  .screen-page .question-result .instruction{font-size:10px;margin-bottom:8px}
  .screen-page .bars{gap:6px}
  .screen-page .bar-copy strong{font-size:11.5px;line-height:1.18}
  .screen-page .bar-meta{font-size:9px}
  .screen-page .question-result{padding:13px}
}

/* V1.3 • editor de formulários */
.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;resize:vertical;min-height:74px}.field textarea:focus{outline:3px solid rgba(95,147,166,.17);border-color:var(--teal)}
.editor-modal{width:min(980px,calc(100vw - 34px));max-height:min(92dvh,940px);padding:0;display:flex;flex-direction:column;overflow:hidden}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 15px;border-bottom:1px solid var(--line)}.editor-head h2{margin:5px 0 0;font-size:27px}.editor-scroll{overflow:auto;padding:20px 24px 24px}.editor-form-grid{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}.editor-span-2{grid-column:span 2}.editor-span-3{grid-column:1/-1}.editor-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:26px 0 12px}.editor-section-head h3{margin:0;font-size:22px}.editor-section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.editor-questions{display:grid;gap:14px}.editor-question{padding:18px;box-shadow:none}.editor-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.editor-question-number{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:var(--deep)}.editor-question-grid{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px}.editor-options-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 8px}.editor-options-head strong{font-size:13px}.editor-options{display:grid;gap:8px}.editor-option{display:grid;grid-template-columns:20px minmax(0,1fr) 34px;gap:8px;align-items:center}.editor-option-grip{color:#a3abb0;text-align:center;font-weight:900}.editor-option input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;padding:9px 11px}.editor-option input:focus{outline:3px solid rgba(95,147,166,.13);border-color:var(--teal)}.editor-icon-btn{width:34px;height:34px;border:1px solid #ead5d5;border-radius:10px;background:#f8eeee;color:#875858;font-size:20px;line-height:1}.editor-icon-btn:disabled{opacity:.35;cursor:not-allowed}.editor-info{display:none;padding:12px 14px;border-radius:13px;background:#fff5df;border:1px solid #efddb8;color:#74613d;font-size:12px;line-height:1.45;margin-bottom:14px}.editor-info.show{display:block}.editor-actions{padding:14px 24px 20px;border-top:1px solid var(--line);margin:0;background:#fff}.editor-modal .field{margin-top:10px}.editor-modal .btn:disabled{cursor:not-allowed}
@media(max-width:760px){.editor-modal{width:min(100%,calc(100vw - 18px));max-height:95dvh}.editor-head,.editor-scroll,.editor-actions{padding-left:15px;padding-right:15px}.editor-form-grid,.editor-question-grid{grid-template-columns:1fr}.editor-span-2,.editor-span-3{grid-column:auto}.editor-section-head{align-items:flex-start;flex-direction:column}.editor-question{padding:14px}.editor-option{grid-template-columns:16px minmax(0,1fr) 34px}}


/* V1.4 • opções de resposta maiores */
.screen-page .bar-copy strong{
  font-size:clamp(15px,1.05vw,19px) !important;
  line-height:1.28 !important;
  font-weight:750 !important;
}
.questions-grid[data-count="2"] .bar-copy strong{
  font-size:clamp(14px,.95vw,17px) !important;
  line-height:1.26 !important;
}
.vote-page .choice strong{
  font-size:17px !important;
  line-height:1.38 !important;
  font-weight:750 !important;
}
@media(min-width:1001px) and (max-height:820px){
  .screen-page .bar-copy strong{
    font-size:13.5px !important;
    line-height:1.22 !important;
  }
  .questions-grid[data-count="2"] .bar-copy strong{
    font-size:12.8px !important;
  }
}
@media(max-width:560px){
  .vote-page .choice strong{
    font-size:16px !important;
    line-height:1.34 !important;
  }
}
