/* Tolga Questions V0.15.8 — live recipient selection and light-touch admin controls.
   Stageshow-inspired focal composition, but real buttons, requests and state. */
.question-flow{display:flex;align-items:center;gap:9px;margin:3px 0 18px;flex-wrap:wrap}
.flow-step{font-size:12px;font-weight:750;color:var(--muted);border:1px solid var(--line);background:var(--bg);padding:7px 12px;border-radius:999px}
.flow-step.is-current{background:var(--deep);color:var(--deep-text);border-color:var(--deep)}
.recipient-fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}
.recipient-fieldset legend{font-size:17px;font-weight:800;color:var(--ink);padding:0 0 2px}
.recipient-help{font-size:13px;line-height:1.65;color:var(--muted);margin:2px 0 13px}
.recipient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:11px}
.recipient-card{position:relative;display:flex;align-items:center;gap:12px;text-align:right;min-width:0;min-height:86px;background:var(--paper);border:1.5px solid var(--line);border-radius:19px;padding:12px 13px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.recipient-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.recipient-card.is-selected,.recipient-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);background:var(--bg)}
.recipient-card:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.recipient-card input[type=radio]{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);opacity:0;width:20px;height:20px;margin:0;pointer-events:none}
.recipient-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:15px;display:grid;place-items:center;overflow:hidden;object-fit:cover;object-position:center 28%;background:var(--pale);border:1px solid var(--line);font-size:18px;font-weight:800;color:var(--deep)}
.recipient-avatar-general{font-size:29px;color:var(--accent)}
.recipient-avatar-letter{font-size:16px;letter-spacing:-1px}
.recipient-card-label{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.recipient-card-label strong{font-size:14px;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.recipient-card-label small{font-size:11px;color:var(--muted);line-height:1.45}
.recipient-tick{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;color:transparent;font-size:13px;font-weight:900}
.recipient-card.is-selected .recipient-tick,.recipient-card:has(input:checked) .recipient-tick{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.recipient-status{font-size:12px;min-height:20px;color:var(--accent);margin:12px 2px 0}
.recipient-success{display:inline-flex;align-items:center;min-height:33px;padding:5px 12px;margin:5px 0 9px;font-size:13px;color:var(--ink);font-weight:700;border-radius:12px;background:var(--pale)}
.participating-candidates{display:grid;gap:9px;margin:14px 0 0}
.participant-choice{display:flex;align-items:center;justify-content:space-between;text-align:right;width:100%;padding:13px 16px;border-radius:15px;background:var(--bg);border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:750;min-height:50px}
.participant-choice:hover{border-color:var(--accent)}
.participant-choice:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.pwa-candidate-details[hidden],#assign-form[hidden],#approve-selected-button[hidden]{display:none!important}
.pwa-candidate-details{display:block;min-width:0;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:20px;margin-block:0 20px;padding:0!important;overflow:hidden}
.pwa-candidate-details>summary{list-style:none;cursor:pointer;width:100%;padding:19px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink);font-weight:800;font-size:17px}
.pwa-candidate-details>summary::-webkit-details-marker{display:none}
.pwa-candidate-details>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.pwa-candidate-details[open]>summary{border-bottom:1px solid var(--line)}
.pwa-candidate-details>summary span{transition:transform .16s ease}
.pwa-candidate-details[open]>summary span{transform:rotate(180deg)}
.pwa-candidate-details>form,.pwa-candidate-details>p,.pwa-candidate-details>h2,.pwa-candidate-details>#candidate-list{margin-inline:20px!important}
.pwa-candidate-details>h2{margin-top:20px;font-size:17px}
.pwa-candidate-details>form{width:calc(100% - 40px)}
.pwa-candidate-details>#candidate-list{margin-bottom:20px}
.pwa-candidate-entry{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding:16px 0}
.pwa-candidate-entry strong{font-size:16px;color:var(--ink)}
.pwa-candidate-entry small{color:var(--muted);font-size:12px}
.pwa-candidate-actions{display:flex;gap:7px;flex-wrap:wrap}
.pwa-candidate-actions>.pwa-small{min-height:39px;font-size:12px;padding:7px 10px}
#approve-selected-button{display:block;width:100%;font-size:15px}
@media(max-width:640px){
 .recipient-grid{grid-template-columns:1fr;gap:8px}
 .recipient-card{min-height:76px;padding:10px 12px;border-radius:16px}
 .recipient-avatar{width:46px;height:46px;flex-basis:46px;border-radius:12px}
 .recipient-fieldset legend{font-size:16px}
 .question-flow{gap:6px;margin-bottom:13px}
 .flow-step{font-size:11px;padding:6px 10px}
 .pwa-candidate-details>summary{padding:16px;font-size:15px}
 .pwa-candidate-details>form,.pwa-candidate-details>p,.pwa-candidate-details>h2,.pwa-candidate-details>#candidate-list{margin-inline:14px!important}
 .pwa-candidate-details>form{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){
 .recipient-card,.pwa-candidate-details>summary span{transition:none!important;transform:none!important}
}

/* V0.15.9 candidate profiles: mobile-first, optional details and portrait cards. */
.candidate-profile-optional{border:1px solid var(--line);border-radius:15px;background:var(--bg);overflow:hidden}
.candidate-profile-optional>summary{cursor:pointer;padding:14px 15px;font-size:14px;font-weight:800;color:var(--ink);min-height:48px}
.candidate-profile-optional>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.candidate-extra-fields{padding:0 14px 15px;gap:10px}
.candidate-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.candidate-two-cols>div{min-width:0;display:grid;gap:7px}
.candidate-two-cols label{font-size:13px;font-weight:750;color:var(--ink)}
.pwa-form input[type=file]{font-size:13px;max-width:100%;min-width:0;padding:9px 10px;background:var(--paper)}
.pwa-form input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:9px;background:var(--pale);color:var(--ink);font:inherit;margin-inline-end:9px;padding:7px 10px;cursor:pointer}
.candidate-profile-dialog .pwa-dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
.candidate-current-photo{min-height:105px;display:flex;align-items:center;gap:12px;padding:9px 0}
.candidate-current-photo img{object-fit:cover;object-position:center 25%;border-radius:14px;border:1px solid var(--line);width:95px;height:118px}
.pwa-candidate-person{display:flex;align-items:center;gap:12px}
.pwa-candidate-person .recipient-avatar{width:58px;height:64px;flex-basis:58px}
.pwa-candidate-person>div{display:grid;gap:3px;min-width:0}
.recipient-card-label .recipient-meta{line-height:1.45;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.participant-choice{gap:12px;text-align:right;justify-content:flex-start}
.participant-choice .recipient-avatar{width:58px;height:65px;flex:0 0 58px}
.participant-choice .participant-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.participant-choice .participant-copy strong{font-size:14px;color:var(--ink)}
.participant-choice .participant-copy small{font-size:12px;color:var(--muted);font-weight:500}
@media(max-width:540px){.candidate-two-cols{grid-template-columns:1fr}.candidate-profile-dialog{max-height:92dvh}}

/* V0.16: durable publication inbox + one-time Fathi migration. */
#publication-inbox[hidden]{display:none!important}
.pwa-publication-inbox{margin-block:0 20px;padding:15px;border:1px solid var(--line);border-radius:19px;background:var(--paper)}
.pwa-publication-inbox h2{font-size:22px;display:flex;gap:12px;align-items:center;margin-bottom:10px}
.pwa-inbox-count{display:inline-grid;place-items:center;background:var(--accent);color:#fff;min-width:28px;height:28px;padding-inline:7px;border-radius:50%;font-size:13px}
.pwa-publication-title{font-size:15px;color:var(--accent)}
.tracked-edit-actions{display:grid;gap:8px;padding-top:9px}
.tracked-edit-actions button{min-height:42px}
@media(max-width:600px){.pwa-publication-inbox h2{font-size:19px}}

/* V0.16.1: explicit advance consent, optional; mobile-first and keyboard accessible. */
.auto-consent-dialog{border:1px solid var(--line);border-radius:23px;background:var(--paper);color:var(--ink);padding:0;width:min(calc(100% - 28px),520px);max-height:calc(100dvh - 42px);box-shadow:0 18px 55px rgba(8,28,22,.18);overscroll-behavior:contain}
.auto-consent-dialog::backdrop{background:rgba(8,30,25,.56)}
.auto-consent-content{padding:clamp(18px,4vw,30px);max-height:calc(100dvh - 45px);overflow-y:auto;display:grid;gap:15px;text-align:right}
.auto-consent-content h2{font-size:clamp(21px,4.8vw,28px);line-height:1.4;margin:0}
.auto-consent-content p{font-size:16px;line-height:1.85;margin:0;color:var(--muted)}
.auto-consent-content strong{color:var(--ink)}
.auto-consent-icon{font-weight:800;color:var(--accent);font-size:24px}
.auto-consent-actions{display:grid;gap:10px}
.auto-consent-actions>button{min-height:48px;font-size:15px}
.auto-consent-actions>button:focus-visible,.auto-withdraw:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.auto-consent-actions .under-link{justify-self:center;min-height:44px}
.auto-consent-status{margin:10px 0;padding:13px;border-radius:12px;background:var(--pale);color:var(--ink);font-weight:700;font-size:14px;line-height:1.6}
.auto-withdraw{margin:0 0 16px;min-height:46px}
@media(prefers-reduced-motion:reduce){.auto-consent-dialog{animation:none}}

/* V0.16.2.3: citizen-first two-step question composer. No long recipient list above textarea. */
#ask-panel .ask-selected-recipient{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0 0 22px;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
#ask-panel .ask-selected-copy{display:grid;gap:3px;min-width:0}
#ask-panel .ask-selected-copy span{font-size:12px;color:var(--muted)}
#ask-panel .ask-selected-copy strong{font-size:16px;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
#ask-panel .ask-change-recipient{flex:0 0 auto;min-height:44px;padding:8px 13px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:750;color:var(--deep)}
#ask-panel .ask-change-recipient:hover{border-color:var(--accent);background:var(--pale)}
#ask-panel .ask-change-recipient:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#ask-panel #ask-compose-step .field-label{font-size:16px;margin:0 0 11px}
@media(max-width:390px){#ask-panel .ask-selected-recipient{padding:11px 12px;gap:7px}#ask-panel .ask-selected-copy strong{font-size:14px}#ask-panel .ask-change-recipient{font-size:12px;padding:8px 10px}}
