:root {
  color-scheme: light;
  --ink: #1f2731;
  --muted: #66717e;
  --line: #dfe4e8;
  --surface: #ffffff;
  --canvas: #f5f7f7;
  --pine: #173f3a;
  --pine-2: #245b52;
  --mint: #dff3eb;
  --mint-strong: #63b993;
  --purple: #6d5fd0;
  --purple-soft: #efedff;
  --amber: #d88b26;
  --amber-soft: #fff3df;
  --blue: #3977b9;
  --blue-soft: #e9f3fc;
  --danger: #b94d4b;
  --danger-soft: #fceceb;
  --shadow: 0 16px 42px rgba(26, 44, 42, .07);
  --sidebar: 248px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { background: var(--canvas); scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); min-width: 320px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; flex: 0 0 auto; }
.skip-link { position: fixed; z-index: 1000; left: 12px; top: -50px; padding: 10px 16px; border-radius: 8px; color: white; background: var(--pine); transition: top .2s; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid rgba(109, 95, 208, .42); outline-offset: 3px; }

.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar); display: flex; flex-direction: column; padding: 22px 17px 18px; color: #eef9f5; background: linear-gradient(172deg, #123a35 0%, #173f3a 62%, #102f2c 100%); overflow-y: auto; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 7px 18px; color: white; text-decoration: none; }
.brand img { width: 42px; height: 42px; border-radius: 13px; object-fit: cover; background: white; box-shadow: 0 5px 18px rgba(0, 0, 0, .18); }
.brand span { display: grid; line-height: 1.05; }
.brand strong { letter-spacing: .13em; font-size: 17px; }
.brand small { margin-top: 6px; color: #aed2c6; font-size: 11px; letter-spacing: .015em; }
.local-badge { display: flex; align-items: center; gap: 8px; margin: 0 4px 22px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #bee2d7; background: rgba(255,255,255,.045); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.local-badge span { width: 7px; height: 7px; border-radius: 50%; background: #7be4b3; box-shadow: 0 0 0 3px rgba(123,228,179,.14); }
.sidebar nav { display: grid; gap: 4px; }
.sidebar nav p { margin: 18px 11px 6px; color: #80a99d; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.sidebar nav a { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 10px 11px; border-radius: 10px; color: #c8ddd7; text-decoration: none; font-size: 13px; font-weight: 650; transition: .18s ease; }
.sidebar nav a svg { width: 18px; height: 18px; color: #8ebbb0; }
.sidebar nav a:hover { color: white; background: rgba(255,255,255,.065); }
.sidebar nav a[aria-current="page"] { color: white; background: rgba(126, 215, 177, .15); box-shadow: inset 3px 0 #81ddb7; }
.sidebar nav a[aria-current="page"] svg { color: #81ddb7; }
.sidebar nav a b { display: grid; place-items: center; margin-left: auto; width: 21px; height: 21px; border-radius: 50%; color: #173f3a; background: #fee095; font-size: 10px; }
.sidebar-note { margin-top: auto; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.05); }
.sidebar-note strong { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.sidebar-note svg { width: 15px; color: #8de2bf; }
.sidebar-note p { margin: 7px 0 0; color: #9fc3ba; font-size: 11px; line-height: 1.55; }

.app-frame { min-height: 100vh; margin-left: var(--sidebar); background: var(--canvas); }
.topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 11px clamp(20px, 3vw, 44px); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.centre-context, .centre-context > div { display: flex; align-items: center; }
.centre-context { gap: 11px; }
.centre-context > div { align-items: flex-start; flex-direction: column; }
.centre-context strong { font-size: 13px; }
.centre-context small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.centre-mark { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: white; background: var(--pine); font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.topbar-little-owl { position: absolute; left: 50%; display: flex; align-items: center; gap: 8px; min-width: 0; transform: translateX(-50%); }
.topbar-little-owl img { width: 45px; height: 45px; object-fit: contain; }
.topbar-little-owl strong { max-width: 210px; overflow: hidden; color: #173f31; font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.role-select { display: flex; align-items: center; gap: 8px; padding: 5px 7px 5px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfb; }
.role-select span { color: var(--muted); font-size: 11px; }
.role-select select { border: 0; color: var(--ink); background: transparent; font-size: 12px; font-weight: 750; }
.icon-button { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: white; cursor: pointer; }
.icon-button svg { width: 18px; }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 6px; height: 6px; border-radius: 50%; background: #db5d58; box-shadow: 0 0 0 2px white; }
.profile { display: flex; align-items: center; gap: 9px; min-height: 43px; padding: 4px 8px 4px 5px; border: 0; border-radius: 10px; background: transparent; cursor: pointer; }
.profile:hover { background: #f2f5f4; }
.profile > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #544795; background: #e7e1fa; font-size: 11px; font-weight: 800; }
.profile div { display: grid; text-align: left; }
.profile strong { font-size: 11px; }
.profile small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.profile svg { width: 14px; color: var(--muted); }
.mobile-menu { display: none; }

#main { width: min(1510px, 100%); margin: 0 auto; padding: clamp(25px, 4vw, 48px); }
.page-header, .incident-hero, .director-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.page-header h1, .incident-hero h1, .director-hero h1 { margin: 4px 0 7px; color: #1c2c2a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 3.4vw, 48px); font-weight: 500; letter-spacing: -.035em; line-height: 1.04; }
.page-header > div:first-child > p:last-child, .incident-hero > div:first-child > p:last-child, .director-hero > div:first-child > p:last-child { max-width: 720px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.eyebrow { margin: 0; color: var(--pine-2); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.page-actions, .hero-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 16px; border: 1px solid transparent; border-radius: 9px; text-decoration: none; font-size: 12px; font-weight: 750; cursor: pointer; transition: .18s ease; }
.button svg { width: 16px; height: 16px; }
.button.primary { color: white; background: var(--pine); box-shadow: 0 6px 16px rgba(23,63,58,.16); }
.button.primary:hover { background: #21564e; transform: translateY(-1px); }
.button.secondary { color: var(--pine); background: var(--mint); border-color: #cae9dd; }
.button.ghost { color: #2d3c3a; background: white; border-color: var(--line); }
.button.ghost:hover, .button.quiet:hover { border-color: #aebbb7; background: #f9fbfa; }
.button.quiet { color: var(--muted); background: transparent; border-color: transparent; }
.button.small { min-height: 34px; padding: 7px 11px; font-size: 11px; }
.button.full { width: 100%; }
.button:disabled { opacity: .5; cursor: not-allowed; }
.text-button { display: inline-flex; align-items: center; gap: 6px; padding: 6px; border: 0; color: var(--pine-2); background: transparent; font-size: 11px; font-weight: 750; cursor: pointer; }
.text-button svg { width: 14px; }
.time-target, .role-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 999px; color: var(--pine); background: var(--mint); font-size: 11px; font-weight: 750; }
.time-target svg, .role-pill svg { width: 15px; }
.panel { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 15px; border-bottom: 1px solid #edf0f2; }
.panel-heading h2, .section-heading h2 { margin: 4px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 500; letter-spacing: -.02em; }
.panel-heading > span { color: var(--muted); font-size: 11px; }
.breadcrumbs { display: flex; align-items: center; gap: 6px; margin-bottom: 18px; color: var(--muted); font-size: 11px; }
.breadcrumbs a { color: var(--pine-2); text-decoration: none; }
.breadcrumbs svg { width: 11px; height: 11px; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.metric { display: flex; gap: 14px; min-height: 122px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 8px 24px rgba(26,44,42,.045); }
.metric > svg { width: 36px; height: 36px; padding: 8px; border-radius: 10px; }
.metric.green > svg { color: #377c60; background: #e2f4ec; }.metric.amber > svg { color: #a66518; background: #fff0d8; }.metric.blue > svg { color: #336fa5; background: #e7f1fb; }.metric.purple > svg { color: #6353bf; background: #ece9fd; }
.metric div { display: grid; align-content: start; }
.metric p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.metric strong { margin-top: 5px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.metric small { margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.pattern-callout, .analytics-notice { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; padding: 18px 20px; border: 1px solid #d9d5fb; border-radius: 13px; background: linear-gradient(112deg, #f2f0ff, #fbfaff); }
.pattern-icon, .analytics-notice > svg { display: grid; place-items: center; width: 42px; height: 42px; padding: 10px; border-radius: 12px; color: var(--purple); background: white; box-shadow: 0 4px 12px rgba(109,95,208,.12); }
.pattern-callout h2, .analytics-notice strong { margin: 3px 0; font-size: 15px; }
.pattern-callout p:last-child, .analytics-notice p { margin: 0; color: #5f6070; font-size: 11px; line-height: 1.5; }
.pattern-callout .button, .analytics-notice .button { margin-left: auto; flex: 0 0 auto; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 325px; gap: 18px; }
.incident-list { padding: 5px 0; }
.incident-row { display: grid; grid-template-columns: 44px minmax(150px, 1.2fr) minmax(150px, 1fr) 100px minmax(150px, .9fr) 24px; align-items: center; gap: 13px; min-height: 76px; padding: 10px 18px; border-bottom: 1px solid #eef1f2; color: inherit; text-decoration: none; transition: background .15s; }
.incident-row:last-child { border: 0; }
.incident-row:hover { background: #f8faf9; }
.incident-row > span:not(.incident-avatar):not(.row-arrow) { display: grid; gap: 5px; }
.incident-row strong { font-size: 11px; }
.incident-row small { color: var(--muted); font-size: 9.5px; line-height: 1.25; }
.incident-avatar { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; font-size: 11px; font-weight: 850; }
.incident-avatar.minor { color: #376d59; background: #ddf0e8; }.incident-avatar.moderate { color: #965e18; background: #ffedd2; }
.row-arrow { color: #83908d; }
.row-arrow svg { width: 15px; }
.status-badge { display: inline-flex; align-items: center; width: fit-content; gap: 4px; padding: 5px 8px; border-radius: 999px; color: #695118; background: #fff2d5; font-size: 8.5px; font-weight: 850; letter-spacing: .04em; line-height: 1.15; }
.status-badge svg { width: 11px; height: 11px; }
.status-badge.closed, .status-badge.complete, .status-badge.completed, .status-badge.family-report-released, .status-badge.follow-up-verified { color: #2b6c52; background: #dff3e9; }
.status-badge.opened { color: #8a5a1f; background: #fff0d7; }
.quick-guide { padding-bottom: 18px; }
.quick-guide .panel-heading { border-bottom: 0; }
.step-list { display: grid; gap: 16px; margin: 6px 20px 18px; padding: 0; list-style: none; }
.step-list li { display: flex; gap: 11px; }
.step-list li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: var(--pine); background: var(--mint); font-size: 10px; font-weight: 800; }
.step-list li div { display: grid; gap: 3px; }
.step-list strong { font-size: 11px; }.step-list small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.speed-card { margin: 0 18px 14px; padding: 13px; border-radius: 11px; background: #f1f7f4; }
.speed-card strong { display: flex; align-items: center; gap: 7px; color: var(--pine); font-size: 11px; }.speed-card svg { width: 15px; }.speed-card p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.quick-guide > .button { width: calc(100% - 36px); margin: 0 18px; }

.quick-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.form-main { display: grid; gap: 15px; }
.form-section { position: relative; padding: 23px 24px 25px 72px; }
.section-number { position: absolute; top: 23px; left: 23px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: var(--pine); background: var(--mint); font-size: 12px; font-weight: 850; }
.section-copy h2 { margin: 4px 0; font-family: Georgia, serif; font-size: 24px; font-weight: 500; }.section-copy > p:last-child { margin: 0 0 18px; color: var(--muted); font-size: 11px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.span-2 { grid-column: 1 / -1; }
.field { display: grid; gap: 7px; margin-top: 14px; }
.field > span, .choice-field legend { color: #34403f; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.field b, .choice-field b { color: var(--danger); }
.field input, .field select, .field textarea { width: 100%; min-height: 41px; padding: 10px 11px; border: 1px solid #d6dcdf; border-radius: 8px; color: var(--ink); background: white; font-size: 11px; }
.field textarea { resize: vertical; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #7c70cc; box-shadow: 0 0 0 3px rgba(109,95,208,.1); outline: 0; }
.field small, .choice-field small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.choice-field { margin: 17px 0 0; padding: 0; border: 0; }
.choice-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.choice-chips label { cursor: pointer; }
.choice-chips input { position: absolute; opacity: 0; pointer-events: none; }
.choice-chips span { display: block; padding: 8px 11px; border: 1px solid #d8dddf; border-radius: 8px; background: #fbfcfc; font-size: 10px; }
.choice-chips input:checked + span { border-color: #6d5fd0; color: #5548aa; background: var(--purple-soft); box-shadow: inset 0 0 0 1px #6d5fd0; }
.choice-chips input:focus-visible + span { outline: 3px solid rgba(109, 95, 208, .42); outline-offset: 2px; }
.prefill-strip { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px; border: 1px solid #d5e9e1; border-radius: 10px; background: #f1f8f5; }
.prefill-strip > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: var(--pine-2); background: white; }
.prefill-strip svg { width: 15px; }.prefill-strip div { flex: 1; }.prefill-strip strong { font-size: 10px; }.prefill-strip p { margin: 2px 0 0; color: var(--muted); font-size: 9.5px; line-height: 1.35; }
.investigation-trigger { padding: 0; overflow: hidden; }
.investigation-trigger > label { display: flex; align-items: center; gap: 12px; padding: 19px 22px; cursor: pointer; }
.investigation-trigger > label > input { width: 17px; height: 17px; accent-color: var(--purple); }
.investigation-trigger > label > span:nth-of-type(1) { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--purple); background: var(--purple-soft); }
.investigation-trigger > label svg { width: 16px; }.investigation-trigger > label > span:last-child { display: grid; gap: 3px; }.investigation-trigger strong { font-size: 11px; }.investigation-trigger small { color: var(--muted); font-size: 9.5px; }
.investigation-fields { padding: 0 22px 22px 63px; border-top: 1px solid var(--line); }
.review-rail { position: sticky; top: 88px; padding: 21px; }
.review-rail h2 { margin: 4px 0 15px; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }
.check-list, .privacy-list, .gate-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: center; gap: 8px; color: #44504e; font-size: 10px; }.check-list svg { width: 15px; color: #3c8d69; }
.privacy-note { display: flex; gap: 8px; margin: 18px 0; padding: 11px; border-radius: 9px; color: #5f536f; background: #f5f1fa; font-size: 9.5px; line-height: 1.45; }.privacy-note svg { width: 15px; }
.form-fineprint { margin: 10px 2px 0; color: #8a949c; font-size: 8.5px; line-height: 1.45; text-align: center; }

.incident-hero, .director-hero { align-items: center; padding: 23px 26px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg, white, #f5faf8); box-shadow: var(--shadow); }
.incident-hero h1, .director-hero h1 { font-size: 35px; }
.badge-row { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.severity, .privacy-chip, .internal-badge, .locked-label, .urgency-chip { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 5px 8px; border-radius: 999px; font-size: 8.5px; font-weight: 850; letter-spacing: .045em; }
.severity.minor { color: #2d7256; background: #dff2e9; }.severity.moderate { color: #8a581c; background: #ffefd7; }
.privacy-chip { color: #5f55a5; background: var(--purple-soft); }.internal-badge { color: #8c4140; background: var(--danger-soft); }.internal-badge svg, .locked-label svg { width: 11px; height: 11px; }.locked-label { color: var(--muted); background: #f0f2f3; }
.status-timeline { display: grid; grid-template-columns: repeat(9, minmax(80px, 1fr)); gap: 0; margin: 0 5px 22px; overflow-x: auto; scrollbar-width: thin; }
.timeline-item { position: relative; display: grid; justify-items: center; min-width: 105px; padding: 0 3px; text-align: center; }
.timeline-item::before { content: ""; position: absolute; top: 13px; left: 0; right: 0; height: 2px; background: #dfe4e4; }.timeline-item:first-child::before { left: 50%; }.timeline-item:last-child::before { right: 50%; }
.timeline-item > span { z-index: 1; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: white; background: var(--mint-strong); }.timeline-item.current > span { color: #855a24; background: #ffdfaa; box-shadow: 0 0 0 4px #fff4e2; }.timeline-item svg { width: 13px; }
.timeline-item small { max-width: 100px; margin-top: 8px; color: #54605e; font-size: 7.5px; font-weight: 800; line-height: 1.25; }.timeline-item b { margin-top: 3px; color: #8b9498; font-size: 8px; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 17px; align-items: start; }
.detail-main { display: grid; gap: 12px; }
.detail-section { overflow: hidden; }
.detail-section summary { display: flex; align-items: center; gap: 11px; padding: 17px 19px; cursor: pointer; list-style: none; }.detail-section summary::-webkit-details-marker { display: none; }.detail-section summary > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: var(--pine-2); background: var(--mint); }.detail-section summary > span svg { width: 16px; }.detail-section summary h2 { flex: 1; margin: 0; font-family: Georgia, serif; font-size: 18px; font-weight: 500; }.detail-section summary > svg { width: 14px; transition: transform .15s; }.detail-section[open] summary > svg { transform: rotate(90deg); }
.detail-section-body { padding: 2px 19px 19px 61px; }
.detail-dl { margin: 0; }.detail-dl div { padding: 9px 0; border-bottom: 1px solid #eef0f1; }.detail-dl div:last-child { border: 0; }.detail-dl dt { margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }.detail-dl dd { margin: 0; font-size: 11px; line-height: 1.55; }
.contact-row, .lock-state, .layer-card, .equipment-state, .supply-row { display: flex; align-items: flex-start; gap: 10px; }.success-mark { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: #2e7858; background: #dff3e9; }.success-mark svg { width: 15px; }.contact-row strong, .lock-state strong, .layer-card strong, .equipment-state strong, .supply-row strong { font-size: 10px; }.contact-row p, .lock-state p, .layer-card p, .equipment-state p, .supply-row p { margin: 3px 0 0; color: var(--muted); font-size: 9.5px; line-height: 1.45; }
.detail-rail { position: sticky; top: 88px; padding: 20px; }.detail-rail h2 { margin: 4px 0 16px; font-family: Georgia, serif; font-size: 21px; font-weight: 500; }.lock-state { padding: 12px; border-radius: 10px; background: #f2f5f4; }.lock-state > svg { width: 17px; color: var(--pine-2); }
.mini-meta { margin: 16px 0; }.mini-meta div { padding: 8px 0; border-bottom: 1px solid #edf0f1; }.mini-meta dt { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }.mini-meta dd { margin: 3px 0 0; font-size: 10px; line-height: 1.4; }.layer-card { padding: 12px; border: 1px solid #dedafb; border-radius: 10px; background: #f7f5ff; }.layer-card > span { color: var(--purple); }.layer-card svg { width: 18px; }
.compact-progress > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; }.compact-progress span { color: var(--muted); }.progress { height: 6px; margin: 10px 0; border-radius: 99px; background: #e9edec; overflow: hidden; }.progress i { display: block; height: 100%; border-radius: 99px; background: var(--mint-strong); }.compact-progress a { display: inline-flex; align-items: center; gap: 5px; color: var(--pine-2); font-size: 9.5px; font-weight: 750; text-decoration: none; }.compact-progress svg { width: 13px; }
.compact-actions { display: grid; gap: 8px; }.compact-actions > div { display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 9px; padding: 9px 0; border-bottom: 1px solid #edf0f1; }.compact-actions > div:last-child { border: 0; }.action-status { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: #327c5d; background: #dff3e9; }.action-status svg { width: 14px; }.compact-actions p { display: grid; gap: 3px; margin: 0; }.compact-actions strong { font-size: 10px; }.compact-actions small { color: var(--muted); font-size: 8.5px; }

.witness-privacy-banner { display: flex; gap: 13px; margin-bottom: 18px; padding: 15px 18px; border: 1px solid #dedafb; border-radius: 12px; background: var(--purple-soft); }.witness-privacy-banner > span { color: var(--purple); }.witness-privacy-banner svg { width: 19px; }.witness-privacy-banner strong { font-size: 11px; }.witness-privacy-banner p { margin: 3px 0 0; color: #625d78; font-size: 10px; line-height: 1.45; }
.status-dot { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; }.status-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.request-list { padding: 5px 18px 13px; }.request-card { display: grid; grid-template-columns: 47px 1fr auto; align-items: center; gap: 15px; padding: 15px 4px; border-bottom: 1px solid #edf0f1; }.request-card:last-child { border: 0; }.request-date { display: grid; place-items: center; width: 44px; height: 48px; border: 1px solid #d9dedf; border-radius: 10px; background: #fafbfb; }.request-date strong { font-family: Georgia, serif; font-size: 20px; font-weight: 500; }.request-date small { color: var(--muted); font-size: 8px; font-weight: 800; }.request-card h3 { margin: 6px 0 3px; font-size: 12px; }.request-card p { margin: 0; color: var(--muted); font-size: 10px; }.request-card > div:nth-child(2) > small { display: block; margin-top: 5px; color: #90999e; font-size: 8.5px; }.request-card .badge-row > span:not(.status-badge) { color: var(--muted); font-size: 9px; }
.witness-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }.witness-form { padding: 23px; }.event-context { display: grid; grid-template-columns: 42px 1fr; gap: 13px; margin-bottom: 22px; padding: 16px; border-radius: 12px; background: #f3f7f6; }.event-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 10px; color: var(--pine-2); background: white; }.event-mark svg { width: 18px; }.event-context h2 { margin: 4px 0 12px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }.event-context dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; }.event-context dt { color: var(--muted); font-size: 8px; text-transform: uppercase; }.event-context dd { margin: 3px 0 0; font-size: 9.5px; }
.witness-ack { display: flex; align-items: flex-start; gap: 11px; margin: 21px 0; padding: 15px; border: 1px solid #d5e6df; border-radius: 10px; background: #f3f9f6; cursor: pointer; }.witness-ack input { width: 17px; height: 17px; accent-color: var(--pine); }.witness-ack span { display: grid; gap: 4px; }.witness-ack strong { font-size: 10.5px; }.witness-ack small { color: var(--muted); font-size: 9px; line-height: 1.45; }.form-actions { display: flex; justify-content: space-between; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line); }
.witness-side { position: sticky; top: 88px; padding: 22px; }.side-icon, .large-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--purple); background: var(--purple-soft); }.witness-side h2 { margin: 14px 0 8px; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }.witness-side > p { color: var(--muted); font-size: 10px; line-height: 1.6; }.privacy-list { margin: 17px 0; }.privacy-list li { display: flex; align-items: center; gap: 8px; color: #545f66; font-size: 10px; }.privacy-list svg { width: 14px; color: var(--purple); }
.soft-alert { padding: 12px; border-radius: 9px; font-size: 9.5px; line-height: 1.45; }.soft-alert strong { font-size: 10px; }.soft-alert p { margin: 4px 0 0; }.soft-alert.blue { color: #3c5d79; background: var(--blue-soft); }.soft-alert.amber { color: #765527; background: var(--amber-soft); }
.locked-statement { max-width: 740px; margin: 0 auto; padding: 32px; text-align: center; }.lock-seal, .ack-icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 15px; border-radius: 50%; color: #37795c; background: #def3e9; }.lock-seal svg, .ack-icon svg { width: 25px; height: 25px; }.locked-statement h2 { margin: 5px 0 10px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }.locked-statement > p:not(.eyebrow) { max-width: 580px; margin: 0 auto 20px; color: #4c5957; line-height: 1.65; }.locked-statement .mini-meta { display: grid; grid-template-columns: 1fr 1fr; text-align: left; }.locked-statement .soft-alert { margin: 16px 0; text-align: left; }

.director-hero { background: linear-gradient(135deg, #fff, #f7f5ff); }.section-nav { position: sticky; top: 72px; z-index: 20; display: flex; gap: 5px; margin: -8px 0 18px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.95); box-shadow: 0 7px 20px rgba(26,44,42,.06); overflow-x: auto; }.section-nav a { padding: 7px 10px; border-radius: 7px; color: var(--muted); text-decoration: none; font-size: 9px; font-weight: 750; white-space: nowrap; }.section-nav a:hover { color: var(--pine); background: var(--mint); }
.investigation-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 17px; align-items: start; }.investigation-main, .investigation-rail { display: grid; gap: 14px; }.investigation-section { scroll-margin-top: 130px; padding: 20px; }.section-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }.section-heading > span:first-child { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; color: var(--pine-2); background: var(--mint); }.section-heading > span:first-child svg { width: 17px; }.section-heading > div { flex: 1; }.summary-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.summary-columns > div, .fact-review > div { padding: 13px; border-radius: 10px; background: #f7f9f8; }.summary-columns h3, .fact-review h3 { margin: 0 0 6px; color: #3f4c4a; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }.summary-columns p, .fact-review p { margin: 0; color: #515e5c; font-size: 10px; line-height: 1.5; }
.director-witnesses { display: grid; gap: 10px; }.director-witness { padding: 13px; border: 1px solid #e3e6e8; border-radius: 11px; }.director-witness > div:first-child { display: flex; align-items: center; gap: 9px; }.witness-avatar { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: #584ca4; background: var(--purple-soft); font-size: 9px; font-weight: 850; }.director-witness > div:first-child > div { display: grid; gap: 3px; }.director-witness strong { font-size: 10px; }.director-witness small { color: var(--muted); font-size: 8.5px; }.director-witness blockquote { margin: 11px 0; padding: 11px 13px; border-left: 3px solid #c7c0f3; color: #4f5960; background: #faf9ff; font-size: 10px; line-height: 1.55; }.pending-statement { display: flex; align-items: center; gap: 9px; margin-top: 10px; padding: 11px; border-radius: 9px; background: var(--amber-soft); }.pending-statement > span { color: var(--amber); }.pending-statement p { display: grid; flex: 1; gap: 3px; margin: 0; }.pending-statement svg { width: 16px; }
.fact-review { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.analysis-note { margin: 13px 0 0; padding: 9px 11px; border-left: 3px solid #cabff5; color: #666075; background: #faf9ff; font-size: 9px; line-height: 1.45; }
.factor-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.factor-list article { display: flex; gap: 10px; padding: 12px; border: 1px solid #e4e7e8; border-radius: 10px; }.factor-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #8b651f; background: var(--amber-soft); }.factor-icon svg { width: 15px; }.factor-list article > div { flex: 1; }.factor-list strong { font-size: 10px; }.factor-list p { margin: 4px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }.factor-list small { color: #8b9499; font-size: 8px; }
.maintenance-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.maintenance-summary > div { padding: 13px; border-radius: 10px; background: #f7f9f8; }.maintenance-summary strong { font-size: 10px; }.maintenance-summary p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }.equipment-state > span { color: #328260; }.equipment-state svg { width: 17px; }
.boundary-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.boundary-comparison > div { padding: 14px; border-radius: 10px; }.family-layer { color: #3d6658; background: #e9f6f0; }.internal-layer { color: #645b76; background: #f2eff9; }.boundary-comparison strong { font-size: 10px; }.boundary-comparison p { margin: 5px 0 0; font-size: 9px; line-height: 1.5; }
.audit-list { display: grid; }.audit-row { display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 9px; padding: 9px 0; border-bottom: 1px solid #edf0f1; }.audit-row:last-child { border: 0; }.audit-mark { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: var(--pine-2); background: #e9f4f0; }.audit-mark svg { width: 13px; }.audit-row strong { font-size: 9.5px; }.audit-row p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }.audit-row code { color: #7d878d; font-size: 7.5px; }
.investigation-rail .panel { padding: 18px; }.investigation-rail h2 { margin: 4px 0 11px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }.sticky-card { position: sticky; top: 128px; }.gate-list { margin: 13px 0 16px; }.gate-list li { display: flex; align-items: center; gap: 7px; color: #8a6860; font-size: 9.5px; }.gate-list li svg { width: 14px; color: #b16f5f; }.gate-list li.done { color: #405b51; }.gate-list li.done svg { color: #3b8666; }.supply-row { padding: 8px 0; border-bottom: 1px solid #edf0f1; }.supply-row > span { color: var(--blue); }.supply-row svg { width: 16px; }.investigation-rail code { display: block; margin-top: 10px; padding: 7px; border-radius: 6px; color: #53636d; background: #f0f3f5; font-size: 7.5px; overflow-wrap: anywhere; }.private-note { color: #5b5368; background: #f8f5fb; }.private-note > p:last-of-type { font-size: 9.5px; line-height: 1.55; }.private-note > span { display: flex; align-items: center; gap: 5px; color: #806e8f; font-size: 8px; }.private-note svg { width: 12px; }

.prevention-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }.prevention-layout > div { display: grid; gap: 14px; }.recurrence-decision { padding: 20px; }.decision-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }.decision-card { cursor: pointer; }.decision-card input { position: absolute; opacity: 0; }.decision-card > span { display: grid; justify-items: start; align-content: start; min-height: 100px; padding: 12px; border: 1px solid #dce1e2; border-radius: 10px; background: #fbfcfc; }.decision-card svg { width: 17px; margin-bottom: 11px; color: var(--pine-2); }.decision-card strong { font-size: 9.5px; line-height: 1.4; }.decision-card input:checked + span { border-color: var(--purple); background: var(--purple-soft); box-shadow: inset 0 0 0 1px var(--purple); }.decision-card input:focus-visible + span { outline: 3px solid rgba(109,95,208,.35); }
.action-board { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 16px; }.action-card { padding: 14px; border: 1px solid #e0e5e6; border-radius: 11px; }.action-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.action-kind { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.action-card h3 { min-height: 35px; margin: 12px 0 8px; font-size: 11px; line-height: 1.45; }.action-card dl { margin: 0; }.action-card dl div { display: grid; grid-template-columns: 63px 1fr; gap: 7px; padding: 6px 0; border-top: 1px solid #eef0f1; }.action-card dt { color: var(--muted); font-size: 8px; }.action-card dd { margin: 0; font-size: 8.5px; line-height: 1.4; }
.closure-panel { position: sticky; top: 88px; padding: 23px; text-align: center; }.closure-ring { display: grid; place-items: center; align-content: center; width: 92px; height: 92px; margin: 0 auto 15px; border: 8px solid #eee6df; border-top-color: #dc9a48; border-radius: 50%; }.closure-ring.ready { border-color: #69bc97; }.closure-ring span { font-family: Georgia, serif; font-size: 24px; }.closure-ring small { color: var(--muted); font-size: 8px; }.closure-panel h2 { margin: 0; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }.closure-panel > p { color: var(--muted); font-size: 9.5px; line-height: 1.5; }.closure-panel .gate-list { text-align: left; }

.maintenance-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; align-items: start; }.maintenance-ticket, .out-of-service { padding: 22px; }.ticket-top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }.ticket-top h2 { margin: 4px 0; font-family: Georgia, serif; font-size: 26px; font-weight: 500; }.ticket-top p:last-child { margin: 0; color: var(--muted); font-size: 10px; }.urgency-chip { height: fit-content; color: #8c4e1a; background: var(--amber-soft); }
.ticket-details { margin: 0; }.ticket-details > div { display: grid; grid-template-columns: 120px 1fr; gap: 15px; padding: 14px 0; border-bottom: 1px solid #edf0f1; }.ticket-details dt { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; }.ticket-details dd { margin: 0; font-size: 10px; line-height: 1.5; }.ticket-details a { color: var(--pine-2); font-weight: 750; }.completion-proof { display: flex; gap: 10px; margin-top: 18px; padding: 14px; border-radius: 10px; color: #366a55; background: #e7f5ee; }.completion-proof > span { color: #2f8060; }.completion-proof svg { width: 18px; }.completion-proof strong { font-size: 10px; }.completion-proof p { margin: 4px 0 0; font-size: 9px; line-height: 1.45; }
.out-of-service .large-icon { color: #9a631f; background: var(--amber-soft); }.out-of-service h2 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }.out-of-service > p:not(.eyebrow) { color: var(--muted); font-size: 10px; line-height: 1.55; }.equipment-timeline { display: grid; margin: 20px 0; }.equipment-timeline > div { position: relative; display: grid; grid-template-columns: 17px 1fr; column-gap: 9px; min-height: 54px; }.equipment-timeline > div::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: -10px; width: 1px; background: #cdd8d4; }.equipment-timeline > div:last-child::before { display: none; }.equipment-timeline > div > span { z-index: 1; width: 11px; height: 11px; margin-top: 3px; border: 3px solid #d5eee3; border-radius: 50%; background: #3e906b; }.equipment-timeline strong { font-size: 10px; }.equipment-timeline small { grid-column: 2; margin-top: 3px; color: var(--muted); font-size: 8.5px; }

.analytics-notice { background: linear-gradient(112deg, #f2f0ff, #fff); }.analytics-notice > div { flex: 1; }.analytics-metrics { margin-bottom: 18px; }.analytics-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; min-width: 0; }.analytics-grid > * { min-width: 0; }.chart-card { padding-bottom: 17px; }.bar-chart { display: grid; gap: 13px; padding: 18px 20px 4px; }.bar-chart > div { display: grid; grid-template-columns: 105px minmax(0, 1fr) 22px; align-items: center; gap: 9px; }.bar-chart span { color: #4e5b59; font-size: 9px; }.bar-chart > div > div { height: 8px; border-radius: 99px; background: #eef0f1; overflow: hidden; }.bar-chart i { display: block; height: 100%; border-radius: 99px; }.bar-chart.purple i { background: linear-gradient(90deg, #8879e1, #6556c4); }.bar-chart.green i { background: linear-gradient(90deg, #77cba7, #3b916c); }.bar-chart strong { font-size: 10px; text-align: right; }
.donut-wrap { display: flex; align-items: center; justify-content: center; gap: 38px; min-height: 165px; }.donut { display: grid; place-items: center; width: 114px; height: 114px; border-radius: 50%; background: conic-gradient(#55a985 0 58%, #d8d1f5 58%); }.donut::before { content: ""; grid-area: 1/1; width: 75px; height: 75px; border-radius: 50%; background: white; }.donut span { z-index: 1; grid-area: 1/1; display: grid; font-family: Georgia, serif; font-size: 23px; text-align: center; }.donut small { color: var(--muted); font-family: Inter, sans-serif; font-size: 8px; }.legend { display: grid; gap: 12px; }.legend span { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }.legend i { width: 8px; height: 8px; border-radius: 2px; }.legend i.outdoor { background: #55a985; }.legend i.indoor { background: #d8d1f5; }.legend b { color: var(--ink); }
.outcome-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 20px; }.outcome-list > div { display: flex; gap: 8px; padding: 11px; border-radius: 9px; background: #f6f8f7; }.outcome-list > div > span { color: var(--pine-2); }.outcome-list svg { width: 15px; }.outcome-list p { display: grid; gap: 3px; margin: 0; }.outcome-list strong { font-size: 10px; }.outcome-list small { color: var(--muted); font-size: 8px; line-height: 1.3; }
.related-panel { grid-column: 1 / -1; min-width: 0; }.related-table { max-width: 100%; min-width: 0; padding: 5px 18px 12px; overflow-x: auto; }.table-header, .table-row { display: grid; grid-template-columns: 1.2fr 90px 1.3fr 1fr 130px; align-items: center; gap: 12px; min-width: 760px; padding: 11px 4px; }.table-header { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.table-row { border-top: 1px solid #edf0f1; font-size: 9px; }.table-row > span { display: grid; gap: 3px; }.table-row strong { font-size: 9.5px; }.table-row small { color: var(--muted); font-size: 8px; }

.family-shell { min-height: 100vh; background: #f3f6f5; }.family-header { display: flex; align-items: center; justify-content: space-between; min-height: 70px; padding: 10px clamp(20px, 5vw, 70px); border-bottom: 1px solid var(--line); background: white; }.family-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }.family-brand img { width: 38px; height: 38px; border-radius: 11px; }.family-brand span { display: grid; }.family-brand strong { color: var(--pine); font-size: 15px; letter-spacing: .12em; }.family-brand small { color: var(--muted); font-size: 9px; }.family-header > div { display: flex; align-items: center; gap: 10px; }.family-avatar { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; color: #55499e; background: var(--purple-soft); font-size: 10px; font-weight: 800; }.family-shell #main { max-width: 960px; padding-top: 35px; }.family-shell footer { padding: 24px; color: #78827f; font-size: 9px; text-align: center; }
.family-notification { display: flex; align-items: center; gap: 15px; margin-bottom: 17px; padding: 18px 20px; border-radius: 13px; color: #e7f5ef; background: linear-gradient(128deg, #173f3a, #245b52); box-shadow: 0 14px 30px rgba(23,63,58,.14); }.family-notification > span:first-child { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; color: var(--pine); background: #dff3eb; }.family-notification svg { width: 19px; }.family-notification > div { flex: 1; }.family-notification .eyebrow { color: #a9d4c5; }.family-notification h1 { margin: 4px 0 2px; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }.family-notification p:last-child { margin: 0; color: #b8d7ce; font-size: 9.5px; }.family-report-card { padding: 27px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }.report-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }.report-heading > div { display: flex; align-items: center; gap: 10px; }.report-heading > div:first-child > div { display: grid; gap: 2px; }.report-heading > div:last-child { display: grid; text-align: right; }.report-heading strong { font-size: 11px; }.report-heading small { color: var(--muted); font-size: 8.5px; }
.family-info-grid, .print-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 20px 0; border: 1px solid #e3e7e8; border-radius: 10px; background: #e3e7e8; overflow: hidden; }.family-info-grid > div, .print-meta > div { display: grid; gap: 4px; padding: 11px; background: #f8faf9; }.family-info-grid span, .print-meta span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.family-info-grid strong, .print-meta strong { font-size: 9.5px; line-height: 1.35; }
.report-section { padding: 13px 0; border-top: 1px solid #edf0f1; }.report-section h2 { margin: 0 0 6px; color: #384846; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }.report-section p { margin: 0; color: #4e5b59; font-size: 10.5px; line-height: 1.6; }.report-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.body-area { display: inline-flex; align-items: center; gap: 6px; margin-top: 9px; padding: 5px 8px; border-radius: 7px; color: #705d29; background: var(--amber-soft); font-size: 9px; }.body-area svg { width: 13px; }.report-release { display: flex; gap: 10px; margin-top: 15px; padding: 13px; border-radius: 10px; color: #376d58; background: #e8f5ef; }.report-release > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: white; }.report-release svg { width: 14px; }.report-release strong { font-size: 10px; }.report-release p { margin: 3px 0 0; font-size: 9px; }
.family-report-actions { display: flex; justify-content: flex-end; gap: 9px; margin: 15px 0; }.family-boundary { display: flex; gap: 10px; padding: 14px; border: 1px solid #ddd9f5; border-radius: 11px; color: #5e5770; background: #f6f3fb; }.family-boundary > span { color: var(--purple); }.family-boundary svg { width: 17px; }.family-boundary strong { font-size: 10px; }.family-boundary p { margin: 4px 0 0; font-size: 9.5px; line-height: 1.45; }
.ack-page { max-width: 650px; margin: 0 auto; }.back-link { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 15px; color: var(--pine-2); font-size: 10px; font-weight: 750; text-decoration: none; }.back-link svg { width: 14px; }.ack-card { padding: 34px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); text-align: center; }.ack-card h1 { margin: 6px 0 10px; font-family: Georgia, serif; font-size: 31px; font-weight: 500; }.ack-lead { max-width: 520px; margin: 0 auto 20px; color: var(--muted); font-size: 10.5px; line-height: 1.65; }.ack-receipt { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 20px 0; border: 1px solid var(--line); border-radius: 10px; background: var(--line); overflow: hidden; text-align: left; }.ack-receipt div { display: grid; gap: 4px; padding: 12px; background: #fafbfb; }.ack-receipt span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.ack-receipt strong { font-size: 9.5px; }.ack-wording { padding: 14px; border-left: 3px solid #72bd9a; color: #405650; background: #f0f8f4; font-family: Georgia, serif; font-size: 12px; line-height: 1.55; text-align: left; }.family-ack { text-align: left; }

.print-sheet { width: min(850px, calc(100% - 32px)); margin: 25px auto; padding: 45px; border: 1px solid #dfe3e5; background: white; box-shadow: var(--shadow); }.print-toolbar { display: flex; justify-content: space-between; margin: -28px -28px 35px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }.print-sheet > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 2px solid var(--pine); }.print-sheet > header > div { display: flex; align-items: center; gap: 10px; }.print-sheet header img { width: 40px; height: 40px; border-radius: 10px; }.print-sheet header span { display: grid; }.print-sheet header strong { font-size: 11px; }.print-sheet header small, .print-sheet header p { margin: 0; color: var(--muted); font-size: 8px; }.print-sheet > header > div:last-child { display: grid; text-align: right; }.print-sheet > h1 { margin: 27px 0 15px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }.print-sheet > footer { display: flex; justify-content: space-between; gap: 15px; margin-top: 32px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }.confidential-banner { max-width: 100%; margin: -20px 0 28px; padding: 9px; color: white; background: #4c3f56; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-align: center; }.confidential-banner svg { width: 12px; vertical-align: middle; }.internal-print section { padding: 13px 0; border-bottom: 1px solid var(--line); }.internal-print section h2 { margin: 0 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }.internal-print section p, .internal-print article { font-size: 10px; line-height: 1.55; }.internal-print article { margin: 8px 0; padding: 10px; border-radius: 8px; background: #f7f8f8; }.internal-print article p { margin: 5px 0; }

.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 100; display: grid; gap: 8px; width: min(365px, calc(100vw - 40px)); }.toast { display: grid; grid-template-columns: 30px 1fr 24px; align-items: start; gap: 9px; padding: 13px; border: 1px solid #bedbce; border-radius: 11px; color: #eaf7f2; background: #173f3a; box-shadow: 0 15px 40px rgba(20,47,43,.28); }.toast > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: var(--pine); background: #aee1c9; }.toast svg { width: 14px; }.toast strong { font-size: 10px; }.toast p { margin: 3px 0 0; color: #bed9d1; font-size: 9px; line-height: 1.45; }.toast button { display: grid; place-items: center; padding: 2px; border: 0; color: #b8d2ca; background: transparent; cursor: pointer; }
.empty-state { display: grid; justify-items: center; max-width: 620px; margin: 80px auto; padding: 45px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); text-align: center; }.empty-state > span { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 15px; border-radius: 50%; color: var(--purple); background: var(--purple-soft); }.empty-state h1 { margin: 5px 0; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }.empty-state p:not(.eyebrow) { margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.5; }

/* Incident Reporting V3 — shared Child / Staff subject layer */
.type-tabs { display: inline-flex; gap: 5px; margin: -4px 0 18px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 6px 18px rgba(24,55,51,.05); }.type-tabs a { min-width: 78px; padding: 8px 14px; border-radius: 8px; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .05em; text-align: center; text-decoration: none; text-transform: uppercase; }.type-tabs a[aria-current="page"] { color: white; background: var(--pine); }.metric-scroll { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
.subject-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 960px; margin: 16px auto 20px; }.subject-card { position: relative; display: grid; align-content: start; min-height: 310px; padding: 38px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: white; box-shadow: var(--shadow); text-decoration: none; overflow: hidden; transition: transform .16s ease, box-shadow .16s ease; }.subject-card::after { content: ""; position: absolute; right: -35px; bottom: -55px; width: 180px; height: 180px; border-radius: 50%; opacity: .65; }.subject-card.child::after { background: var(--mint); }.subject-card.staff::after { background: var(--purple-soft); }.subject-card:hover { transform: translateY(-3px); box-shadow: 0 20px 45px rgba(25,56,51,.13); }.subject-card > span { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 30px; border-radius: 16px; color: var(--pine-2); background: var(--mint); }.subject-card.staff > span { color: var(--purple); background: var(--purple-soft); }.subject-card svg { width: 29px; height: 29px; }.subject-card h2 { margin: 5px 0 10px; font-family: Georgia, serif; font-size: 36px; font-weight: 500; }.subject-card > p:not(.eyebrow) { max-width: 330px; margin: 0 0 32px; color: var(--muted); font-size: 12px; line-height: 1.6; }.subject-card > strong { z-index: 1; display: flex; align-items: center; gap: 7px; margin-top: auto; color: var(--pine-2); font-size: 10px; }.subject-card > strong svg { width: 15px; }.privacy-note.centered { max-width: 920px; margin: 0 auto; }
.subject-badge { display: inline-flex; align-items: center; width: fit-content; padding: 3px 6px; border-radius: 5px; font-size: 7px; font-weight: 900; letter-spacing: .08em; }.subject-badge.child { color: #287157; background: #dff3e9; }.subject-badge.staff { color: #5f55a5; background: var(--purple-soft); }.incident-primary small { display: flex; align-items: center; gap: 5px; }.staff-hero { background: linear-gradient(135deg, #fff, #f6f3ff); }.staff-shell { background: #f4f3f8; }.staff-shell .family-notification { background: linear-gradient(128deg, #3e375f, #61569c); }.staff-shell .family-notification .eyebrow { color: #d6d0f4; }.staff-shell .family-notification p:last-child { color: #ddd9f3; }.staff-report-page .report-release { color: #574e83; background: #f0edfb; }
.body-map-layout { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 24px; }.body-map { position: relative; width: 88px; height: 150px; margin: 0 auto; border-radius: 43px; background: #f3f0fb; }.body-head { position: absolute; top: 8px; left: 33px; width: 22px; height: 22px; border: 4px solid #8d82c3; border-radius: 50%; background: white; }.body-torso { position: absolute; top: 39px; left: 27px; width: 34px; height: 61px; border: 4px solid #8d82c3; border-radius: 15px 15px 10px 10px; background: white; }.body-limb { position: absolute; top: 47px; width: 9px; height: 81px; border-radius: 8px; background: #8d82c3; }.body-limb.left { left: 14px; transform: rotate(9deg); }.body-limb.right { right: 14px; transform: rotate(-9deg); }.body-map-layout h3 { margin: 4px 0 8px; font-family: Georgia, serif; font-size: 22px; }.body-map-layout p { color: var(--muted); line-height: 1.55; }.body-map-layout small { color: #756b86; }
.work-status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 13px; }.work-status-grid > div { display: grid; gap: 5px; padding: 11px; border-radius: 9px; background: #f7f8f8; }.work-status-grid span, .review-flags span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.work-status-grid strong, .review-flags strong { font-size: 9.5px; }.followup-card { margin-top: 10px; padding: 14px; border: 1px solid #ded9ef; border-radius: 10px; background: #faf9fd; }.followup-card > div { display: flex; align-items: center; justify-content: space-between; }.followup-card h3 { margin: 0; font-size: 11px; text-transform: capitalize; }.followup-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 0; }.followup-card dl div { display: grid; gap: 3px; }.followup-card dt { color: var(--muted); font-size: 8px; text-transform: uppercase; }.followup-card dd { margin: 0; font-size: 9px; line-height: 1.4; }.review-flags { display: grid; gap: 7px; }.review-flags > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px; border-radius: 7px; background: #f7f5fb; }.review-flags small { margin-top: 4px; color: #756b86; font-size: 8px; line-height: 1.45; }

/* Incident Reporting V4 — Licensing Review + real Maintenance Log */
.licensing-alert { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 15px; margin: 0 0 18px; padding: 17px 18px; border: 1px solid #ebcf99; border-left: 5px solid var(--amber); border-radius: 13px; background: #fff9ed; box-shadow: 0 10px 28px rgba(80,58,24,.06); }
.licensing-alert > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #8a5b1e; background: #ffe8b6; }.licensing-alert h2 { margin: 3px 0; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }.licensing-alert p:last-child { margin: 0; color: #73654f; font-size: 9.5px; line-height: 1.45; }.licensing-alert.critical { border-color: #dfa5a1; border-left-color: var(--danger); background: #fff2f1; }.licensing-alert.critical > span { color: #9b3d3a; background: #fbd9d7; }.licensing-alert.submitted { border-color: #acd7c4; border-left-color: #3c8d69; background: #f2faf6; }
.regulatory-disclaimer, .privacy-boundary, .family-release-notice { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 18px; padding: 15px 17px; border: 1px solid #d9d4f1; border-radius: 12px; color: #574f6d; background: #f7f5ff; }.regulatory-disclaimer > svg, .privacy-boundary > svg, .family-release-notice > svg { width: 20px; color: var(--purple); }.regulatory-disclaimer strong, .privacy-boundary strong, .family-release-notice strong { font-size: 11px; }.regulatory-disclaimer p, .privacy-boundary p, .family-release-notice p { margin: 4px 0 0; font-size: 9.5px; line-height: 1.5; }.regulatory-disclaimer.compact { margin: 0 0 20px; }
.licensing-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 18px; align-items: start; }.licensing-main, .licensing-rail { display: grid; gap: 15px; }.licensing-rail { position: sticky; top: 88px; }.licensing-main > .panel, .licensing-rail > .panel { padding: 20px; }.licensing-assistant { overflow: hidden; }.criteria-row { display: grid; grid-template-columns: minmax(220px,1fr) auto; align-items: center; gap: 12px; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #edf0f1; }.criteria-row legend { display: contents; font-size: 10px; font-weight: 650; }.criteria-row legend > span { display: none; }.criteria-row > div { display: flex; gap: 4px; }.criteria-row label { cursor: pointer; }.criteria-row input { position: absolute; opacity: 0; pointer-events: none; }.criteria-row label span { display: block; min-width: 62px; padding: 7px 8px; border: 1px solid #dde2e3; border-radius: 7px; color: var(--muted); background: #fafbfb; font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; }.criteria-row input:checked + span { border-color: var(--purple); color: #5548aa; background: var(--purple-soft); box-shadow: inset 0 0 0 1px var(--purple); }.criteria-row input:focus-visible + span { outline: 3px solid rgba(109,95,208,.4); outline-offset: 2px; }
.assistant-result { display: flex; gap: 12px; margin-top: 17px; padding: 15px; border-radius: 11px; color: #5b4a1e; background: var(--amber-soft); }.assistant-result > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: white; }.assistant-result h3 { margin: 3px 0; font-size: 12px; }.assistant-result p:last-child { margin: 0; font-size: 9px; line-height: 1.45; }.assistant-result.critical { color: #833b39; background: var(--danger-soft); }.assistant-result.no_match_identified { color: #326c55; background: var(--mint); }
.tracking-grid, .plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 16px; }.tracking-grid > div, .plan-grid > div { display: grid; gap: 4px; padding: 12px; border: 1px solid #e9ecec; border-radius: 9px; background: #fafbfb; }.tracking-grid span, .plan-grid span { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }.tracking-grid strong, .plan-grid strong { font-size: 10px; line-height: 1.5; }.tracking-grid small { color: #8a7043; font-size: 8px; }.maintenance-crosslink, .workspace-link { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #dbe9e3; border-radius: 10px; color: inherit; background: #f5faf8; text-decoration: none; }.maintenance-crosslink > span, .workspace-link > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #317456; background: var(--mint); }.maintenance-crosslink > div, .workspace-link > div { flex: 1; }.maintenance-crosslink strong, .workspace-link h2 { font-size: 11px; }.maintenance-crosslink p, .workspace-link p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }.maintenance-crosslink > svg, .workspace-link > svg { width: 15px; }.workspace-link h2 { margin: 3px 0; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.connect-card > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 13px; border-radius: 12px; color: #2d7357; background: var(--mint); }.connect-card h2 { margin: 4px 0 8px; font-family: Georgia,serif; font-size: 24px; font-weight: 500; }.connect-card p { color: var(--muted); font-size: 10px; line-height: 1.5; }.connect-card small { color: #74817d; font-size: 8.5px; }.reference-card details { margin: 13px 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 9px; }.reference-card summary { cursor: pointer; font-weight: 800; }.reference-card h3 { margin: 11px 0 3px; font-size: 9px; }.reference-card p { color: var(--muted); font-size: 9px; line-height: 1.5; }.reference-card > a { display: inline-flex; align-items: center; gap: 5px; color: #345f9d; font-size: 9px; font-weight: 750; }.reference-card > a svg { width: 12px; }.update-flag { display: flex; align-items: center; gap: 6px; margin-top: 12px; padding: 8px; border-radius: 8px; color: #785420; background: var(--amber-soft); font-size: 8.5px; font-weight: 750; }.update-flag svg { width: 13px; }
.submission-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 26px; border-radius: 15px; color: white; background: var(--pine); }.submission-hero h1 { margin: 5px 0; font-family: Georgia,serif; font-size: 32px; font-weight: 500; }.submission-hero p:last-child { margin: 0; color: #bbd5ce; font-size: 9px; }.draft-stamp { display: inline-flex; padding: 5px 8px; border: 1px solid #ffd995; border-radius: 6px; color: #ffe2a9; font-size: 8px; font-weight: 900; letter-spacing: .08em; }.submission-grid, .safety-layout, .return-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px; align-items: start; }.submission-document, .exclusion-card, .safety-layout > .panel, .return-layout > .panel { padding: 22px; }.submission-facts { margin: 17px 0 0; }.submission-facts div { padding: 12px 0; border-bottom: 1px solid #edf0f1; }.submission-facts dt { margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }.submission-facts dd { margin: 0; font-size: 10px; line-height: 1.55; }.exclusion-card > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: var(--purple); background: var(--purple-soft); }.exclusion-card h2 { font-family: Georgia,serif; font-weight: 500; }.exclusion-card ul { display: grid; gap: 9px; padding: 0; list-style: none; }.exclusion-card li { display: flex; gap: 8px; color: var(--muted); font-size: 9.5px; }.exclusion-card li svg { width: 13px; color: var(--purple); }.safety-state { display: grid; gap: 3px; }.state-step { display: flex; align-items: center; gap: 8px; padding: 9px; border-radius: 8px; color: var(--muted); font-size: 8px; font-weight: 800; }.state-step svg { width: 14px; }.state-step.current { color: #7a531b; background: var(--amber-soft); }
.maintenance-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 18px; }.maintenance-filters a { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: white; font-size: 8px; font-weight: 850; text-decoration: none; }.maintenance-filters a[aria-current="page"] { border-color: var(--pine); color: white; background: var(--pine); }.maintenance-log { margin-top: 18px; padding: 0 18px 10px; overflow-x: auto; }.maintenance-table { display: grid; grid-template-columns: 1fr 1.25fr 1.6fr 1.05fr .9fr; gap: 16px; align-items: center; min-width: 880px; }.maintenance-table.table-header { padding: 13px 5px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }.maintenance-table.table-row { min-height: 83px; padding: 13px 5px; border-top: 1px solid #edf0f1; color: inherit; text-decoration: none; }.maintenance-table.table-row:hover { background: #f8faf9; }.maintenance-table span { display: grid; gap: 4px; }.maintenance-table strong { font-size: 9.5px; line-height: 1.4; }.maintenance-table small { color: var(--muted); font-size: 8.5px; line-height: 1.4; }.oos-flag { display: inline-flex; width: fit-content; margin-top: 5px; padding: 4px 6px; border-radius: 5px; color: #993d3b; background: var(--danger-soft); font-size: 7px; font-weight: 900; letter-spacing: .06em; }.empty-inline { padding: 35px; color: var(--muted); text-align: center; }
.maintenance-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 17px; align-items: start; }.maintenance-detail-main, .maintenance-detail-rail { display: grid; gap: 13px; }.maintenance-detail-rail { position: sticky; top: 88px; }.maintenance-section { padding: 19px; }.source-incident { display: flex; align-items: center; gap: 11px; padding: 13px; border-radius: 10px; background: #f5f7f7; }.source-incident > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; color: var(--purple); background: var(--purple-soft); }.source-incident > div { flex: 1; }.source-incident strong { font-size: 10px; }.source-incident p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }.maintenance-history { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }.maintenance-history > div { display: grid; justify-items: center; gap: 4px; padding: 10px 5px; border-radius: 9px; background: #f7f9f8; text-align: center; }.maintenance-history > div > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #337558; background: var(--mint); }.maintenance-history svg { width: 13px; }.maintenance-history strong { font-size: 8px; }.maintenance-history small { color: var(--muted); font-size: 7px; line-height: 1.3; }.maintenance-detail-rail > .panel { padding: 20px; }.out-of-service h2 { margin: 6px 0 9px; font-family: Georgia,serif; font-size: 22px; font-weight: 500; }.out-of-service > p:not(.eyebrow) { color: var(--muted); font-size: 9.5px; line-height: 1.5; }.return-checks { display: grid; gap: 10px; }.return-checks > div { display: flex; gap: 10px; padding: 13px; border: 1px solid #d6eade; border-radius: 10px; background: #f4faf7; }.return-checks > div > svg { color: #347657; }.return-checks span { display: grid; gap: 4px; }.return-checks strong { font-size: 10px; }.return-checks small { color: var(--muted); font-size: 9px; }.decision-receipt > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #2e7658; background: var(--mint); }.decision-receipt h2 { margin: 4px 0 15px; font-family: Georgia,serif; font-weight: 500; }
.prevention-layout, .prevention-layout > div, .recurrence-decision, .decision-options { min-width: 0; max-width: 100%; }.prevention-chain { min-width: 0; padding: 20px; overflow: hidden; }.control-chain { display: flex; align-items: center; gap: 7px; max-width: 100%; overflow-x: auto; padding: 13px 0; }.control-chain > div { display: grid; justify-items: center; gap: 6px; min-width: 82px; color: #356f59; font-size: 8px; font-weight: 800; text-align: center; }.control-chain > div svg { width: 17px; }.control-chain > i { min-width: 16px; height: 2px; background: #bad9cc; }.success-strip { display: flex; align-items: center; gap: 8px; padding: 11px; border-radius: 8px; color: #306c52; background: var(--mint); font-size: 9px; font-weight: 750; }.success-strip svg { width: 15px; }

@media (max-width: 1180px) {
  :root { --sidebar: 218px; }
  .sidebar { padding-inline: 12px; }
  .profile div, .role-select span { display: none; }
  .metrics-grid { grid-template-columns: 1fr 1fr; }.metric-scroll { grid-template-columns: repeat(4, minmax(165px, 1fr)); overflow-x: auto; padding-bottom: 5px; }
  .content-grid, .quick-layout, .witness-form-layout, .investigation-grid, .prevention-layout, .maintenance-layout, .licensing-layout, .maintenance-detail-grid { grid-template-columns: minmax(0, 1fr) 270px; }
  .prevention-layout, .licensing-layout, .maintenance-detail-grid, .submission-grid, .safety-layout, .return-layout { grid-template-columns: 1fr; }
  .closure-panel, .licensing-rail, .maintenance-detail-rail { position: static; }
  .incident-row { grid-template-columns: 40px 1fr 1fr minmax(130px,.8fr) 20px; }.incident-row > span:nth-child(4) { display: none !important; }
  .decision-options { grid-template-columns: 1fr 1fr; }
  .topbar-little-owl strong { display: none; }
}

@media (max-width: 900px) {
  :root { --sidebar: 248px; }
  .sidebar { transform: translateX(-105%); transition: transform .2s ease; box-shadow: 15px 0 40px rgba(19,48,44,.22); }.sidebar.open { transform: translateX(0); }
  .app-frame { margin-left: 0; }
  .mobile-menu { display: grid; }
  .topbar { gap: 10px; }.centre-context { flex: 1; }
  #main { padding: 27px 22px; }
  .content-grid, .quick-layout, .witness-form-layout, .investigation-grid, .prevention-layout, .maintenance-layout, .licensing-layout, .maintenance-detail-grid, .submission-grid, .safety-layout, .return-layout { grid-template-columns: 1fr; }
  .review-rail, .detail-rail, .witness-side, .sticky-card, .closure-panel, .licensing-rail, .maintenance-detail-rail { position: static; }
  .review-rail, .investigation-rail { order: -1; }
  .section-nav { top: 70px; }
  .analytics-grid { grid-template-columns: 1fr; }.related-panel { grid-column: auto; }
  .print-toolbar { margin: -20px 0 30px; }
  .topbar-little-owl img { width: 38px; height: 38px; }
}

@media (max-width: 640px) {
  .topbar { min-height: 62px; padding: 9px 12px; }.centre-context .centre-mark { display: none; }.centre-context strong { max-width: 142px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.centre-context small { display: none; }.role-select { padding: 4px; }.role-select select { max-width: 80px; }.profile { display: none; }.icon-button { width: 35px; height: 35px; }
  #main { padding: 22px 14px 35px; }
  .page-header, .incident-hero, .director-hero { align-items: flex-start; flex-direction: column; gap: 15px; margin-bottom: 18px; }.page-header h1, .incident-hero h1, .director-hero h1 { font-size: 32px; }.page-actions, .hero-actions { width: 100%; }.page-actions .button, .hero-actions .button { flex: 1; }
  .metrics-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.metric-scroll { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; }.metric { min-height: 109px; padding: 13px; gap: 9px; }.metric > svg { width: 31px; height: 31px; }.metric strong { font-size: 22px; }
  .type-tabs { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }.type-tabs a { min-width: 0; }.subject-choice { grid-template-columns: 1fr; gap: 12px; }.subject-card { min-height: 220px; padding: 25px; }.subject-card > span { width: 48px; height: 48px; margin-bottom: 18px; }.subject-card h2 { font-size: 30px; }.subject-card > p:not(.eyebrow) { margin-bottom: 18px; }.body-map-layout { grid-template-columns: 90px 1fr; gap: 14px; }.work-status-grid, .followup-card dl { grid-template-columns: 1fr 1fr; }
  .pattern-callout, .analytics-notice { align-items: flex-start; flex-wrap: wrap; padding: 15px; }.pattern-callout .button, .analytics-notice .button { width: 100%; margin-left: 0; }
  .panel-heading { align-items: flex-start; padding: 17px; }.panel-heading h2 { font-size: 19px; }
  .incident-list { padding-inline: 11px; }.incident-row { grid-template-columns: 38px 1fr auto; gap: 9px; min-height: 69px; padding: 9px 0; }.incident-row > span:nth-child(3), .incident-row > span:nth-child(4), .incident-row .row-arrow { display: none !important; }.incident-row > span:nth-child(5) { align-items: end; }
  .form-section { padding: 20px 16px; }.section-number { position: static; margin-bottom: 12px; }.form-grid { grid-template-columns: 1fr; }.span-2 { grid-column: auto; }.prefill-strip { align-items: flex-start; flex-wrap: wrap; }.prefill-strip .text-button { margin-left: 39px; }.investigation-trigger > label { padding: 16px; }.investigation-fields { padding: 0 16px 16px; }
  .status-timeline { margin-inline: -3px; }.detail-section-body { padding: 2px 16px 16px; }.detail-section summary { padding: 15px; }
  .request-list { padding-inline: 12px; }.request-card { grid-template-columns: 42px 1fr; }.request-card .button { grid-column: 1 / -1; }
  .witness-form { padding: 16px; }.event-context { grid-template-columns: 1fr; }.event-context dl { grid-template-columns: 1fr 1fr; }.form-actions { align-items: stretch; flex-direction: column-reverse; }.form-actions .button { width: 100%; }
  .locked-statement { padding: 22px 16px; }.locked-statement .mini-meta { grid-template-columns: 1fr; }
  .director-hero { padding: 19px; }.section-nav { margin-inline: -5px; }.investigation-section { padding: 16px; }.section-heading { align-items: flex-start; flex-wrap: wrap; }.section-heading .button, .section-heading > a { width: 100%; }.summary-columns, .fact-review, .factor-list, .maintenance-summary, .boundary-comparison { grid-template-columns: 1fr; }.director-witness blockquote { margin-inline: 0; }.pending-statement { align-items: flex-start; flex-wrap: wrap; }.pending-statement .button { width: 100%; }
  .audit-row { grid-template-columns: 28px 1fr; }.audit-row code { grid-column: 2; }.action-board { grid-template-columns: 1fr; padding: 12px; }.decision-options { grid-template-columns: 1fr 1fr; }.decision-card > span { min-height: 92px; }
  .ticket-top { flex-direction: column; }.ticket-details > div { grid-template-columns: 1fr; gap: 4px; }
  .analytics-metrics { grid-template-columns: 1fr 1fr; }.bar-chart > div { grid-template-columns: 87px 1fr 18px; }.donut-wrap { gap: 22px; }.outcome-list { grid-template-columns: 1fr; }
  .family-header { padding: 9px 13px; }.family-header .button { display: none; }.family-shell #main { padding: 22px 12px 32px; }.family-notification { align-items: flex-start; flex-wrap: wrap; }.family-notification > div { min-width: calc(100% - 62px); }.family-notification .status-badge { margin-left: 57px; }.family-report-card { padding: 18px 15px; }.report-heading { align-items: flex-start; flex-direction: column; }.report-heading > div:last-child { text-align: left; }.family-info-grid, .print-meta { grid-template-columns: 1fr 1fr; }.report-columns { grid-template-columns: 1fr; gap: 0; }.family-report-actions { flex-direction: column; }.family-report-actions .button { width: 100%; }.ack-card { padding: 25px 17px; }.ack-receipt { grid-template-columns: 1fr; }
  .print-sheet { width: calc(100% - 20px); margin: 10px auto; padding: 22px 16px; }.print-toolbar { margin: -10px -4px 25px; }.confidential-banner { margin: -22px -16px 22px; }.print-sheet > header { align-items: flex-start; flex-direction: column; }.print-sheet > header > div:last-child { text-align: left; }.print-sheet > footer { flex-direction: column; }
  .page-header > div, .licensing-alert > div, .licensing-assistant .section-heading > div { min-width: 0; max-width: 100%; }.page-header h1, .licensing-alert h2, .licensing-assistant h2, .page-header p { max-width: 100%; overflow-wrap: anywhere; }.page-header h1 { font-size: 29px; }.licensing-alert { grid-template-columns: 38px minmax(0,1fr); }.licensing-alert .button { grid-column: 1 / -1; width: 100%; }.criteria-row { grid-template-columns: 1fr; }.criteria-row > div { width: 100%; }.criteria-row label { flex: 1; }.criteria-row label span { min-width: 0; }.tracking-grid, .plan-grid { grid-template-columns: 1fr; }.submission-hero { align-items: flex-start; flex-direction: column; }.submission-hero .button { width: 100%; }.submission-hero h1 { font-size: 27px; }.maintenance-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }.maintenance-history { grid-template-columns: 1fr 1fr; }.source-incident { align-items: flex-start; flex-wrap: wrap; }.source-incident .button { width: 100%; }.control-chain { align-items: stretch; }.control-chain > i { align-self: center; }.family-release-notice { margin-inline: 0; }
  .toast-region { right: 10px; bottom: 10px; width: calc(100vw - 20px); }
  .topbar-little-owl { left: 42%; }
  .topbar-little-owl img { width: 34px; height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
  @page { margin: 15mm; }
  body { background: white; }
  .skip-link, .print-toolbar, .toast-region { display: none !important; }
  .print-sheet { width: auto; margin: 0; padding: 0; border: 0; box-shadow: none; }
  .confidential-banner { margin: 0 0 20px; print-color-adjust: exact; }
}

/* Facilities priority, purchasing, photo, print, and simple worker workflow */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

body[data-maintenance-priority="green"] { --maintenance-fill: #00843d; --maintenance-border: #14532d; --maintenance-text: #ffffff; --maintenance-ink: #14532d; --maintenance-soft: rgba(0,132,61,.10); --maintenance-wash: rgba(0,132,61,.055); --maintenance-line: rgba(0,132,61,.30); }
body[data-maintenance-priority="yellow"] { --maintenance-fill: #fff200; --maintenance-border: #8a6200; --maintenance-text: #242000; --maintenance-ink: #5e4800; --maintenance-soft: rgba(255,242,0,.22); --maintenance-wash: rgba(255,242,0,.105); --maintenance-line: rgba(138,98,0,.36); }
body[data-maintenance-priority="red"] { --maintenance-fill: #b00000; --maintenance-border: #6f0000; --maintenance-text: #ffffff; --maintenance-ink: #6f0000; --maintenance-soft: rgba(176,0,0,.10); --maintenance-wash: rgba(176,0,0,.055); --maintenance-line: rgba(176,0,0,.31); }
body[data-maintenance-priority] .topbar { border-color: var(--maintenance-line); background: rgba(255,255,255,.96); }
body[data-maintenance-priority] #main > .page-header { padding: 19px 21px; border: 3px solid var(--maintenance-border); border-left-width: 9px; border-radius: 14px; color: var(--maintenance-text); background: var(--maintenance-fill); box-shadow: 0 12px 30px var(--maintenance-line); }
body[data-maintenance-priority] #main > .page-header h1,
body[data-maintenance-priority] #main > .page-header .eyebrow,
body[data-maintenance-priority] #main > .page-header p { color: var(--maintenance-text); }
body[data-maintenance-priority] #main > .page-header .role-pill { border: 1px solid currentColor; color: var(--maintenance-text); background: rgba(255,255,255,.16); }
body[data-maintenance-priority] .maintenance-entry > .panel,
body[data-maintenance-priority] .maintenance-detail-grid .panel { border-color: var(--maintenance-line); }
body[data-maintenance-priority] .maintenance-entry .section-heading > span,
body[data-maintenance-priority] .maintenance-detail-grid .section-heading > span,
body[data-maintenance-priority] .simple-heading > span { border: 2px solid var(--maintenance-border); color: var(--maintenance-text); background: var(--maintenance-fill); }
body[data-maintenance-priority] #main .button.primary,
body[data-maintenance-priority] .safety-submit { border-color: var(--maintenance-border); color: var(--maintenance-text); background: var(--maintenance-fill); }
body[data-maintenance-priority] .safety-submit span { color: inherit; opacity: .82; }
body[data-maintenance-priority] .approval-preview > div,
body[data-maintenance-priority] .purchase-summary > div,
body[data-maintenance-priority] .manager-notice,
body[data-maintenance-priority] .simple-signoff .check-line,
body[data-maintenance-priority] .delivery-summary { border-color: var(--maintenance-border); color: var(--maintenance-text); background: var(--maintenance-fill); }
body[data-maintenance-priority] .approval-preview span,
body[data-maintenance-priority] .approval-preview small,
body[data-maintenance-priority] .purchase-summary span,
body[data-maintenance-priority] .purchase-summary small,
body[data-maintenance-priority] .manager-notice small,
body[data-maintenance-priority] .delivery-summary .eyebrow,
body[data-maintenance-priority] .delivery-summary small { color: inherit; opacity: .9; }
body[data-maintenance-priority] .simple-completion,
body[data-maintenance-priority] .simple-signoff { border-color: var(--maintenance-fill); }
body[data-maintenance-priority] .impact-line { border-color: var(--maintenance-line); }

.priority-legend, .priority-choices { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.priority-legend { margin: 0 0 16px; }
.priority-chip { display: grid; gap: 3px; min-height: 58px; padding: 11px 13px; border: 2px solid; border-radius: 10px; font-size: 9px; }
.priority-chip.green, .priority-pill.green { border-color: #14532d; color: #ffffff; background: #00843d; }
.priority-chip.yellow, .priority-pill.yellow { border-color: #8a6200; color: #242000; background: #fff200; }
.priority-chip.red, .priority-pill.red { border-color: #6f0000; color: #ffffff; background: #b00000; }
.priority-pill { display: inline-flex; width: fit-content; align-items: center; padding: 5px 8px; border: 1px solid; border-radius: 999px; font-size: 7.5px; font-weight: 900; letter-spacing: .05em; }
.priority-pill.large { padding: 8px 11px; font-size: 10px; white-space: nowrap; }

.maintenance-entry { display: grid; gap: 16px; font-weight: 600; }
.maintenance-entry .form-section { padding: 22px; }
.maintenance-entry .section-heading h2 { font-weight: 750; }
.maintenance-entry .section-heading p, .maintenance-entry .field small, .maintenance-entry .form-fineprint { font-weight: 650; }
.maintenance-entry .field > span, .maintenance-entry fieldset > legend { font-weight: 850; }
.maintenance-entry input, .maintenance-entry select, .maintenance-entry textarea { font-weight: 650; }
.priority-choices { margin: 17px 0 0; padding: 0; border: 0; }
.priority-choice { min-width: 0; cursor: pointer; }
.priority-choice input { position: absolute; opacity: 0; }
.priority-choice > span { position: relative; display: grid; align-content: start; min-height: 174px; padding: 18px; border: 3px solid; border-radius: 13px; }
.priority-choice.green > span { border-color: #14532d; color: #ffffff; background: #00843d; }
.priority-choice.yellow > span { border-color: #8a6200; color: #242000; background: #fff200; }
.priority-choice.red > span { border-color: #6f0000; color: #ffffff; background: #b00000; }
.priority-choice input:focus-visible + span { outline: 4px solid #ffffff; outline-offset: -7px; }
.priority-choice.green input:checked + span { box-shadow: 0 0 0 3px #ffffff, 0 0 0 7px #14532d; }
.priority-choice.yellow input:checked + span { box-shadow: 0 0 0 3px #ffffff, 0 0 0 7px #8a6200; }
.priority-choice.red input:checked + span { box-shadow: 0 0 0 3px #ffffff, 0 0 0 7px #6f0000; }
.priority-choice-icon { display: grid; width: 34px; height: 34px; margin-bottom: 11px; place-items: center; border: 2px solid currentColor; border-radius: 50%; background: rgba(255,255,255,.15); }
.priority-choice-icon svg { width: 18px; height: 18px; }
.priority-choice b { font-size: 9px; letter-spacing: .13em; }
.priority-choice strong { margin: 4px 0 7px; font-family: Georgia,serif; font-size: 24px; font-weight: 600; }
.priority-choice small { color: inherit; font-size: 10px; line-height: 1.5; opacity: .92; }
.priority-selected-label { display: none; align-items: center; gap: 5px; width: fit-content; margin-top: 12px; padding: 5px 8px; border: 1px solid currentColor; border-radius: 999px; color: inherit; background: rgba(255,255,255,.18); font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.priority-selected-label svg { width: 12px; height: 12px; }
.priority-choice input:checked + span .priority-selected-label { display: inline-flex; }

.priority-context-note, .red-awareness-note, .awareness-banner { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 14px 15px; border: 3px solid var(--maintenance-border); border-left-width: 7px; border-radius: 10px; color: var(--maintenance-text); background: var(--maintenance-fill); }
.priority-context-note > span, .red-awareness-note > svg, .awareness-banner > svg { flex: 0 0 auto; }
.priority-context-note > span { display: grid; width: 31px; height: 31px; place-items: center; border: 2px solid currentColor; border-radius: 50%; color: inherit; background: transparent; }
.priority-context-note svg { width: 16px; }
.priority-context-note strong { font-size: 12px; }
.priority-context-note p, .red-awareness-note p, .awareness-banner p { margin: 4px 0 0; font-size: 9.5px; line-height: 1.5; }
.detail-priority-notice { margin: -10px 0 18px; }
.red-awareness-note, .awareness-banner { border-color: #6f0000; color: #ffffff; background: #b00000; }
.red-awareness-note[hidden] { display: none; }

.check-line { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfb; font-size: 10px; font-weight: 700; }
.check-line input { width: 18px; height: 18px; }
.photo-input input { padding: 9px; border: 1px dashed #b9c4c3; border-radius: 8px; background: #fafcfc; }
.form-grid.four { grid-template-columns: repeat(4,1fr); }
.purchase-toggle { margin: 15px 0; }
.approval-preview, .purchase-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 9px; }
.approval-preview > div, .purchase-summary > div { display: grid; gap: 5px; padding: 14px; border: 1px solid var(--maintenance-line, var(--line)); border-radius: 10px; background: var(--maintenance-soft, #edf8f3); }
.approval-preview span, .purchase-summary span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.approval-preview strong, .purchase-summary strong { font-size: 17px; }
.purchase-summary small { color: var(--muted); font-size: 8px; }
.safety-submit { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 2px solid var(--pine); border-radius: 13px; color: white; background: var(--pine); }
.safety-submit > div { display: flex; gap: 11px; }
.safety-submit p { display: grid; gap: 4px; margin: 0; }
.safety-submit span { color: #bad5ce; font-size: 9px; }
.impact-line { margin-top: 12px !important; padding-top: 11px; border-top: 1px solid var(--line); font-size: 9.5px; }
.policy-note { display: flex; gap: 8px; padding: 10px; border: 1px solid var(--maintenance-line, #ecd596); border-radius: 8px; color: var(--maintenance-ink, #79571c); background: var(--maintenance-soft, var(--amber-soft)); font-size: 8.5px; }

.delivery-methods, .delivery-recipients { margin: 17px 0 0; padding: 0; border: 0; }
.delivery-methods > legend, .delivery-recipients > legend { margin-bottom: 9px; font-size: 12px; }
.delivery-methods { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.delivery-methods > legend { grid-column: 1 / -1; }
.delivery-methods label, .delivery-recipients label { cursor: pointer; }
.delivery-methods input, .delivery-recipients input { position: absolute; opacity: 0; }
.delivery-methods label > span { display: grid; grid-template-columns: 25px 1fr; min-height: 92px; align-content: center; gap: 3px 9px; padding: 14px; border: 2px solid var(--line); border-radius: 11px; background: #ffffff; }
.delivery-methods svg { grid-row: 1 / 3; width: 23px; height: 23px; }
.delivery-methods b { font-size: 13px; }
.delivery-methods small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.delivery-methods input:checked + span { border-color: var(--maintenance-border); color: var(--maintenance-text); background: var(--maintenance-fill); box-shadow: 0 0 0 3px var(--maintenance-line); }
.delivery-methods input:checked + span small { color: inherit; opacity: .9; }
.delivery-methods input:focus-visible + span, .delivery-recipients input:focus-visible + span { outline: 3px solid var(--maintenance-border); outline-offset: 3px; }
.delivery-recipients > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.delivery-recipients label > span { display: grid; min-height: 66px; padding: 11px 13px; border: 2px solid var(--line); border-radius: 10px; background: #ffffff; }
.delivery-recipients b { font-size: 11px; }
.delivery-recipients small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.delivery-recipients input:checked + span { border-color: var(--maintenance-border); box-shadow: inset 5px 0 var(--maintenance-fill); }
.delivery-safety-note, .delivery-summary { display: flex; align-items: flex-start; gap: 11px; margin-top: 14px; padding: 14px; border: 3px solid var(--maintenance-border); border-radius: 10px; color: var(--maintenance-text); background: var(--maintenance-fill); }
.delivery-safety-note p { display: grid; gap: 4px; margin: 0; }
.delivery-safety-note span { font-size: 10px; line-height: 1.5; }
.delivery-summary { margin: 0; }
.delivery-summary > span { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border: 2px solid currentColor; border-radius: 50%; }
.delivery-summary > div { display: grid; gap: 3px; }
.delivery-summary strong { font-size: 15px; }
.delivery-summary p { margin: 0; font-size: 10px; }
.delivery-summary small { font-size: 9px; font-weight: 800; }

.awareness-summary { display: grid; gap: 7px; }
.awareness-banner { margin: 0 0 4px; }
.awareness-row { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 9px; padding: 9px 10px; border: 2px solid #6f0000; border-radius: 8px; color: #ffffff; background: #b00000; }
.awareness-row > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: #ffffff; background: #b00000; }
.awareness-row div, .manager-notice span { display: grid; gap: 2px; }
.awareness-row strong { font-size: 9.5px; }
.awareness-row small, .awareness-row b { color: inherit; font-size: 8px; opacity: .9; }

.photo-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.photo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.photo-card { margin: 0; overflow: hidden; border: 1px solid var(--maintenance-line, var(--line)); border-radius: 9px; background: #fafbfb; }
.photo-placeholder { display: grid; place-items: center; align-content: center; gap: 6px; min-height: 112px; color: var(--maintenance-text, #ffffff); background-color: var(--maintenance-fill, #00843d); background-image: repeating-linear-gradient(45deg, transparent 0 15px, rgba(255,255,255,.10) 15px 16px); }
.photo-placeholder svg { width: 25px; height: 25px; }
.photo-placeholder span { font-weight: 800; }
.photo-placeholder small { font-size: 8px; }
.photo-card figcaption { padding: 8px; color: var(--muted); font-size: 8px; }
.photo-empty { min-height: 112px; padding: 20px; border: 1px dashed var(--maintenance-line, #bcc7c6); border-radius: 9px; color: var(--muted); font-size: 9px; }

.simple-completion, .simple-signoff { padding: 21px; border: 2px solid var(--maintenance-fill, #00843d); }
.simple-heading { display: flex; gap: 12px; margin-bottom: 17px; }
.simple-heading > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--maintenance-ink, #14532d); background: var(--maintenance-soft, rgba(0,132,61,.10)); }
.simple-heading h2 { margin: 3px 0; font-family: Georgia,serif; font-size: 25px; font-weight: 500; }
.simple-heading p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.simple-completion fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 14px 0; padding: 0; border: 0; }
.simple-completion legend { margin-bottom: 8px; font-size: 13px; font-weight: 800; }
.simple-completion fieldset input { position: absolute; opacity: 0; }
.simple-completion fieldset span { display: grid; place-items: center; min-height: 48px; border: 2px solid var(--line); border-radius: 10px; background: #fafbfb; font-size: 15px; font-weight: 850; }
.simple-completion fieldset input:checked + span { border-color: var(--maintenance-border); color: var(--maintenance-ink); background: var(--maintenance-soft); }
.simple-completion .field > span { font-size: 13px; }
.simple-completion textarea { font-size: 14px; }
.simple-signoff .check-line { margin: 13px 0; }
.manager-notice { display: flex; gap: 8px; margin-top: 12px; padding: 10px; border: 1px solid var(--maintenance-line, var(--line)); border-radius: 8px; background: var(--maintenance-soft, var(--blue-soft)); }
.manager-notice strong { font-size: 9px; }
.manager-notice small { color: var(--muted); font-size: 8px; }
.ticket-top .priority-pill { align-self: flex-start; height: fit-content; }

.maintenance-print-toolbar { align-items: center; flex-wrap: wrap; gap: 12px; }
.maintenance-print-toolbar fieldset { display: flex; flex: 1; flex-wrap: wrap; gap: 7px 13px; min-width: 320px; margin: 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; }
.maintenance-print-toolbar legend { padding: 0 5px; font-size: 10px; font-weight: 900; }
.maintenance-print-toolbar label { display: flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 800; }
.maintenance-print-toolbar input { width: 17px; height: 17px; accent-color: var(--maintenance-fill); }
.maintenance-print [data-print-section][hidden] { display: none !important; }

.maintenance-print { width: min(1080px, calc(100% - 32px)); color: #171b1f; font-size: 16px; line-height: 1.48; }
.maintenance-print > header { border-color: var(--maintenance-border); }
.maintenance-print > header > div:last-child > strong { margin-top: 4px; font-size: 15px; }
.maintenance-print .print-priority { display: grid; grid-template-columns: 48px minmax(230px,.72fr) minmax(0,1.4fr); align-items: center; gap: 14px; margin: 22px 0; padding: 16px 18px; border: 3px solid; border-radius: 10px; print-color-adjust: exact; }
.maintenance-print .print-priority.green { border-color: #14532d; color: #ffffff; background-color: #00843d; background-image: repeating-linear-gradient(0deg, transparent 0 15px, rgba(255,255,255,.09) 15px 17px); }
.maintenance-print .print-priority.yellow { border-color: #8a6200; color: #242000; background-color: #fff200; background-image: repeating-linear-gradient(45deg, transparent 0 13px, rgba(36,32,0,.10) 13px 15px); }
.maintenance-print .print-priority.red { border-color: #6f0000; color: #ffffff; background-color: #b00000; background-image: repeating-linear-gradient(135deg, transparent 0 9px, rgba(255,255,255,.12) 9px 11px); }
.print-priority-icon { display: grid; width: 44px; height: 44px; place-items: center; border: 2px solid currentColor; border-radius: 50%; }
.print-priority-icon svg { width: 24px; height: 24px; }
.print-priority > div { display: grid; }
.print-priority > div > strong { font-size: 22px; letter-spacing: .015em; }
.print-priority > div > span { font-size: 12px; font-weight: 800; }
.print-priority > p { margin: 0; font-size: 15px; font-weight: 750; line-height: 1.45; }
.maintenance-print > h1 { margin: 24px 0 15px; font-size: 34px; }
.maintenance-print .print-meta span { font-size: 11px; font-weight: 800; }
.maintenance-print .print-meta strong { font-size: 14px; }
.print-block { padding: 18px 0; border-bottom: 1px solid #b8c0c4; }
.print-block h2 { margin: 0 0 11px; font-size: 20px; line-height: 1.25; }
.print-block p { font-size: 15px; line-height: 1.52; }
.maintenance-print .purchase-summary span { font-size: 10px; }
.maintenance-print .purchase-summary strong { font-size: 20px; }
.maintenance-print .purchase-summary small, .maintenance-print .policy-note { font-size: 11px; }
.maintenance-print .print-photo-evidence { gap: 18px; }
.maintenance-print .print-photo-evidence .photo-grid { grid-template-columns: 1fr; }
.maintenance-print .print-photo-evidence .photo-placeholder { min-height: 210px; }
.maintenance-print .print-photo-evidence .photo-placeholder span { font-size: 15px; }
.maintenance-print .print-photo-evidence .photo-placeholder small { font-size: 11px; }
.maintenance-print .print-photo-evidence figcaption { padding: 11px; font-size: 12px; font-weight: 700; }
.print-worker-box { border: 3px solid #334944; border-radius: 9px; padding: 19px; }
.print-worker-instruction { margin-top: -3px; }
.print-worker-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.print-worker-questions p { padding: 13px; border: 2px solid #707a7f; border-radius: 8px; font-size: 17px; }
.writing-line { display: block; height: 42px; border-bottom: 2px solid #5d676b; }
.print-record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.print-record-grid > div { display: grid; gap: 6px; padding: 14px; border: 2px solid var(--maintenance-line); border-radius: 8px; background: var(--maintenance-soft); }
.print-record-grid span { font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.print-record-grid strong { font-size: 14px; }
.print-record-grid small { color: #3f4a50; font-size: 11px; }
.print-awareness-record { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 14px; border: 2px solid var(--maintenance-border); border-radius: 8px; background: var(--maintenance-soft); }
.print-awareness-record > svg { width: 28px; color: var(--maintenance-ink); }
.print-awareness-record p { margin: 4px 0; }
.print-awareness-record small { font-size: 11px; }

@media (max-width: 640px) {
  .priority-legend, .priority-choices, .form-grid.four, .approval-preview, .purchase-summary, .photo-evidence, .print-record-grid, .delivery-methods, .delivery-recipients > div { grid-template-columns: 1fr; }
  .priority-choice > span { min-height: 158px; }
  .safety-submit { align-items: stretch; flex-direction: column; }
  .safety-submit .button { width: 100%; }
  .awareness-row { grid-template-columns: 28px 1fr; }
  .awareness-row b { grid-column: 2; }
  .maintenance-print .print-priority { grid-template-columns: 42px 1fr; }
  .maintenance-print .print-priority > p { grid-column: 1 / -1; }
  .print-worker-questions { grid-template-columns: 1fr; }
  .maintenance-print-toolbar fieldset { min-width: 100%; }
}

@media print {
  @page { size: auto; margin: 12mm; }
  .maintenance-print { width: auto; max-width: none; color: #000000; font-size: 11.5pt; line-height: 1.45; }
  .maintenance-print > header,
  .maintenance-print .print-priority,
  .maintenance-print .print-meta,
  .maintenance-print .print-block,
  .maintenance-print .photo-card,
  .maintenance-print .purchase-summary > div,
  .maintenance-print .policy-note,
  .maintenance-print .print-record-grid > div,
  .maintenance-print .print-awareness-record { break-inside: avoid; page-break-inside: avoid; }
  .maintenance-print h1, .maintenance-print h2, .maintenance-print h3 { break-after: avoid; page-break-after: avoid; }
  .maintenance-print > header strong { font-size: 11pt; }
  .maintenance-print > header small, .maintenance-print > header p { font-size: 9.5pt; }
  .maintenance-print .print-priority { grid-template-columns: 13mm minmax(45mm,.72fr) minmax(0,1.4fr); margin: 5mm 0; padding: 4mm; }
  .maintenance-print .print-priority > div > strong { font-size: 20pt; }
  .maintenance-print .print-priority > div > span { font-size: 10pt; }
  .maintenance-print .print-priority > p { font-size: 11.5pt; }
  .maintenance-print > h1 { margin: 5mm 0 3mm; font-size: 24pt; }
  .maintenance-print .print-meta { grid-template-columns: repeat(2,1fr); }
  .maintenance-print .print-meta span { font-size: 9.5pt; }
  .maintenance-print .print-meta strong { font-size: 11.5pt; }
  .maintenance-print .print-block { padding: 4mm 0; }
  .maintenance-print .print-block h2 { font-size: 15pt; }
  .maintenance-print .print-block p { font-size: 11.5pt; }
  .maintenance-print .purchase-summary span, .maintenance-print .print-record-grid span { font-size: 9.5pt; }
  .maintenance-print .purchase-summary strong { font-size: 14pt; }
  .maintenance-print .purchase-summary small, .maintenance-print .policy-note, .maintenance-print .print-record-grid small, .maintenance-print .print-awareness-record small { font-size: 9.5pt; }
  .maintenance-print .print-photo-evidence .photo-placeholder { min-height: 45mm; }
  .maintenance-print .print-photo-evidence .photo-placeholder span { font-size: 11.5pt; }
  .maintenance-print .print-photo-evidence .photo-placeholder small, .maintenance-print .print-photo-evidence figcaption { font-size: 9.5pt; }
  .maintenance-print .print-worker-questions p { font-size: 13pt; }
  .maintenance-print .writing-line { height: 12mm; }
  .maintenance-print footer { font-size: 9.5pt; }
}
