:root {
  color-scheme: light;
  --ink: #182d3b;
  --muted: #526270;
  --accent: #164e63;
  --line: #ccd6de;
  font-family: "Segoe UI", system-ui, sans-serif;
  line-height: 1.6;
  color: var(--ink);
  background: #f3f6f8;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--accent); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .15em; }
:focus-visible { outline: 3px solid #835700; outline-offset: 4px; }
.skip-link { position: absolute; left: 1rem; top: -6rem; padding: .75rem; background: white; z-index: 2; }
.skip-link:focus { top: .5rem; }
.site-header { border-bottom: 1px solid var(--line); background: white; }
.header-inner { max-width: 76rem; margin: auto; padding: 1.2rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: .8rem; font-size: 1.2rem; font-weight: 650; }
.brand small { display: block; font-size: .75rem; font-weight: 400; color: var(--muted); }
.brand-mark { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border: 1px solid var(--accent); border-radius: .4rem; color: var(--accent); }
.header-inner nav { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.account-menu summary { cursor: pointer; min-height: 2.75rem; padding-block: .5rem; }
.account-content { max-width: 26rem; overflow-wrap: anywhere; padding-bottom: .5rem; }
.container { max-width: 84rem; margin: auto; padding: 2rem; }
main { min-height: 72vh; }
h1, h2, h3 { line-height: 1.25; }
h1 { margin: .3rem 0 1rem; font-size: clamp(1.8rem, 4vw, 2.3rem); }
h2 { font-size: 1.2rem; }
h3 { font-size: .95rem; }
.eyebrow { color: var(--muted); font-size: .8rem; font-weight: 650; letter-spacing: .06em; margin-bottom: .3rem; }
.muted { color: var(--muted); }
.panel { background: white; border: 1px solid var(--line); border-radius: .5rem; padding: 1.5rem; overflow-wrap: anywhere; }
.login-panel { max-width: 29rem; margin: 2rem auto; }
.form-field { margin-block: 1.25rem; }
label { display: block; font-weight: 600; margin-bottom: .4rem; }
input:not([type="hidden"]) { width: 100%; padding: .7rem; border: 1px solid #637785; border-radius: .25rem; font: inherit; min-height: 2.75rem; }
button, .button { display: inline-block; font: inherit; font-weight: 600; padding: .65rem 1rem; border: 1px solid var(--accent); border-radius: .3rem; background: white; color: var(--accent); cursor: pointer; min-height: 2.75rem; text-align: center; }
.primary { background: var(--accent); color: white; }
.error-summary { border-left: 4px solid #a12626; background: #fff4f3; padding: .75rem 1rem; }
.error-summary h2, .field-errors { color: #8c1d1d; }
.organisation-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.project-list { display: grid; gap: 1rem; }
.project-card h2 { margin-top: 0; }
.project-card { padding-block: 1rem; }
.register-filter-grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 1rem; }
.register-filter-grid .form-field { margin: 0; min-width: 0; }
.register-filters .form-actions { margin-top: .75rem; gap: 1rem; }
.register-filters .form-actions label { display: flex; align-items: center; gap: .6rem; min-height: 2.75rem; }
.register-filters input[type="checkbox"] { width: 1.25rem; height: 1.25rem; min-height: 0; flex-shrink: 0; }
.register-group > summary { cursor: pointer; padding-block: .5rem; }
.register-group-title { font-weight: 600; }
.register-group-count, .register-row-text, .register-priority { display: block; font-weight: normal; margin-top: .3rem; }
.register-group-count, .register-priority { font-size: .9rem; color: var(--muted); }
.risk-register-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .9rem; }
.risk-register-table th, .risk-register-table td { text-align: left; vertical-align: top; padding: .65rem .4rem; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.risk-register-table th:first-child { width: 22%; }
.risk-register-table th:nth-child(2) { width: 30%; }
.risk-register-table th:last-child { width: 9%; }
.risk-register-table details > summary { cursor: pointer; padding-block: .4rem; }
.risk-register-table p { margin-block: .5rem; }
.risk-register-table ul { padding-inline-start: 1rem; }
.risk-register-table li { margin-block: .5rem; }
.register-risk-stage + .register-risk-stage { border-top: 1px solid var(--line); margin-top: .8rem; padding-top: .5rem; }
.register-risk-stage h3 { margin: .1rem 0 .4rem; }
.register-stage-status { display: block; font-size: .8rem; font-weight: normal; color: var(--muted); }
.register-risk-facts { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: .2rem .5rem; margin: .4rem 0; }
.register-risk-facts dd { margin: 0; }
.register-description p { font-weight: normal; }
.scenario-section-status ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .5rem; list-style: none; padding: 0; }
.scenario-section-status li { border: 1px solid var(--line); border-radius: .3rem; padding: .5rem .7rem; }
.scenario-section-status a { display: block; font-weight: 600; }
.scenario-stage-state { display: block; font-size: .85rem; color: var(--muted); }
.scenario-record-facts { display: flex; gap: .4rem 1rem; flex-wrap: wrap; font-size: .9rem; }
.recorded-risk-heading { font-weight: 600; }
.register-mobile-label { display: none; }
@media (max-width: 64rem) {
  .register-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .risk-register-table, .risk-register-table tbody, .risk-register-table tr, .risk-register-table td, .risk-register-table th { display: block; width: 100%; }
  .risk-register-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .risk-register-table tr { border-block-start: 1px solid var(--line); padding-block: .5rem; }
  .risk-register-table td, .risk-register-table th { border: 0; padding: .35rem 0; }
  .risk-register-table th:first-child, .risk-register-table th:nth-child(2), .risk-register-table th:last-child { width: 100%; }
  .register-mobile-label { display: block; font-weight: 600; }
}
.project-card .revision-label { margin-block: .6rem; }
.project-card .revision-details { margin-block: .6rem; }
.revision-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 1.5rem; }
.revision-columns section { border-top: 1px solid var(--line); min-width: 0; }
.revision-label { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; font-weight: 600; }
.status { border: 1px solid var(--line); border-radius: .25rem; padding: .15rem .6rem; background: #edf3f6; font-size: .85rem; }
.revision-details { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: .3rem 1rem; }
dt { color: var(--muted); }
dd { margin: 0; }
.pagination { display: flex; gap: 1.5rem; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }
.site-footer { border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem; }
.site-footer .container { padding-block: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 40rem) {
  .header-inner, .container { padding: 1rem; }
  .header-inner nav { gap: 1rem; width: 100%; }
  .login-panel { margin: 1rem auto; }
  .panel { padding: 1rem; }
  .revision-details { grid-template-columns: 1fr; gap: .15rem; }
  dd { margin-bottom: .6rem; }
}
.heading-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.heading-actions h1 { margin-bottom: .5rem; }
.organisation-context { color: var(--muted); overflow-wrap: anywhere; }
.feedback { border-left: 4px solid var(--accent); background: #e9f2f5; padding: .5rem 1rem; margin-bottom: 1.5rem; overflow-wrap: anywhere; }
.feedback-summary { scroll-margin-block-start: 1rem; }
.feedback-summary h2 { margin-block: .2rem .4rem; font-size: 1.1rem; }
.feedback-summary p { margin-block: .3rem; }
[data-feedback-summary]:focus, [data-error-summary]:focus { outline: 3px solid #835700; outline-offset: 4px; }
.form-panel { max-width: 42rem; }
.form-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 1.5rem; }
.field-hint, .required-label { font-size: .9rem; color: var(--muted); }
.field-hint { margin-top: 0; }
textarea { width: 100%; min-height: 7rem; resize: vertical; padding: .7rem; border: 1px solid #637785; border-radius: .25rem; font: inherit; }
.project-context { border-bottom: 1px solid var(--line); padding-bottom: 1.25rem; margin-bottom: 1.5rem; overflow-wrap: anywhere; }
.shared-project-context { display: block; padding-bottom: .6rem; margin-bottom: 1rem; overflow-wrap: anywhere; }
.shared-project-context .project-identity-summary p { margin-block: .15rem; }
.shared-project-context .project-title { font-size: 1rem; font-weight: 600; }
.shared-project-context .project-device { font-weight: 400; }
.shared-project-context .revision-orientation { margin-block: .25rem; font-size: .9rem; }
.shared-project-context > p { margin-block: .4rem; }
.shared-project-context > details { margin-block: .25rem; }
.library-project-context.shared-project-context, .scenario-project-context.shared-project-context { display: block; }
.project-identity { font-size: clamp(1.2rem, 3vw, 1.6rem); font-weight: 650; margin-block: .5rem; }
.revision-selector summary { cursor: pointer; padding-block: .5rem; }
.revision-selector li { margin-block: .5rem; }
.workspace-layout { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2rem; }
.workspace-content { min-width: 0; overflow-wrap: anywhere; }
.control-card { border: 1px solid var(--line); border-radius: .4rem; padding: 1rem; margin-block: .75rem; min-width: 0; }
.control-card > summary { cursor: pointer; padding-block: .25rem; }
.control-intent { display: block; font-weight: normal; margin-top: .35rem; }
[data-scenario-workspace] details { margin-block: .75rem; }
[data-scenario-workspace] form > button { margin-top: .75rem; }
.saved-risk-result { border-left: .2rem solid var(--line); padding-left: 1rem; margin-block: 1rem; }
.visible-risk-result { border-left: .25rem solid var(--line); padding: .25rem 1rem; margin-block: .75rem; }
.section-state { color: var(--muted); font-size: .9rem; margin-top: .4rem; }
.scenario-attention { border-inline-start: .25rem solid var(--accent); }
.scenario-attention ul { padding-inline-start: 1.25rem; }
.scenario-attention li p { margin-block: .5rem; }
.conclusion-state { border-inline-start: .2rem solid var(--line); padding-inline-start: 1rem; }
.conclusion-state [hidden] { display: none; }
.last-saved-risk { font-size: .925rem; }
.workspace-dirty-state { font-weight: 600; }
.matrix-scroll { overflow-x: auto; max-width: 100%; }
[data-risk-matrix] { border-collapse: collapse; width: 100%; }
[data-risk-matrix] th, [data-risk-matrix] td { border: 1px solid var(--line); padding: .5rem; }
[data-risk-matrix] [aria-current="true"] { outline: .2rem solid currentColor; outline-offset: -.2rem; font-weight: 700; }
.unsaved-dialog { max-width: 32rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: .5rem; }
.unsaved-dialog::backdrop { background: rgb(0 0 0 / .3); }
.workspace-nav a { display: block; padding-block: .5rem; }
.workspace-nav a[aria-current="page"] { background: #dcebf0; border-inline-start: .25rem solid var(--accent); border-radius: .2rem; padding-inline: .65rem .4rem; color: #103a4a; font-weight: 700; }
.workspace-nav .nav-section-label { display: block; }
.workspace-nav .nav-section-state { display: block; color: var(--muted); font-size: .8rem; font-weight: 400; text-decoration: none; }
.workspace-nav a[aria-current="page"] .nav-section-state { color: #284b5a; }
.revision-overview > .panel, .revision-attention-summary, .revision-required-decisions { margin-block: 1rem; }
.revision-next-action h2 { margin-top: .4rem; }
.revision-attention-summary, .revision-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.revision-attention-summary > .panel, .revision-section-card { min-width: 0; }
.revision-attention-summary h2, .revision-section-card h3 { margin-top: 0; }
.revision-section-card h3 { font-size: 1.1rem; }
.revision-section-state { margin-block: .5rem; }
.revision-section-facts { padding-inline-start: 1.25rem; }
.revision-section-action { display: inline-block; padding-block: .25rem; }
.next-steps { border-left: 3px solid var(--line); padding: .1rem 1rem; margin-block: 1.5rem; }
.next-steps h2 { font-size: 1rem; }
.section-card { min-width: 0; margin-block: 1rem; }
.section-card h2 { margin: 0 0 1rem; }
.form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem 1.5rem; }
.form-grid .form-field { margin: 0; min-width: 0; }
.project-title { font-size: 1.2rem; font-weight: 600; margin-block: .4rem; }
.system-metadata { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .9rem; margin-block: 1rem; }
.system-metadata dt, .system-metadata dd { display: inline; }
.system-metadata dt { margin-right: .5rem; }
@media (min-width: 64rem) {
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-field-wide { grid-column: 1 / -1; }
}
.overview-section { margin-bottom: 2rem; }
.readable-details dt { font-weight: 600; margin-top: 1rem; }
.readable-details dd { white-space: normal; overflow-wrap: anywhere; }
.conflict-panel { margin-top: 1rem; }
select { width: 100%; min-width: 0; max-width: 100%; min-height: 2.75rem; font: inherit; padding: .7rem; border: 1px solid #637785; border-radius: .25rem; background: white; }
.risk-category-result { font-size: 1.35rem; overflow-wrap: anywhere; }
.plan-topic { min-width: 0; }
.plan-topic h3 { font-size: 1rem; }
.plan-progress { margin-block: 1rem; }
.plan-progress h2 { margin-top: 0; }
.plan-required-list { padding-inline-start: 1.25rem; }
.plan-required-list .field-hint { display: inline; }
.plan-section-links { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1rem; }
.plan-main-section { scroll-margin-top: 1rem; }
.plan-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; flex-wrap: wrap; }
.plan-section-heading h2 { margin-block: 0 .5rem; }
.plan-section-state { font-size: .9rem; font-weight: 600; margin-block: 0 .5rem; }
.plan-alternative, .plan-guidance, .plan-methodology-editor { margin-block: 1rem; }
.plan-alternative > summary, .plan-guidance > summary, .plan-methodology-editor > summary, .plan-advanced > summary { cursor: pointer; padding-block: .4rem; font-weight: 600; }
.plan-requirement { font-size: .9rem; font-weight: 600; margin-block: .5rem 0; }
.plan-choice-grid .checkbox-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem 1.25rem; }
.plan-choice-grid .checkbox-group legend, .plan-choice-grid .checkbox-group > p, .plan-choice-grid .checkbox-group > .field-errors { grid-column: 1 / -1; }
.plan-choice-grid .checkbox-group > div { min-width: 0; }
.plan-saved-references { border-inline-start: 3px solid var(--line); padding-inline-start: 1rem; margin-block: 1rem; }
.plan-saved-references h3 { margin-block: .4rem; }
.plan-saved-references ul { padding-inline-start: 1.25rem; margin-block: .5rem; }
.plan-save { align-items: center; margin-block: 1rem; }
.plan-save p { margin: 0; }
@media (max-width: 40rem) {
  .plan-choice-grid .checkbox-group { grid-template-columns: minmax(0, 1fr); }
}
.plan-topic .form-field { margin-block: .75rem; }
.checkbox-group { border: 0; padding: 0; margin: 1rem 0; min-width: 0; }
.checkbox-group legend { font-weight: 600; margin-bottom: .5rem; }
.checkbox-group label { display: flex; align-items: center; gap: .7rem; min-height: 2.75rem; }
.checkbox-group input[type="checkbox"] { width: 1.25rem; height: 1.25rem; min-height: 0; flex-shrink: 0; }
.person-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: .5rem 1rem; border-top: 1px solid var(--line); padding-block: .7rem; }
.person-row h3, .person-row p { margin-block: .4rem; }
.permission-list li { margin-block: .6rem; }
.people-summary { margin-top: 1rem; }
.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.review-summary { margin-block: .5rem; }
.review-summary > div { display: grid; grid-template-columns: minmax(12rem, 1fr) 2fr; gap: .5rem 1rem; padding-block: .45rem; }
.review-summary dt, .review-summary dd { margin: 0; }
.review-attention { border-inline-start: 3px solid #a47719; padding-inline-start: 1rem; }
.management-review details { margin-block: 1rem; }
@media (max-width: 600px) {
  .review-summary > div { grid-template-columns: 1fr; gap: .2rem; }
  .review-actions { flex-direction: column; align-items: stretch; gap: .75rem; }
  .review-actions button { width: 100%; white-space: normal; }
}
.summary-grid dt { margin-top: 0; }
.summary-grid dd { margin: .3rem 0 0; }
.methodology-options { margin-block: 1rem; }
.methodology-summary { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .5rem; }
details.section-card > summary { font-weight: 600; cursor: pointer; }
@media (max-width: 48rem) {
  .workspace-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .workspace-nav { border-bottom: 1px solid var(--line); padding-bottom: .75rem; }
  .workspace-nav .eyebrow { margin-top: 0; }
}
.hazard-library-form { container: hazard-library / inline-size; min-width: 0; }
.hazard-library-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.hazard-library-layout > .section-card { margin: 0; padding: 1rem; min-width: 0; }
.library-category-buttons { display: grid; grid-template-columns: minmax(0, 1fr); gap: .35rem; }
.library-category-buttons button { text-align: left; width: 100%; white-space: normal; overflow-wrap: anywhere; }
.library-category-buttons button[aria-pressed="true"] { border-left: 4px solid var(--accent); font-weight: 700; background: #e9f2f5; }
.library-results-link { display: inline-block; padding-block: .5rem; }
.library-selection { border-block: 1px solid var(--line); margin-top: 1rem; padding-block: .75rem; }
.library-selection .form-actions { margin-block: .75rem; gap: .75rem; }
.library-results .prompt-row { border-top: 1px solid var(--line); padding-block: .65rem; }
.library-results .prompt-row p { margin-block: .3rem; }
.library-results details > summary { cursor: pointer; padding-block: .5rem; }
.library-results dd { overflow-wrap: anywhere; }
@media (min-width: 64rem) {
  @container hazard-library (min-width: 44rem) {
    .hazard-library-layout { grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); }
    .library-category-buttons { max-height: 65vh; overflow-y: auto; padding: .3rem; scrollbar-gutter: stable; }
  }
}

/* Compact source-owned context; reuse the workspace grid and disclosure patterns. */
.analysis-context { padding: 1rem; }
.analysis-context p { margin-block: .5rem; }
.context-grid { gap: .5rem 1rem; margin-block: .5rem; }
.context-grid dd { margin: 0; }
@media (min-width: 75rem) {
  .context-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Compact library work surface; other project pages keep their established header. */
.library-project-context { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding-bottom: .6rem; margin-bottom: 1rem; }
.library-project-context > p { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.library-project-context > details { min-width: 0; }
.library-project-context > details[open] { flex-basis: 100%; }
.library-project-context summary { cursor: pointer; padding-block: .25rem; }
.library-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; }
.library-heading h1 { margin-bottom: .35rem; }
.library-guidance { margin-block: .3rem .5rem; }
.library-release { margin-block: .4rem .75rem; font-size: .9rem; }
.library-release .status { white-space: normal; }
.library-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .5rem; }
.library-search .form-field { margin: 0; }
.library-search label { font-size: .9rem; margin-bottom: .2rem; }
.library-results .library-selection { padding-block: .5rem; margin-top: .5rem; }
.library-selection > p { margin-block: .1rem .35rem; font-size: .9rem; }
.library-actions { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: baseline; }
.library-review { flex: 1 1 auto; min-width: 0; }
.library-review[open] { flex-basis: 100%; }
.library-review li { margin-block: .4rem; }
.library-review button { font-size: .85rem; padding: .25rem .5rem; min-height: 2rem; }
.library-results .checkbox-group { margin-block: .3rem 0; }
.library-results > h2 { margin-bottom: .5rem; }
.library-categories > h2 { margin-bottom: .25rem; }
.library-results .prompt-row:first-of-type { border-top: 0; }
@media (max-width: 32rem) { .library-search { grid-template-columns: minmax(0, 1fr); } }

/* Risk Analysis working header only; shared workspace and register rows are unchanged. */
.register-project-context { border-bottom: 1px solid var(--line); padding-bottom: .6rem; margin-bottom: .75rem; overflow-wrap: anywhere; }
.register-project-context > p { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem .75rem; margin: 0; }
.register-project-context .revision-selector { margin-top: .25rem; }
.risk-analysis-tools h1 { margin-bottom: .65rem; }
.context-bar { display: flex; align-items: flex-start; gap: .75rem; padding: .5rem .8rem; margin-block: .65rem; }
.context-bar .analysis-context { min-width: 0; flex: 1; padding: 0; }
.analysis-context > summary { cursor: pointer; padding-block: .25rem; }
.analysis-context > summary h2 { display: inline; margin: 0; font-size: 1rem; }
.context-status, .context-review-label { font-size: .9rem; font-weight: normal; }
.context-review-label { margin-left: .75rem; text-decoration: underline; text-underline-offset: .2em; }
.context-edit { padding-block: .25rem; }
.context-details { padding-top: .6rem; }
.context-details .context-grid { margin-block: .75rem; }
.register-status { display: flex; align-items: baseline; flex-wrap: wrap; gap: .15rem .75rem; margin-block: .6rem; }
.register-status .register-counts { margin: 0; }
.register-count-help { font-size: .875rem; color: var(--muted); }
.register-count-help > summary, .register-filter-options > summary { cursor: pointer; min-height: 2.75rem; padding-block: .5rem; }
.register-count-help[open] { flex-basis: 100%; }
.register-count-help p { margin-block: .25rem; }
.register-primary-actions { margin-block: .65rem; gap: .75rem; }
.register-filter-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .6rem .75rem; align-items: end; }
.register-filter-toolbar > .form-field { min-width: 0; margin: 0; }
.register-filter-options[open] { grid-column: 1 / -1; }
.register-filter-options .register-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.risk-analysis-tools .register-visible { margin-block: .5rem 0; font-size: .9rem; color: var(--muted); }
@media (max-width: 48rem) {
  .register-filter-options .register-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .register-filter-toolbar { column-gap: .5rem; }
}
@media (max-width: 30rem) {
  .register-filter-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
  .register-filter-options { grid-column: 1 / -1; }
}

.reliance-choices .reliance-choice-context { margin: -.2rem 0 .75rem 1.95rem; overflow-wrap: anywhere; }
.reliance-choices .reliance-choice-context p { margin-block: .2rem; }
.reliance-choices [hidden] { display: none; }

/* Phase 6 progressive disclosure is confined to the Overall workspace. */
[data-overall-workspace] [hidden] { display: none; }
.overall-profile p { margin-block: .5rem; }

/* Scenario content hierarchy only. Other workspaces retain their established layout. */
.workspace-layout.scenario-workspace-layout { display: block; }
.scenario-project-context { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem 1rem; border-bottom: 1px solid var(--line); margin-bottom: .75rem; padding-bottom: .4rem; }
.scenario-project-context > p { margin: 0; font-weight: 600; }
.scenario-project-context > details[open] { flex-basis: 100%; }
.scenario-project-context summary, [data-scenario-content] summary { cursor: pointer; padding-block: .4rem; }
[data-scenario-content] [hidden] { display: none; }
[data-scenario-content] h1 { font-size: clamp(1.4rem, 3vw, 1.8rem); margin-bottom: .4rem; }
[data-scenario-content] h2 { margin-block: .25rem .8rem; }
[data-scenario-content] p { margin-block: .5rem; }
[data-scenario-content] .section-card { padding: 1rem 1.25rem; margin-block: .8rem; }
[data-scenario-content] .form-actions { margin-block: .5rem; gap: .5rem 1rem; }
[data-scenario-content] details { margin-block: .4rem; }
[data-scenario-content] .form-field { margin-block: .65rem; }
[data-scenario-content] .form-grid { gap: .4rem 1rem; }
[data-scenario-content] label { margin-bottom: .25rem; }
[data-scenario-content] textarea { min-height: 0; line-height: 1.4; }
[data-scenario-content] .visible-risk-result { padding-block: .1rem; }
[data-scenario-content] .professional-decision { border-left: 3px solid var(--accent); padding-left: 1rem; margin-block: 1rem .5rem; }
[data-scenario-content] .professional-decision h3 { font-size: 1.05rem; margin-block: .4rem; }
[data-scenario-content] .review-cue { display: block; border-left: 3px solid #835700; padding-left: .6rem; font-size: .9rem; }
[data-scenario-content] .reliance-panel { border-top: 1px solid var(--line); padding-top: .35rem; }
[data-scenario-content] .reliance-panel > summary { font-weight: 600; }
[data-scenario-content] .assessment-guidance, [data-scenario-content] .scenario-attention { font-size: .9rem; }
[data-scenario-content] .last-saved-risk { font-size: .9rem; }
[data-scenario-content] .control-card > summary { font-size: .95rem; }
@media (max-width: 40rem) {
  [data-scenario-content] .section-card { padding: .85rem; }
  [data-scenario-content] .professional-decision { padding-left: .6rem; }
  .scenario-project-context { font-size: .9rem; }
}

[data-scenario-content] [hidden] { display: none !important; }
.monitor-scenarios label { display: flex; align-items: center; gap: .65rem; min-height: 2.75rem; }
.monitor-scenarios input[type="checkbox"] { width: 1.25rem; height: 1.25rem; min-height: 0; flex-shrink: 0; }
.monitor-project-context { padding-bottom: .75rem; margin-bottom: 1rem; }
.monitor-project-context p { margin-block: .2rem; }
.monitor-project-context .project-title { font-size: 1rem; }
/* The report controls remain usable without JavaScript or a wide viewport. */
.report-revision-selector { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-bottom: 1.25rem; }
.report-revision-selector label { flex-basis: 100%; }
.report-revision-selector select { flex: 1 1 15rem; min-width: 0; max-width: 100%; }
.report-generation { display: flex; flex-wrap: wrap; gap: .75rem; }
.report-generation > div { flex: 1 1 18rem; min-width: 0; }
.report-generation code { overflow-wrap: anywhere; }
.rmf-report { min-width: 0; overflow-wrap: anywhere; }
.reference-concept { margin-block: .65rem; }
.reference-card { margin-block: 1rem 1.4rem; }
.reference-card h4, .reference-card h5 { margin-block: 1rem .5rem; }
.reference-card li { margin-block: .4rem; line-height: 1.55; }
.reference-table-scroll { max-width: 100%; overflow-x: auto; margin-block: .75rem; }
.reference-table { width: 100%; font-size: .94rem; }
.reference-table th, .reference-table td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; padding: .65rem; }
.reference-table caption { text-align: left; font-weight: 600; margin-block: .4rem; }
.profile-disclosure, .scenario-profile-group { margin-block: 1rem 1.5rem; }
.scenario-profile-matrix { width: 100%; table-layout: fixed; border-collapse: collapse; }
.scenario-profile-matrix th, .scenario-profile-matrix td { border: 1px solid #cbd5e1; padding: .55rem; vertical-align: top; overflow-wrap: anywhere; }
.scenario-profile-matrix thead { background: #edf2f6; }
.scenario-profile-matrix th:first-child { width: 13%; }
.scenario-profile-matrix abbr { text-decoration: none; }
.profile-cell-references .profile-reference { display: block; font-weight: 600; margin-block: .15rem; }
.profile-category { display: block; font-size: .8rem; line-height: 1.35; color: #475569; margin-top: .35rem; }
.profile-overflow { font-size: .85rem; }
.profile-cell-detail { border-left: 3px solid #cbd5e1; padding-left: 1rem; margin-block: 1rem; scroll-margin-top: 1rem; }
.profile-full-list { display: flex; flex-wrap: wrap; gap: .4rem .8rem; }
.profile-mobile-cells { display: none; }
.profile-stage h4 { margin-block: 1.2rem .6rem; }
.invitation-form { max-width: 48rem; margin-block: 1.5rem; }
.invitation-admin-confirm { border-left: 3px solid #a16207; padding-left: 1rem; margin-block: 1rem; }
.invitation-checkbox { display: flex; align-items: flex-start; gap: .65rem; }
.invitation-checkbox input { flex: 0 0 1.25rem; width: 1.25rem; min-height: 1.25rem; margin-top: .25rem; }
.invitation-row { margin-block: 1rem; overflow-wrap: anywhere; }
.invitation-row h3 { margin-top: 0; }
.invitation-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem 1rem; }
.invitation-facts dt { font-weight: 600; color: #475569; }
.invitation-facts dd { margin-left: 0; }
.invitation-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.manual-invitation { margin-block: 1rem; border: 2px solid #a16207; }
.manual-invitation textarea { overflow-wrap: anywhere; width: 100%; }
@media (max-width: 650px) {
  .profile-desktop-grid { display: none; }
  .profile-mobile-cells { display: block; }
  .profile-mobile-cell { border: 1px solid #cbd5e1; border-radius: .35rem; padding: .75rem; margin-block: .7rem; }
  .profile-mobile-cell h5 { margin: 0 0 .5rem; font-size: 1rem; }
}
