.campaign-queue { margin:20px 0; }
.campaign-queue-heading, .campaign-page-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.campaign-queue h3 { margin:0; font-size:17px; }
.campaign-queue-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:12px 0; }
.campaign-queue-block { padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface, #fff); }
.campaign-queue-block > button { background:none; border:0; color:var(--text); font:inherit; font-weight:600; cursor:pointer; padding:0; }
.campaign-queue-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.campaign-queue-tags button, .campaign-queue-extra button { background:#f8f2f8; border:1px solid transparent; border-radius:8px; padding:7px 10px; font:inherit; font-size:12px; color:#511F52; cursor:pointer; }
.campaign-queue button[aria-pressed="true"] { outline:2px solid #693B69; outline-offset:3px; }
.campaign-queue-extra { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:13px; }
.campaign-queue-pending { margin-top:12px; font-size:13px; }
.campaign-queue-pending ul { padding-left:20px; }
.campaign-queue-pending button { background:none; border:0; color:#511F52; cursor:pointer; text-decoration:underline; font:inherit; padding:5px 0; }
.campaign-row-action { display:block; margin-top:5px; font-size:12px; color:#693B69; }
.campaign-late { border-left:3px solid #a76540; }
.campaign-late-text { color:#89502d !important; }
.campaign-page-toolbar { margin-bottom:16px; }
.campaign-page-hero { border:1px solid var(--border); border-radius:16px; padding:22px; margin-bottom:16px; background:#fff; }
.campaign-page-hero h2 { margin:0 0 8px; font-size:24px; overflow-wrap:anywhere; }
.campaign-page-meta { display:flex; gap:12px 24px; flex-wrap:wrap; margin:16px 0; font-size:13px; }
.campaign-page-meta span { display:flex; flex-direction:column; gap:5px; }
.campaign-next-action { padding:13px 16px; background:#f8f2f8; border-radius:10px; font-size:17px; }
.campaign-next-action small { display:block; font-size:12px; margin-bottom:5px; }
#view-campanha #project-form .modal-body { overflow:visible; max-height:none; padding:0; }
#view-campanha .project-form-tabs, #view-campanha .project-form-panel { display:none; }
.campaign-editor-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.campaign-section { border:1px solid var(--border); border-radius:14px; background:#fff; min-width:0; }
.campaign-section summary { cursor:pointer; padding:17px; font-size:15px; font-weight:600; }
.campaign-section .form-grid { padding:0 17px 18px; }
.campaign-section textarea { min-height:110px; resize:vertical; }
.campaign-section input, .campaign-section select, .campaign-section textarea { max-width:100%; min-width:0; }
.campaign-section-wide { grid-column:1/-1; }
#view-campanha .modal-footer { position:sticky; bottom:0; background:#fff; border:1px solid var(--border); border-radius:12px; margin-top:16px; z-index:5; flex-wrap:wrap; }
#project-form.campaign-create .project-form-tabs,
#project-form.campaign-create .project-form-note { display:none; }
#project-form.campaign-create .project-form-panel { display:block; }
#project-form.campaign-create .form-group:not(.campaign-create-field) { display:none; }
#project-form.campaign-create .project-form-panel[data-project-panel="producao"],
#project-form.campaign-create .project-form-panel[data-project-panel="direitos"] { display:none; }
.campaign-financial-readout { background:#f8f2f8; padding:12px; border-radius:8px; margin-bottom:8px; font-size:13px; }
/* The campaign opens as a reading/work surface; only selected sections expose inputs. */
#view-campanha .campaign-page-hero { border:0; padding:8px 0 24px; border-radius:0; }
.campaign-brand-name { color:#693B69; border:0; background:none; padding:0; font:inherit; font-size:14px; cursor:pointer; margin-bottom:8px; }
.campaign-central-meta { font-size:14px; line-height:1.7; margin-top:12px; color:#693B69; }
.campaign-central-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.campaign-timeline { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); list-style:none; padding:0; margin:26px 0 10px; }
.campaign-timeline li { position:relative; padding:0 10px 0 0; min-width:0; font-size:12px; }
.campaign-timeline li::before { content:''; position:absolute; height:1px; top:12px; left:26px; right:0; background:#ECD4EA; }
.campaign-timeline li:last-child::before { display:none; }
.campaign-milestone-icon { display:block; width:25px; height:25px; border:1px solid #A987A8; border-radius:50%; margin-bottom:10px; background:#fff; }
.campaign-milestone-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2; }
.milestone-done .campaign-milestone-icon { color:#fff; background:#693B69; border-color:#693B69; }
.milestone-current .campaign-milestone-icon { border:5px solid #693B69; background:#ECD4EA; }
.milestone-na { opacity:.65; }
.campaign-timeline strong { display:block; font-size:12px; font-weight:600; line-height:1.5; }
.campaign-timeline small { display:block; font-size:11px; line-height:1.5; margin-top:5px; color:#693B69; }
.campaign-milestone-state { display:block; font-size:10px; margin-top:4px; color:#693B69; }
.campaign-milestone-state { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#view-campanha .campaign-section[data-campaign-section="0"]:not(.campaign-section-editing) { display:none; }
.campaign-timeline-note { font-size:12px; line-height:1.6; color:#693B69; }
.campaign-now { margin-top:22px; border-left:3px solid #693B69; background:#f8f2f8; padding:20px 24px; border-radius:0 12px 12px 0; }
.campaign-now > small { font-size:13px; color:#693B69; }
.campaign-now h3 { font-size:20px; font-weight:600; line-height:1.4; margin:8px 0; }
.campaign-now p { font-size:14px; line-height:1.7; }
.campaign-next { margin-top:12px; }
.campaign-next span { color:#693B69; margin-right:8px; }
#view-campanha .campaign-editor-sections { gap:24px 32px; }
#view-campanha .campaign-section { border:0; border-top:1px solid #ECD4EA; border-radius:0; }
#view-campanha .campaign-section summary { padding:18px 0; font-weight:600; font-size:17px; }
.campaign-section-reading { padding:0 0 8px; }
.campaign-reading-item { margin-bottom:18px; }
.campaign-reading-item h4 { font-size:12px; font-weight:500; color:#693B69; margin-bottom:6px; }
.campaign-reading-item p { font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.campaign-reading-item a { color:#511F52; }
.campaign-edit-section { margin-bottom:18px; }
.campaign-empty-reading { font-size:14px; color:#693B69; line-height:1.7; }
#view-campanha .campaign-section:not(.campaign-section-editing) > .form-grid { display:none; }
#view-campanha .campaign-section-editing > .campaign-section-reading,
#view-campanha .campaign-section-editing > .campaign-edit-section { display:none; }
#view-campanha #project-form.campaign-reading > .modal-footer { display:none; }
@media(max-width:760px) {
  #view-campanha .campaign-page-hero { display:flex; flex-direction:column; }
  .campaign-central-heading { order:0; }
  .campaign-now { order:1; }
  .campaign-timeline { order:2; }
  .campaign-timeline-note { order:3; }
  .campaign-timeline { grid-template-columns:1fr; margin-top:22px; }
  .campaign-timeline li { padding:0 0 18px 38px; min-height:60px; }
  .campaign-milestone-icon { position:absolute; left:0; top:0; }
  .campaign-timeline li::before { left:12px; right:auto; top:25px; bottom:0; height:auto; width:1px; }
  .campaign-timeline strong { font-size:13px; }
  .campaign-timeline small { margin-top:2px; }
  .campaign-milestone-state { display:none; }
  .campaign-now { padding:16px; }
}
@media(max-width:900px) { .campaign-editor-sections { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .campaign-queue-columns { grid-template-columns:1fr; gap:10px; }
  .campaign-page-hero { padding:16px; }
  .campaign-page-hero h2 { font-size:20px; }
  .campaign-section .form-grid { grid-template-columns:1fr; }
  .campaign-page-meta { gap:12px 18px; }
  #view-campanha .modal-footer .btn { flex:1 1 auto; justify-content:center; }
  .campaign-page-toolbar .btn { white-space:normal; }
}

/* Compact operational campaign sheet. */
.campaign-compact-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.campaign-compact-head .campaign-central-heading { min-width:0; flex:1; }
.campaign-compact-head .campaign-central-actions { margin:0; justify-content:flex-end; }
.campaign-status-line { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:13px; }
.campaign-status-line select { max-width:100%; width:auto; padding:8px 30px 8px 10px; font:inherit; color:#511F52; border:1px solid #ECD4EA; border-radius:8px; background:#f8f2f8; }
.campaign-central-meta { margin:8px 0 0; }
.campaign-central-meta strong { font-size:18px; font-weight:600; }
#view-campanha .campaign-page-hero { padding:0; margin-bottom:20px; }
.campaign-now { margin-top:16px; padding:12px 16px; border-radius:0 8px 8px 0; }
.campaign-now h3 { font-size:17px; margin:4px 0; }
.campaign-now p { font-size:13px; line-height:1.5; margin:3px 0; }
.campaign-now-mine { background:#511F52; color:white; }
.campaign-now-mine h3, .campaign-now-mine small, .campaign-now-mine p { color:white; }
.campaign-now-waiting { background:#f6eff6; }
.campaign-timeline { margin:20px 0 0; gap:4px; }
.campaign-timeline li { padding:8px 6px; border-radius:8px; }
.campaign-timeline li::before { top:20px; left:32px; }
.campaign-timeline .milestone-current { background:#511F52; color:#fff; }
.milestone-current .campaign-milestone-icon { border-color:#ECD4EA; }
.campaign-timeline .milestone-current small { color:#fff; }
.milestone-done .campaign-milestone-icon { background:#f2e9f2; color:#693B69; border-color:#d6c1d6; }
.campaign-timeline .milestone-pending, .campaign-timeline .milestone-na { color:#746674; }
.campaign-timeline strong { font-size:11px; }
.campaign-timeline small { font-size:10px; }
#view-campanha .campaign-section[data-campaign-section="0"]:not(.campaign-section-editing) { display:block; }
#view-campanha .campaign-editor-sections { gap:18px 28px; }
#view-campanha .campaign-section summary { padding:14px 0; font-size:16px; }
.campaign-reading-item { margin-bottom:12px; }
.campaign-reading-item h4 { margin:0 0 3px; }
.campaign-reading-item p { margin:0; line-height:1.5; font-size:13px; }
.campaign-reading-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.campaign-payment-total { font-size:23px; font-weight:600; margin:0 0 14px; color:#511F52; }
.campaign-activity { border-top:1px solid #ECD4EA; padding-top:16px; }
.campaign-activity h3 { font-size:16px; font-weight:600; margin:0 0 12px; }
.campaign-activity ol { list-style:none; margin:0; padding:0; }
.campaign-activity li { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px solid #f2eaf2; font-size:13px; overflow-wrap:anywhere; }
.campaign-activity time, .campaign-activity small { color:#746674; font-size:12px; }
.campaign-activity small { display:block; margin-top:10px; }
.campaign-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.campaign-section input[type="checkbox"] { width:16px; height:16px; margin-right:7px; }
.campaign-creative-tools { margin:0 0 18px; padding:14px; border:1px solid #ECD4EA; border-radius:12px; background:#fffafd; }
.campaign-creative-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.campaign-creative-summary { display:grid; gap:12px; }
.campaign-creative-summary label { display:grid; gap:5px; color:#693B69; font-size:12px; font-weight:600; }
.campaign-creative-summary textarea { width:100%; padding:10px; border:1px solid #ECD4EA; border-radius:8px; font:inherit; resize:vertical; }
.creative-version-list { display:grid; gap:7px; }
.creative-version { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:9px 10px; border:1px solid #eee1ee; border-radius:8px; font-size:12px; }
.creative-version.approved { border-color:#693B69; background:#f8f2f8; }
.creative-version small { color:#746674; }
.creative-version button { border:0; background:none; color:#511F52; text-decoration:underline; cursor:pointer; }
.creative-current { padding:12px; background:#f8f2f8; border-radius:8px; white-space:pre-wrap; }
.creative-current p { margin-top:6px; font-size:13px; line-height:1.6; }
@media(max-width:1000px) {
  .campaign-compact-head { flex-direction:column; gap:12px; }
  .campaign-compact-head .campaign-central-actions { justify-content:flex-start; }
  .campaign-timeline { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .campaign-timeline li { padding:8px; min-height:0; }
  .campaign-timeline li::before { display:none; }
  .campaign-milestone-icon { position:static; margin-bottom:5px; }
  #view-campanha .campaign-page-hero { display:block; }
  .campaign-activity li { grid-template-columns:1fr; gap:4px; }
}
