/* Secret Polls Public UI - no external libraries, no icon fonts, no jQuery dependency */
:root{
  --spoll-bg:#f6f7f9;
  --spoll-surface:#ffffff;
  --spoll-surface-soft:#f9fafb;
  --spoll-text:#172033;
  --spoll-muted:#5d6678;
  --spoll-border:#d9deea;
  --spoll-border-strong:#aab3c4;
  --spoll-primary:#172033;
  --spoll-primary-text:#ffffff;
  --spoll-success-bg:#eaf8ef;
  --spoll-success-border:#a9dec0;
  --spoll-success-text:#0f5e2d;
  --spoll-error-bg:#fff0f0;
  --spoll-error-border:#efb5b5;
  --spoll-error-text:#8f1f1f;
  --spoll-warning-bg:#fff8e6;
  --spoll-warning-border:#e6c76a;
  --spoll-warning-text:#6b4b00;
  --spoll-info-bg:#eef5ff;
  --spoll-info-border:#adc8ef;
  --spoll-info-text:#174a7a;
  --spoll-focus:#275efe;
  --spoll-radius:18px;
  --spoll-radius-sm:12px;
  --spoll-shadow:0 8px 28px rgba(23,32,51,.08);
  --spoll-space:clamp(16px,3vw,28px);
  --spoll-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.secret-polls-public-wrap,
.secret-polls-public-wrap *{box-sizing:border-box}

.secret-polls-public-wrap{
  width:min(100%,1040px);
  margin:0 auto;
  padding:var(--spoll-space);
  color:var(--spoll-text);
  font-family:var(--spoll-font);
  line-height:1.55;
}

.secret-polls-box{
  display:grid;
  gap:18px;
  background:var(--spoll-surface);
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius);
  padding:clamp(18px,4vw,34px);
  margin:0 0 22px;
  box-shadow:var(--spoll-shadow);
}

.secret-polls-box h1,
.secret-polls-box h2{
  margin:0;
  line-height:1.18;
  color:var(--spoll-text);
}

.secret-polls-box h1{font-size:clamp(1.55rem,6vw,2.35rem)}
.secret-polls-box h2{font-size:clamp(1.25rem,4vw,1.7rem)}
.secret-polls-page-title{
  margin:0;
  font-size:clamp(1.55rem,6vw,2.35rem);
  line-height:1.18;
  font-weight:750;
}
.secret-polls-section-title{
  margin:0;
  font-size:clamp(1.25rem,4vw,1.7rem);
  line-height:1.22;
  font-weight:720;
}
.secret-polls-subsection-title{
  margin:0;
  font-size:clamp(1.05rem,3vw,1.3rem);
  line-height:1.3;
  font-weight:700;
}
.secret-polls-meta{margin:0;color:var(--spoll-muted)}

.secret-polls-notice,
.secret-polls-success,
.secret-polls-error,
.secret-polls-warning,
.secret-polls-info{
  border-radius:var(--spoll-radius-sm);
  padding:14px 16px;
  font-weight:650;
  line-height:1.5;
}
.secret-polls-notice > :first-child,
.secret-polls-success > :first-child,
.secret-polls-error > :first-child,
.secret-polls-warning > :first-child,
.secret-polls-info > :first-child{margin-top:0}
.secret-polls-notice > :last-child,
.secret-polls-success > :last-child,
.secret-polls-error > :last-child,
.secret-polls-warning > :last-child,
.secret-polls-info > :last-child{margin-bottom:0}
.secret-polls-success{background:var(--spoll-success-bg);border:1px solid var(--spoll-success-border);color:var(--spoll-success-text)}
.secret-polls-error{background:var(--spoll-error-bg);border:1px solid var(--spoll-error-border);color:var(--spoll-error-text)}
.secret-polls-warning{background:var(--spoll-warning-bg);border:1px solid var(--spoll-warning-border);color:var(--spoll-warning-text)}
.secret-polls-info{background:var(--spoll-info-bg);border:1px solid var(--spoll-info-border);color:var(--spoll-info-text)}

.secret-polls-form{
  display:grid;
  gap:18px;
}

.secret-polls-form label,
.secret-polls-field-label{
  display:grid;
  gap:7px;
  margin:0;
  font-weight:700;
  color:var(--spoll-text);
}

.secret-polls-form input[type="text"],
.secret-polls-form input[type="email"],
.secret-polls-form input[type="date"],
.secret-polls-form input[type="time"],
.secret-polls-form textarea,
.secret-polls-form select{
  width:100%;
  min-height:44px;
  border:1px solid var(--spoll-border-strong);
  border-radius:var(--spoll-radius-sm);
  padding:11px 13px;
  background:var(--spoll-surface);
  color:var(--spoll-text);
  font:inherit;
}

.secret-polls-form textarea{min-height:120px;resize:vertical}

.secret-polls-form input:focus,
.secret-polls-form textarea:focus,
.secret-polls-form select:focus,
.secret-polls-form button:focus,
.secret-polls-options label:focus-within{
  outline:3px solid color-mix(in srgb,var(--spoll-focus) 28%,transparent);
  outline-offset:2px;
  border-color:var(--spoll-focus);
}

.secret-polls-options{
  display:grid;
  gap:14px;
  margin:4px 0 0;
}

.secret-polls-options fieldset{
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius);
  padding:16px;
  background:var(--spoll-surface-soft);
  margin:0;
}

.secret-polls-options legend{
  padding:0 8px;
  font-weight:800;
  color:var(--spoll-text);
}

.secret-polls-options label{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:8px 10px;
  margin:8px 0 0;
  border:1px solid transparent;
  border-radius:var(--spoll-radius-sm);
  cursor:pointer;
  font-weight:600;
}

.secret-polls-options label:hover{background:rgba(23,32,51,.045)}

.secret-polls-form input[type="radio"],
.secret-polls-form input[type="checkbox"]{
  width:22px;
  height:22px;
  margin:0;
  flex:0 0 22px;
  accent-color:var(--spoll-primary);
}

.secret-polls-form button,
.secret-polls-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  width:100%;
  border:0;
  border-radius:var(--spoll-radius-sm);
  padding:12px 18px;
  background:var(--spoll-primary);
  color:var(--spoll-primary-text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
}

.secret-polls-form button:hover,
.secret-polls-button:hover{filter:brightness(1.08)}

.secret-polls-results{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius-sm);
  background:var(--spoll-surface);
}

.secret-polls-results th,
.secret-polls-results td{
  padding:12px 10px;
  border-bottom:1px solid var(--spoll-border);
  text-align:left;
  vertical-align:top;
}

.secret-polls-results th{
  background:var(--spoll-surface-soft);
  font-weight:800;
}

.secret-polls-results tr:last-child td{border-bottom:0}

@media (min-width:768px){
  .secret-polls-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }
  .secret-polls-options,
  .secret-polls-form button,
  .secret-polls-notice,
  .secret-polls-success,
  .secret-polls-error,
  .secret-polls-warning,
  .secret-polls-info{
    grid-column:1 / -1;
  }
  .secret-polls-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .secret-polls-form button{width:auto;justify-self:start;min-width:180px}
}

@media (min-width:1024px){
  .secret-polls-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}


@media (prefers-reduced-motion:no-preference){
  .secret-polls-form button,
  .secret-polls-options label{transition:background-color .15s ease,filter .15s ease,outline-color .15s ease}
}

@media print{
  :root{
    --spoll-surface:#fff;
    --spoll-surface-soft:#fff;
    --spoll-text:#000;
    --spoll-muted:#333;
    --spoll-border:#777;
    --spoll-shadow:none;
  }
  .secret-polls-public-wrap{width:100%;max-width:none;margin:0;padding:0;font-size:11pt}
  .secret-polls-box{box-shadow:none;border:1px solid #777;border-radius:0;break-inside:avoid;margin:0 0 14pt;padding:14pt}
  .secret-polls-form button{display:none!important}
  .secret-polls-options label{min-height:0;padding:3pt 0}
  a[href]::after{content:""}
}

/* Accessibility refinements */
.secret-polls-field{display:grid;gap:7px;margin:0}
.secret-polls-required{color:var(--spoll-error-text);font-weight:900}
.secret-polls-field-help{margin:2px 0 0;color:var(--spoll-muted);font-size:.95em;font-weight:500}
.secret-polls-field-error{margin:4px 0 0;color:var(--spoll-error-text);font-weight:800}
.secret-polls-status{margin:0;padding:14px 16px;border:1px solid var(--spoll-border);border-radius:var(--spoll-radius-sm);background:var(--spoll-surface-soft)}
.secret-polls-question{grid-column:1 / -1;border:0;margin:0;padding:0;display:grid;gap:12px}
.secret-polls-public-wrap .secret-polls-participant-question > legend{font-weight:700;font-size:inherit!important;line-height:1.5;padding:0;color:var(--spoll-text)}
.secret-polls-option-group{border:1px solid var(--spoll-border);border-radius:var(--spoll-radius);padding:16px;background:var(--spoll-surface-soft);margin:0}
.secret-polls-option-group legend{padding:0 8px;font-weight:800;color:var(--spoll-text)}
.secret-polls-choice{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:9px 10px;margin:8px 0 0;border:1px solid transparent;border-radius:var(--spoll-radius-sm);cursor:pointer;font-weight:650;color:var(--spoll-text)}
.secret-polls-choice:hover{background:rgba(23,32,51,.045)}
.secret-polls-form [aria-invalid="true"]{border-color:var(--spoll-error-text)}
.secret-polls-form fieldset[aria-invalid="true"] .secret-polls-option-group{border-color:var(--spoll-error-border)}
.secret-polls-form input:focus:not(:focus-visible),
.secret-polls-form textarea:focus:not(:focus-visible),
.secret-polls-form select:focus:not(:focus-visible),
.secret-polls-form button:focus:not(:focus-visible){outline:none}
.secret-polls-form input:focus-visible,
.secret-polls-form textarea:focus-visible,
.secret-polls-form select:focus-visible,
.secret-polls-form button:focus-visible,
.secret-polls-choice:focus-within{outline:4px solid var(--spoll-focus);outline-offset:3px;border-color:var(--spoll-focus)}
.secret-polls-success:focus,
.secret-polls-error:focus,
.secret-polls-warning:focus,
.secret-polls-info:focus{outline:4px solid var(--spoll-focus);outline-offset:3px}
@media print{.secret-polls-field-help,.secret-polls-field-error,.secret-polls-success,.secret-polls-error,.secret-polls-warning,.secret-polls-info{color:#000}.secret-polls-choice{min-height:0;padding:3pt 0}.secret-polls-question,.secret-polls-option-group{break-inside:avoid}}


/* Strict print view */
@media print{
  .secret-polls-public-wrap{color:#000!important;background:#fff!important}
  .secret-polls-box,
  .secret-polls-results{box-shadow:none!important;background:#fff!important;color:#000!important}
  .secret-polls-form button,
  .secret-polls-button,
  .secret-polls-field-help,
  .secret-polls-success,
  .secret-polls-error,
  .secret-polls-warning,
  .secret-polls-info,
  nav,
  .navigation,
  .site-navigation,
  .post-navigation,
  .screen-reader-response{display:none!important}
  .secret-polls-box h1,
  .secret-polls-question,
  .secret-polls-choice,
  .secret-polls-results{display:revert!important}
  .secret-polls-choice input{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .secret-polls-results th,
  .secret-polls-results td{color:#000!important;background:#fff!important;border-color:#777!important}
}

/* Public creation and survey sets */
.secret-polls-inline-add{display:grid;gap:10px;grid-template-columns:1fr;align-items:end;margin:8px 0 12px}
.secret-polls-secondary-button{background:var(--spoll-surface-soft)!important;color:var(--spoll-text)!important;border:1px solid var(--spoll-border-strong)!important}
.secret-polls-copy{width:100%;min-height:44px;border:1px solid var(--spoll-border-strong);border-radius:var(--spoll-radius-sm);padding:11px 13px;font:inherit;color:var(--spoll-text);background:var(--spoll-surface)}
.secret-polls-custom-answer{margin-top:12px;padding-top:12px;border-top:1px solid var(--spoll-border)}
.secret-polls-result-question{display:grid;gap:10px;margin:0 0 18px}
.secret-polls-result-question h3{margin:0;color:var(--spoll-text)}
@media (min-width:768px){.secret-polls-inline-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.secret-polls-create-form .secret-polls-question{grid-column:1 / -1}.secret-polls-create-form textarea{grid-column:1 / -1}}
@media print{.secret-polls-create-form,.secret-polls-secondary-button,.secret-polls-copy{display:none!important}.secret-polls-result-question{break-inside:avoid}}

.secret-polls-hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.secret-polls-manage-links,
.secret-polls-manage-actions,
.secret-polls-manage-edit,
.secret-polls-danger-zone {
  margin-top: 1rem;
}
.secret-polls-inline-form {
  display: inline-block;
  margin: 0 0 1rem;
}
.secret-polls-danger-zone {
  border: 2px solid #b42318;
  border-radius: var(--spoll-radius, 12px);
  padding: 1rem;
}
.secret-polls-danger-button {
  min-height: 44px;
  padding: .75rem 1rem;
  border: 0;
  border-radius: var(--spoll-radius-sm, 8px);
  background: #b42318;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.secret-polls-danger-button:focus-visible,
.secret-polls-secondary-button:focus-visible {
  outline: 3px solid #111827;
  outline-offset: 3px;
}
@media print {
  .secret-polls-manage-actions,
  .secret-polls-manage-edit,
  .secret-polls-danger-zone,
  .secret-polls-copy {
    display: none !important;
  }
}


/* Keep label markers inline regardless of theme CSS */
.secret-polls-field-label{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:.35em!important;
  width:auto!important;
  max-width:100%;
  line-height:1.35;
}
.secret-polls-field-label .secret-polls-required,
.secret-polls-field-label .secret-polls-optional{
  display:inline!important;
  margin:0!important;
  white-space:nowrap!important;
}
.secret-polls-field-label .secret-polls-required{
  color:var(--spoll-error-text);
  font-weight:900;
}
.secret-polls-field-label .secret-polls-optional{
  color:var(--spoll-muted);
  font-weight:600;
}

.secret-polls-security-zone,
.secret-polls-danger-zone,
.secret-polls-manage-log,
.secret-polls-card-like {
    margin-top: 1.25rem;
}

.secret-polls-manage-log table {
    width: 100%;
    border-collapse: collapse;
    margin-top: .75rem;
}

.secret-polls-manage-log th,
.secret-polls-manage-log td {
    border-bottom: 1px solid var(--spoll-border, #d7dde5);
    padding: .65rem .5rem;
    text-align: left;
    vertical-align: top;
}

.secret-polls-danger-zone {
    border-color: #b42318;
}

.secret-polls-privacy-note{border:1px solid var(--spoll-border,#d0d7de);border-radius:12px;padding:12px 14px;margin:16px 0;background:var(--spoll-muted-bg,#f6f8fa);font-size:.95rem;}
.secret-polls-privacy-note p{margin:.35rem 0 0;}
.secret-polls-vote-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.secret-polls-export-box textarea{width:100%;font-family:monospace;min-height:180px;}


/* Extended result view */
.secret-polls-results-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}
.secret-polls-results-head h2{margin-bottom:.25rem}
.secret-polls-muted{margin:.15rem 0 .75rem;color:var(--spoll-muted);font-weight:600}
.secret-polls-result-actions{margin:0}
.secret-polls-participants{margin-top:1.5rem}
.secret-polls-participants h3{margin-bottom:.75rem}
@media print{
  .secret-polls-result-actions{display:none!important}
  .secret-polls-print-results{border:0!important;padding:0!important;margin:0!important}
  .secret-polls-result-question,.secret-polls-participants{break-inside:avoid;page-break-inside:avoid}
  .secret-polls-results{width:100%!important;border-collapse:collapse!important;border-radius:0!important}
  .secret-polls-results th,.secret-polls-results td{padding:5pt 6pt!important;font-size:10pt!important}
}


/* Wide single-column public layout */
.secret-polls-public-wrap{
  width:100%;
  max-width:1600px;
  min-width:0;
  margin-inline:auto;
  overflow-wrap:anywhere;
}
.secret-polls-box,
.secret-polls-form,
.secret-polls-create-form,
.secret-polls-field,
.secret-polls-question{
  min-width:0;
  max-width:100%;
}
.secret-polls-form input,
.secret-polls-form textarea,
.secret-polls-form select,
.secret-polls-form button{
  min-width:0;
  max-width:100%;
}
.secret-polls-results{
  display:block;
  max-width:100%;
  overflow-x:auto;
}
.secret-polls-form,
.secret-polls-create-form,
.secret-polls-options,
.secret-polls-inline-add{
  grid-template-columns:minmax(0,1fr)!important;
}
.secret-polls-form > *,
.secret-polls-create-form > *,
.secret-polls-inline-add > *{
  grid-column:1!important;
  width:100%;
}
.secret-polls-form button,
.secret-polls-inline-add button{
  width:100%;
  justify-self:stretch;
}



/* Stable one-column layout before and after creation */
.secret-polls-public-wrap{
  width:min(100%,1200px)!important;
  max-width:1200px!important;
  min-width:0!important;
  margin-inline:auto!important;
  padding:clamp(12px,2vw,24px)!important;
  box-sizing:border-box!important;
  overflow-x:hidden;
}
.secret-polls-public-wrap > *,
.secret-polls-box,
.secret-polls-create-form,
.secret-polls-create-form > *,
.secret-polls-copy{
  width:100%;
  max-width:100%;
  min-width:0;
}
.secret-polls-copy{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;}

/* Preview is shown only on explicit request */
.secret-polls-preview-actions{display:flex;justify-content:flex-start;margin-top:4px}
.secret-polls-preview-actions button{width:auto!important;min-width:180px}
.secret-polls-preview-modal[hidden]{display:none!important}
.secret-polls-preview-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:18px}
.secret-polls-preview-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}
.secret-polls-preview-dialog{position:relative;z-index:1;width:min(920px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--spoll-surface);color:var(--spoll-text);border-radius:var(--spoll-radius);padding:clamp(18px,3vw,30px);box-shadow:0 20px 70px rgba(0,0,0,.35)}
.secret-polls-preview-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.secret-polls-preview-dialog-head h2{margin:0}
.secret-polls-preview-close{width:44px!important;height:44px;border:1px solid var(--spoll-border-strong);border-radius:50%;background:var(--spoll-surface);font-size:30px;line-height:1;cursor:pointer}
.secret-polls-preview-card{display:grid;gap:14px;padding:clamp(16px,2.5vw,24px);border:1px solid var(--spoll-border);border-radius:var(--spoll-radius-sm);background:var(--spoll-surface-soft)}
.secret-polls-preview-question{border:0;margin:0;padding:0;display:grid;gap:10px}
.secret-polls-preview-question legend{font-weight:900;padding:0;margin:0 0 4px;color:var(--spoll-text)}
.secret-polls-preview-question [data-sp-preview-options],.secret-polls-preview-question [data-sp-preview-options2]{display:grid;gap:8px}
.secret-polls-preview-question .secret-polls-choice{margin:0;background:var(--spoll-surface)}
.secret-polls-preview-question input[disabled]{opacity:1;cursor:not-allowed}
.secret-polls-modal-open{overflow:hidden}
@media(max-width:640px){.secret-polls-public-wrap{padding-inline:10px!important}.secret-polls-preview-actions button{width:100%!important}}


/* Dedicated post-create view: never render the empty creation form below it. */
.secret-polls-created-view,
.secret-polls-created-links{
  width:100%;
  max-width:100%;
  min-width:0;
}
.secret-polls-created-links{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem}
.secret-polls-created-view .secret-polls-secondary-button{display:inline-flex;width:auto!important;max-width:100%;text-decoration:none}

/* Dynamic question editor */
.secret-polls-question-editors{
  display:grid;
  gap:clamp(18px,3vw,26px);
}
.secret-polls-question-editor{
  position:relative;
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius-sm);
  padding:clamp(16px,3vw,24px);
  background:var(--spoll-surface-soft);
  box-shadow:0 2px 10px rgba(23,32,51,.04);
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.secret-polls-question-editor:hover{
  border-color:var(--spoll-border-strong);
}
.secret-polls-question-editor:focus-within{
  border-color:var(--spoll-focus);
  box-shadow:0 0 0 3px rgba(39,94,254,.12);
  background:var(--spoll-surface);
}
.secret-polls-question-editor>legend{
  padding:0 .55rem;
  font-size:1.08rem;
  font-weight:900;
  color:var(--spoll-text);
}
.secret-polls-question-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.secret-polls-selection-editor{border:0;padding:0;margin:1rem 0 0}
.secret-polls-selection-editor>legend{font-weight:600;margin-bottom:.5rem}
@media(max-width:480px){
  .secret-polls-question-editor{padding:14px 12px}
}

/* Secret Polls: ausgeblendete dynamische Felder dürfen nicht durch Layoutregeln wieder eingeblendet werden. */
.secret-polls-form [hidden],
.secret-polls-form .is-hidden {
  display: none !important;
}

/* Creation feedback remains visible and readable after server-side validation. */
.secret-polls-create-feedback:empty{display:none}
.secret-polls-create-feedback .secret-polls-error p{margin:0 0 8px}
.secret-polls-create-feedback .secret-polls-error ul{margin:0;padding-inline-start:1.35em}
.secret-polls-create-feedback .secret-polls-error li+li{margin-top:5px}

/* Accessibility release hardening */
.secret-polls-public-wrap .screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.secret-polls-public-wrap img,
.secret-polls-public-wrap svg,
.secret-polls-public-wrap video{max-width:100%;height:auto}
.secret-polls-public-wrap,
.secret-polls-box,
.secret-polls-form,
.secret-polls-field,
.secret-polls-question-editor{min-width:0;overflow-wrap:anywhere}
.secret-polls-results{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.secret-polls-field-error::before{content:"Fehler: ";font-weight:900}
@media (prefers-reduced-motion:reduce){
  .secret-polls-public-wrap *,
  .secret-polls-public-wrap *::before,
  .secret-polls-public-wrap *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media (forced-colors:active){
  .secret-polls-form input,
  .secret-polls-form textarea,
  .secret-polls-form select,
  .secret-polls-form button,
  .secret-polls-button,
  .secret-polls-choice,
  .secret-polls-question-editor,
  .secret-polls-notice,
  .secret-polls-success,
  .secret-polls-error,
  .secret-polls-warning,
  .secret-polls-info{forced-color-adjust:auto;border:1px solid CanvasText}
  .secret-polls-form :focus-visible{outline:3px solid Highlight!important;outline-offset:3px}
}
@media (max-width:320px){
  .secret-polls-public-wrap{padding:8px!important}
  .secret-polls-box{padding:14px 10px;border-radius:10px}
  .secret-polls-form button,.secret-polls-button{width:100%;white-space:normal}
  .secret-polls-question-actions{display:grid;grid-template-columns:1fr}
}
@media print{
  @page{margin:15mm}
  .secret-polls-results{display:table;overflow:visible}
  .secret-polls-result-question,.secret-polls-question,.secret-polls-question-editor{break-inside:avoid-page}
  .secret-polls-public-wrap a{text-decoration:underline;color:#000!important}
}

/* Compact copy action beside public secret links */
.secret-polls-copy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:.5rem;
  width:100%;
  max-width:100%;
}
.secret-polls-copy-row .secret-polls-copy{
  min-width:0;
}
.secret-polls-copy-button{
  width:auto!important;
  min-width:88px;
  min-height:44px;
  margin:0!important;
  padding:.65rem .85rem!important;
  border:1px solid var(--spoll-border-strong)!important;
  border-radius:var(--spoll-radius-sm)!important;
  background:var(--spoll-surface-soft)!important;
  color:var(--spoll-text)!important;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}
.secret-polls-copy-button:hover{filter:brightness(.97)}
.secret-polls-copy-button:focus-visible{
  outline:3px solid var(--spoll-focus, #2563eb)!important;
  outline-offset:2px;
}
.secret-polls-copy-status{
  display:block;
  min-height:1.25em;
  margin-top:.35rem;
  color:var(--spoll-text-muted);
  font-size:.875rem;
}
@media(max-width:420px){
  .secret-polls-copy-row{grid-template-columns:minmax(0,1fr) auto;gap:.4rem}
  .secret-polls-copy-button{min-width:76px;padding-inline:.6rem!important;font-size:.82rem}
}
@media print{
  .secret-polls-copy-button,.secret-polls-copy-status{display:none!important}
}


/* Controlled date/time option entry: date stays automatic; time requires an explicit action. */
.secret-polls-entry-button{min-height:44px;white-space:nowrap;align-self:end}
.secret-polls-inline-add--time,
.secret-polls-inline-add--datetime{grid-template-columns:minmax(0,1fr) auto!important}
.secret-polls-inline-add--time > [data-sp-time-field],
.secret-polls-inline-add--datetime > [data-sp-time-field]{grid-column:1!important;width:100%}
.secret-polls-inline-add--time > [data-sp-add-option],
.secret-polls-inline-add--datetime > [data-sp-add-option]{grid-column:2!important;width:auto!important;min-width:96px}
.secret-polls-inline-add--datetime > [data-sp-date-field]{grid-column:1 / -1!important;width:100%}
@media (min-width:768px){
  .secret-polls-inline-add--datetime{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important}
  .secret-polls-inline-add--datetime > [data-sp-date-field]{grid-column:1!important}
  .secret-polls-inline-add--datetime > [data-sp-time-field]{grid-column:2!important}
  .secret-polls-inline-add--datetime > [data-sp-add-option]{grid-column:3!important}
}


/* UI 2: consistent public button system */
.secret-polls-form button,
.secret-polls-button,
.secret-polls-secondary-button,
.secret-polls-warning-button,
.secret-polls-danger-button,
.secret-polls-copy-button{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  padding:11px 16px;
  border-radius:var(--spoll-radius-sm,8px);
  font:inherit;
  font-size:1rem;
  font-weight:750;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:filter .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.secret-polls-form button,
.secret-polls-button{
  border:1px solid var(--spoll-primary);
  background:var(--spoll-primary);
  color:var(--spoll-primary-text);
}
.secret-polls-secondary-button,
.secret-polls-copy-button{
  border:1px solid var(--spoll-border-strong);
  background:var(--spoll-surface-soft);
  color:var(--spoll-text);
}
.secret-polls-warning-button{
  border:1px solid #9a6700;
  background:#fff3cd;
  color:#5f4300;
}
.secret-polls-danger-button{
  border:1px solid #b42318;
  background:#b42318;
  color:#fff;
}
.secret-polls-form button:hover,
.secret-polls-button:hover,
.secret-polls-secondary-button:hover,
.secret-polls-warning-button:hover,
.secret-polls-danger-button:hover,
.secret-polls-copy-button:hover{filter:brightness(.96)}
.secret-polls-form button:active,
.secret-polls-button:active,
.secret-polls-secondary-button:active,
.secret-polls-warning-button:active,
.secret-polls-danger-button:active,
.secret-polls-copy-button:active{filter:brightness(.9)}
.secret-polls-form button:focus-visible,
.secret-polls-button:focus-visible,
.secret-polls-secondary-button:focus-visible,
.secret-polls-warning-button:focus-visible,
.secret-polls-danger-button:focus-visible,
.secret-polls-copy-button:focus-visible{
  outline:4px solid var(--spoll-focus);
  outline-offset:3px;
}
.secret-polls-form button:disabled,
.secret-polls-button[aria-disabled="true"],
.secret-polls-form button[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.55;
  filter:none;
}
.secret-polls-copy-button{width:auto;min-width:112px;white-space:normal}
.secret-polls-inline-form{display:inline-flex;max-width:100%}
.secret-polls-inline-form > button{width:auto;min-width:180px}
@media (min-width:641px){
  .secret-polls-form > button,
  .secret-polls-form .secret-polls-submit,
  .secret-polls-form .secret-polls-secondary-button,
  .secret-polls-form .secret-polls-warning-button,
  .secret-polls-form .secret-polls-danger-button{width:auto;min-width:180px}
}
@media (max-width:640px){
  .secret-polls-form > button,
  .secret-polls-form .secret-polls-submit,
  .secret-polls-form .secret-polls-secondary-button,
  .secret-polls-form .secret-polls-warning-button,
  .secret-polls-form .secret-polls-danger-button,
  .secret-polls-inline-form,
  .secret-polls-inline-form > button{width:100%}
  .secret-polls-copy-row{align-items:stretch}
  .secret-polls-copy-button{width:100%;min-width:0}
}
@media print{
  .secret-polls-warning-button,
  .secret-polls-danger-button,
  .secret-polls-copy-button{display:none!important}
}


/* UI 3: consistent public form fields */
.secret-polls-form{gap:var(--spoll-form-section-gap,20px)}
.secret-polls-field{display:grid;gap:8px;margin:0;padding:0;border:0;background:transparent}
.secret-polls-field-label,.secret-polls-form>label{font-size:1rem;line-height:1.35;font-weight:750}
.secret-polls-required{color:var(--spoll-error-text);font-weight:900}
.secret-polls-optional{font-size:.9em;font-weight:500;color:var(--spoll-muted)}
.secret-polls-field-help{margin:0;color:var(--spoll-muted);font-size:.94rem;line-height:1.45}
.secret-polls-field-error{margin:0;color:var(--spoll-error-text);font-weight:700;line-height:1.45}
.secret-polls-control,
.secret-polls-form input[type="text"],
.secret-polls-form input[type="email"],
.secret-polls-form input[type="date"],
.secret-polls-form input[type="time"],
.secret-polls-form textarea,
.secret-polls-form select{box-sizing:border-box;width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--spoll-border-strong);border-radius:var(--spoll-radius-sm);background:var(--spoll-surface);color:var(--spoll-text);font:inherit;line-height:1.4}
.secret-polls-textarea,.secret-polls-form textarea{min-height:128px}
.secret-polls-control[readonly],.secret-polls-control:disabled,.secret-polls-form input[readonly],.secret-polls-form input:disabled,.secret-polls-form textarea:disabled,.secret-polls-form select:disabled{background:var(--spoll-surface-soft);cursor:not-allowed;opacity:.78}
.secret-polls-form fieldset{min-width:0}
.secret-polls-inline-add{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:end}
@media (min-width:768px){.secret-polls-inline-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.secret-polls-inline-add button{width:auto!important;min-width:120px}}
@media (max-width:640px){.secret-polls-field,.secret-polls-form>label{width:100%}.secret-polls-control,.secret-polls-form input,.secret-polls-form textarea,.secret-polls-form select{font-size:16px}}



/* UI 10: typography aligned with the Password Generator layout.
 * Normal interface text has one calm, readable size on mobile and desktop.
 * Only page and section headings are intentionally larger. */
.secret-polls-public-wrap {
  --spoll-ui-text-size: 21px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: var(--spoll-ui-text-size) !important;
  line-height: 1.45 !important;
}

.secret-polls-public-wrap .secret-polls-box p,
.secret-polls-public-wrap .secret-polls-box li,
.secret-polls-public-wrap .secret-polls-box dt,
.secret-polls-public-wrap .secret-polls-box dd,
.secret-polls-public-wrap .secret-polls-box label,
.secret-polls-public-wrap .secret-polls-box legend,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-label,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-help,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-error,
.secret-polls-public-wrap .secret-polls-box .secret-polls-optional,
.secret-polls-public-wrap .secret-polls-box .secret-polls-meta,
.secret-polls-public-wrap .secret-polls-box input,
.secret-polls-public-wrap .secret-polls-box textarea,
.secret-polls-public-wrap .secret-polls-box select,
.secret-polls-public-wrap .secret-polls-box button,
.secret-polls-public-wrap .secret-polls-box .button,
.secret-polls-public-wrap .secret-polls-box .secret-polls-button {
  font-size: var(--spoll-ui-text-size) !important;
  line-height: 1.45 !important;
}

.secret-polls-public-wrap .secret-polls-box input::placeholder,
.secret-polls-public-wrap .secret-polls-box textarea::placeholder {
  font-size: var(--spoll-ui-text-size) !important;
}

.secret-polls-public-wrap .secret-polls-field-label,
.secret-polls-public-wrap .secret-polls-question-editor > legend,
.secret-polls-public-wrap .secret-polls-selection-editor > legend,
.secret-polls-public-wrap .secret-polls-question > legend {
  font-weight: 700 !important;
}

.secret-polls-public-wrap .secret-polls-field-help {
  margin-top: .35rem;
  color: var(--spoll-muted);
  font-weight: 400;
}

.secret-polls-public-wrap .sp-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  height: 1.15em;
  margin-left: .25em;
  color: var(--spoll-muted);
  cursor: help;
  font-size: 1em !important;
  line-height: 1 !important;
  vertical-align: baseline;
}
.secret-polls-public-wrap .sp-info:focus-visible {
  outline: 3px solid var(--spoll-focus);
  outline-offset: 2px;
  border-radius: 50%;
}

/* Keep native choice controls square and free from theme scaling/distortion. */
.secret-polls-public-wrap .secret-polls-form input[type="checkbox"],
.secret-polls-public-wrap .secret-polls-form input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  box-sizing: border-box !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: none !important;
  flex: 0 0 20px !important;
}


/* UI 11: actual Password Generator text scale.
 * The reference subtitle uses 21px in the active Password Generator stylesheet.
 * Use that exact size for all normal interface text on desktop and mobile. */
.secret-polls-public-wrap {
  --spoll-ui-text-size: 21px;
  font-size: 21px !important;
  line-height: 1.55 !important;
}

.secret-polls-public-wrap .secret-polls-box,
.secret-polls-public-wrap .secret-polls-box p,
.secret-polls-public-wrap .secret-polls-box li,
.secret-polls-public-wrap .secret-polls-box dt,
.secret-polls-public-wrap .secret-polls-box dd,
.secret-polls-public-wrap .secret-polls-box label,
.secret-polls-public-wrap .secret-polls-box legend,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-label,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-help,
.secret-polls-public-wrap .secret-polls-box .secret-polls-field-error,
.secret-polls-public-wrap .secret-polls-box .secret-polls-optional,
.secret-polls-public-wrap .secret-polls-box .secret-polls-meta,
.secret-polls-public-wrap .secret-polls-box input,
.secret-polls-public-wrap .secret-polls-box textarea,
.secret-polls-public-wrap .secret-polls-box select,
.secret-polls-public-wrap .secret-polls-box button,
.secret-polls-public-wrap .secret-polls-box .button,
.secret-polls-public-wrap .secret-polls-box .secret-polls-button {
  font-size: 21px !important;
  line-height: 1.45 !important;
}

.secret-polls-public-wrap .secret-polls-box input::placeholder,
.secret-polls-public-wrap .secret-polls-box textarea::placeholder {
  font-size: 21px !important;
}

.secret-polls-public-wrap .secret-polls-box input:not([type=checkbox]):not([type=radio]),
.secret-polls-public-wrap .secret-polls-box select,
.secret-polls-public-wrap .secret-polls-box textarea {
  min-height: 58px;
  padding: .75rem .9rem;
}

.secret-polls-public-wrap .secret-polls-box button,
.secret-polls-public-wrap .secret-polls-box .button,
.secret-polls-public-wrap .secret-polls-box .secret-polls-button {
  min-height: 58px;
}

/* Do not reduce interface text on narrow screens. */
@media (max-width: 768px) {
  .secret-polls-public-wrap,
  .secret-polls-public-wrap .secret-polls-box,
  .secret-polls-public-wrap .secret-polls-box p,
  .secret-polls-public-wrap .secret-polls-box li,
  .secret-polls-public-wrap .secret-polls-box label,
  .secret-polls-public-wrap .secret-polls-box legend,
  .secret-polls-public-wrap .secret-polls-box .secret-polls-field-label,
  .secret-polls-public-wrap .secret-polls-box .secret-polls-field-help,
  .secret-polls-public-wrap .secret-polls-box .secret-polls-field-error,
  .secret-polls-public-wrap .secret-polls-box .secret-polls-optional,
  .secret-polls-public-wrap .secret-polls-box input,
  .secret-polls-public-wrap .secret-polls-box textarea,
  .secret-polls-public-wrap .secret-polls-box select,
  .secret-polls-public-wrap .secret-polls-box button,
  .secret-polls-public-wrap .secret-polls-box .button,
  .secret-polls-public-wrap .secret-polls-box .secret-polls-button {
    font-size: 21px !important;
  }
}


/* UI 13: let the active WordPress theme provide button typography.
 * Keep plugin spacing, borders and focus states, but do not force small
 * lettering, uppercase text or artificial tracking. */
.secret-polls-public-wrap button,
.secret-polls-public-wrap input[type="button"],
.secret-polls-public-wrap input[type="submit"],
.secret-polls-public-wrap .button,
.secret-polls-public-wrap .secret-polls-button,
.secret-polls-public-wrap .secret-polls-submit,
.secret-polls-public-wrap .secret-polls-secondary-button,
.secret-polls-public-wrap .secret-polls-warning-button,
.secret-polls-public-wrap .secret-polls-danger-button {
  font: inherit !important;
  line-height: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Result headings must remain as readable as the surrounding interface. */
.secret-polls-public-wrap .secret-polls-print-results .secret-polls-section-title,
.secret-polls-public-wrap .secret-polls-manage-log .secret-polls-section-title {
  font-size: 1.25em !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.secret-polls-public-wrap .secret-polls-print-results .secret-polls-subsection-title {
  font-size: 1.1em !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.secret-polls-public-wrap .secret-polls-print-results .secret-polls-muted,
.secret-polls-public-wrap .secret-polls-print-results .secret-polls-results th,
.secret-polls-public-wrap .secret-polls-print-results .secret-polls-results td,
.secret-polls-public-wrap .secret-polls-manage-log th,
.secret-polls-public-wrap .secret-polls-manage-log td {
  font-size: 1em !important;
  line-height: 1.45 !important;
}

/* UI 14: management participant settings mirror the creation form. */
.secret-polls-manage-edit .secret-polls-participant-settings {
  display: grid;
  gap: 16px;
}
.secret-polls-manage-edit .secret-polls-participant-settings > legend {
  margin-bottom: 4px;
}


/* UI 15: management view uses the same visual system as public creation. */
.secret-polls-manage{
  align-content:start;
}
.secret-polls-manage-section{
  display:grid;
  gap:18px;
  width:100%;
  min-width:0;
  margin:0!important;
}
.secret-polls-card-like{
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius-sm);
  padding:clamp(16px,3vw,24px);
  background:var(--spoll-surface-soft);
  box-shadow:0 2px 10px rgba(23,32,51,.04);
}
.secret-polls-manage-edit{
  grid-template-columns:minmax(0,1fr)!important;
}
.secret-polls-manage-edit > *{
  grid-column:1!important;
  width:100%;
}
.secret-polls-manage-edit .secret-polls-question-editors{
  gap:clamp(18px,3vw,26px);
}
.secret-polls-manage-edit .secret-polls-participant-settings{
  margin:0;
}
.secret-polls-manage-links .secret-polls-field,
.secret-polls-manage-edit .secret-polls-field{
  gap:8px;
}
.secret-polls-manage .secret-polls-section-title{
  margin:0;
}
.secret-polls-manage .secret-polls-inline-form,
.secret-polls-manage .secret-polls-vote-actions form{
  margin:0;
}
@media (max-width:640px){
  .secret-polls-card-like{padding:14px 12px}
}

/* UI 17.1: clear, mobile-safe link cards in the public administration view. */
.secret-polls-manage-link-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.secret-polls-manage-link-card{
  display:grid;
  gap:8px;
  min-width:0;
  padding:14px;
  border:1px solid var(--spoll-border);
  border-radius:var(--spoll-radius-sm);
  background:var(--spoll-surface);
}
.secret-polls-manage-link-title{
  margin:0;
  font:inherit;
  font-weight:750;
  line-height:1.35;
}
.secret-polls-manage-link-card .secret-polls-copy-row{
  min-width:0;
}
@media (max-width:640px){
  .secret-polls-manage-link-card{padding:12px 10px}
  .secret-polls-manage-link-card .secret-polls-copy-row{
    grid-template-columns:minmax(0,1fr);
  }
  .secret-polls-manage-link-card .secret-polls-copy-button{
    width:100%;
  }
}


/* UI 17.2.5: progressively enhanced result reveal and mobile result cards. */
.secret-polls-results-region{min-width:0}
.secret-polls-results-region.is-visible{animation:secret-polls-results-reveal .28s ease-out}
@keyframes secret-polls-results-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.secret-polls-form.is-submitting{opacity:.72;pointer-events:none}
.secret-polls-custom-result td:first-child{font-weight:650}
.secret-polls-custom-result em{display:inline-block;margin-left:.35em;font-size:.9em;font-weight:600}
.secret-polls-results td{overflow-wrap:anywhere;word-break:normal}
@media (max-width:640px){
  .secret-polls-print-results .secret-polls-results{display:block;border:0;box-shadow:none;overflow:visible}
  .secret-polls-print-results .secret-polls-results thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .secret-polls-print-results .secret-polls-results tbody,.secret-polls-print-results .secret-polls-results tr,.secret-polls-print-results .secret-polls-results td{display:block;width:100%}
  .secret-polls-print-results .secret-polls-results tr{margin:0 0 12px;padding:10px 12px;border:1px solid var(--spoll-border);border-radius:var(--spoll-radius-sm);background:var(--spoll-surface)}
  .secret-polls-print-results .secret-polls-results td{display:grid;grid-template-columns:minmax(7rem,38%) minmax(0,1fr);gap:10px;padding:6px 0;border:0;text-align:left}
  .secret-polls-print-results .secret-polls-results td::before{content:attr(data-label);font-weight:700}
}
@media (prefers-reduced-motion:reduce){.secret-polls-results-region.is-visible{animation:none}}
@media print{
  .secret-polls-results-region{display:block!important}
  .secret-polls-results-locked,.secret-polls-edit-link,.secret-polls-personal-results-link{display:none!important}
  .secret-polls-print-results .secret-polls-results tr{break-inside:avoid}
}

/* UI 17.2.6: robust submission state and transport-error feedback. */
.secret-polls-form[aria-busy="true"]{cursor:progress}
.secret-polls-form[aria-busy="true"] .secret-polls-submit{cursor:wait}

/* UI 17 / Schritt 2.2.10: einzelne Stimmen in der Verwaltung */
.secret-polls-table-scroll{
  max-width:100%;
  overflow-x:auto;
  margin-top:1rem;
  border-radius:var(--spoll-radius-sm);
}
.secret-polls-table-scroll:focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}
.secret-polls-vote-table th,
.secret-polls-vote-table td{
  overflow-wrap:anywhere;
}
.secret-polls-vote-table time{
  white-space:normal;
}
@media (max-width:720px){
  .secret-polls-table-scroll{overflow:visible}
  .secret-polls-vote-table,
  .secret-polls-vote-table tbody,
  .secret-polls-vote-table tr,
  .secret-polls-vote-table th,
  .secret-polls-vote-table td{
    display:block;
    width:100%;
  }
  .secret-polls-vote-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .secret-polls-vote-table tr{
    padding:14px 12px;
    margin-bottom:12px;
    border:1px solid var(--spoll-border);
    border-radius:var(--spoll-radius-sm);
    background:var(--spoll-surface);
  }
  .secret-polls-vote-table th,
  .secret-polls-vote-table td{
    display:grid;
    grid-template-columns:minmax(7.5rem,40%) minmax(0,1fr);
    gap:10px;
    padding:.5rem 0;
    border:0;
    text-align:left;
  }
  .secret-polls-vote-table th::before,
  .secret-polls-vote-table td::before{
    content:attr(data-label);
    font-weight:700;
  }
  .secret-polls-vote-table .secret-polls-vote-actions{
    align-items:stretch;
  }
  .secret-polls-vote-table .secret-polls-vote-actions form,
  .secret-polls-vote-table .secret-polls-vote-actions button{
    width:100%;
  }
}

/* UI 17 / Schritt 2.2.11: Verwaltungsprotokoll */
.secret-polls-manage-log-table{
  width:100%;
  border-collapse:collapse;
}
.secret-polls-manage-log-table th,
.secret-polls-manage-log-table td{
  overflow-wrap:anywhere;
}
.secret-polls-manage-log-table time{
  white-space:normal;
}
.secret-polls-log-status{
  display:inline-block;
  font-weight:700;
}
.secret-polls-log-status.is-success::before{
  content:"✓ ";
}
.secret-polls-log-status.is-rejected::before{
  content:"– ";
}
@media (max-width:720px){
  .secret-polls-manage-log .secret-polls-table-scroll{overflow:visible}
  .secret-polls-manage-log-table,
  .secret-polls-manage-log-table tbody,
  .secret-polls-manage-log-table tr,
  .secret-polls-manage-log-table th,
  .secret-polls-manage-log-table td{
    display:block;
    width:100%;
  }
  .secret-polls-manage-log-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .secret-polls-manage-log-table tr{
    padding:14px 12px;
    margin-bottom:12px;
    border:1px solid var(--spoll-border);
    border-radius:var(--spoll-radius-sm);
    background:var(--spoll-surface);
  }
  .secret-polls-manage-log-table th,
  .secret-polls-manage-log-table td{
    display:grid;
    grid-template-columns:minmax(7.5rem,40%) minmax(0,1fr);
    gap:10px;
    padding:.5rem 0;
    border:0;
    text-align:left;
  }
  .secret-polls-manage-log-table th::before,
  .secret-polls-manage-log-table td::before{
    content:attr(data-label);
    font-weight:700;
  }
}

.secret-polls-manage-nav{
  margin:1rem 0;
  padding:.75rem 1rem;
  border:1px solid currentColor;
  border-radius:.5rem;
}
.secret-polls-manage-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1rem;
  margin:0;
  padding:0;
  list-style:none;
}
.secret-polls-manage-nav a{font-weight:600;}
.secret-polls-manage-section:focus{outline:3px solid currentColor;outline-offset:3px;}
@media (max-width:640px){
  .secret-polls-manage-nav ul{display:grid;grid-template-columns:1fr 1fr;}
  .secret-polls-manage-nav a{display:block;padding:.35rem 0;}
}

/* UI 17.2.16: typed custom answers are entered inline, matching poll creation. */
.secret-polls-custom-inline{
  display:grid;
  gap:10px;
  align-items:stretch;
}
.secret-polls-custom-inline-datetime{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,auto);
}
.secret-polls-custom-inline-time{
  grid-template-columns:minmax(0,1fr) minmax(150px,auto);
}
.secret-polls-custom-inline .secret-polls-control,
.secret-polls-custom-inline .secret-polls-button{
  width:100%;
  min-height:52px;
  margin:0;
}
.secret-polls-custom-inline-result{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.secret-polls-custom-inline-result .secret-polls-custom-summary{
  flex:1 1 220px;
  font-weight:600;
}
.secret-polls-custom-clear{
  width:auto;
}
@media (max-width:720px){
  .secret-polls-custom-inline-datetime,
  .secret-polls-custom-inline-time{
    grid-template-columns:1fr;
  }
  .secret-polls-custom-clear{
    width:100%;
  }
}


/* UI 17.2.17: one compact vote-error summary and desktop inline commit buttons. */
.secret-polls-vote-feedback > p{margin:0 0 .55rem;}
.secret-polls-vote-feedback > ul{margin:0;padding-inline-start:1.35em;}
.secret-polls-vote-feedback > ul li + li{margin-top:.3rem;}
@media (min-width:721px){
  .secret-polls-custom-inline-time{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
  }
  .secret-polls-custom-inline-datetime{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
    align-items:end!important;
  }
  .secret-polls-custom-inline .secret-polls-button{
    width:auto!important;
    min-width:150px;
    align-self:stretch;
  }
}
@media (max-width:720px){
  .secret-polls-custom-inline .secret-polls-button{width:100%!important;}
}


/* UI 17.2.18: actual voting and live preview use the same inline date/time layout. */
.secret-polls-preview-custom-control{width:100%;}
@media (min-width:721px){
  .secret-polls-custom-inline-time,
  .secret-polls-custom-inline-datetime{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .secret-polls-custom-inline .secret-polls-control{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .secret-polls-custom-inline .secret-polls-button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:180px!important;
    margin:0!important;
  }
}
@media (max-width:720px){
  .secret-polls-custom-inline-time,
  .secret-polls-custom-inline-datetime{display:grid!important;grid-template-columns:1fr!important;}
}

/* UI17 step 2.2.21: clearly separated participant questions */
.secret-polls-public-wrap .secret-polls-participant-question {
  display: grid;
  gap: 1rem;
  margin: 0 0 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--spoll-border, #d0d7de);
  border-radius: 14px;
  background: var(--spoll-surface, #fff);
}
.secret-polls-public-wrap .secret-polls-participant-question:last-of-type {
  margin-bottom: 0;
}
.secret-polls-public-wrap .secret-polls-participant-question > legend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 0 .75rem;
  border-bottom: 1px solid var(--spoll-border, #d0d7de);
}
.secret-polls-public-wrap .secret-polls-participant-question .secret-polls-options,
.secret-polls-public-wrap .secret-polls-participant-question .secret-polls-custom-answer {
  margin: 0;
}
@media (max-width: 640px) {
  .secret-polls-public-wrap .secret-polls-participant-question {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 12px;
  }
}
@media print {
  .secret-polls-public-wrap .secret-polls-participant-question {
    border: 1pt solid #999;
    border-radius: 0;
    padding: 8pt;
    margin-bottom: 10pt;
  }
}
