/* UX 2A: screen-only visual system. Report export templates are separate. */
:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --petrol: #153e4b;
  --petrol-deep: #103440;
  --teal: #176d66;
  --teal-hover: #105850;
  --canvas: #f3f7f9;
  --surface: #fff;
  --surface-soft: #f6f9fa;
  --text: #233c46;
  --muted: #536b74;
  --border: #d9e4e8;
  --focus: #a75b00;
  --good-bg: #e4f3e9;
  --good-text: #245b39;
  --warn-bg: #fff1d8;
  --warn-text: #795414;
  --risk-bg: #fbe9e6;
  --risk-text: #873f34;
  color: var(--text);
  background: var(--canvas);
}
body { background: var(--canvas); color: var(--text); line-height: 1.45; }
body>header { background: var(--petrol-deep); padding: .75rem clamp(1rem, 3vw, 2.5rem); }
body>header h1 { font-size: 1.04rem; font-weight: 650; letter-spacing: .01em; }
main { max-width: 1440px; padding: clamp(.75rem, 1.6vw, 1.5rem); }
#manager25 { max-width: 1392px; padding: 0 clamp(.25rem, 1vw, 1rem) 2.5rem; }
#m25-view, #m25-view>* { min-width: 0; }
#m25-view h1, #m25-view h2, #m25-view h3 { color: var(--petrol); letter-spacing: -.015em; font-weight: 650; }
#m25-view h1 { font-size: clamp(1.55rem, 2.2vw, 2rem); line-height: 1.2; margin: .1rem 0 .85rem; border: 0; box-shadow: none; }
#m25-view h2 { font-size: 1.17rem; margin: .3rem 0 .8rem; }
#m25-view h3 { font-size: 1rem; letter-spacing: 0; }
#m25-view h1:focus, #m25-view h2:focus { outline: 0; text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: .3em; }
.m25-top { margin: .45rem 0 .65rem; gap: .5rem; font-size: .9rem; }
.m25-top label { margin: 0; font-weight: 550; }
.m25-top select { width: auto; max-width: min(35vw, 300px); min-height: 40px; }
.m25-top button { min-height: 40px; }
.m25-nav { gap: .45rem; margin: 0 0 1rem; border-color: var(--border); }
.m25-nav button { padding: .65rem .85rem; min-height: 42px; font-size: .92rem; font-weight: 600; color: var(--muted); }
.m25-nav button.active { color: var(--petrol); border-bottom-color: var(--teal); }
.m25-nav button:hover { color: var(--petrol); background: #e9f2f3; }
.panel, .scope, .toolbar, .m25-card, .m25-row, .m25-document, .m305-today, .m305-dossier, .m305-finding-content, .m305-inbox-card, .m305-overlay, .m305-paper { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 1px 3px #123f4a0a; }
button, select, input, textarea, .button-link { border-color: #a5b8bd; color: var(--text); border-radius: 8px; }
button { font-weight: 600; }
button:hover:not(:disabled), .button-link:hover { border-color: var(--teal); }
button.primary, .m305-review-form .primary, #m305-finalize { color: #fff; background: var(--teal); border-color: var(--teal); }
button.primary:hover:not(:disabled), .m305-review-form .primary:hover:not(:disabled), #m305-finalize:hover:not(:disabled) { background: var(--teal-hover); border-color: var(--teal-hover); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, .m25-nav button:focus-visible, .m305-subnav button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
label { font-weight: 570; }
small, .muted, .meta, .m305-muted, .m25-note, .m25-muted { color: var(--muted); }
.badge { background: #e7f1f1; color: var(--petrol); }
.badge.open, .m305-statusline .attention { background: var(--warn-bg); color: var(--warn-text); }
.badge.blocked, .m305-late { background: var(--risk-bg); color: var(--risk-text); }
.badge.done, .m305-statusline .complete { background: var(--good-bg); color: var(--good-text); }

/* Manager dashboard and dossier navigation */
.m305-home, .m305-global, .m305-inbox { max-width: 1180px; margin: 0 auto; }
.m305-home>h1 { margin: .15rem 0 .6rem; }
.m305-home>h2 { margin: 1.25rem 0 .55rem; }
.m305-greeting { margin: 0 0 .55rem; color: var(--muted); font-size: .9rem; }
.m305-today { margin: .45rem 0 1.2rem; padding: .85rem 1rem; }
.m305-today h2 { margin: 0 0 .6rem !important; }
.m305-today-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.m305-today-grid button { min-height: 70px; padding: .65rem .8rem; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 8px; }
.m305-today-grid button:hover { background: #e8f3f2; }
.m305-today-grid strong { font-size: 1.45rem; font-weight: 650; color: var(--petrol); }
.m305-today-grid span { font-size: .84rem; color: var(--muted); }
.m305-today-empty { margin: .35rem 0 .75rem !important; }
.m305-dossiers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.m305-dossier { margin: 0; padding: 1rem 1.15rem; gap: .25rem; }
.m305-dossier strong { font-size: 1rem; }
.m305-dossier>span, .m305-dossier>p { font-size: .86rem; margin: .2rem 0; }
.m305-scope-label { margin-top: .4rem; font-size: .72rem !important; color: var(--muted); }
.m305-card-counts { gap: .3rem; }
.m305-card-counts button { padding: .25rem .45rem; min-height: 34px; font-size: .78rem; font-weight: 550; }
.m305-dossier .m305-meter { margin-top: .5rem; }
.m305-create { margin-top: 1rem; }
.m305-create summary, .m305-findings summary { color: var(--teal); }
.m305-dossier-header { border-color: var(--border); }
.m305-dossier-header h1 { margin: .1rem 0 .3rem !important; }
.m305-subnav { padding: .55rem 0 .9rem; }
.m305-subnav button.active { background: #e4f0f0; color: var(--petrol); }
.m305-workspace { gap: 1.2rem; }
.m305-findings { top: .65rem; }
.m305-finding-content { padding: clamp(1rem, 2vw, 1.6rem); }
.m305-action-list button { padding: .7rem .85rem; }
.m305-facts { margin: .8rem 0; gap: .65rem; }
.m305-contribution { margin: .8rem 0; padding: .8rem; }

/* Actions and review */
.m305-global>h1, .m305-inbox>h1 { margin-bottom: .55rem !important; }
.m305-scope-toggle, .m305-status-strip { margin: .4rem 0; gap: .35rem; }
.m305-scope-toggle button, .m305-status-strip button { min-height: 38px; padding: .35rem .65rem; font-size: .86rem; }
.m305-scope-toggle button.active, .m305-status-strip button.active { background: #deeeec; border-color: var(--teal); color: var(--petrol); }
.m305-filter-context { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: .45rem 0; font-size: .86rem; color: var(--muted); }
.m305-filter-context button { min-height: 34px; padding: .2rem .55rem; font-size: .8rem; }
.m305-search { max-width: 520px; margin: .55rem 0; font-size: .86rem; }
.m305-search input { margin-top: .2rem; min-height: 42px; }
.m305-advanced-filters { margin: .35rem 0 .8rem; }
.m305-advanced-filters summary { width: fit-content; padding: .25rem 0; color: var(--teal); font-size: .86rem; font-weight: 600; }
.m305-filters { gap: .5rem; margin: .45rem 0; align-items: end; }
.m305-filters label { margin: 0; }
.m305-filters select { min-height: 40px; }
.m305-actions-table { gap: .4rem; }
.m305-actions-table .m305-action-card { grid-template-columns: minmax(0, 1fr) auto; gap: .15rem .85rem; padding: .72rem .95rem; }
.m305-action-card strong { min-width: 0; font-size: .94rem; color: var(--petrol); font-weight: 620; }
.m305-action-card span { grid-column: 1; color: var(--muted); font-size: .83rem; }
.m305-action-card small { grid-row: 1 / span 2; grid-column: 2; align-self: center; border-radius: 99px; padding: .22rem .55rem; background: #eaf2f2; color: var(--petrol); font-size: .78rem; }
.m305-action-card[data-operational="to_review"] small { background: var(--warn-bg); color: var(--warn-text); }
.m305-action-card[data-operational="to_rework"] small,
.m305-action-card[data-operational="overdue"] small { background: var(--risk-bg); color: var(--risk-text); }
.m305-action-card[data-operational="treated"] small { background: var(--good-bg); color: var(--good-text); }
.m305-inbox-card { padding: .7rem .9rem; margin: .35rem 0 0; }
.m305-inbox-card strong { color: var(--petrol); }
.m305-review-panel { border-color: var(--border); padding: .8rem 1rem; }

/* Report preparation and existing finalized versions */
.m305-report { max-width: 1360px; }
.m305-report-head { align-items: flex-start; gap: 1rem; margin: .15rem 0 .85rem; }
.m305-report-head h1 { margin: 0 0 .35rem !important; }
.m305-report-head p { margin: .15rem 0; color: var(--muted); font-size: .87rem; }
.m305-report-head a { display: inline-block; margin-top: .4rem; color: var(--teal); font-weight: 600; }
.m305-report-head .m305-buttons { align-self: center; }
.m305-report-layout { grid-template-columns: minmax(185px, 225px) minmax(0, 1fr); gap: 1rem; }
.m305-document-nav { top: .75rem; padding: .6rem; background: var(--surface); border: 1px solid var(--border); border-radius: 9px; max-height: calc(100vh - 2rem); overflow: auto; }
.m305-document-nav h2 { margin: .2rem 0 .4rem !important; }
.m305-document-nav a { line-height: 1.35; padding: .4rem .45rem; border-radius: 6px; font-size: .85rem; }
.m305-document { padding: .85rem; background: #e9f0f3; border: 1px solid var(--border); border-radius: 9px; }
.m305-page { padding: clamp(1.2rem, 3vw, 3rem); box-shadow: 0 1px 7px #153e321a; }
.m305-paper { max-width: 1150px; padding: 1rem 1.25rem; margin: 1rem auto; }
#m305-versions { scroll-margin-top: 1rem; border-left: 4px solid var(--teal); }
#m305-versions h2 { margin: 0 0 .7rem; }
#m305-versions>p { margin: .4rem 0; padding: .55rem .7rem; background: var(--surface-soft); border-radius: 7px; overflow-wrap: anywhere; }

/* Administration and shared forms */
.m305-admin-form, .m305-create-form { gap: .55rem; }
.m305-admin-form fieldset { border-color: var(--border); }
.m305-home>.m305-paper { max-width: 1180px; }
.m305-home>.m305-paper details { border-top: 1px solid var(--border); padding: .75rem 0; }
.m305-home>.m305-paper summary { color: var(--petrol); cursor: pointer; font-weight: 600; }
.m305-home>.m305-paper p { margin: .45rem 0; }
.m305-home>.m305-admin-form { padding: .8rem 1rem; background: var(--surface); border: 1px solid var(--border); border-radius: 9px; }

/* Contributor: one compact task surface with prominent evidence controls. */
.field-body header { padding: .7rem clamp(.75rem, 2vw, 1.2rem); }
.field-main { max-width: 900px; padding: .7rem 1rem 2rem; }
.field-body .toolbar { margin: 0 0 .55rem; padding: .55rem .75rem; gap: .5rem; }
.field-body .toolbar label { margin: 0; }
.field-body .toolbar button, .field-body .toolbar select { min-height: 40px; }
.field-body #field-list { padding: .9rem 1rem; }
.field-body #field-list>h2 { display: none; }
.field-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .4rem; margin: .35rem 0 .65rem; }
.field-summary button { min-height: 60px; padding: .45rem .6rem; gap: 0; background: var(--surface-soft); border-color: var(--border); }
.field-summary button strong { font-size: 1.2rem; color: var(--petrol); }
.field-summary button span { font-size: .78rem; color: var(--muted); }
.field-summary button.active { background: #e2f1ee; border-color: var(--teal); }
.field-history-filters { margin: .15rem 0 .7rem; }
.field-history-filters summary { color: var(--teal); font-size: .85rem; }
.field-body #field-list>.card { min-height: 58px; padding: .65rem .85rem; margin: .4rem 0; }
.field-body #field-list>.card strong { font-size: .93rem; color: var(--petrol); }
.field-body #field-list>.card small { font-size: .8rem; }
.field-inline-work { margin: 0 0 .65rem; padding: .85rem 1rem; background: var(--surface-soft); }
.field-inline-work>h2, #field-task-action>h2 { margin: .1rem 0 .35rem; color: var(--petrol); font-size: 1.1rem; }
.field-inline-work>h3, #field-task-action>h3 { margin: .65rem 0 .1rem; color: var(--muted); font-size: .76rem; letter-spacing: .035em; }
.field-inline-work>p, #field-task-action>p { margin: .2rem 0 .5rem; }
.field-inline-work .statusline, #field-task-action .statusline { display: inline-block; margin: .3rem 0; padding: .25rem .55rem; font-size: .83rem; }
.field-inline-work .instructions, #field-task-action .instructions, .field-inline-work .request, #field-task-action .request { margin: .55rem 0; padding: .65rem .8rem; }
.field-body .field-original { margin: .5rem 0; padding: .4rem .6rem; }
.field-body .field-original summary { margin: 0; padding: .25rem; border: 0; min-height: 0; font-weight: 570; color: var(--teal); }
.field-body #contribution-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .45rem .65rem; margin-top: .45rem; }
#contribution-form>.field-actions, #contribution-form>#selected-files, #contribution-form>label:nth-of-type(2), #contribution-form>details, #contribution-form>#field-contribution-error, #contribution-form>.submit-field { grid-column: 1 / -1; }
.field-next-step { grid-column: 1 / -1; margin: .15rem 0 0; color: var(--muted); font-size: .84rem; }
.field-actions { margin: .2rem 0; gap: .5rem; }
.field-actions button { min-height: 48px; }
#contribution-form>label { margin: .15rem 0; font-size: .88rem; }
#contribution-form textarea { min-height: 90px; }
#contribution-form>details textarea { min-height: 115px; }
.field-body .submit-field { margin-top: .2rem; min-height: 50px; }
.field-body #selected-files:not(:empty) { padding: .45rem .6rem; background: #e7f1f1; border-radius: 6px; font-size: .84rem; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .m305-dossiers { grid-template-columns: 1fr; }
  .m305-report-layout { grid-template-columns: 1fr; }
  .m305-document-nav { position: static; max-height: 170px; }
}
@media (max-width: 760px) {
  #manager25 { padding: 0 .2rem 1.5rem; }
  .m25-top { justify-content: flex-start; }
  .m25-top label { flex: 1 1 180px; }
  .m25-top select { max-width: 100%; min-width: 0; }
  .m25-nav { overflow-x: auto; flex-wrap: nowrap; }
  .m25-nav button { white-space: nowrap; padding: .6rem .7rem; }
  .m305-today-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m305-actions-table .m305-action-card { grid-template-columns: 1fr; }
  .m305-action-card small { grid-column: 1; grid-row: auto; justify-self: start; }
  .m305-workspace { gap: .7rem; }
  .m305-findings { position: static; }
  .m305-report-head .m305-buttons { align-self: flex-start; }
  .m305-document { padding: .4rem; }
  .m305-page { min-height: 0; padding: 1rem; }
  .field-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  main, .field-main { padding: .55rem .7rem 1.5rem; }
  .m305-today-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m305-finding-content, .m305-paper, .m305-overlay { padding: .8rem; }
  .m305-report-head h1 { font-size: 1.4rem !important; }
  .m305-document-nav { max-height: 145px; }
  .field-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-body .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-body #contribution-form { grid-template-columns: 1fr; }
  #contribution-form>* { grid-column: 1 / -1; }
  .field-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
  body { background: #fff; }
  .m305-document { background: #fff; border: 0; padding: 0; }
  .m305-page { box-shadow: none; }
}
