/* V2.9 pre-pilot polish. UI/print/accessibility only; no review-data schema changes. */
:root{--v29-focus:#7d63c6;--v29-ink:#2b2530;--v29-muted:#655d70;--v29-line:#ddd6e7;--v29-purple:#4b2d89;--v29-purple-mid:#7257b6;--v29-purple-soft:#f2eef8}

/* Desktop review navigation: keep the slim panel visually continuous while the review scrolls. */
@media(min-width:901px){
  #workspace>nav.v27Sidebar{
    position:sticky!important;
    top:8px!important;
    height:calc(100vh - 16px)!important;
    max-height:calc(100vh - 16px)!important;
    overflow-y:auto!important;
    align-self:start!important;
    box-sizing:border-box!important;
    scrollbar-width:thin;
    scrollbar-color:#8f79c7 transparent;
  }
  #workspace>nav.v27Sidebar::-webkit-scrollbar{width:7px}
  #workspace>nav.v27Sidebar::-webkit-scrollbar-thumb{background:#8f79c7;border-radius:10px}
}

/* Save status: quiet reassurance, with a clear error state. */
#saved[data-save-state="saving"]{color:#5d5368!important;background:#f3f0f6!important}
#saved[data-save-state="saved"]{color:#3f315d!important;background:#eee8f6!important}
#saved[data-save-state="local"]{color:#5a4a68!important;background:#f5f2f8!important}
#saved[data-save-state="error"]{color:#8a2525!important;background:#fdeaea!important;border:1px solid #efc6c6}

/* Helpful empty states. */
.emptyState,.adminEmpty{border:1px dashed #cfc4dc;border-radius:14px;background:#faf9fc;padding:20px;color:var(--v29-muted)}
.emptyState h2,.adminEmpty b{color:var(--v29-ink);margin:0 0 6px;font-size:17px}
.adminEmpty{display:grid;gap:4px;margin:12px 0}

/* Admin customer list controls. */
.adminPanelTitle{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.adminPanelTitle h2{margin-bottom:3px}.adminSubtle{margin:0;color:#6e6676;font-size:13px}.adminResultCount{font-size:13px;color:#5e5568;background:#f3eff7;border:1px solid #e0d8e8;border-radius:999px;padding:7px 10px;white-space:nowrap}.adminFilters{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(150px,.55fr) minmax(190px,.7fr) auto;gap:10px;align-items:end;margin-bottom:14px}.adminFilters .field{margin:0}.adminClearFilters{min-height:44px}.adminSort{appearance:none;background:transparent!important;color:inherit!important;border:0!important;padding:0!important;font:inherit!important;font-weight:700!important;text-align:left!important;min-height:auto!important;box-shadow:none!important;cursor:pointer}.adminSort:hover{text-decoration:underline}.adminSort:focus-visible{outline:3px solid var(--v29-focus)!important;outline-offset:3px}.licencePill{display:inline-flex;align-items:center;border-radius:999px;background:#eee8f7;color:#4b2d89;padding:4px 8px;font-size:12px;font-weight:650;margin-bottom:5px}.adminInlineSelect{width:100%;min-width:150px;margin-top:7px;padding:7px 8px;font-size:12px;border:1px solid #d8d0e1;border-radius:8px;background:#fff}.adminMuted{color:#7b7382}.optional{font-weight:400;color:#777080}.adminTable td{line-height:1.35}.adminTable th{white-space:nowrap}
@media(max-width:1150px){.adminFilters{grid-template-columns:1fr 1fr}.adminSearchField{grid-column:1/-1}.adminClearFilters{justify-self:start}}
@media(max-width:650px){.adminFilters{grid-template-columns:1fr}.adminSearchField{grid-column:auto}.adminPanelTitle{align-items:start;display:grid}.adminResultCount{justify-self:start}}

/* Improvement Action Plan on-screen report. */
#report.actionPlanReport{max-width:1080px;margin:0 auto;background:#fff;padding:34px clamp(22px,5vw,58px) 58px;color:var(--v29-ink)}
#report.actionPlanReport>img{width:min(360px,72%);margin-bottom:16px}
#report.actionPlanReport>h1{font-size:38px;color:var(--v29-purple);margin:5px 0 12px}
.actionPrintIntro{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.actionPrintIntro>div{border:1px solid var(--v29-line);border-radius:12px;background:#faf9fc;padding:13px}.actionPrintIntro span{display:block;font-size:12px;color:var(--v29-muted)}.actionPrintIntro b{display:block;font-size:24px;color:var(--v29-purple);margin-top:3px}.actionPrintCard{border:1px solid var(--v29-line);border-left:5px solid #907abf;border-radius:14px;padding:18px;margin:18px 0;box-shadow:0 4px 14px rgba(43,23,111,.05);background:#fff}.actionPrintCard.Red{border-left-color:#a63c3c}.actionPrintCard.Amber{border-left-color:#b67b24}.actionPrintHead{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start}.actionPrintNumber{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eee8f7;color:var(--v29-purple);font-weight:700}.actionPrintHead h2{font-size:19px;margin:2px 0 0;color:#272030}.actionPrintArea{margin:0;color:#6a6172;font-size:12px}.actionPrintSource{background:#faf9fc;border-radius:10px;padding:11px 13px;margin:13px 0}.actionPrintSource p,.actionPrintGrid p{white-space:pre-wrap;margin:5px 0 0}.actionPrintGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.actionPrintGrid>div{border-top:1px solid #ebe6ef;padding-top:10px;min-width:0}.actionPrintGrid .wide{grid-column:1/-1}.actionPrintGrid b{font-size:12px;color:#5b5264}.reportDisclaimer{margin-top:28px;padding-top:14px;border-top:1px solid #e5dfeb;color:#615969;font-size:12px}
@media(max-width:760px){.actionPrintIntro{grid-template-columns:1fr 1fr}.actionPrintGrid{grid-template-columns:1fr}.actionPrintGrid .wide{grid-column:auto}.actionPrintHead{grid-template-columns:30px minmax(0,1fr)}.actionPrintHead>.ragBadge{grid-column:2;justify-self:start}}

/* Consistent report presentation. */
#report.qualitySummaryReport,#report.fullReviewReport{max-width:1080px;margin:0 auto;background:#fff;padding:34px clamp(22px,5vw,58px) 58px;color:var(--v29-ink)}
#report.qualitySummaryReport>img,#report.fullReviewReport>img{width:min(360px,72%);margin-bottom:16px}
#report.qualitySummaryReport>h1,#report.fullReviewReport>h1{color:var(--v29-purple);font-size:36px}

/* Accessibility: visible keyboard focus, readable controls and no colour-only selection. */
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--v29-focus)!important;outline-offset:3px!important}
button,input,select,textarea{font:inherit}
button,.button,summary{min-height:40px}
.ratings button[aria-pressed="true"],.ratings button.active{box-shadow:0 0 0 3px rgba(75,45,137,.18),inset 0 0 0 2px currentColor!important}
.field{color:#342e3a}
.field small,.muted{color:#68616f}

/* Avoid unnecessary all-caps treatment; keep genuine acronyms in the content itself. */
.eyebrow,.demoPill,.demoMiniLabel,.pauseReflect span{text-transform:none!important;letter-spacing:.02em!important}

@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  #report.actionPlanReport,#report.qualitySummaryReport,#report.fullReviewReport{max-width:none!important;margin:0!important;padding:0!important;font-family:Arial,Helvetica,sans-serif!important;color:#111!important;font-size:10pt!important;line-height:1.38!important}
  #report.actionPlanReport .printbar,#report.qualitySummaryReport .printbar,#report.fullReviewReport .printbar{display:none!important}
  #report.actionPlanReport>img,#report.qualitySummaryReport>img,#report.fullReviewReport>img{display:block!important;width:64mm!important;max-height:23mm!important;object-fit:contain!important;margin:0 0 7mm!important}
  #report.actionPlanReport>h1,#report.qualitySummaryReport>h1,#report.fullReviewReport>h1{font-size:21pt!important;line-height:1.1!important;color:#2b176f!important;margin:0 0 3mm!important}
  #report.actionPlanReport>.conf,#report.qualitySummaryReport>.conf,#report.fullReviewReport>.conf{background:#f5f2f8!important;border:1px solid #d3c9de!important;border-left:3mm solid #705faf!important;border-radius:2mm!important;padding:3mm 4mm!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .actionPrintIntro{grid-template-columns:repeat(4,1fr)!important;gap:2.5mm!important;margin:5mm 0!important}.actionPrintIntro>div{padding:2.5mm!important;border-radius:1.5mm!important}.actionPrintIntro b{font-size:16pt!important}.actionPrintCard{break-inside:auto!important;page-break-inside:auto!important;border:1px solid #cfcfcf!important;border-left-width:2.5mm!important;border-radius:2mm!important;padding:4mm!important;margin:0 0 5mm!important;box-shadow:none!important}.actionPrintHead{grid-template-columns:8mm minmax(0,1fr) auto!important;gap:3mm!important}.actionPrintNumber{width:8mm!important;height:8mm!important;border-radius:1.5mm!important}.actionPrintHead h2{font-size:12pt!important}.actionPrintSource{padding:3mm!important;margin:3mm 0!important;background:#f8f8f8!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.actionPrintGrid{grid-template-columns:1.2fr .8fr .8fr!important;gap:3mm!important}.actionPrintGrid>div{padding-top:2.5mm!important}.actionPrintGrid .wide{grid-column:1/-1!important}.actionPrintGrid p{margin-top:1mm!important}.actionPrintHead,.actionPrintSource,.actionPrintGrid>div{break-inside:avoid!important;page-break-inside:avoid!important}.reportDisclaimer{font-size:8.5pt!important;margin-top:6mm!important;padding-top:3mm!important}
  #report.qualitySummaryReport h2,#report.fullReviewReport h2{color:#2b176f!important;font-size:14pt!important;break-after:avoid-page}
  #report.qualitySummaryReport table,#report.fullReviewReport table{font-size:8.5pt!important}
  #report.qualitySummaryReport tr,#report.fullReviewReport tr{break-inside:avoid-page!important}
}
