.module-page{max-width:1440px;margin:0 auto;padding:1.25rem;min-width:0}.module-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.5rem 0;font-size:.95rem}.module-nav [aria-current=page]{font-weight:700;text-decoration:underline}.module-intro{max-width:72ch;color:var(--u-ink-600,var(--dl-text-muted))}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.tile-grid-single{grid-template-columns:1fr}.kpi-card{border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);background:var(--u-paper,#fff);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.kpi-label{margin:0;font-size:1rem}.kpi-value{margin:0;font-size:2.25rem;font-weight:700;line-height:1.1}.kpi-unit{font-size:1rem;font-weight:400;color:var(--u-ink-600,var(--dl-text-muted))}.kpi-denominator,.kpi-evidence,.kpi-period{margin:0;font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted))}.kpi-denominator{font-style:italic}.kpi-masked-note{margin:0;font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted));border-left:3px solid var(--u-line-strong,var(--dl-text-muted));padding-left:.5rem}.kpi-warning-band{background:var(--u-warning-bg,#fbf3e0);border:1px solid var(--u-warning,var(--dl-warning-text,#8a5a00));border-radius:var(--u-radius-card,8px);padding:.75rem}.kpi-warning-text{margin:0;font-weight:700}.kpi-warning-detail,.kpi-warning-text{color:var(--u-warning,var(--dl-warning-text,#8a5a00))}.kpi-warning-detail{margin:.25rem 0 0;font-size:.9rem}.kpi-drill{align-self:flex-start}.kpi-trend{margin:0;font-size:.9rem}.kpi-with-chart{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:1rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--u-line-strong,var(--dl-text-muted));font-size:.875rem;background:var(--u-canvas,var(--dl-canvas))}.chip-failed,.chip-overdue{background:var(--u-danger-bg,var(--dl-danger-subtle,#faecea));border-color:var(--u-danger,var(--dl-danger,#b3261e));color:var(--u-danger,var(--dl-danger,#b3261e));font-weight:700}.chip-closed{background:var(--u-success-bg,var(--dl-success-subtle,#e7f3ec));border-color:var(--u-success,var(--dl-success,#146b3a));color:var(--u-success,var(--dl-success,#146b3a))}.badge,.chip-glyph{display:inline-block}.badge{padding:.1rem .45rem;border:1px solid var(--u-line-strong,var(--dl-text-muted));border-radius:4px;font-size:.875rem}.badge-critical-bold{font-weight:700;border-color:var(--u-danger,var(--dl-danger,#b3261e));color:var(--u-danger,var(--dl-danger,#b3261e));background:var(--u-danger-bg,var(--dl-danger-subtle,#faecea))}.masked-field{color:var(--u-ink-600,var(--dl-text-muted));font-style:italic}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.empty-state{border:1px dashed var(--u-line-strong,var(--dl-text-muted));border-radius:var(--u-radius-card,8px);padding:1rem;background:var(--u-canvas,var(--dl-canvas))}.empty-state-heading{margin:0 0 .25rem;font-size:1rem}.empty-state-sentence{margin:0 0 .75rem;color:var(--u-ink-600,var(--dl-text-muted))}.button{display:inline-block;padding:.5rem .9rem;min-height:44px;border-radius:var(--u-radius-input,4px);border:1px solid var(--u-action,var(--dl-action));background:var(--u-action,var(--dl-action));color:#fff;text-decoration:none;cursor:pointer}.button:hover{background:var(--u-action-hover,#094e8a)}.c39-chart{margin:0;display:flex;flex-direction:column;gap:.5rem}.chart-svg{width:100%;height:auto;background:var(--u-paper,#fff)}.chart-grid line{stroke:var(--u-line,var(--dl-line))}.chart-line{fill:none;stroke:var(--u-action,var(--dl-action));stroke-width:2}.chart-bar{fill:var(--u-action,var(--dl-action))}.chart-bar-alt{fill:var(--u-warning,var(--dl-warning-text,#8a5a00))}.chart-bar-outline{fill:none;stroke:var(--u-line-strong,var(--dl-text-muted))}.chart-point{cursor:default}.chart-point-hit{fill:transparent;stroke:transparent}.chart-point:focus{outline:3px solid var(--u-action,var(--dl-action));outline-offset:2px;border-radius:50%}.chart-point-dot{fill:var(--u-action,var(--dl-action))}.chart-tick,.chart-value{font-size:9px;fill:var(--u-ink-600,var(--dl-text-muted))}.chart-value{font-weight:700;fill:#fff}.chart-value-alt{fill:#fff}.chart-caption{font-size:.875rem}.chart-caption,.chart-empty{color:var(--u-ink-600,var(--dl-text-muted))}.chart-empty{border:1px dashed var(--u-line-strong,var(--dl-text-muted));padding:.75rem}.chart-table{border-collapse:collapse;font-size:.9rem}.chart-table td,.chart-table th{border:1px solid var(--u-line,var(--dl-line));padding:.35rem .6rem;text-align:left}.ratio-caption{margin:0;font-size:.9rem;color:var(--u-ink-600,var(--dl-text-muted))}.period-picker{display:flex;flex-wrap:wrap;gap:.5rem}.period-option-active{outline:3px solid var(--u-action,var(--dl-action));outline-offset:1px;font-weight:700}.panel .panel-note,.trend-loading,.trend-tile .builder-note{color:var(--u-ink-600,var(--dl-text-muted))}.panel .panel-note{margin:0;font-size:.9rem}.panel-note-muted{font-size:.875rem}.kri-banner{margin:0;padding:.5rem .75rem;background:var(--u-danger-bg,var(--dl-danger-subtle,#faecea));border:1px solid var(--u-danger,var(--dl-danger,#b3261e));color:var(--u-danger,var(--dl-danger,#b3261e));border-radius:var(--u-radius-card,8px);font-weight:700}.kri-banner-ok{background:var(--u-success-bg,var(--dl-success-subtle,#e7f3ec));border-color:var(--u-success,var(--dl-success,#146b3a));color:var(--u-success,var(--dl-success,#146b3a))}.kri-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.kri-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:.25rem .75rem;gap:.25rem .75rem;align-items:center;border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:.5rem .75rem}.kri-row-breach{border-color:var(--u-danger,var(--dl-danger,#b3261e));background:var(--u-danger-bg,var(--dl-danger-subtle,#faecea))}.kri-flag{font-size:.875rem;color:var(--u-success,var(--dl-success,#146b3a));font-weight:700}.kri-flag-on{color:var(--u-danger,var(--dl-danger,#b3261e))}.kri-evidence{grid-column:1/3;font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted))}.kri-link{grid-column:3/4;justify-self:end}.suppressed-cell{display:inline-flex;align-items:center;gap:.35rem;background:var(--u-canvas,var(--dl-canvas));border:1px dashed var(--u-line-strong,var(--dl-text-muted));border-radius:4px;padding:.15rem .5rem;font-size:.875rem}.suppressed-glyph{letter-spacing:.15em}.suppressed-glyph,.suppressed-text{color:var(--u-ink-600,var(--dl-text-muted))}tr[data-suppressed] td,tr[data-suppressed] th{background:var(--u-canvas,var(--dl-canvas))}.cohort-table{border-collapse:collapse;width:100%;font-size:.9rem}.cohort-table td,.cohort-table th{border:1px solid var(--u-line,var(--dl-line));padding:.4rem .6rem;text-align:left}.drill-overlay{position:fixed;inset:0;background:rgb(20 24 30/.55);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:1rem}.drill-panel{background:var(--u-paper,#fff);color:var(--u-ink,#1a2433);border-radius:var(--u-radius-card,8px);max-width:880px;width:100%;max-height:85vh;overflow:auto;padding:1rem}.drill-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.drill-head h4{margin:0}.drill-authorisation{font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted));border-left:3px solid var(--u-action,var(--dl-action));padding-left:.5rem}.drill-error,.drill-loading{font-size:.95rem}.drill-error{color:var(--u-danger,var(--dl-danger,#b3261e));font-weight:700}.queue-count{margin:0;font-weight:700}.queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.queue-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;border-bottom:1px solid var(--u-line,var(--dl-line));padding-bottom:.4rem}.queue-title{font-weight:600}.queue-empty,.queue-meta{color:var(--u-ink-600,var(--dl-text-muted));font-size:.875rem}.builder h3{margin-top:1.5rem}.builder-hint,.builder-note{color:var(--u-ink-600,var(--dl-text-muted));max-width:72ch}.recipe-list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.recipe-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:.6rem .9rem}.recipe-audience,.recipe-description{color:var(--u-ink-600,var(--dl-text-muted));font-size:.9rem}.recipe-description{margin:.25rem 0 0;max-width:72ch}.builder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin:.75rem 0}.builder-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.builder-field input,.builder-field select,.builder-inline-field input{min-height:44px;padding:.4rem .5rem;border:1px solid var(--u-line-strong,var(--dl-text-muted));border-radius:var(--u-radius-input,4px);font:inherit}.builder-advanced{padding:.75rem;margin:.75rem 0;display:flex;flex-direction:column;gap:.75rem}.builder-advanced,.builder-fieldset{border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px)}.builder-fieldset{padding:.5rem .75rem}.filter-row{margin-bottom:.5rem}.builder-actions,.filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.builder-actions{align-items:end;margin:.75rem 0}.builder-inline-field{display:flex}.run-view{border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:1rem;margin-top:.75rem;flex-direction:column}.export-row,.run-view{display:flex;gap:.75rem}.export-row{flex-wrap:wrap;align-items:center}.aggregate-note,.watermark-note{margin:0;font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted));max-width:72ch}.aggregate-note{border-left:3px solid var(--u-line-strong,var(--dl-text-muted));padding-left:.5rem}.subscribe-form h4{margin:.25rem 0}.subscribe-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.saved-list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.saved-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:.5rem .9rem;font-size:.9rem}.saved-name{font-weight:700}.saved-schedule-off{color:var(--u-ink-600,var(--dl-text-muted))}.consent-list,.hazard-list,.jdr-index-list,.trigger-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.hazard-row{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem .75rem;gap:.25rem .75rem;border-bottom:1px solid var(--u-line,var(--dl-line));padding-bottom:.5rem}.hazard-code{font-weight:700}.hazard-description{font-size:.9rem}.hazard-counts,.hazard-description{grid-column:2/3;color:var(--u-ink-600,var(--dl-text-muted))}.hazard-counts{font-size:.875rem}.jdr-cohort{border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:.6rem .9rem}.jdr-cohort-name{margin:0 0 .4rem;font-size:.95rem}.jdr-index-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem}.jdr-index dt{font-size:.875rem;color:var(--u-ink-600,var(--dl-text-muted))}.jdr-index dd{margin:0;font-weight:700}.consent-row{display:grid;grid-template-columns:10rem 1fr;grid-gap:.75rem;gap:.75rem;border-bottom:1px solid var(--u-line,var(--dl-line));padding-bottom:.5rem}.consent-state{font-weight:700;text-transform:capitalize}.consent-declined,.consent-withdrawn{color:var(--u-warning,var(--dl-warning-text,#8a5a00))}.consent-meaning{display:block}.consent-handling{display:block;font-size:.9rem;color:var(--u-ink-600,var(--dl-text-muted))}.trigger-row{display:flex;flex-wrap:wrap;gap:.35rem 1rem;border:1px solid var(--u-line,var(--dl-line));border-radius:var(--u-radius-card,8px);padding:.5rem .75rem;font-size:.9rem}.trigger-when{font-weight:700}.trigger-audit{color:var(--u-ink-600,var(--dl-text-muted));font-size:.875rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}