/* Local report workspace controls; preserve the shared admin navigation and report theme. */
/* Tooltips live under body; their surface must not steal hover from small filter controls. */
.rb-tooltip { pointer-events:none; }
.cd-hero:has(.report-builder), .cd-hero-slider:has(.report-builder), .page:has(.report-builder) { overflow:clip; }
.cd-hero-slider > .page:has(.report-builder) { padding-inline:clamp(16px,2.5vw,48px); }
.report-builder { --rb-line: rgba(var(--text-rgb),.18); }
.report-builder [hidden] { display: none !important; }
.report-builder .rb-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin-block:.65rem; }
.report-builder .rb-heading { justify-content:space-between; }
.report-builder .rb-heading h1 { margin:0; }
.report-builder .rb-heading p { margin:.3rem 0 0; opacity:.7; }
.report-builder .rb-panel > .post-title { margin-bottom:.75rem; }
.report-builder .rb-library h2 { font-size:1.3rem; margin-bottom:.75rem; }
.report-builder .rb-library h3 { font-size:1.05rem; }
.report-builder .rb-panel { padding:1.35rem; }
.report-builder .rb-settings > .post-item { padding:0; margin-bottom:1.5rem; }
.report-builder .rb-settings > .post-item > .rb-panel { height:auto; }
.report-builder .rb-button, .report-builder .rb-icon { appearance:none; font:inherit; font-size:.85rem; text-transform:none; letter-spacing:normal; color:inherit; background:transparent; border:1px solid var(--rb-line); border-radius:6px; padding:.4rem .65rem; box-shadow:none; cursor:pointer; line-height:1.4; text-decoration:none; }
.report-builder .rb-button:hover, .report-builder .rb-icon:hover { background:rgba(var(--text-rgb),.09); }
.report-builder .rb-button:focus-visible, .report-builder .rb-icon:focus-visible, .report-builder .rb-outline-title:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.report-builder button:disabled, .report-builder [aria-disabled="true"] { opacity:.4; cursor:default; }
.report-builder .rb-icon { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; padding:.3rem; border-color:transparent; flex-shrink:0; }
.report-builder .rb-settings label, .report-builder .rb-save-area label, .report-builder .rb-library label, .report-builder .rb-dropdown label { font-size:.85rem; }
.report-builder .rb-workbench { display:grid; grid-template-columns:minmax(350px, .85fr) minmax(0, 1.15fr); gap:1.25rem; align-items:start; }
.report-builder .rb-settings, .report-builder .rb-preview-panel { min-width:0; }
.report-builder .rb-step { display:inline-flex; justify-content:center; align-items:center; border:1px solid var(--rb-line); border-radius:50%; width:1.6rem; height:1.6rem; font-size:.85rem; margin-right:.35rem; }
.report-builder .rb-selection { border-left:3px solid var(--rb-selection-color); padding:.5rem 0 1rem .8rem; margin:1rem 0; }
.report-builder .rb-selection-heading { display:flex; align-items:center; gap:.4rem; }
.report-builder .rb-name-input { flex:1; min-width:0; }
.report-builder .rb-name-input label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.report-builder .rb-selection-heading input.rb-series-name { background:transparent; color:inherit; border:0; border-bottom:1px solid var(--rb-line); width:100%; font-size:1rem; padding:.35rem 0; }
.report-builder .rb-selection-heading input::placeholder { color:inherit; opacity:.8; }
.report-builder .rb-series-color { width:1.5rem; height:1.5rem; border:0; padding:0; background:transparent; }
.report-builder .rb-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin:.85rem 0 0; padding-top:.85rem; border-top:1px solid var(--rb-line); max-height:12rem; overflow:auto; }
.report-builder .rb-chip { display:flex; align-items:center; gap:.25rem; border:0; border-radius:4px; background:rgba(var(--text-rgb),.07); padding:.4rem .45rem .4rem .65rem; font-size:.85rem; max-width:100%; }
.report-builder .rb-chip-label { min-width:0; overflow-wrap:anywhere; text-align:left; }
.report-builder button.rb-chip-label { color:inherit; font:inherit; border:0; background:transparent; cursor:pointer; padding:0; }
.report-builder .rb-chip small { display:block; opacity:.7; }
.report-builder .rb-chips-heading { flex-basis:100%; margin:0; font-size:.75rem; font-weight:600; opacity:.7; }
.report-builder .rb-empty { font-size:.85rem; opacity:.7; padding:.5rem 0; }
.report-builder .rb-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:.6rem 0; }
.report-builder .rb-dates label { min-width:0; }
.report-builder .rb-dates input { width:100%; min-width:0; padding:.35rem; font-size:.85rem; }
.report-builder .rb-settings details { margin-top:.7rem; font-size:.85rem; }
.report-builder .rb-settings summary { cursor:pointer; }
.report-builder .rb-check { display:flex; align-items:start; gap:.5rem; margin:.6rem 0; }
.report-builder .rb-check input { margin-top:.2rem; flex-shrink:0; }
.report-builder .rb-outline { padding-left:1.4rem; margin:1rem 0; }
.report-builder .rb-outline li { padding-block:.3rem; border-bottom:1px solid var(--rb-line); }
.report-builder .rb-outline-row { display:flex; gap:.1rem; align-items:center; }
.report-builder .rb-outline-title { border:0; background:transparent; color:inherit; text-align:left; flex:1; padding:.4rem; font-size:.9rem; min-width:0; cursor:pointer; }
.report-builder .rb-outline-title[aria-current="true"] { font-weight:600; background:rgba(var(--text-rgb),.08); border-radius:4px; }
.report-builder .rb-preview-panel { position:sticky; top:20px; display:flex; flex-direction:column; }
.report-builder .rb-preview-panel > .rb-toolbar { justify-content:space-between; }
.report-builder .rb-preview-panel h2 { margin:0; }
/* The scaled report grows with its content and uses the page scrollbar. */
.report-builder .rb-preview-viewport { min-height:160px; border:1px solid var(--rb-line); border-radius:8px; background:rgba(var(--text-rgb),.025); padding:8px; }
.report-builder .rb-preview-sizer { position:relative; overflow:hidden; min-height:240px; }
.report-builder .rb-preview-empty { padding:4rem 2rem; text-align:center; font-size:.95rem; opacity:.7; }
.report-builder .rb-preview { width:1100px; padding:35px; transform-origin:top left; background:rgb(var(--background-rgb)); }
.report-builder .rb-preview .report-top-menu { display:none; }
.report-builder .rb-preview[aria-busy="true"] { opacity:.55; }
.report-builder .rb-open-link { display:flex; gap:.6rem; align-items:end; margin:1rem 0 .5rem; }
.report-builder .rb-link-field { flex:1; min-width:0; }
.report-builder #rb-report-link { flex:1; min-width:10rem; }
.report-builder .rb-report-row { display:flex; align-items:center; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--rb-line); }
.report-builder .rb-report-info { flex:1; min-width:0; overflow-wrap:anywhere; }
.report-builder .rb-report-info small { display:block; opacity:.6; }
.report-builder .rb-report-actions { display:flex; }
.report-builder .rb-assessments label { display:flex; gap:.5rem; padding:.5rem 0; border-bottom:1px solid var(--rb-line); }
/* Searchable anchored dropdown, using the survey-switch menu's white surface. */
.report-builder .rb-dropdown { position:fixed; z-index:1060; width:360px; max-width:calc(100vw - 24px); max-height:min(520px,75vh); display:flex; flex-direction:column; color:#24343e; background:#fff; border:1px solid #dce2e6; border-radius:10px; padding:.8rem; box-shadow:0 12px 32px #0003; }
.report-builder .rb-dropdown .rb-button, .report-builder .rb-dropdown .rb-icon { color:#24343e; border-color:#dce2e6; }
.report-builder .rb-picker-scroll { overflow:auto; min-height:0; flex:1; }
.report-builder .rb-picker-choice { display:flex; gap:.6rem; padding:.65rem .3rem; border-bottom:1px solid #edf0f2; margin:0; cursor:pointer; }
.report-builder .rb-picker-choice input { flex:0 0 auto; align-self:flex-start; width:1rem; height:1rem; margin-top:.3rem; }
.report-builder .rb-picker-choice span { min-width:0; overflow-wrap:anywhere; }
.report-builder .rb-picker-description { display:block; color:#64717a; font-size:.8rem; margin-top:.15rem; }
.report-builder .rb-picker-toolbar { display:flex; align-items:center; gap:.5rem; margin:.4rem 0; }
.report-builder .rb-picker-count { flex:1; font-size:.8rem; }
@media (max-width:1050px) { .report-builder .rb-workbench { grid-template-columns:minmax(0,1fr); } .report-builder .rb-preview-panel { position:static; max-height:none; } }
@media (max-width:480px) { .report-builder .rb-panel { padding:1rem; } .report-builder .rb-report-row { flex-wrap:wrap; gap:.3rem; } .report-builder .rb-report-actions { margin-left:auto; } }

.report-builder .rb-heading { align-items:start; margin-bottom:2.5rem; gap:1rem; }
.report-builder .rb-header-actions { margin:0; flex-shrink:0; }
.report-builder .rb-heading > div { flex:1; max-width:52rem; }
.report-builder .rb-accent { border-color:rgb(var(--primary-rgb)); background:rgba(var(--primary-rgb),.15); font-weight:600; }
.report-builder .rb-selection + .rb-selection { margin-top:1.4rem; }
.report-builder .rb-selectors { gap:.35rem; }
.report-builder .rb-selectors .rb-button { font-size:.8rem; font-weight:600; padding:.35rem .65rem; border-radius:6px; border-color:rgba(var(--text-rgb),.3); }
.report-builder .rb-selection-count { opacity:.7; margin:.25rem 0 .8rem 1.9rem; }
.report-builder .rb-preview-navigation { display:flex; align-items:center; justify-content:center; gap:.6rem; margin-bottom:.5rem; font-size:.85rem; }
.report-builder .rb-preview-heading { justify-content:space-between; }
.report-builder .rb-preview-heading, .report-builder .rb-preview-navigation, .report-builder .rb-save-area { flex-shrink:0; }
.report-builder .rb-library { border:1px solid var(--rb-line); border-radius:15px; padding:1.5rem; width:min(760px,calc(100vw - 32px)); max-height:85vh; overflow:auto; color:rgb(var(--text-rgb)); background:rgb(var(--background-rgb)); }
.report-builder .rb-library::backdrop { background:#0008; }
.report-builder .rb-library > header { justify-content:space-between; }
.report-builder .rb-shared-label { white-space:pre-line; display:block; }
.report-builder .rb-question-choice { border-bottom:1px solid #dce2e6; }
.report-builder .rb-picker-question { background:transparent; color:inherit; border:0; padding:.65rem .3rem; display:flex; text-align:left; width:100%; gap:.4rem; align-items:start; cursor:pointer; font:inherit; font-size:.85rem; }
.report-builder .rb-picker-question > :first-child { flex:1; }
.report-builder .rb-answer-options { border-left:2px solid #b9c9d9; margin:0 0 .7rem .5rem; padding-left:.7rem; }
.report-builder .rb-dropdown label { color:inherit; }
.report-builder .rb-dropdown > label[for="rb-picker-search"] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:600px) { .report-builder .rb-heading > div { flex-basis:100%; } }

.report-builder .rb-settings, .report-builder .rb-library { --rb-line:rgba(var(--text-rgb),.18); }

.report-builder .rb-dropdown { --text-rgb:36,52,62; }

.report-builder #rb-saved-url { flex:1; min-width:0; width:100%; border:1px solid var(--rb-line); border-radius:5px 0 0 5px; color:#24343e; background:#fff; padding:.5rem .65rem; font:inherit; font-size:.8rem; }
.report-builder .rb-status:empty { display:none; }
.report-builder .rb-info { vertical-align:middle; opacity:.65; }
.report-builder .rb-preview-navigation { margin:0; }

/* One report panel keeps save actions, the published link and preview controls together. */
.report-builder .rb-report-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.65rem; margin-bottom:.8rem; }
.report-builder .rb-report-heading .post-title { margin:0; font-size:1.65rem; font-weight:650; }
.report-builder .rb-save-area, .report-builder .rb-result-area { flex-shrink:0; margin-bottom:.8rem; }
.report-builder .rb-report-heading .rb-save-actions { margin:0; }
.report-builder .rb-preview-heading h3 { font-size:1.35rem; font-weight:600; margin:0; }
.report-builder .rb-preview-tools { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; }
.report-builder .rb-open-saved { border-color:rgb(var(--primary-rgb)); background:rgb(var(--primary-rgb)); color:rgb(var(--text-rgb)); padding:.55rem .85rem; font-size:.9rem; font-weight:600; }
.report-builder .rb-save-actions .rb-button { padding:.85rem 1.3rem; font-size:1.05rem; font-weight:600; border-width:2px; }
.report-builder .rb-save-actions .rb-save { background:rgb(var(--primary-rgb)); color:rgb(var(--text-rgb)); }
.report-builder .rb-save-actions .rb-save:hover, .report-builder .rb-open-saved:hover { filter:brightness(.94); }
.report-builder .rb-result-row, .report-builder .rb-saved { display:flex; align-items:center; gap:.5rem; min-width:0; }
.report-builder .rb-saved .rb-button { flex-shrink:0; white-space:nowrap; }
.report-builder .rb-saved { flex:1; gap:0; }
.report-builder .rb-saved .rb-copy-link {align-self:stretch;border:1px solid var(--rb-line);border-left:0;border-radius:0 5px 5px 0;background:#fff;color:#24343e;padding:.4rem .7rem;}
.report-builder .rb-saved .rb-copy-link:hover:not(:disabled) {background:#edf0f2;}
.report-builder .rb-report-settings {background:rgb(var(--post-background-rgb));}
.report-builder .rb-result-area .rb-status { margin:.4rem 0 0; }
.report-builder #rb-saved-url:disabled { opacity:1; color:#68717a; }
.report-builder .rb-saved .rb-copy-link:disabled {opacity:1;color:#8b9298;}
.report-builder .rb-save-actions { margin-top:0; }
@media (max-width:600px) { .report-builder .rb-result-row { flex-wrap:wrap; } .report-builder .rb-saved { flex-basis:100%; } }
.report-builder .rb-preview-section { display:flex; flex-direction:column; min-height:0; }
.report-builder .rb-preview-heading { margin-top:0; }
.report-builder .rb-status { margin-bottom:.3rem; }
@media (max-width:480px) { .report-builder .rb-library { padding:1rem; } }

/* Separate the published link from the report preview while retaining the sticky controls. */
.report-builder .rb-result-area { margin-bottom:1.5rem; }

/* Separate link lookup from recent reports, with a full-row edit target and distinct icon actions. */
.report-builder .rb-library > header { margin:0 0 1.5rem; }
.report-builder .rb-library h2 { font-size:1.6rem; font-weight:700; margin:0; }
.report-builder .rb-library h3 { font-size:1.15rem; font-weight:650; margin:0 0 .6rem; }
.report-builder .rb-library-link { padding:1.1rem; border:1px solid var(--rb-line); border-radius:10px; background:rgba(var(--text-rgb),.025); margin-bottom:1.75rem; }
.report-builder .rb-open-link { margin:0; }
.report-builder .rb-open-link > button { flex-shrink:0; margin-bottom:.25rem; }
.report-builder .rb-reports { display:flex; flex-direction:column; gap:.6rem; }
.report-builder .rb-report-row { position:relative; padding:.9rem; border:1px solid var(--rb-line); border-radius:10px; gap:.8rem; transition:background .15s,border-color .15s; }
.report-builder .rb-report-row:hover, .report-builder .rb-report-row:focus-within { background:rgba(var(--primary-rgb),.07); border-color:rgba(var(--primary-rgb),.55); }
.report-builder .rb-report-symbol { font-size:1.2rem; opacity:.65; }
.report-builder .rb-report-info { border:0; background:transparent; color:inherit; font:inherit; text-align:left; padding:0; cursor:pointer; }
.report-builder .rb-report-info::after { content:""; position:absolute; inset:0; border-radius:10px; }
.report-builder .rb-report-info strong { display:block; font-size:1rem; font-weight:650; line-height:1.4; }
.report-builder .rb-report-info small { margin-top:.3rem; font-size:.75rem; }
.report-builder .rb-report-actions { position:relative; z-index:1; gap:.15rem; }
.report-builder .rb-report-actions .rb-icon { width:2.2rem; height:2.2rem; border:1px solid var(--rb-line); background:rgba(var(--text-rgb),.06); color:rgb(var(--text-rgb)); }
.report-builder .rb-report-delete:hover { color:rgb(var(--error-rgb)); border-color:currentColor; }
.report-builder .rb-report-info:focus-visible { outline:0; }
.report-builder .rb-report-info:focus-visible::after { outline:2px solid rgb(var(--primary-rgb)); outline-offset:2px; }
.report-builder .rb-library-empty { padding:1.25rem; border:1px dashed var(--rb-line); border-radius:10px; }
@media (max-width:480px) {
    .report-builder .rb-open-link { flex-wrap:wrap; }
    .report-builder .rb-link-field { flex-basis:100%; }
    .report-builder #rb-report-link { width:100%; min-width:0; }
    .report-builder .rb-report-info { flex-basis:calc(100% - 3rem); }
}

/* Catalogue descriptions distinguish included contents from discoverable alternatives. */
.report-builder .rb-page-description { display:block; font-size:.78rem; font-weight:400; line-height:1.45; margin-top:.15rem; opacity:.75; }
.report-builder .rb-not-included { border-top:1px solid var(--rb-line); margin-top:1.2rem; padding-top:1rem; }
.report-builder .rb-not-included h3 { font-size:.8rem; font-weight:600; opacity:.65; }
.report-builder .rb-available-pages { padding:0; list-style:none; }
.report-builder .rb-available-pages li { border-bottom:1px solid var(--rb-line); }
.report-builder .rb-include-page { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; border:0; background:transparent; color:inherit; padding:.7rem .4rem; text-align:left; cursor:pointer; font:inherit; font-size:.9rem; }
.report-builder .rb-include-page > span:first-child { opacity:.7; }
.report-builder .rb-include-page:hover { background:rgba(var(--text-rgb),.05); }
.report-builder .rb-include-page:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.report-builder .rb-include-icon { font-size:1.2rem; }
.report-builder .rb-content-actions .rb-defaults { border-color:transparent; margin-left:auto; font-size:.75rem; }
.report-builder .rb-report-settings { width:min(540px,calc(100vw - 32px)); }
.report-builder .rb-report-settings section { border-top:1px solid var(--rb-line); margin:1rem 0; padding-top:.7rem; }
.report-builder .rb-email-picker { font-size:.85rem; margin-bottom:.9rem; flex-shrink:0; }
.report-builder .rb-email-picker summary { cursor:pointer; padding:.4rem 0; }
.report-builder #rb-email-list { width:100%; font:inherit; padding:.5rem; }

/* Compact comparison choices reuse the anchored picker surface and its keyboard dismissal. */
.report-builder .rb-comparison-choice {display:flex;justify-content:space-between;gap:1rem;width:100%;padding:.8rem;text-align:left;border:0;border-radius:.5rem;background:transparent;color:inherit;white-space:normal;text-transform:none;letter-spacing:normal;line-height:1.4;}
.report-builder .rb-comparison-choice strong {display:block;font-size:.9rem;}
.report-builder .rb-comparison-choice small {display:block;margin-top:.2rem;font-size:.8rem;color:#64717a;}
.report-builder .rb-comparison-choice:hover:not(:disabled),.report-builder .rb-comparison-choice[aria-pressed="true"] {background:#edf3f7;}
.report-builder .rb-comparison-choice:focus-visible {outline:2px solid #355999;outline-offset:-2px;}
.report-builder .rb-comparison-choice:disabled {opacity:.5;cursor:not-allowed;}

/* The complete right column sticks together without a nested preview scrollbar. */
.report-builder .rb-report-controls { padding-top:.3rem; }
.report-builder .rb-result-row > .rb-open-saved { flex-shrink:0; white-space:nowrap; }
.report-builder #rb-saved-url::placeholder { color:#68717a; opacity:1; }
.report-builder .rb-dialog-messages { position:fixed; bottom:1rem; right:1rem; width:min(360px,calc(100vw - 2rem)); z-index:2; }
.report-builder .rb-dialog-messages { --text-rgb:255,255,255; --graphic-rgb:255,255,255; color:#fff; }

.report-builder .rb-use-basis {font-size:.8rem;padding:.3rem .5rem;margin:.3rem 0;}

.report-builder .rb-export-csv {border:0;background:transparent;color:inherit;font-size:1.2rem;}

/* Temporary full-width introduction; retain the shared admin title sizing. */
.report-builder .rb-announcement { margin-bottom:1.5rem; display:flex; gap:1rem; align-items:flex-start; --box-rgb:var(--primary-rgb); }
.report-builder .rb-announcement > i { font-size:1.5rem; margin-top:.2rem; }
.report-builder .rb-announcement p { margin:.35rem 0 0; font-size:.9rem; }
/* These actions sit on the page background, outside the post-box surfaces. */
.report-builder .rb-bottom-save-actions { --rb-line:rgba(var(--text-rgb),.18); margin:0 0 1.5rem; }
.report-builder .rb-dropdown .rb-icon { border-color:transparent; }
.report-builder .rb-picker-bulk-actions { display:flex; gap:.25rem; }
.report-builder .rb-picker-footer { flex-shrink:0; }
.report-builder .rb-picker-footer > .rb-picker-done { width:auto; flex:0 0 auto; }
