.qg-campaigns{padding:24px;background:var(--surface,#fff);border:1px solid #dfd8c8;border-radius:16px;margin-block:24px;min-width:0}
.qg-campaigns header,.qg-campaigns .button-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.qg-campaigns header{justify-content:space-between}.qg-campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-block:16px}
.qg-campaign-grid article{padding:20px;border:1px solid #e1ddd3;border-radius:12px;min-width:0}
.qg-campaigns p,.qg-campaign-modal p,.qg-campaigns li{overflow-wrap:anywhere;white-space:pre-line;line-height:1.65}.qg-campaign-note{color:#57564d;font-size:14px}.qg-campaign-earned{font-weight:700;color:#29542b}
.qg-campaign-modal{display:grid;gap:16px;min-width:0}.qg-campaign-modal label{display:grid;gap:7px;min-width:0}.qg-campaign-modal input,.qg-campaign-modal textarea{width:100%;min-width:0;padding:10px;border:1px solid #ada797;border-radius:7px;font:inherit}
.qg-campaign-modal[hidden]{display:none}
.qg-campaign-modal fieldset{min-width:0;border:1px solid #ded8cb;border-radius:9px;padding:14px}.qg-campaign-modal .button-group{display:flex;flex-wrap:wrap;gap:10px}
.qg-campaign-modal .qg-campaign-check{display:flex;align-items:flex-start;gap:10px}.qg-campaign-check input{width:20px;flex-shrink:0;margin-top:5px}
.qg-campaign-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qg-campaign-modal [role=alert]{color:#8b2525;background:#fff2ed;padding:12px;border-radius:8px}
@media(max-width:600px){.qg-campaigns{padding:16px}.qg-campaign-times{grid-template-columns:1fr}.qg-campaign-grid article{padding:14px}.qg-campaigns .button{min-height:44px}}
