.polls-wrap{width:min(980px,calc(100% - 28px));margin:0 auto;padding:22px 0 96px;color:#fff}.polls-hero{background:linear-gradient(135deg,rgba(20,20,24,.96),rgba(55,43,7,.94));border:1px solid rgba(244,197,66,.28);border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.35)}.polls-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.68);font-weight:800}.polls-hero h1{margin:.25rem 0 .35rem;font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,13vw,4.6rem);line-height:.9;color:#fff}.polls-hero h1 span{color:#f4c542}.polls-hero p{margin:0;color:rgba(255,255,255,.78);line-height:1.45}.polls-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}.polls-panel,.poll-card{background:linear-gradient(180deg,rgba(20,20,24,.96),rgba(13,13,16,.96));border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(0,0,0,.32)}.polls-panel[hidden]{display:none!important}.polls-panel h2,.poll-list-title{margin:0 0 10px;font-size:1.15rem;color:#fff}.poll-form{display:grid;grid-template-columns:1fr;gap:12px}.poll-field label{display:block;font-size:.78rem;font-weight:900;margin-bottom:6px;color:#f4c542}.poll-field input,.poll-field textarea,.poll-field select{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px 13px;background:rgba(255,255,255,.08);color:#fff;font:inherit;outline:none}.poll-field input::placeholder,.poll-field textarea::placeholder{color:rgba(255,255,255,.46)}.poll-field input:focus,.poll-field textarea:focus,.poll-field select:focus{border-color:#f4c542;box-shadow:0 0 0 3px rgba(244,197,66,.16)}.poll-field select option{background:#151519;color:#fff}.poll-field textarea{min-height:92px;resize:vertical}.poll-row{display:grid;grid-template-columns:1fr;gap:12px}.poll-targets{display:grid;grid-template-columns:1fr;gap:12px}.poll-checks{display:flex;flex-wrap:wrap;gap:8px}.poll-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 11px;background:rgba(255,255,255,.07);font-size:.86rem;cursor:pointer;color:#fff}.poll-pill:has(input:checked){border-color:#f4c542;background:rgba(244,197,66,.18)}.poll-pill input{width:auto;margin:0;accent-color:#f4c542}.poll-options-list{display:grid;gap:8px}.poll-option-edit{display:flex;gap:8px}.poll-option-edit input{flex:1}.poll-mini-btn,.poll-submit,.poll-answer-btn{border:0;border-radius:999px;padding:11px 14px;font-weight:900;cursor:pointer}.poll-mini-btn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.14)}.poll-submit,.poll-answer-btn{background:#f4c542;color:#111;box-shadow:0 8px 18px rgba(244,197,66,.3)}.poll-answer-btn:disabled,.poll-submit:disabled{opacity:.55;cursor:not-allowed}.poll-msg{display:none;border-radius:16px;padding:10px 12px;font-weight:800}.poll-msg.ok{display:block;background:rgba(22,101,52,.20);color:#bbf7d0;border:1px solid rgba(34,197,94,.28)}.poll-msg.err{display:block;background:rgba(153,27,27,.20);color:#fecaca;border:1px solid rgba(248,113,113,.28)}.poll-list{display:grid;gap:12px}.poll-card.is-pending{border-color:rgba(244,197,66,.85);box-shadow:0 14px 36px rgba(244,197,66,.18)}.poll-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.poll-title{font-weight:900;font-size:1.05rem;color:#fff}.poll-meta{font-size:.76rem;color:rgba(255,255,255,.58);margin-top:3px}.poll-desc{margin:10px 0;color:rgba(255,255,255,.78);line-height:1.45}.poll-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.poll-badge{font-size:.72rem;border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.08)}.poll-status{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;background:rgba(244,197,66,.18);color:#facc15}.poll-status.done{background:rgba(34,197,94,.18);color:#86efac}.poll-status.closed{background:rgba(248,113,113,.18);color:#fca5a5}.poll-answer-form{display:grid;gap:8px;margin-top:12px}.poll-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:11px;background:rgba(255,255,255,.07);color:#fff}.poll-choice input{margin-top:3px;accent-color:#f4c542}.poll-results{display:grid;gap:8px;margin-top:12px}.poll-result-row{display:grid;gap:5px}.poll-result-top{display:flex;justify-content:space-between;gap:14px;font-size:.82rem;font-weight:900;color:rgba(255,255,255,.9)}.poll-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}.poll-bar span{display:block;height:100%;background:linear-gradient(90deg,#f4c542,#ffdd71);border-radius:999px}.poll-empty{padding:18px;border-radius:20px;background:rgba(244,197,66,.13);color:#fde68a;font-weight:900;border:1px solid rgba(244,197,66,.22)}.polls-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.poll-tab{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer}.poll-tab.active{background:#f4c542;color:#111;border-color:#f4c542}.poll-staff-results{margin-top:14px;border-top:1px solid rgba(255,255,255,.10);padding-top:14px}.poll-staff-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.poll-staff-head strong{display:block;color:#fff;font-size:1rem}.poll-staff-head span{display:block;color:rgba(255,255,255,.62);font-size:.78rem;margin-top:2px}.poll-score{min-width:54px;text-align:center;border-radius:999px;background:rgba(244,197,66,.16);border:1px solid rgba(244,197,66,.32);color:#f4c542;font-weight:1000;padding:8px 10px}.poll-details{margin-top:12px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.05);overflow:hidden}.poll-details summary{cursor:pointer;padding:12px 14px;font-weight:900;color:#f4c542}.poll-people-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:0 14px 14px}.poll-people-grid h4{margin:0 0 8px;color:#fff;font-size:.9rem}.poll-person{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.08);font-size:.86rem;color:#fff}.poll-person em{font-style:normal;color:rgba(255,255,255,.62);text-align:right}.poll-person.pending span{color:rgba(255,255,255,.72)}.poll-muted{margin:0;color:rgba(255,255,255,.55);font-size:.85rem}@media(min-width:760px){.poll-row,.poll-targets{grid-template-columns:1fr 1fr}.polls-grid.has-admin{grid-template-columns:1.05fr .95fr}.polls-panel{position:sticky;top:16px;align-self:start}.poll-people-grid{grid-template-columns:1fr 1fr}}


/* Confirmation d'enregistrement des réponses */
.poll-answer-confirm{
  margin:14px 0;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(244,197,66,.35);
  background:linear-gradient(135deg, rgba(244,197,66,.18), rgba(255,255,255,.06));
  color:#fff7d6;
  font-weight:800;
  box-shadow:0 14px 35px rgba(0,0,0,.22);
}
.poll-answer-confirm strong{color:#fff; font-weight:900;}
.poll-save-msg{
  min-height:22px;
  margin-top:10px;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  font-weight:700;
}
.poll-save-msg.ok{color:#b9ffd0;}
.poll-save-msg.err{color:#ffb6b6;}
.poll-choice input:checked + span{
  color:#fff;
  font-weight:900;
}

/* UX ciblage sondages : catégories puis sous-catégories contextuelles */
.poll-targets{
  grid-template-columns:1fr !important;
}
.poll-target-help{
  margin:6px 0 0;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.35;
}
.poll-target-empty{
  width:100%;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:18px;
  padding:12px 14px;
  color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.045);
  font-weight:750;
  line-height:1.35;
}
.poll-target-empty.small{
  padding:10px 12px;
  font-size:.84rem;
}
.poll-target-subs-wrap{
  display:grid;
  gap:10px;
}
.poll-subgroup-block{
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:12px;
  background:rgba(255,255,255,.045);
}
.poll-subgroup-title{
  margin-bottom:9px;
  color:#f4c542;
  font-weight:1000;
  letter-spacing:.01em;
}
.poll-subchecks{
  gap:7px;
}
.poll-cat-pill,
.poll-sub-pill{
  user-select:none;
}
.poll-cat-pill:has(input:checked){
  box-shadow:0 10px 22px rgba(244,197,66,.12);
}
.poll-sub-pill{
  background:rgba(255,255,255,.06);
}
@media(min-width:760px){
  .poll-targets{grid-template-columns:1fr !important;}
}
